Лабораторная работа №1,2,3 по дисциплине: Оптимизирующие компиляторы. Вариант №08
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
Цели работы
1. Изучение методики измерения времени работы подпрограммы.
2. Изучение приемов повышения точности измерения времени работы подпрограммы.
3. Изучение способов измерения времени работы подпрограммы.
4. Измерение времени работы подпрограммы в прикладной программе.
5. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
5. Составить отчет по лабораторной работе. Отчет должен содержать следующее:
6. ВАРИАНТЫ ЗАДАНИЙ
№ Алгоритм 1 Алгоритм 2
8 Быстрая Расчёской
ЛАБОРАТОРНАЯ РАБОТА №2.
«ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА»
Цели работы
1. Изучение основных функций оптимизирующего компилятора, и некоторых примеров оптимизирующих преобразований и уровней оптимизации.
2. Получение базовых навыков работы с компилятором GCC.
3. Исследование влияния оптимизационных настроек компилятора GCC на время исполнения программы.
В лабораторной работе описаны основные возможности компилятора GCC/CNU, являющегося классическим образцом оптимизирующего компилятора. При выполнении задания в ОС Windows рекомендуется QT (https://www.qt.io/) - бесплатный IDE для C++ с компилятором MinGW (программный порт GCC под Windows).
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать значение параметра N таким, чтобы время работы программы было порядка 30-60 секунд.
4. Программу скомпилировать компилятором GCC с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og под архитектуру процессора x86.
5. Для каждого из семи вариантов компиляции измерить время работы программы при нескольких значениях N.
№ Алгоритм 1 Алгоритм 2
8 Быстрая Расчёской
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
Цели работы
1. Изучение основных понятий, связанных с оценкой временной сложности алгоритмов .
2. Изучение практических приемов оптимизации кода.
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации. Решения представить в виде работающих программ на C++.
Таблица вариантов
№ Алгоритм 1 Алгоритм 2
8 8 3
№ Алгоритм Реализация на C++ Текущая временная сложность кода Требуемая временная сложность кода и/или улучшение алгоритма
3 Поиск номера максимального элемента в массиве a[n] int max=a[0], imax=0;
for (int i=1; i<n; i++)
if (a[i]>max) {
max = a[i]; imax=i;
} O(n) O(n) (реализовать алгоритм без применения 2 дополнит. переменных)
8 Получение четырёхзначного натурального числа из пары двузначных int a=12,b=34;
char buf[4];
itoa(a,buf,10);
itoa(b, &buf[2], 10);
cout << buf; O(1) O(1) (устранить использование дополнительного строкового буфера)
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
Цели работы
1. Изучение методики измерения времени работы подпрограммы.
2. Изучение приемов повышения точности измерения времени работы подпрограммы.
3. Изучение способов измерения времени работы подпрограммы.
4. Измерение времени работы подпрограммы в прикладной программе.
5. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
5. Составить отчет по лабораторной работе. Отчет должен содержать следующее:
6. ВАРИАНТЫ ЗАДАНИЙ
№ Алгоритм 1 Алгоритм 2
8 Быстрая Расчёской
ЛАБОРАТОРНАЯ РАБОТА №2.
«ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА»
Цели работы
1. Изучение основных функций оптимизирующего компилятора, и некоторых примеров оптимизирующих преобразований и уровней оптимизации.
2. Получение базовых навыков работы с компилятором GCC.
3. Исследование влияния оптимизационных настроек компилятора GCC на время исполнения программы.
В лабораторной работе описаны основные возможности компилятора GCC/CNU, являющегося классическим образцом оптимизирующего компилятора. При выполнении задания в ОС Windows рекомендуется QT (https://www.qt.io/) - бесплатный IDE для C++ с компилятором MinGW (программный порт GCC под Windows).
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать значение параметра N таким, чтобы время работы программы было порядка 30-60 секунд.
4. Программу скомпилировать компилятором GCC с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og под архитектуру процессора x86.
5. Для каждого из семи вариантов компиляции измерить время работы программы при нескольких значениях N.
№ Алгоритм 1 Алгоритм 2
8 Быстрая Расчёской
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
Цели работы
1. Изучение основных понятий, связанных с оценкой временной сложности алгоритмов .
2. Изучение практических приемов оптимизации кода.
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации. Решения представить в виде работающих программ на C++.
Таблица вариантов
№ Алгоритм 1 Алгоритм 2
8 8 3
№ Алгоритм Реализация на C++ Текущая временная сложность кода Требуемая временная сложность кода и/или улучшение алгоритма
3 Поиск номера максимального элемента в массиве a[n] int max=a[0], imax=0;
for (int i=1; i<n; i++)
if (a[i]>max) {
max = a[i]; imax=i;
} O(n) O(n) (реализовать алгоритм без применения 2 дополнит. переменных)
8 Получение четырёхзначного натурального числа из пары двузначных int a=12,b=34;
char buf[4];
itoa(a,buf,10);
itoa(b, &buf[2], 10);
cout << buf; O(1) O(1) (устранить использование дополнительного строкового буфера)
Дополнительная информация
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Лабораторная работа 1-3
Оценка: Зачет
Дата оценки: 27.08.2020
Рецензия: Уважаемый ,
Зырянов Кирилл Игоревич
Помогу с вашим вариантом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Лабораторная работа 1-3
Оценка: Зачет
Дата оценки: 27.08.2020
Рецензия: Уважаемый ,
Зырянов Кирилл Игоревич
Помогу с вашим вариантом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com
Похожие материалы
Контрольная работа по дисциплине: Оптимизирующие компиляторы. Вариант №08
IT-STUDHELP
: 27 августа 2020
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
8. Перечислите фазы компилятора?
18. В чём заключается вторая цель при написании компилятора?
Вопросы к теме 2
28. Для чего используется м
550 руб.
Оптимизирующие компиляторы. Лабораторная работа 1. Вариант 1.
nik200511
: 12 февраля 2020
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
№ Алгоритм 1 Алгоритм 2
1
322 руб.
Оптимизирующие компиляторы. Лабораторные работы №1-3. Вариант №1.
nik200511
: 12 февраля 2020
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
№ Алгоритм 1 Алгоритм 2
1
960 руб.
Оптимизирующие компиляторы. Лабораторные работы №№1-3. Вариант №1.
SNF
: 12 февраля 2020
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
№ Алгоритм 1 Алгоритм 2
1
2343 руб.
Контрольная работа по дисциплине: Оптимизирующие компиляторы. Вариант №08 2022 г.
Alexey312451
: 16 марта 2024
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
1(8).Перечислите фазы компилятора?
2(18).В чём заключается вторая цель при написании компилятора?
3(28).Для чего используется модель «дерево разбора»?
4(38
300 руб.
Контрольная и Лабораторная работа №1,2,3 по дисциплине: Оптимизирующие компиляторы. Вариант №08
IT-STUDHELP
: 27 августа 2020
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
8. Перечислите фазы компилятора?
18. В чём заключается вторая цель при написании компилятора?
Вопросы к теме 2
28. Для чего используется м
1450 руб.
Оптимизирующие компиляторы. Билет №25
IT-STUDHELP
: 5 июля 2020
Билет №25
Тема 1
1. компилятор – это программа, которая ...
Непосредственно выполняет операции, указанные в исходной программе, над входными данными, предоставляемыми пользователем
Позволяет вводить и редактировать исходный текст программы
Транслирует (переводит) исходный текст его в эквивалентный текст на другом языке – целевом
Транслирует исходный текст его в эквивалентный текст на другом языке и выполняет его
3. Препроцессор может...
выполнять предварительную сборку исходной программы и рас
420 руб.
Оптимизирующие компиляторы. Билет №11
IT-STUDHELP
: 5 июля 2020
Билет №11
Тема 1
2. Интерпретатор ...
Как правило, работает быстрее, чем другие виды трансляторов
Непосредственно выполняет операции, указанные в исходной программе, над входными данными, предоставляемыми пользователем.
Транслирует (переводит) исходный текст его в эквивалентный текст на другом языке – целевом.
Является основным средством отладки приложений
16. Лексемы можно определить, как...
директивы, подключающие дополнительные внешние библиотеки
значащие последовательности символов исходн
440 руб.
Другие работы
Проблемы международной энергетической безопасности, роль и место России в их решении
DocentMark
: 9 сентября 2013
Введение
Энергетическая безопасность оказалась в последнее время в центре дискуссий на самых разных уровнях. Однако, несмотря на свою актуальность, не только экономическую, но и политическую значимость, тема эта в подавляющем большинстве случаев выглядит достаточно аморфной и требует конкретизации и концептуализации.
В предлагаемой вниманию дипломной работе сделана попытка обобщить беспорядочную мозаику, из которой складывается проблема энергетической безопасности, и представить укрупненную ка
45 руб.
Кто такие рефералы и где их взять
Lokard
: 23 марта 2014
Реферал - это человек, который при регистрации у спонсора:
указал ваш ID, Login или e-mail (это зависит от программы) в графе - "человек, который меня привлек привлек"
или перешел на регистрацию, нажав на вашу реферальную ссылку
в некоторых случаях вы получаете их просто так (в матричной реферальной системе)
Вы получаете 3%-50% того, что зарабатывает привлеченный реферал + некоторых программах сразу получите некий бонус - 0.5$-2$ сразу!
Тут нужно сразу понять, что привлеченный человек ничего не
5 руб.
Бруй Л.П. Техническая термодинамика ТОГУ Задача 1 Вариант 32
Z24
: 2 декабря 2025
Расчет газовой смеси
Газовая смесь состоит из нескольких компонентов, содержание которых в смеси задано в процентах по объему (табл.1.1).
Определить:
1) кажущуюся молекулярную массу смеси;
2) газовую постоянную смеси;
3) средние мольную, объемную и массовую теплоемкости смеси при постоянном давлении в пределах температур от t1 до t2 (табл.1.2).
1. Что называется удельной газовой постоянной? Единица ее измерения в системе СИ. Чем она отличается от универсальной газовой постоянно
150 руб.
Лабораторные работы №№1-5. Теория сложностей вычислительных процессов и структур. Вариант №8
Lira1
: 4 ноября 2014
Лабораторная работа №1
Метод прямого выбора.
970, 161, 230, 91, 901, 445, 591, 546, 151, 70, 131, 92, 961, 720, 474, 597, 168, 837, 788, 500, 706, 515, 478, 200, 233, 114, 411, 146, 270, 370, 676, 548, 447, 65, 97, 884, 715, 534, 987, 619, 645, 581, 885, 818, 157, 576, 250, 558, 300, 799
Лабораторная работа №2
Написать программу, которая по алгоритму Краскала находит остов минимального веса для связного взвешенного неориентированного графа, имеющего 7 вершин. Граф задан матрицей весов дуг, сое
160 руб.