- •1.2. Понятие алгоритма. Словесное задание алгоритмов
- •III. Тело алгоритма.
- •1.3. Типы алгоритмов. Операция присваивания
- •1.4. Графическое задание алгоритмов. Блок-схемы. Исполнение алгоритмов
- •2. Структурное программирование. Общие сведения по алгоритмическому языку паскаль и его среде разработки
- •2.1. Предпосылки появления и основные принципы структурного программирования
- •2.2. Язык программирования Турбо Паскаль. Единая интегрированная среда разработчика Turbo Pascal 7.0 (tp 7.0), структура ее диалогового окна и основные команды
- •2.3. Компилятор языка Паскаль Free Pascal ( fpc). Среда разработки Free Pascal ide
- •3. Основные элементы языка Паскаль. Алфавит. Идентификаторы. Типы данных. Выражения. Операции. Отношения. Математические функции в языке Паскаль
- •3.1. Синтаксис и семантика в описании алгоритмического языка. Алфавит языка Турбо-Паскаль
- •3.2. Элементарные конструкции языка Паскаль
- •3.3. Общая структура типов данных. Простые типы в языке Паскаль
- •3.4. Выражения, математические, логические операции, отношения, математические функции в языке Паскаль
- •3.5. Память пк, сегментная адресация, динамическая память
- •3.6. Указатели и динамические переменные
- •3.6.1. Виды указателей и их описание
- •3.6.2. Действия с указателями
- •3.6.3. Выделение и освобождение динамической памяти
- •4. Составной Оператор. Понятия функции и процедуры. Пользовательский интерфейс, Структура программ на языке Паскаль
- •4.1. Составной оператор, понятия функции и процедуры в языке Паскаль
- •4.2. Понятие интерфейса пользователя. Средства создания текстового пользовательского интерфейса в Паскале
- •4.3. Реализация базовых функций интерфейса по вводу и выводу данных в Паскале
- •4.4. Использование библиотеки crt для создания текстового пользовательского интерфейса
- •Рассмотрим выполнение отдельных функций по работе с текстовым экраном при помощи подпрограмм из библиотеки crt.
- •Процедуры работы со звуком.
- •Процедура ожидания.
4.4. Использование библиотеки crt для создания текстового пользовательского интерфейса
В текстовом режиме весь экран разбит на 80х25 знакомест (25 строк по горизонтали, 80 столбцов по вертикали).
Рассмотрим выполнение отдельных функций по работе с текстовым экраном при помощи подпрограмм из библиотеки crt.
Функции работы с клавиатурой (не содержат входных параметров).
KeyPressed. Возвращает значение типа Boolean, указывающее состояние буфера клавиатуры: False означает, что буфер пуст, a True - что в буфере есть хотя бы один символ, еще не прочитанный программой.
ReadKey. Возвращает значение типа Char, которое равно содержимому буфера клавиатуры. Если он пуст, функция ожидает нажатия на любую клавишу. В отличие от read и readln ввод не сопровождается эхо-повтором вводимых символов на экране.
Функция ReadKey часто используется в конце программы для того, чтобы сохранить на мониторе содержание пользовательского экрана до тех пор, пока пользователь не оценит результаты расчета и не нажмет какую-нибудь клавишу для возврата в основное оно программы.
Процедуры задания цвета выводимых символов и фона.
1.TextColor(Color: Byte). Определяет цвет выводимых символов.
2. TextBackground(Color: Byte). Определяет цвет фона.
Единственным параметром процедур является цвет, имеющий тип Byte. Его можно задать по наименованию либо с помощью нужного числового кода, соответствие их дано в Таблице 4.1.
Примеры:
TextColor(7); { Светло-серый}
TextColor(LightGray); { Светло-серый}
TextColor(White+Blink); {Белые мигающие символы}
Таблица 4.1. Коды цветов
Код |
Цвет |
Код |
Цвет |
Код |
Цвет |
0 |
Black (Черный) |
6 |
Brown (Коричневый) |
12 |
LightRed (Розовый) |
1 |
Blue (Темно-синий) |
7 |
LightGray (Светло-серый) |
13 |
LightMagenta (Малиновый) |
2 |
Green (Темно-зеленый) |
8 |
DarkGray (Темно-серый) |
14 |
Yellow (Желтый) |
3 |
Cyan (Бирюзовый) |
9 |
LightBlue (Синий) |
15 |
White (Белый) |
4 |
Red (Красный) |
10 |
LightGreen (Светло-зеленый) |
128 |
Blink =128 (Мерцание символа) |
5 |
Magenta (Фиолетовый) |
11 |
LightCyan (Светло-бирюзовый) |
|
|
Все цветовые настройки предварительно заносятся в специальную переменную TextAttr модуля CRT и используются для в выводе только при обращении к процедурам Write или WriteLn.
Процедуры очистки экрана, окна или отдельных строк (не содержат входных параметров).
1. ClrScr - очистка всего экрана или окна, после обращения к ней они заполняются установленным цветом фона и курсор устанавливается в левом верхнем углу.
2. ClrEol - очистка текущей строки - от текущей позиции курсора до правого края экрана (окна).
3. DelLine - удаление строки, в которой находится курсор.
4. InsLine - очистка текущей строки целиком, курсор остается на прежней позиции.
Пример использования ClrScr:
TextBackground(red); {Установка красного цвета фона}
ClrScr;{Заполнение экрана красным цветом}
Процедура Window задания окна (активной области ввода/вывода) - прямоугольной области экрана, в которую осуществляется весь вывод. Сразу после вызова процедуры курсор помещается в левый верхний угол окна, а само окно очищается (заполняется цветом фона). По мере вывода курсор, как обычно, смещается вправо и при достижении правой границы окна переходит на новую строку, а если он к этому моменту находился на последней строке, содержимое окна сдвигается вверх на одну строку, т.е. осуществляется «прокрутка» окна. Обращение имеет вид:
Window(XI,Y1,X2,Y2: Byte);где (XI,Y1) - координаты левого верхнего (X2,Y2) - правого нижнего углов окна.
В координатах экрана левый верхний угол экрана имеет координаты (1,1), горизонтальная координата увеличивается слева направо, а вертикальная - сверху вниз.
Обращение к процедуре Window игнорируется, если какая-либо из координат выходит за границы экрана или если нарушается одно из условий: Х2>Х1 и Y2>Y1. Каждое новое обращение к Window отменяет предыдущее определение окна.
Пример задания окна с границами (XI, Y1) =(20, 5) и (X2, Y2) = (90,35):
Window(20,5,90,35);
Границы текущего окна запоминаются в двух глобальных переменных модуля CRT: переменная WindMin типа Word хранит X1 и Y1 (XI - в младшем байте), а переменная того же типа WindMax - Х2 и Y2(X2 - в младшем байте). В отличие от обращения к Window координаты, хранящиеся в переменных WindMin и WindMax, соответствуют началу отсчета (0,0).
Процедуры и функции работы с курсором. Процедура GotoXY переводит курсор в нужное место экрана или текущего окна, которое задается координатами X,Y. Обращение к GotoXY игнорируется, если задаваемые координаты X,Y выходят за границы экрана (окна).
Пример. Перевод курсора в точку с координатами X=2, Y=6:
GotoXY(2,6);
Функции WhereX и WhereY возвращают, соответственно, горизонтальную и вертикальную координаты курсора (значения типа Byte).
