Кафедра математической логики и теории алгоритмов

Основы программирования (ОТиПЛ)

1. Понятие алгоритмического языка.

1.1. Операторы; программа. Представление о семантиках алгоритмических языков. Интерпретация и компиляция.

1.2. Понятие типа данных; переменные в программировании; присваивание.

2. Языки-компиляторы со сложной типовой структурой (на примере Turbo PASCAL).

2.1. Структура программы, раздел описаний, раздел операторов. Оператор присваивания. Процедуры ввода/вывода. Примеры простейших программ.

2.2. Знакомство со средой Turbo PASCAL. Практика написания простых программ. Использование контекстной помощи. Использование отладочных средств среды.

3. Управляющие операторы.

3.1. Циклы: ограниченный и неограниченный. Условия выхода из цикла. Вложенные циклы. Реализация циклов в языке Turbo PASCAL. Практика написания циклических программ. Организация вывода таблиц.

3.2. Структурное ветвление, его реализация в языке Turbo PASCAL. Практика написания ветвящихся программ.

3.3. Принципы структурного программирования. Практика разработки программ «сверху вниз».

4. Обработка символьной и логической информации.

4.1. Тип CHAR, ASCII-таблицы.

4.2. Тип STRING. Процедуры и функции для обработки символьных строк. Практика обработки символьной информации.

4.3. Значения условий и тип BOOLEAN. Булевы связки. Использование булевых переменных в условиях.

5. Массивы, практика их использования.

5.1. Одномерные и многомерные массивы. Описание, ввод/вывод и циклическая обработка массивов. Практика использования.

5.2. Специфические особенности концепции массива в Turbo PASCAL. Индексация буквами и преобразование кодировок символов. Индексация логическими значениями и представление булевых функций массивами.

5.3. Практика циклической обработки многомерных массивов.

6. Структуры данных, реализуемые на основе статических массивов.

6.1. Структуры данных как хранилища информации; формы доступа.

6.2. Реализация структур данных на основе статических массивов.

7. Использование подпрограмм.

7.1. Процедуры и функции. Локальные переменные. Формальные параметры, обмен данными с основной программой.

7.2. Структурность и практика использования подпрограмм. Рекурсивные вызовы.

7.3. Модули. Размещение подпрограмм в отдельном модуле.

8. Управление экраном (текстовый режим) и клавиатурой.

8.1. Стандартный модуль CRT. Модель экрана «co80». Управление курсором. Распознавание нажатой клавиши.

8.2. Стандартный модуль CRT. Управление цветом. Окна.

8.3. Практика управления экраном и клавиатурой. «Стрелочные» меню. Диалоговые окна.

9. Система типов, практика ее использования (на примере языка Turbo PASCAL).

9.1. Подраздел описания типов. Конструирование типов данных, отвечающих потребностям пользователя.

9.2. Порядковые типы данных и типы-диапазоны, практика их использования.

9.3. Целые типы данных, их использование.

9.4. Перечисляемые типы данных, их использование для создания пользовательских типов данных (на примере календаря).

9.5. Вещественные типы. Эффекты использования приближенной арифметики.

9.6. Специфика реализации типов ARRAY и STRING.

9.7. Тип данных SET (множества), примеры адекватного использования.

9.8. Записи как средство хранения целостной информации об объекте. Ввод/вывод записей через экранные формы. Организация таблиц и картотек в виде массивов записей.

9.9. Начальные представления об объектах (классах) и объектно-ориентированном программировании.

9.10. Ссылки и указатели. Использование динамической памяти. Ссылочные реализации структур данных (на примере односвязного списка).

9.11. Файловые типы; программирование обмена информацией с диском. Типизированные и текстовые файлы. Организация долговременного хранения таблиц в виде типизированных файлов записей. Электронные картотеки. Файлы индексов и бинарный поиск.

10. Практика разработки реальных программных систем.

Основная литература

1. Конспект лекций.

2. Borland Pascal’s Online Help. Контекстная помощь среды TurboPASCAL, версия 5.5 и выше.

Дополнительная литература

1. Фаронов В. В. Программирование на персональных ЭВМ в среде ТУРБО-ПАСКАЛЬ. Издательство МГТУ, 1992. [С. 11-38, 72-178, 195-202, 270-282.]

2. Поляков Д. Б., Круглов И. Ю. Программирование в среде ТУРБО ПАСКАЛЬ, (версия 5.5). Издательство МАИ, 1992. [С. 49-344.]

Программу составил В. Н. Крупский.