Контрольная работа и Лабораторная работа №1,2,3 по дисциплине: Оптимизирующие компиляторы. Вариант №05
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Контрольная работа
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
5.В чём заключается основная задача компилятора?
10.Назовите компоненты токена.
15.Какие модели используются при разработке компиляторов?
20.Какие факторы приводят к ограничению производительности систем?
25.Что такое переменная?
30.Что представляет собой анализ методом рекурсивного спуска?
35.Что представляет собой трёхадресный код?
40.Что означает термин «лексема»?
45.Какие преимущества разработчикам могут обеспечить грамматики?
50.Что представляют собой терминалы и нетерминалы?
55.С чего начинается восходящий синтаксический анализ?
60.От чего могут зависеть наследуемые атрибуты в дереве разбора?
65.Какие задачи выполняются с помощью среды времени выполнения?
70.Что представляет собой куча?
75.Для чего используется статическая оперативная память?
80.Какие проблемы могут возникнуть при освобождении памяти вручную?
85.Какие операции, выполняемые мутатором, приводят к изменению
90.Что является входным потоком генератора кода?
95.Каким образом осуществляется локальная оптимизация программ?
100.Что представляет собой базовый блок?
105.Что должно обязательно сохраниться после выполнения оптимизации?
110.Какая переменная называется "живой"? "мёртвой"?
115.В чём заключается технология "распространение констант"?
120.В чём заключается "зависимость через данные"?
125.Что представляет собой программная конвейеризация универсальных циклов?
130.Какие метрики используются для оценки работоспособности ?
135.Что такое точка вызова?
140.Что представляет собой диаграмма бинарного выбора?
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
Цели работы
1. Изучение методики измерения времени работы подпрограммы.
2. Изучение приемов повышения точности измерения времени работы подпрограммы.
3. Изучение способов измерения времени работы подпрограммы.
4. Измерение времени работы подпрограммы в прикладной программе.
5. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
5. Составить отчет по лабораторной работе. Отчет должен содержать следующее:
6. ВАРИАНТЫ ЗАДАНИЙ
№ Алгоритм 1 Алгоритм 2
5 Вставками Слиянием
ЛАБОРАТОРНАЯ РАБОТА №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
5 Вставками Слиянием
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
Цели работы
1. Изучение основных понятий, связанных с оценкой временной сложности алгоритмов .
2. Изучение практических приемов оптимизации кода.
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации (см. табл. 2). Решения представить в виде работающих программ на C++.
№ вар. Алгоритм 1 Алгоритм 2
5 5 6
5 Определение количества минимальных элементов в целочисленном массиве A[n] int min=a[0], k=0;
for (int i=1; i<n; i++)
if (a[i]<min) min=a[i];
for (int i=0; i<n; i++)
if (a[i]==min) k++; O(2*n) O(n)
6 Поиск суммы элементов последовательности n , 2*n, …, m*n double s=0; int n=3, m=10;
for (int i=1; i<=m; i++)
s+=i*n; O(n) O(1)
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
5.В чём заключается основная задача компилятора?
10.Назовите компоненты токена.
15.Какие модели используются при разработке компиляторов?
20.Какие факторы приводят к ограничению производительности систем?
25.Что такое переменная?
30.Что представляет собой анализ методом рекурсивного спуска?
35.Что представляет собой трёхадресный код?
40.Что означает термин «лексема»?
45.Какие преимущества разработчикам могут обеспечить грамматики?
50.Что представляют собой терминалы и нетерминалы?
55.С чего начинается восходящий синтаксический анализ?
60.От чего могут зависеть наследуемые атрибуты в дереве разбора?
65.Какие задачи выполняются с помощью среды времени выполнения?
70.Что представляет собой куча?
75.Для чего используется статическая оперативная память?
80.Какие проблемы могут возникнуть при освобождении памяти вручную?
85.Какие операции, выполняемые мутатором, приводят к изменению
90.Что является входным потоком генератора кода?
95.Каким образом осуществляется локальная оптимизация программ?
100.Что представляет собой базовый блок?
105.Что должно обязательно сохраниться после выполнения оптимизации?
110.Какая переменная называется "живой"? "мёртвой"?
115.В чём заключается технология "распространение констант"?
120.В чём заключается "зависимость через данные"?
125.Что представляет собой программная конвейеризация универсальных циклов?
130.Какие метрики используются для оценки работоспособности ?
135.Что такое точка вызова?
140.Что представляет собой диаграмма бинарного выбора?
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
Цели работы
1. Изучение методики измерения времени работы подпрограммы.
2. Изучение приемов повышения точности измерения времени работы подпрограммы.
3. Изучение способов измерения времени работы подпрограммы.
4. Измерение времени работы подпрограммы в прикладной программе.
5. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
5. Составить отчет по лабораторной работе. Отчет должен содержать следующее:
6. ВАРИАНТЫ ЗАДАНИЙ
№ Алгоритм 1 Алгоритм 2
5 Вставками Слиянием
ЛАБОРАТОРНАЯ РАБОТА №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
5 Вставками Слиянием
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
Цели работы
1. Изучение основных понятий, связанных с оценкой временной сложности алгоритмов .
2. Изучение практических приемов оптимизации кода.
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации (см. табл. 2). Решения представить в виде работающих программ на C++.
№ вар. Алгоритм 1 Алгоритм 2
5 5 6
5 Определение количества минимальных элементов в целочисленном массиве A[n] int min=a[0], k=0;
for (int i=1; i<n; i++)
if (a[i]<min) min=a[i];
for (int i=0; i<n; i++)
if (a[i]==min) k++; O(2*n) O(n)
6 Поиск суммы элементов последовательности n , 2*n, …, m*n double s=0; int n=3, m=10;
for (int i=1; i<=m; i++)
s+=i*n; O(n) O(1)
Дополнительная информация
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Контрольная работа
Оценка: Зачет
Дата оценки: 17.07.2020
Рецензия:Уважаемый ,
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Лабораторная работа 1-3
Оценка: Зачет
Дата оценки: 17.07.2020
Рецензия:Уважаемый ,
Зырянов Кирилл Игоревич
Помогу с вашим вариантом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Контрольная работа
Оценка: Зачет
Дата оценки: 17.07.2020
Рецензия:Уважаемый ,
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Оптимизирующие компиляторы
Вид работы: Лабораторная работа 1-3
Оценка: Зачет
Дата оценки: 17.07.2020
Рецензия:Уважаемый ,
Зырянов Кирилл Игоревич
Помогу с вашим вариантом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com
Похожие материалы
Оптимизирующие компиляторы. Билет №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 руб.
Контрольная работа по дисциплине: Оптимизирующие компиляторы. Вариант №08
IT-STUDHELP
: 27 августа 2020
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
8. Перечислите фазы компилятора?
18. В чём заключается вторая цель при написании компилятора?
Вопросы к теме 2
28. Для чего используется м
550 руб.
Контрольная работа по дисциплине: Оптимизирующие компиляторы. Вариант №02
IT-STUDHELP
: 21 июля 2020
Контрольная работа представляет собой опрос. Список вопросов выбирается по последней цифре пароля из 140 штук по 14 вопросов каждому студенту (например, если у вас пароль заканчивается на цифру 5, то вы выбираете темы под номерами 5, 15, 25, 35, …, 135).
Контрольная работа должна содержать обязательно исходные данные (номер и текст вопроса)
Вопросы по теме 1
2. Каковы преимущества компилятора перед интерпретатором.
12. Какие действия производятся в фазе семантического анализа?
22. Что такое обл
600 руб.
Другие работы
Пути и условия повышения эффективности информационно-методического обеспечения информационно-пропагандистской работы в воинском подразделении
evelin
: 9 марта 2014
ВВЕДЕНИЕ
Российское государство в настоящее время находится в условиях коренных преобразований, затрагивающих все стороны жизни и деятельности людей. Вместе со всем государством на этапе преобразований находятся и Вооруженные Силы Российской Федерации. В качестве первоочередной выдвинута задача придания армии и флоту современного облика, приведения численности, организационной структуры, системы управления и комплектования, технической оснащенности, боевой и мобилизационной готовности в соответс
5 руб.
Контрольная работа по дисциплине: Современные технологии в программировании (часть 1). Вариант 12
Roma967
: 31 марта 2023
Тема: Последовательные контейнеры STL и модульное тестирование.
Цель: Сформировать практические навыки разработки абстракций данных на основе контейнеров STL и модульного тестирования средствами VisualStudio.
Задание
Реализовать обработку данных пользовательского типа (объектов класса) с помощью контейнера в соответствии с вариантом задания и со следующей спецификацией:
- приложение заполняет контейнер данными, которые вводятся пользователем с консоли;
- выводит содержимое контейнера на консол
800 руб.
Самарканд - столица Великого Тимура
DocentMark
: 27 сентября 2013
Афрасиаб — городище древнего Самарканда, где за многие века накопились 10—15-метровые толщи археологических напластований. Это огромное холмистое плато площадью более двух квадратных километров расположено на окраине современного Самарканда. Само название «Афрасиаб» в науке отождествляется с именем легендарного правителя- • тирана, повелителя среднеазиатских кочевников, который жил более 2000 лет назад. Однако городище это упоминается и в связи с завоеваниями Александра Македонского, значит, был
Теплотехника Задача 16.44
Z24
: 13 декабря 2025
Двигатель внутреннего сгорания работает по смешанному циклу (подвод тепла при υ=idem и при p=idem). Рабочее вещество обладает свойствами, близкими к свойствам воздуха. Начальные параметры вещества р1=1,1 бар, t1=30 ºC. Конструктивные характеристики двигателя: ε=υ1/υ2=16; λ=p3/p2=1,7; ρ=υ4/υ3=1,5.
Определить параметры p, υ, t в переходных точках цикла, работу, тепло, изменение внутренней энергии, энтальпии и энтропии в каждом из процессов цикла, термический к.п.д. Изобразить цикл в p-υ и T-s —
400 руб.