Контрольная и Лабораторная работа №1,2,3 по дисциплине: Оптимизирующие компиляторы. Вариант №01
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
1. В чём заключается разница между компилятором и интерпретатором?
11. Какие действия производятся в фазе синтаксического анализа?
21. Какие стратегии используются компилятором для принятия решений?
31. Что представляет собой предиктивный анализ?
41. Что означает термин «алфавит языка»?
51. Из каких частей состоят продукции грамматики?
61. Что представляют собой узлы синтаксического дерева?
71. Для чего производится сборка мусора?
81. Какие соглашения используются для управления памятью и для чего?
91. Назовите варианты промежуточных представлений.
101. Что такое граф потока?
Вопросы к теме 4
111. В чём состоит преобразование "перемещение кода"?
121. Как вычисляется наибольшее количество одновременно выполняемых операций?
131. В чём заключается закон Амадаля?
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
Цели работы
1. Изучение методики измерения времени работы подпрограммы.
2. Изучение приемов повышения точности измерения времени работы подпрограммы.
3. Изучение способов измерения времени работы подпрограммы.
4. Измерение времени работы подпрограммы в прикладной программе.
5. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
5. Составить отчет по лабораторной работе. Отчет должен содержать следующее:
1. Титульный лист.
2. Цель лабораторной работы.
3. Вариант задания.
4. Описание методики для определения времени работы программы.
5. Результат измерения времени работы программы.
6. Полный компилируемый листинг реализованной программы и команду для ее компиляции.
7. Вывод по результатам лабораторной работы.
6. ВАРИАНТЫ ЗАДАНИЙ
№ Алгоритм 1 Алгоритм 2
1 Пузырьком Шелла
ЛАБОРАТОРНАЯ РАБОТА №2.
«ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА»
Цели работы
1. Изучение основных функций оптимизирующего компилятора, и некоторых примеров оптимизирующих преобразований и уровней оптимизации.
2. Получение базовых навыков работы с компилятором GCC.
3. Исследование влияния оптимизационных настроек компилятора GCC на время исполнения программы.
6. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать значение параметра N таким, чтобы время работы программы было порядка 30-60 секунд.
4. Программу скомпилировать компилятором GCC с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og под архитектуру процессора x86.
5. Для каждого из семи вариантов компиляции измерить время работы программы при нескольких значениях N.
6. Составить отчет по лабораторной работе. Отчет должен содержать следующее.
1. Титульный лист.
2. Цель лабораторной работы.
3. Вариант задания.
4. Графики зависимости времени выполнения программы с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og от параметра N.
5. Полный компилируемый листинг реализованной программы и команды для ее компиляции.
6. Вывод по результатам лабораторной работы.
7. ВАРИАНТЫ ЗАДАНИЙ
Варианты заданий взять из лабораторной работы №1.
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
Цели работы
1. Изучение основных понятий, связанных с оценкой временной сложности алгоритмов .
2. Изучение практических приемов оптимизации кода.
2. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации (см. табл. 2). Решения представить в виде работающих программ на C++.
Таблица 2. Варианты задания
№ Алгоритм Реализация на C++ Текущая временная сложность кода Требуемая временная сложность кода и/или улучшение алгоритма
1 Выбор элементов главной диагонали квадратной матрицы A[n,n] for (int i=0; i<n; i++)
for (int j=0;j<n; j++)
if (i==j)
cout << a[i][j] << " "; O(n2) O(n)
10 Поиск в массиве натуральных чисел a[n] пары элементов со значениями item1 и item2, расстояние между которыми минимально const int n=10;
int a[n] = {
3,5,10,8,4,12,5,3,0,7
};
int item1=3,item2=8,min=n;
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
{
if (a[i]==item1 &&
a[j]==item2 &&
abs(i-j)<min) {
min = abs(i-j);
}
}
cout << min; O(n2) O(n)
3. ВАРИАНТЫ ЗАДАНИЙ
Варианты заданий взять из табл. 2.
Таблица 2. Варианты заданий
№ вар. Алгоритм 1 Алгоритм 2
1 1 10
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
1. В чём заключается разница между компилятором и интерпретатором?
11. Какие действия производятся в фазе синтаксического анализа?
21. Какие стратегии используются компилятором для принятия решений?
31. Что представляет собой предиктивный анализ?
41. Что означает термин «алфавит языка»?
51. Из каких частей состоят продукции грамматики?
61. Что представляют собой узлы синтаксического дерева?
71. Для чего производится сборка мусора?
81. Какие соглашения используются для управления памятью и для чего?
91. Назовите варианты промежуточных представлений.
101. Что такое граф потока?
Вопросы к теме 4
111. В чём состоит преобразование "перемещение кода"?
121. Как вычисляется наибольшее количество одновременно выполняемых операций?
131. В чём заключается закон Амадаля?
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
Цели работы
1. Изучение методики измерения времени работы подпрограммы.
2. Изучение приемов повышения точности измерения времени работы подпрограммы.
3. Изучение способов измерения времени работы подпрограммы.
4. Измерение времени работы подпрограммы в прикладной программе.
5. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
5. Составить отчет по лабораторной работе. Отчет должен содержать следующее:
1. Титульный лист.
2. Цель лабораторной работы.
3. Вариант задания.
4. Описание методики для определения времени работы программы.
5. Результат измерения времени работы программы.
6. Полный компилируемый листинг реализованной программы и команду для ее компиляции.
7. Вывод по результатам лабораторной работы.
6. ВАРИАНТЫ ЗАДАНИЙ
№ Алгоритм 1 Алгоритм 2
1 Пузырьком Шелла
ЛАБОРАТОРНАЯ РАБОТА №2.
«ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА»
Цели работы
1. Изучение основных функций оптимизирующего компилятора, и некоторых примеров оптимизирующих преобразований и уровней оптимизации.
2. Получение базовых навыков работы с компилятором GCC.
3. Исследование влияния оптимизационных настроек компилятора GCC на время исполнения программы.
6. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать значение параметра N таким, чтобы время работы программы было порядка 30-60 секунд.
4. Программу скомпилировать компилятором GCC с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og под архитектуру процессора x86.
5. Для каждого из семи вариантов компиляции измерить время работы программы при нескольких значениях N.
6. Составить отчет по лабораторной работе. Отчет должен содержать следующее.
1. Титульный лист.
2. Цель лабораторной работы.
3. Вариант задания.
4. Графики зависимости времени выполнения программы с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og от параметра N.
5. Полный компилируемый листинг реализованной программы и команды для ее компиляции.
6. Вывод по результатам лабораторной работы.
7. ВАРИАНТЫ ЗАДАНИЙ
Варианты заданий взять из лабораторной работы №1.
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
Цели работы
1. Изучение основных понятий, связанных с оценкой временной сложности алгоритмов .
2. Изучение практических приемов оптимизации кода.
2. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации (см. табл. 2). Решения представить в виде работающих программ на C++.
Таблица 2. Варианты задания
№ Алгоритм Реализация на C++ Текущая временная сложность кода Требуемая временная сложность кода и/или улучшение алгоритма
1 Выбор элементов главной диагонали квадратной матрицы A[n,n] for (int i=0; i<n; i++)
for (int j=0;j<n; j++)
if (i==j)
cout << a[i][j] << " "; O(n2) O(n)
10 Поиск в массиве натуральных чисел a[n] пары элементов со значениями item1 и item2, расстояние между которыми минимально const int n=10;
int a[n] = {
3,5,10,8,4,12,5,3,0,7
};
int item1=3,item2=8,min=n;
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
{
if (a[i]==item1 &&
a[j]==item2 &&
abs(i-j)<min) {
min = abs(i-j);
}
}
cout << min; O(n2) O(n)
3. ВАРИАНТЫ ЗАДАНИЙ
Варианты заданий взять из табл. 2.
Таблица 2. Варианты заданий
№ вар. Алгоритм 1 Алгоритм 2
1 1 10
Дополнительная информация
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Контрольная работа
Оценка: Зачет
Дата оценки: 09.02.2020
Рецензия:Уважаемый ,
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Лабораторная работа 1-3
Оценка: Зачет
Дата оценки: 11.02.2020
Рецензия:Уважаемый ,
Зырянов Кирилл Игоревич
Помогу с вашим вариантом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Контрольная работа
Оценка: Зачет
Дата оценки: 09.02.2020
Рецензия:Уважаемый ,
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Лабораторная работа 1-3
Оценка: Зачет
Дата оценки: 11.02.2020
Рецензия:Уважаемый ,
Зырянов Кирилл Игоревич
Помогу с вашим вариантом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com
Похожие материалы
Контрольная работа по дисциплине: Оптимизирующие компиляторы. Вариант №01
IT-STUDHELP
: 12 февраля 2020
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
1. В чём заключается разница между компилятором и интерпретатором?
11. Какие действия производятся в фазе синтаксического анализа?
21. Как
600 руб.
Лабораторная работа №1,2,3 по дисциплине: Оптимизирующие компиляторы. Вариант №01
IT-STUDHELP
: 12 февраля 2020
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
Цели работы
1. Изучение методики измерения времени работы подпрограммы.
2. Изучение приемов повышения точности измерения времени работы подпрограммы.
3. Изучение способов измерения времени работы подпрограммы.
4. Измерение времени работы подпрограммы в прикладной программе.
5. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильн
1000 руб.
Оптимизирующие компиляторы. Билет №25
IT-STUDHELP
: 5 июля 2020
Билет №25
Тема 1
1. компилятор – это программа, которая ...
Непосредственно выполняет операции, указанные в исходной программе, над входными данными, предоставляемыми пользователем
Позволяет вводить и редактировать исходный текст программы
Транслирует (переводит) исходный текст его в эквивалентный текст на другом языке – целевом
Транслирует исходный текст его в эквивалентный текст на другом языке и выполняет его
3. Препроцессор может...
выполнять предварительную сборку исходной программы и рас
420 руб.
Оптимизирующие компиляторы. Билет №11
IT-STUDHELP
: 5 июля 2020
Билет №11
Тема 1
2. Интерпретатор ...
Как правило, работает быстрее, чем другие виды трансляторов
Непосредственно выполняет операции, указанные в исходной программе, над входными данными, предоставляемыми пользователем.
Транслирует (переводит) исходный текст его в эквивалентный текст на другом языке – целевом.
Является основным средством отладки приложений
16. Лексемы можно определить, как...
директивы, подключающие дополнительные внешние библиотеки
значащие последовательности символов исходн
440 руб.
Оптимизирующие компиляторы. Экзамен. Билет №39
snapsik
: 3 декабря 2020
Билет №39
Тема 1
3. Препроцессор может...
выполнять предварительную сборку исходной программы и раскрывать макросы в инструкции исходного языка
работать на втором этапе компиляции
транслировать байт-код в машинный язык
7. Каковы преимущества системы обработки языка, в которой компилятор даёт выход на языке ассемблера, по сравнению с системой, в которой компилятор даёт выход на машинном языке?
(выберите несколько ответов)
ассемблер даёт в качестве выходных данных перемещаемый машинный код
ассе
150 руб.
Экзамен по дисциплине: Оптимизирующие компиляторы. Билет №77
IT-STUDHELP
: 15 сентября 2023
Билет №77
Тема 1
3. Препроцессор может...
выполнять предварительную сборку исходной программы и раскрывать макросы в инструкции исходного языка
работать на втором этапе компиляции
транслировать байт-код в машинный язык
5. Выберите верные утверждения:
Интерпретаторы подразделяются на компиляторы и трансляторы
Компиляторы подразделяются на трансляторы и интерпретаторы
Трансляторы подразделяются на компиляторы и интерпретаторы
Трансляторы подразделяются на компиляторы, интерпретаторы и ассембл
400 руб.
Экзамен по дисциплине: Оптимизирующие компиляторы. Билет №70
IT-STUDHELP
: 3 января 2020
Билет №70
Тема 1
4. Выберите верные утверждения: (выберите несколько ответов)
Большие программы зачастую компилируются по частям
Компиляция выполняется на этапе компоновки исполняемого кода
Компилятор может выдать в качестве выходных данных программу на языке ассемблера
Программа, как правило, состоит из одного модуля и одного заголовочного файла
11. Фаза синтеза при компиляции...
ищет синтаксические ошибки в коде программы
разбивает исходную программу на составные части и преобразует её в п
400 руб.
Оптимизирующие компиляторы. Контрольная работа. Вариант 1.
nik200511
: 12 февраля 2020
Вопросы по теме 1
1. В чём заключается разница между компилятором и интерпретатором?
2. Какие действия производятся в фазе синтаксического анализа?
3. Какие стратегии используются компилятором для принятия решений?
Вопросы к теме 2
4. Что представляет собой предиктивный анализ?
5. Что означает термин «алфавит языка»?
6. Из каких частей состоят продукции грамматики?
7. Что представляют собой узлы синтаксического дерева?
Вопросы к теме 3
8. Для чего производится сборка мусора?
9. Какие соглашения
435 руб.
Другие работы
Восстановитель импульсных сигналов
evelin
: 2 сентября 2013
Восстановление, 'затянутого' емкостью кабеля, сигнала перехода из 0 в 1 осуществляется путем кратковременного открытия транзистора Т1. Начало открытия определяется порогом включения Т2, а закрытие - временем заряда С1.
В разряженном состоянии С1 имеет как бы минимальное сопротивление и минусовое напряжение с общей шины поступает на базу Т1, который и открывается, так как он структуры P-N-P. Как только C1 максимально зарядится, его сопротивление максимально возрастет и транзистор Т1 закроется из-
5 руб.
Учет требования освещения в градостроительстве
GnobYTEL
: 3 сентября 2012
Содержание.
1. Введение.
2. Жилище; факторы для создания благоприятных условий.
3. Гигиеническое значение света.
4. Представление о свете.
5. Факторы, определяющие освещенность помещений естественным светом.
6. Заключение.
7. Использованная литература.
Жилище – сложная система природной и искусственно созданной среды, где сочетаются воздействия физической, химической и биологической природы. К факторам физической природы относятся микроклимат, инсоляция и освещённость, электромагнитные излучения
20 руб.
Инженерная графика. Задание №64. Вариант №20. Задача №3. Угольник
Чертежи
: 22 апреля 2021
Все выполнено в программе КОМПАС 3D v16.
Боголюбов С.К. Индивидуальные задания по курсу черчения.
Задание 64. Вариант 20. Задача 3. Угольник
В данной задаче необходимо выполнить ломаный разрез, заменив им один из видов, на котором он не указан.
В состав работы входят три файла:
- 3D модель детали;
- ассоциативный чертеж детали в двух видах с выполненным ломаным разрезом;
- аналогичный обычный чертеж.
*.rar - это разрешение файла семейства архивов. Все файлы данной работы помещены в архив, д
65 руб.
Характеристика направленности личности осужденных
Qiwir
: 14 октября 2013
В отечественной психологии существуют различные трактовки личности, но во всех подходах в качестве ведущей характеристики выделяется ее направленность. Направленность обусловливает систему побуждений личности, мотивацию поведения, содержание жизненных позиций. Она выражается в доминирующих целях и мотивах деятельности, интересах, идеалах, убеждениях, системе отношений, жизненных планах и перспективах, формируемых на основе потребностей.
В процессе исправления и ресоциализации осужденных большое