
- •1. Основные этапы развития информационных технологий.
- •2. Роль Беббиджа в развитии вычислительной техники.
- •3. Понятие информации. Информация и сообщения. Информационные системы.
- •4. Свойства информации. Действия над сообщениями. Носители сообщений.
- •5. Непрерывные и дискретные сигналы и сообщения. Преобразования сообщений.
- •6. Развертка и квантование. Теорема Котельникова.
- •7. Случайные события. Действия над событиями. Измерение вероятностей событий.
- •8. Понятие и свойства энтропии. Расчет энтропии для зависимых событий.
- •9. Энтропия и информация. Формулы Хартли и Шеннона.
- •10. Информация и алфавит. Относительная избыточность сообщений.
- •11. Кодирование сообщений. Условие неисчезновения информации при кодировании.
- •12. Средняя длина кодовой цепочки. Первая теорема Шеннона.
- •13. Характеристики способов построения двоичных кодов. Примеры кодов.
- •14. Кодирование текстовой информации. Текстовые форматы.
- •15. Неравномерное кодирование. Коды с разделителями.
- •20. Двоичная система счисления. Действия в двоичной системе.
- •21. Шестнадцатеричная система счисления. Действия в шестнадцатеричной системе.
- •22. Переходы между системами счисления.
- •23. Кодирование числовой информации. Формат с фиксированной точкой. Беззнаковое представление.
- •24. Кодирование числовой информации. Формат с фиксированной точкой. Знаковое представление.
- •25. Кодирование числовой информации. Нормализованные числа. Формат с плавающей точкой.
- •*26. Нормализация и денормализация. Диапазон и точность представления в формате с плавающей точкой.
- •*28. Независимость кода и его интерпретации.
- •29. Разновидности компьютерной графики.
- •Кодирование черно-белых изображений
- •Кодирование растровых цветных изображений.
- •32. Графические растровые форматы.
- •33. Обор разновидностей компьютерной графики.
- •34. Кодирование звуковой и видео информации. Мультимедийные форматы.
- •35. Передача информации. Линии и каналы связи и их характеристики.
- •36. Надёжность передачи и хранения информации. Вторая теорема Шеннона.
- •37. Кодирование с обнаружением и исправлением ошибок.
- •38. Коды Хемминга.
- •39. Способы передачи информации по линиям связи.
- •40. Передача информации по телефонным линиям связи. Модемы.
- •41. Понятие модели. Роль моделирования в науке.
- •41. Классификация моделей.
- •43. Системы. Методы изучения систем.
- •44. Классификация систем.
- •45. Различные аспекты понятия алгоритм. Фундаментальный аспект
- •46. Логические теории алгоритмов. Тезис Черча.
- •47. Машина Поста.
- •48. Интуитивное понятие алгоритма. Роль алгоритмов в обществе и в информатике.
- •49. Основные свойства алгоритмов.
- •50. Основные типы алгоритмов.
- •51. Способы задания алгоритмов. Алгоритмические языки.
- •52. Понятие переменной. Имя, тип и значение переменной.
- •53. Присваивание.
- •54. Основные управляющие конструкции. Следование. Задача обмена значениями.
- •55. Общий порядок построения алгоритмов.
- •56. Решение системы двух алгебраических уравнений с двумя неизвестными.
- •*61. Пример алгоритма работы с рекуррентными последовательностями.
- •62. Алгоритмы накопления сумм и произведений.
- •62. Алгоритмы определения экстремального элемента массива.
- •63. Задача поиска. Алгоритмы линейного поиска.
- •64. Бинарный поиск.
- •66. Построение кратных циклов.
- •67. Задача сортировки. Сортировка прямым выбором.
- •68. Понятие верификации алгоритмов. Инварианты циклов.
- •69. Сложность алгоритмов. Классы сложности р и ехр.
- •*70. Примеры оценки сложности алгоритмов.
- •71. Понятие подпрограммы.
- •72. Итерация и рекурсия.
- •73. Основные статические структуры данных.
- •74. Основные динамические структуры данных.
66. Построение кратных циклов.
Структура алгоритма, в котором внутри цикла находится другой цикл, называется кратным или вложенным циклом. Глубина вложения циклов может быть любой.
67. Задача сортировки. Сортировка прямым выбором.
Сортировкой в информатике называется переупорядочение рассматриваемых объектов по некоторому признаку или системе признаков. Например, упорядочение слов по алфавиту называется лексикографической сортировкой.
Существует три базовых способа сортировки массивов: прямым выбором, прямыми вставками и обменная, а также больше количество их модификаций.
Рассмотрим способ сортировки массива прямым выбором. Идея алгоритма состоит в том, чтобы на каждом шаге переупорядочения выбирать наименьший элемент в массиве и помещать его в начальную позицию с тем, чтобы на следующем шаге его уже не рассматривать.
68. Понятие верификации алгоритмов. Инварианты циклов.
Инвариантом цикла называется выражение, значение которого остается постоянным во время всех выполнений тела цикла.
Для одного и того же цикла можно построить несколько инвариантов. Желательно подобрать такой инвариант, который связан с конечной целью выполнения цикла.
Если такой инвариант существует и, кроме того, показано, что цикл выполняется конечное число раз, то можно утверждать, что алгоритм правильный и результаты его выполнения являются верными искомыми результатами. Такие рассуждения называются верификацией алгоритма
В стандартных операторах цикла while B do S требование конечности означает, что после конечного количества проходов по циклу условие B должно стать ложным. Для доказательства оканчиваемости с циклом обычно связывается некоторая ограниченная целочисленная убывающая функции или последовательность, элементы которой зависят от переменных программы, и показывается, 1) что ее начальное значение или начальный элемент положительны и при этом B=true; 2) при каждом выполнении цикла значение функции уменьшается (происходит переход к следующему элементу последовательности); 3) при достижении конечного значения (элемента последовательности) (обычно 0 или -1) условие В=false
69. Сложность алгоритмов. Классы сложности р и ехр.
Временной сложностью алгоритма считается функция T(V) , которая ставит в соответствие некоторой интегральной характеристике исходных данных V максимальное время T , затрачиваемое на решение задачи. Аргумент V функции T(V) характеризует всю совокупность исходных данных алгоритм. Другими словами, аргумент V это некоторый обобщенный «размер» решаемой задачи.
На практике временная сложность определяется как количество операций (арифметических, логических, сравнения, присваивания), которые должны быть выполнены для достижения результата. При этом считается, что все операции выполняются за одно и то же время.
Практически важный
аспект анализа сложности связан с
классификацией алгоритмов по типу
зависимости T(V)
по скорости ее роста. Существуют
алгоритмы, в которых T(V)
растет линейно,
квадратично, имеет кубическую зависимость
и т.д. Такие алгоритмы принято называть
полиномиальными
или алгоритмами с полиномиальной
сложность и говорить, что алгоритм
относится к классу
сложности P.
Существую алгоритмы, временная сложность
которых растет быстрее полинома любой
степени, как
c
некоторым основанием a.
Такие алгоритмы принято называть
алгоритмами с экспоненциальной
сложностью и говорить, что алгоритм
относится к классу
сложности EXP.
В качестве образцов скорости роста можно взять следующий набор функций, следующую шкалу сложности алгоритмов: