Лабораторная работа №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 руб.
Другие работы
Ментальність та національний характер: характеристика крізь призму історичної пам'яті
Lokard
: 10 февраля 2014
Оскільки один з наукових напрямів, розглянутий у першому розділі, досліджує політичну свідомості скрізь призму національної ментальності, яка формується в історичному контексті, вважаємо за доцільне використати окреслену методику, оскільки великі шари історичної реальності лежать в політичній свідомості сьогодення, формування якої накладається на ментальність, національний характер та психологічні стереотипи.
Таран В.О. зазначає у цьому контексті: “…Згідно з цією традицією послідовно утверджуєть
19 руб.
Чертежи-Графическая часть-Курсовая работа-Установка МК20Т в рабочем положении, Схема агрегата "Скорпион" в транспортном и рабочем положениях, Патентно-информационный обзор, Транспортер колонны гибких труб, Деталировка
https://vk.com/aleksey.nakonechnyy27
: 5 мая 2016
АГРЕГАТЫ С ИСПОЛЬЗОВАНИЕМ КОЛОНН ГИБКИХ ТРУБ
ОСНОВНЫЕ ПРИЕМУЩЕСТВА ОБОРУДОВАНИЯ С ИСПОЛЬЗОВА-НИЕМ КОЛОНН ГИБКИХ ТРУБ И ОБЛАСТЬ ЕГО ПРИМЕНЕНИЯ
Мировой опыт применения колонн гибких труб насчитывает более 35 лет. И, конечно, за это время были выявлены и неоднократно подтверждались на практике преимущества использования этой технологии проведения работ по сравнению с традиционной. К ним относятся:
а) обеспечение герметичности устья скважины на всех этапах выполнения внутрискважинных операций, нач
796 руб.
Математическая логика и теория алгоритмов. Контрольная работа. Вариант №5
sibguter
: 5 июня 2018
No1 Пользуясь определением формулы исчисления высказываний проверить является ли данное выражение формулой.
((A→B)→(A→C) )→(A→(B→C))
No2 Записать рассуждение в логической символике и проверить правильность рассуждения методом Куайна, методом редукции и методом резолюций.
«Муравей поднимет соломинку, если ее вес не превышает собственный вес муравья более, чем в 10 раз. Муравей не будет поднимать соломинку, если она ему не нужна. Муравей не стал поднимать соломинку. Значит, либо соломинка слишком
29 руб.
Изменение систем автоматического управления
kostak
: 20 ноября 2009
Контрольная работа
Предмет: Теория автоматического управления
Тема: "Коррекция систем автоматического управления"
Коррекция: общие положения
Любая система должна быть устойчивой и удовлетворять требованиям по точности и качеству переходного процесса.
Существует два пути достижения этих целей:
1. Изменение варьируемых параметров системы (параметры регулятора), но требования по качеству и устойчивости часто являются противоречивыми, например, увеличение коэффициента усиления системы повышает точн