- •Содержание
- •Часть 1. Основные понятия программирования §1.1. Этапы разработки программного обеспечения
- •§1.2. Основные сведения об алгоритмах Понятие алгоритма
- •Свойства алгоритма
- •Формы записи алгоритмов
- •Блок-схемы алгоритмов
- •§1.3. Языки программирования
- •§1.4. Паскаль и Object Pascal, Турбо-Паскаль и Delphi
- •Контрольные вопросы
- •Язык, оболочка и интегрированная среда разработки
- •Часть 2. Общие сведения о языке Паскаль §2.1. Алфавит и служебные слова
- •Описание общих конструкций языка
- •§2.2. Структура программы
- •§2.3. Разделы описаний Описание меток
- •Определение констант
- •Определение типов
- •Описание переменных
- •Контрольные вопросы
- •Часть 3. Простые типы данных Иерархия типов
- •§3.1. Целые типы
- •§3.2. Вещественные типы
- •§3.3. Логический тип
- •§3.4. Литерный тип
- •§3.5. Перечисляемый тип
- •§3.6. Диапазоны (интервальный тип)
- •Дополнительные типы в Delphi
- •Контрольные вопросы
- •Глава 4. Операторы языка Паскаль Выражения
- •§4.1. Оператор присваивания
- •§4.2. Ввод-вывод данных
- •§4.3. Составной оператор
- •§4.4. Пустой оператор
- •§4.5. Безусловный оператор перехода
- •§4.6. Условный оператор
- •§4.7. Оператор цикла с параметром for
- •§4.8. Оператор цикла с предусловием while
- •§4.9. Оператор цикла с постусловием repeat
- •§4.10. Оператор выбора case
- •Контрольные вопросы
- •Глава 5. Процедурное программирование §5.1. Функции
- •Параметры – значения
- •Параметры – переменные
- •Бестиповые параметры
- •§5.2. Процедуры
- •Правила использования подпрограмм
- •Рекурсия
- •Директивы
- •Процедурные типы
- •Пример использования подпрограмм
- •Контрольные вопросы
- •Глава 6. Структурированные типы данных
- •§6.1. Массивы
- •§6.2. Строки
- •§6.3. Записи
- •§6.4. Множества
- •Пример использования множеств
- •§6.5. Файлы
- •Установочные и завершающие операции
- •Операции ввода-вывода
- •Перемещения по файлу
- •Пример работы с файлом
- •Обработка ошибок ввода-вывода
- •Специальные операции
- •Пример объединения двух файлов
- •Текстовые файлы
- •Стандартные текстовые файлы
- •Файлы без типа
- •Контрольные вопросы
- •Глава 7. Динамические структуры данных §7.1. Динамические переменные
- •§7.2. Указатели
- •Работа с динамическими переменными
- •Пример двухсвязанного циклического списка
- •Указатели без типа
- •Контрольные вопросы
- •Глава 8. Низкоуровневые возможности Паскаля §8.1. Язык Ассемблер
- •§8.2. Доступ к аппаратуре Доступ к памяти
- •Доступ к портам ввода-вывода
- •Работа по прерываниям
- •Контрольные вопросы
- •Глава 9. Модули §9.1. Основные понятия
- •§9.2. Использование модулей
- •§9.3. Стандартные модули
- •§9.4. Модуль Crt
- •Работа с экраном в текстовом режиме
- •Работа с клавиатурой
- •Работа со звуком
- •§9.5. Модуль dos
- •§9.6. Графический режим монитора
- •Контрольные вопросы
- •Глава 10. Введение в объектно-ориентированное программирование §10.1. История развития программирования
- •Понятие объекта
- •§10.2. Свойства объектов
- •Раннее и позднее связывание
- •§10.3. Виртуальные методы
- •Конструкторы и деструкторы
- •§10.4. Динамические объекты
- •Скрытые поля и методы
- •Контрольные вопросы
- •Литература
§9.3. Стандартные модули
Обычно все используемые модули находятся в текущем каталоге или в системном библиотечном файле TURBO.TPL (Turbo Pascal Library). В этот файл можно добавлять и свои модули, но в стандартном варианте там находятся 5 модулей, содержащих все системные константы, типы, процедуры и функции:
SYSTEM,
DOS,
CRT,
PRINTER,
OVERLAY.
Остальные модули
GRAPH,
STRINGS,
WINDOS,
TURBO3 и GRAPH3
размещаются в отдельных файлах TPU.
В модуле System находятся все процедуры и функции стандартного языка Паскаль и расширения для Турбо Паскаля, относящиеся к типам и операторам. Этот модуль подключается к любой программе автоматически, то есть считается, что в каждой программе есть строка
Uses SYSTEM;
Модули Dos и WinDos содержат средства доступа к основным функциям операционной системы и обработки файлов.
Модуль Crt обеспечивает работу с экраном дисплея в текстовом режиме, работу с клавиатурой и простейшее управление звуком.
Модуль Printer содержит единственный интерфейсный элемент — файловую переменную Lst стандартного типа Text, системно связанную с печатающим устройством. Ее использование в стандартных процедурах приводит к выводу информации не на экран, а на печать.
Модуль Overlay предоставляет средства для организации программ, размер которых превышает объем доступной оперативной памяти.
Модуль Graph объединяет многочисленные программные средства управления графическим режимом работы дисплея.
Модуль Strings позволяет использовать строки с завершающим нулем, что вместе с расширенным синтаксисом позволяет создавать Windows-приложения.
Модули Turbo3 и Graph3 предназначены для обеспечения совместимости программ, созданных на ранних версиях Турбо Паскаля и сейчас не используются.
§9.4. Модуль Crt
Формирование изображения на экране монитора происходит с помощью дисплейного адаптера (видеокарты). В зависимости от него дисплей может работать в разных текстовых и графических режимах.
Текстовый режим поддерживают все типы адаптеров. В этом режиме каждый символ кодируется одним байтом и занимает от 16х16 до 8х8 точек или пикселов, чем существенно экономится память. В зависимости от типа адаптера и включенного режима количество строк на экране и символов в строке может быть разным: от 40х25 до 120х50, но стандартным является размер экрана в 25 строк по 80 символов.
Черно-белый текстовый режим является частным случаем цветного. Для последнего совместно с кодом самого символа задается байт атрибута цвета. Каждый символ имеет цвет начертания, или цвет переднего плана и цвет фона. Кроме этого символ может мерцать. Эта информация кодируется в байте атрибута символа:
-
Биты
7
Бит мерцания
6
Красный
Цвет фона
5
Зеленый
4
Голубой
3
Яркость
Цвет символа
2
Красный
1
Зеленый
0
Голубой
Таким образом, цвет фона может задаваться восьмью темными тонами, а цвет символа 16-ю, и каждому из них соответствует константа со стандартным именем.
Темные цвета:
0 (Black) — черный;
1 (Blue) — синий;
2 (Green) — зеленый;
3 (Cyan) — голубой;
4 (Red) — красный;
5 (Magenta) — фиолетовый;
6 (Brown) — коричневый;
7 (LightGrau) — светло-серый.
Светлые цвета:
8 (DarkGray) — темно-серый;
9 (LightBlue) — светло-синий;
10 (LightGreen) — светло-зеленый;
11 (LightCyan) — светло-голубой;
12 (LightRed) — светло-красный;
13 (LightMagenta) — светло-фиолетовый;
14 (Yellow) — желтый;
15 (White) — белый.
Начальная координата экрана находится в левом верхнем углу, а увеличение идет по осям Х и Y аналогично записи на бумаге по позициям и строкам. То есть экран в стандартном текстовом режиме выглядит в соответствии с рис 9.1.
Начальная позиция |
1,1 |
|
80,1 |
Х |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y |
1,25 |
|
80,25 |
Конечная позиция |
Рис. 9.1. Координаты знакомест в стандартном текстовом режиме монитора
То есть увеличение Х соответствует перебору символов в одной строке слева направо, а увеличение Y — перебору строк сверху вниз.
