Языки и МП(Ð..

advertisement
Вопросы к экзамену по предмету
«Языки и методы программирования»
Специальность «Прикладная математика и информатика»
1 курс, ОФО
1. Понятие системы счисления. Позиционные и непозиционные системы
счисления. Понятие базиса.
2. Перевод чисел из одной системы счисления в другую. Частные случаи
переводов.
3. Экономичность систем счисления.
4. Прямой, обратный и дополнительный коды двоичных чисел.
Выполнение операций над числами в дополнительных кодах.
5. Формы представления чисел в ЭВМ. Сравнительная характеристика
различных форм представления чисел.
6. Понятие алгоритма. Полная схема разработки алгоритма и решения
задачи на ЭВМ. Понятие алгоритмизации. Основные свойства
алгоритмов.
7. Формы записи алгоритмов. Блок-схема как форма записи алгоритма.
Базовые алгоритмические структуры.
8. Типы алгоритмов. Циклические алгоритмы. Типы циклов.
9. Структурность алгоритмов. Теорема структурирования.
10. Языки программирования: определение и классификация. Краткие
исторические сведения.
11. Понятие транслятора. Компиляторы и интерпретаторы.
12. Обработка программы с использованием компилятора.
13. Сравнительная характеристика компиляторов и интерпретаторов.
14. Понятие транслятора. Обработка программы интерпретатором.
Сравнительная характеристика компиляторов и интерпретаторов.
15. Краткий обзор процесса компиляции. Анализ исходной и синтез
объектной программы.
16. Порядок работы компилятора. Оптимизация программы.
17. Алфавиты и цепочки. Катенация цепочек и произведение множеств
цепочек. Итерация и усеченная итерация множеств цепочек.
18. Формальное определение грамматики
и языка. Сентенциальные
формы и предложения.
19. Алгоритмический язык Pascal. Особенности и преимущества. Идея
структурного программирования. Нисходящее программирование.
20. Описание синтаксиса языков. Бэкуса-Наура формы и синтаксические
диаграммы. Рекурсивные определения.
21. Алфавит, синтаксис и семантика. Лексемы и символы-разделители.
Диаграммы для понятий «Программа» и «Блок».
22. Данные и информация. Концепция данных. Понятие структуры данных.
Иерархии структур данных.
23. Две классификации типов данных. Понятие стандартного и описанного
типа. Переопределение типов. Ординальные типы данных. Общая
характеристика.
24. Тип Integer и совместимые типы. Типы Boolean и Char. Тип Real и
совместимые типы.
25. Концепция действия. Классификация операторов. Операции и
операнды.
26. Операторы
цикла.
Разновидности
операторов.
Особенности
организации циклов.
27. Выбирающие операторы.
28. Перечислимые и диапазонные типы данных.
29. Составные типы данных: общая характеристика и классификация.
30. Регулярный тип данных. Многомерные массивы.
31. Стринги и программные средства их обработки.
32. Комбинированный тип данных. Записи и поля. Селектор записи.
33. Комбинированный тип данных. Записи с вариантами.
34. Оператор присоединения.
35. Множественный тип данных. Понятие конструктора.
36. Операции над множествами.
37. Файловый тип данных и его особенности. Понятие буферной
переменной.
38. Понятие файла. Слияние двух отсортированных файлов в один файл.
39. Стандартные средства для работы с типизированными файлами.
Логические устройства.
40. Текстовые файлы и их особенности.
41. Процедуры и функции пользователя. Идея использования
подпрограмм. Синтаксические диаграммы.
42. Подпрограммы: аппарат аргументов-параметров. Синтаксические
диаграммы.
43. Подпрограммы: локальные и глобальные программные объекты;
локализация подпрограмм.
44. Рекурсивные объекты и вычисления. Рекомендации по использованию
рекурсии. Рекурсивное вычисление факториала и чисел Фибоначчи.
45. Рекурсия и алгоритмы с возвратом.
46. Статические и динамические объекты, механизмы выделения памяти.
47. Понятие данных ссылочного типа. Переменные с указателем.
48. Порождение и уничтожение динамических объектов. Действия над
ссылками. Понятие «пустой» ссылки. Цикл «жизни» динамического
объекта.
49. Отличительные особенности динамических объектов и их недостатки.
50. Проблема программного «мусора» и «висячих» ссылок.
51. Понятие таблицы. Простая цепочка.
52. Таблица: цепочка с упорядоченными записями.
53. Таблица: дихотомический поиск.
2
54. Таблицы и двоичные деревья (без примера включения записи в
таблицу).
55. Рекурсивные объекты и их особенности. Сложные динамические
объекты: очереди и стеки.
56. Использование очереди в ОС и в программировании.
57. Использование стека в ОС и в программировании.
58. Реализация очереди на базе массива. Реализация стека на базе массива.
59.Операции над стеком. Реализация операций над стеком.
60. Определение последовательности (очереди). Определение дерева.
61. Деревья: основные понятия. Двоичные и сильно ветвящиеся деревья.
62. Идеально сбалансированные деревья.
63. Двоичные деревья: задача «обхода».
64. Дерево поиска.
65. Сортировка массивов. Понятие прямого метода.
66. Сортировка массивов: метод прямого включения.
67. Сортировка массивов: метод с двоичным включением.
68. Сортировка массивов: метод прямого выбора.
69. Сортировка массивов: метод прямого обмена (пузырьковая сортировка).
Преподаватель: А.Г. Смольянов
30.05.2012 г.
3
Download