
- •Алфавит и лексемы
- •Константы
- •Имена, ключевые слова и знаки операций
- •Ввод с клавиатуры
- •Вывод на экран
- •Условный оператор if
- •Оператор варианта case
- •Цикл с предусловием while
- •Цикл с постусловием repeat
- •Цикл с параметром for
- •Рекомендации по использованию циклов
- •Оператор перехода goto
- •Перечисляемый тип данных
- •Интервальный тип данных
- •Двумерные массивы
- •Операции
- •Процедуры и функции для работы со строками
- •Множества
- •Операции над множествами
- •Подпрограммы для работы со всеми типами файлов Процедуры
- •Функции
- •Текстовые файлы
- •Бестиповые файлы
- •Компонентные файлы
- •Прямой доступ
- •Процедуры
- •Функции
- •Глобальные и локальные переменные
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Нетипизированные параметры
- •Открытые массивы и строки
- •Рекурсивные подпрограммы
- •Описание модулей
- •Использование модулей
- •Модуль System
- •Модуль Crt
- •Работа с экраном
- •Работа с клавиатурой
- •Модули Dos и WinDos
- •Модуль Graph
- •Структура графической программы
- •Модуль Strings
Модуль System
Модуль содержит базовые средства языка, которые поддерживают ввод-вывод, работу со строками, операции с плавающей точкой и динамическое распределение памяти. Этот модуль автоматически используется во всех программах, и его не требуется указывать в операторе uses. Он содержит все стандартные и встроенные процедуры, функции, константы и переменные Паскаля.
Модуль Crt
Модуль предназначен для организации эффективной работы с экраном, клавиатурой и встроенным динамиком. При подключении модуля Crt выводимая информация посылается в базовую систему ввода-вывода (ВIОS) или непосредственно в видеопамять.
В текстовом режиме экран представляется как совокупность строк и столбцов. Каждый символ располагается на так называемом знакоместе на пересечении строки и столбца. Символы хранятся в специальной части оперативной памяти, называемой видеопамятью. Ее содержимое отображается на экране.
|
Рис. 1. |
Под каждый символ отводится два байта: один байт занимает ASCII-код символа, другой байт хранит атрибуты символа: его цвет, цвет фона и признак мерцания (рис. 1). Можно получить восемь различных цветов фона и 16 цветов символов.
Модуль Crt позволяет:
выполнять вывод в заданное место экрана заданным цветом символа и фона;
открывать на экране окна прямоугольной формы и выполнять вывод в пределах этих окон;
очищать экран, окно, строку и ее часть;
обрабатывать ввод с клавиатуры;
управлять встроенным динамиком.
Работа с экраном
Текущие цвета символа и фона задаются с помощью процедур TextColor и TextBackGround и действуют на следующие за ними процедуры вывода. Вывод выполняется в текущую позицию курсора. Для ее изменения служит процедура GotoXY.
Окно определяется с помощью процедуры Window. Оно задается координатами левого верхнего и правого нижнего угла.
Очистка текущего окна выполняется с помощью процедуры ClrScr, которая заполняет его пробелами с текущим цветом фона и устанавливает курсор в левый верхний угол.
Пример #1. |
|
|
Программа "угадай число". |
program luck; uses crt; const max = 10; var i, k, n : integer; begin clrscr; { очистить экран } randomize; i := random(max); { загадать число } window(20, 5, 60, 20); { определить окно } TextBackGround(Blue); { цвет фона - синий } clrscr; { залить окно фоном } TextColor(LightGray); { цвет символов - серый } k := -1; { счетчик попыток } GotoXY(12, 5); writeln(' Введите число : '); repeat { цикл ввода ответа } GotoXY(20, 9); { установить курсор } readln(n); { ввести число } inc(k); until i = n; window(20, 22, 60, 24); { определить окно результата } TextAttr := 2 shl 4 + 14; { желтые символы за зеленом фоне } clrscr; { залить окно фоном } GotoXY(6, 2); { установить курсор } writeln(' Коэффициент невезучести : ', k / max :5:1); readkey; { ждать нажатия любой клавиши } TextAttr := 15; { белые символы на черном фоне } clrscr; { очистить после себя экран } end.
|