Оптимизирующие компиляторы. Лабораторные работы №1-3. Вариант №1.
Состав работы
|
|
|
|
|
|
|
|
Описание
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
№ Алгоритм 1 Алгоритм 2
1 Пузырьком Шелла
ЛАБОРАТОРНАЯ РАБОТА №2.
«ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать значение параметра N таким, чтобы время работы программы было порядка 30-60 секунд.
4. Программу скомпилировать компилятором GCC с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og под архитектуру процессора x86.
5. Для каждого из семи вариантов компиляции измерить время работы программы при нескольких значениях N.
№ Алгоритм 1 Алгоритм 2
1 Пузырьком Шелла
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации (см. табл. 2). Решения представить в виде работающих программ на C++.
Варианты заданий взять из табл. 2.
Таблица 2. Варианты заданий
№ вар. Алгоритм 1 Алгоритм 2
1 1 10
Таблица 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)
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
№ Алгоритм 1 Алгоритм 2
1 Пузырьком Шелла
ЛАБОРАТОРНАЯ РАБОТА №2.
«ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать значение параметра N таким, чтобы время работы программы было порядка 30-60 секунд.
4. Программу скомпилировать компилятором GCC с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og под архитектуру процессора x86.
5. Для каждого из семи вариантов компиляции измерить время работы программы при нескольких значениях N.
№ Алгоритм 1 Алгоритм 2
1 Пузырьком Шелла
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации (см. табл. 2). Решения представить в виде работающих программ на C++.
Варианты заданий взять из табл. 2.
Таблица 2. Варианты заданий
№ вар. Алгоритм 1 Алгоритм 2
1 1 10
Таблица 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)
Дополнительная информация
зачтено в декабре 2019, Зырянов Кирилл Игоревич
С++ Qt
С++ Qt
Похожие материалы
Оптимизирующие компиляторы. Лабораторная работа 1. Вариант 1.
nik200511
: 12 февраля 2020
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
№ Алгоритм 1 Алгоритм 2
1
322 руб.
Оптимизирующие компиляторы. Лабораторные работы №№1-3. Вариант №1.
SNF
: 12 февраля 2020
ЛАБОРАТОРНАЯ РАБОТА №1
«ОПРЕДЕЛЕНИЕ ВРЕМЕНИ РАБОТЫ ПРИКЛАДНЫХ ПРОГРАММ»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать размерность массива N такой, чтобы время работы программы более медленным алгоритмом было порядка 5 секунд.
4. Оценить (на 5-10 тестах) относительное быстродействие алгоритмов.
№ Алгоритм 1 Алгоритм 2
1
2343 руб.
Оптимизирующие компиляторы. Лабораторная работа №2. Вариант №1.
nik200511
: 12 февраля 2020
ЛАБОРАТОРНАЯ РАБОТА №2.
«ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА»
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Написать программу на языке C или C++, которая реализует выбранный алгоритм из задания.
2. Проверить правильность работы программы на нескольких тестовых наборах входных данных.
3. Выбрать значение параметра N таким, чтобы время работы программы было порядка 30-60 секунд.
4. Программу скомпилировать компилятором GCC с уровнями оптимизации -O0, -O1, -O2, -O3, -Os, -Ofast, -Og под архитектуру проце
322 руб.
Оптимизирующие компиляторы. Лабораторная работа №3. Вариант №1.
nik200511
: 12 февраля 2020
Лабораторная работа № 3.
Оптимизация временной сложности алгоритма
ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. В соответствии с вариантом задания, реализовать алгоритмы так, чтобы их временная сложность соответствовала требуемой в постановке задачи или были проведены иные оптимизации (см. табл. 2). Решения представить в виде работающих программ на C++.
Варианты заданий взять из табл. 2.
Таблица 2. Варианты заданий
№ вар. Алгоритм 1 Алгоритм 2
1 1 10
Таблица 2. Варианты задания
№ Алгоритм Реализация на
322 руб.
Оптимизирующие компиляторы. Контрольная работа. Вариант 1.
nik200511
: 12 февраля 2020
Вопросы по теме 1
1. В чём заключается разница между компилятором и интерпретатором?
2. Какие действия производятся в фазе синтаксического анализа?
3. Какие стратегии используются компилятором для принятия решений?
Вопросы к теме 2
4. Что представляет собой предиктивный анализ?
5. Что означает термин «алфавит языка»?
6. Из каких частей состоят продукции грамматики?
7. Что представляют собой узлы синтаксического дерева?
Вопросы к теме 3
8. Для чего производится сборка мусора?
9. Какие соглашения
435 руб.
Оптимизирующие компиляторы. Билет №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 руб.
Другие работы
Микропроцессоры и цифровая обработка сигналов. Лабораторная работа № 3. Ввод информации через параллельный порт. Вариант 15 (2018)
rmn77
: 10 марта 2018
Лабораторная работа № 3
по дисциплине
«Микропроцессоры и цифровая обработка сигналов»
Ввод информации через параллельный порт
Вариант 15
1. ЦЕЛЬ РАБОТЫ.
1.1. Изучить особенности работы параллельных портов микроконтроллера.
1.2. Изучить схемы подключения кнопок и датчиков к цифровым микросхемам.
1.3. Научиться определять состояние кнопок при помощи программы.
1.4. Изучить способы отладки программ на лабораторном стенде ЛЭСО1.
2. ЗАДАНИЕ К РАБОТЕ В ЛАБОРАТОРИИ
2.1. Разработать программу, анализи
350 руб.
Теплотехника Задача 6.63 Вариант 6
Z24
: 15 февраля 2026
В изохорном процессе М кг азота нагреваются от начального давления р1 и температуры t1 до температуры t2. Определить количество подводимой теплоты, конечное давление газа и изменение энтропии. Теплоемкость газа принять зависящей от температуры. Изобразить графики процесса в координатах υ- p s-T.
150 руб.
Насос плунжерный 00.02.000 СБ. Деталирование
HelpStud
: 3 августа 2019
Плунжерный насос применяется при проточной и циркуляционной системе смазки. Возвратно- поступательное движение плунжера происходит от рычага (на чертеже не показан), соприкасающегося со сферической поверхностью плунжера 2. При подъеме плунжера 2 в плоскости корпуса 1 образуется разрежение и масло из бака засасывается через отверстие всасывающегося клапана 4, при этом шарик 5 перемещается влево, сжимая пружину 9. При опускании плунжера 2 давление масла в полости корпуса увеличивается, шарик прижи
350 руб.
Германская модель социально рыночной экономики
Qiwir
: 28 октября 2013
Германия расположена в Центральной Европе, где сходятся важнейшие торговые и транспортные артерии мирового значения. Она граничит с девятью государствами: Данией, Бельгией, Нидерландами, Люксембургом, Францией, Швейцарией, Австрией, Чехией и Польшей. Территория Германии характеризуется большим разнообразием – сочетанием равнинных регионов на севере страны со средиземноморьем в центральной части, которое на юге Германии постепенно переходит в альпийский горный массив. Население Германии более 80
10 руб.