Контрольная и Лабораторная работа №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 руб.
Оптимизирующие компиляторы. Билет №11
IT-STUDHELP
: 5 июля 2020
Билет №11
Тема 1
2. Интерпретатор ...
Как правило, работает быстрее, чем другие виды трансляторов
Непосредственно выполняет операции, указанные в исходной программе, над входными данными, предоставляемыми пользователем.
Транслирует (переводит) исходный текст его в эквивалентный текст на другом языке – целевом.
Является основным средством отладки приложений
16. Лексемы можно определить, как...
директивы, подключающие дополнительные внешние библиотеки
значащие последовательности символов исходн
440 руб.
Оптимизирующие компиляторы. Билет №25
IT-STUDHELP
: 5 июля 2020
Билет №25
Тема 1
1. компилятор – это программа, которая ...
Непосредственно выполняет операции, указанные в исходной программе, над входными данными, предоставляемыми пользователем
Позволяет вводить и редактировать исходный текст программы
Транслирует (переводит) исходный текст его в эквивалентный текст на другом языке – целевом
Транслирует исходный текст его в эквивалентный текст на другом языке и выполняет его
3. Препроцессор может...
выполнять предварительную сборку исходной программы и рас
420 руб.
Оптимизирующие компиляторы. Экзамен. Билет №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 руб.
Другие работы
Сущность оптовой торговли
Elfa254
: 20 ноября 2013
1.Сущность оптовой торговли
1.1. Оптовая торговля: содержание, задачи, функции
Торговля как вид хозяйственной деятельности представляет собой процесс реализации конечному потребителю товаров, приобретенных или взятых на комиссию с целью последующей продажи.
Становление в России рыночной системы хозяйствования расширяет роль предприятий торговли в развитии производства и сферы обращения. Наблюдаются тенденции расширения «торговли сектора» экономики, что способствует объективным мировым процессам.
10 руб.
Лабораторная работа №1 по дисциплине: Теория электрических цепей (часть 1). Тема: «Законы Ома и Кирхгофа в резистивных цепях». Вариант №5 (15, 25 и т.д.)
Учеба "Под ключ"
: 30 декабря 2016
Лабораторная работа №1
Тема: «Законы Ома и Кирхгофа в резистивных цепях»
1.Цель работы:
Изучение и экспериментальная проверка законов Ома и Кирхгофа в разветвленной электрической цепи, содержащей источник и резистивные элементы.
2. Подготовка к выполнению работы.
Параметры элементов схемы для лабораторной работы в соответствии с номером варианта (N=5):
E1=10В;
R1=100+N*10=100+5*10=150 Ом;
R2=R3=R4=R5=R6=100 Ом.
3. Экспериментальная часть
4. Выводы
400 руб.
Операционные системы реального времени. Экзамен. Билет №2
djigorfan
: 16 апреля 2015
1. Дать описание конкретных действий, которые выполняет приведённый ниже программ-ный запрос с заданными фактическими параметрами:
stat = PeekMessage (&Msg, 0, 1000, 1002, PM_REMOVE);
2. Сформулировать основные различия между короткими сообщениями и сообщениями, пе-редаваемыми по именованным каналам (длина сообщения, организация независимых кана-лов, адресация получателя).
3. Написать фрагмент программы, отображающий в память объект с именем "array.dat", со-держащий массив из одного миллио
250 руб.
Расчет модернизации элементов технологического процесса обработки детали "Корпус"
OstVER
: 24 февраля 2014
Введение……………………………………………………………………….3
1. Алгоритм поиска эффективных конструкторско-технологических решений………………………………………………………………………………4
2. Анализ базового техпроцесса……………………………………………..12
2.1. Обоснование выбора заготовки и методы ее получения………………13
2.2. Анализ и расчет технологичности продукции…………………………25
2.3. Анализ методов обработки детали……………………………………...32
2.4. Выявление технологических факторов влияющих на производительность…………………………………………………………………36
3. Разработка путей повышение те
44 руб.