
- •Основные понятия алгоритма.
- •Алгоритм и его свойства. Понятие алгоритма
- •Свойства алгоритмов
- •Правила построения алгоритма
- •Формы записи алгоритма
- •Словесная форма записи алгоритмов
- •Графическая форма записи алгоритмов
- •Псевдокод
- •Программная форма записи алгоритма
- •Базовые алгоритмические структуры Типы базовых алгоритмических структур
- •Линейная базовая структура ("последовательность")
- •Базовая структура "ветвление".
- •Базовая структура "цикл".
- •Языки программирования и их уровни
- •Языки программирования. Машинный язык
- •Язык ассемблер
- •Языки программирования высокого уровня
- •Компоненты, образующие алгоритмический язык Отличительные особенности алгоритмических языков
- •Компиляторы и интерпретаторы
- •Преобразование алгоритма в программу
- •Три составляющие алгоритмического языка
- •Общая характеристика языка Турбо Паскаль
- •Язык программирования высокого уровня Turbo Pascal 7.0.
- •Основы языка
- •1.1. Алфавит языка
- •1.2. Составные элементы Паскаль-программы
- •Операторы
- •Идентификаторы и имена
- •Описания
- •Переменные
- •Функции и процедуры
- •1.3. Синтаксис языка
- •Структура программы на языке Паскаль
- •Тело программы
- •Классификация типов данных языка.
- •3.1. Простые типы Целые типы
- •Вещественные типы
- •Логический тип
- •Символьный тип
- •Перечисляемый тип
- •3.2. Структурированные типы Массив
- •Множество;
- •Основные конструкции языка Turbo Pascal
- •Константы
- •Переменные
- •Функции
- •Стандартные функции
- •Математические функции
- •Функции преобразования типа:
- •Функции для величин порядкового типа.
- •Функции, создаваемые пользователем
- •Знаки операций
- •Арифметические операции
- •Логические операции
- •Операции с битами информации
- •Операции отношения
- •Круглые скобки.
- •Порядок вычисления выражений
- •Операторы языка Turbo Pascal
- •Простые операторы
- •Оператор безусловного перехода (“Goto”)
- •Обращение к процедуре (функции)
- •Оператор выбора (Case)
- •Оператор цикла (Repeat)
- •Оператор цикла While;
- •Оператор цикла For;
- •Оператор обращения к записям и объектам With.
- •Процедуры и функции, определяемые пользователем
- •Характеристика подпрограмм в Turbo Pascal
- •Порядок создания и использования процедур
- •Порядок создания и использования функций
- •Механизм формальных параметров
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Параметры без типа
- •Массивы и строки открытого типа
- •Параметры-процедуры и параметры-функции
- •Использование модулей в Турбо Паскаль
- •Стандартные модули Турбо Паскаль
- •Модуль System
- •Модуль Strings
- •Модуль Crt
- •Модуль Graph
- •Модуль Dos
- •Модуль WinDos
- •Модуль Overlay
- •Исполнительная часть модуля
- •Секция инициализации
- •Использование модуля в основной программе
- •Использование идентификаторов элементов модуля
Модуль Dos
Модуль Dos позволяет использовать возможности операционной системы MS DOS, не предусмотренные в стандарте языка Паскаль, и содержит типы, константы, переменные и подпрограммы для реализации этих дополнительных возможностей.
Модуль WinDos
Модуль WinDos позволяет использовать возможности операционной системы DOS, не предусмотренные в стандарте языка Паскаль, и дополнительно предусматривает использование ASClIZ-строк. Этот модуль следует использовать вместо модуля Dos, когда в программе используются строки, завершающиеся нулями или когда предполагается в дальнейшем использовать разрабатываемую программу в среде Windows.
Модуль Overlay
Модуль Overlay предназначен для организации оверлейных программ, которые загружаются и перезагружаются в оперативную память отдельными частями - секциями. Отдельные оверлейные части программы должны быть оформлены как отдельные модули, причем в них необходимо использовать ключ компилятора {$0+}. Кроме этого необходимо предусмотреть, чтобы при вызове оверлейных процедур и функций все активные в этот момент подпрограммы имели "дальнюю" адресацию (для этого следует использовать ключ компилятора {$F+}. Подключение оверлейных модулей к основной программе помимо стандартного использования раздела uses должно содержать ключ компилятора {$О unitname} с указанием имени оверлейного модуля.
Модуль Printer
Модуль Printer включает в себя переменную Lst типа Text, которая связана с принтером, и ее можно использовать в качестве файловой переменной в процедурах Write и WriteLn. Т. к. эта переменная связывается с принтером автоматически, не следует выполнять ни процедуры Assign, ни процедуры Rewrite, а также закрывать файл.
Модули пользователя
Структура модуля.
Модуль состоит из следующих частей:
заголовок модуля (Unit <Имя модуля>);
интерфейс модуля ( Interface );
исполнительная часть модуля (Implementation);
секция инициализации ( Begin … End.).
Все разделы модуля, за исключением секции инициализации, являются обязательными. Обязательна также указанная последовательность разделов.
Заголовок модуля
Заголовок модуля состоит из зарезервированного слова unit и идентификатора. Идентификатор модуля должен быть уникальным.
Пример заголовка:
unit MyModule;
Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть .PAS.
Интерфейс модуля
Через интерфейс осуществляется взаимодействие основной программы с модулем (модуля с модулем). В интерфейсе указываются константы, типы, переменные, процедуры и функции, которые могут быть использованы основной программой (модулем) при вызове этого модуля.
Интерфейс начинается словом interface. Структура и содержание раздела интерфейс выполняется по таким же правилам, как и раздел объявлений (описаний) основной программы. Отличие состоит только в том, что процедуры и функции в разделе интерфейса модуля приводятся только строкой заголовка. Таким образом, интерфейс модуля может содержать следующие элементы:
раздел объявления используемых модулей - после слова uses указываются имена модулей, которые используются данным модулем (необязательная часть).
раздел объявления констант,
раздел объявления типов,
раздел объявления переменных,
раздел объявления процедур и функций. Объявление процедуры может содержать директиву inline. Напоминаем, что в разделе объявления процедур и функций указываются лишь заголовки подпрограмм (за исключением тех подпрограмм, которые используют директиву inline). Сами подпрограммы приводятся в исполнительной части.
В интерфейсах различных модулей недопустимо циклическое обращение друг к другу, т. к. компилятор в этом случае не может установить связей.