- •Предисловие
- •Лабораторная работа 1
- •Темы для предварительной проработки
- •1.1. Порядок выполнения работы
- •1.2. Содержание отчета
- •1.3. Индивидуальные задания
- •1.4. Пример решения задачи
- •Контрольные вопросы
- •Приложение 1а
- •Приложение 1б
- •Приложение 1в
- •Приложение 1г
- •Лабораторная работа 2
- •Темы для предварительной проработки
- •2.1. Порядок выполнения работы
- •2.2. Содержание отчета
- •2.3. Индивидуальные задания
- •2.4. Пример решения задачи
- •Контрольные вопросы
- •Приложение 2а
- •Приложение 2б
- •Лабораторная работа 3
- •1.4. Пример решения задачи
- •Контрольные вопросы
- •Приложение 3а
- •Приложение 3б
- •Приложение 3в
- •Приложение 3г
- •Лабораторная работа 4
- •4.4. Пример решения задачи
- •Контрольные вопросы
- •Лабораторная работа 5
- •Темы для предварительной проработки
- •5.1. Порядок выполнения работы
- •5.2. Содержание отчета
- •5.3. Индивидуальные задания
- •5.4. Пример решения задачи
- •Контрольные вопросы
- •Приложение 5а
- •Лабораторная работа 6
- •Темы для предварительной проработки
- •6.1. Порядок выполнения работы
- •6.2. Содержание отчета
- •6.3. Индивидуальные задания
- •6.4. Пример решения задачи
- •Контрольные вопросы
- •Приложение 6а
- •Приложение 6б
- •Константы типа драйвера
- •Константы режимов драйвера
- •Константы цветов
- •Константы стиля и толщины линий (для предикатов GetLineStyle, SetLineStyle)
- •Константы типа шрифта (задаются в предикате settextstyle(Font,Direction,Charsize))
- •Лабораторная работа 7
- •Темы для предварительной проработки
- •7.1. Порядок выполнения работы
- •7.2. Содержание отчета
- •7.3. Индивидуальные задания
- •7.4. Пример решения задачи
- •Контрольные вопросы
- •Приложение 7а
- •Приложение б
- •Редактор о.І. Шпільова
- •61002 Харків, вул. Фрунзе, 21
Приложение 1в
Стандартные типы данных (предопределенные домены)
Тип |
Описание |
char |
Один знак в двойных кавычках |
string |
Последовательность знаков в двойных кавычках размером до 64К |
symbol |
Последовательность знаков без кавычек, начинающаяся с маленькой буквы, или последовательность знаков в двойных кавычках. Типы symbol и string отличаются тем, что имеют различное внутреннее представление. Для типа symbol есть таблицы указателей, обеспечивающие быструю обработку этих данных, но требующие больших объемов памяти. При считывании данных типа symbol из файла эти данные следует заключать в двойные кавычки |
real |
Вещественные числа из диапазона ±(1Е-307 ÷ 1Е+308) |
integer |
Целые числа из диапазона –32768 ÷ +32768 |
file |
Текстовый файл |
dbasedom |
Сгенерированный домен для термов внешней базы данных |
bt_selector |
Возвращаемый селектор двоичного дерева |
db_selector |
Селекторы внешней базы данных, определенной пользователем |
place |
Домен размещения, принимающий значения in_memory – в памяти; in_ems – в расширенной памяти; in_file – в файле |
reg |
Домен процессорных регистров reg(AX,BX,CX,DX,SI,DI,DS,ES) |
bgi_ilist |
Список целых чисел, используемый в BGI-предикатах |
Составные типы данных (структуры) составляются на основе стандартных или на основе других составных типов.
Приложение 1г
Предикаты ввода-вывода
Таблица 1Г.1 – Предикаты ввода
Предикат |
Описание |
readdevice(символическое_имя) (file):(i)(o) |
Устанавливается текущее устройство ввода с заданным символическим именем или возвращается символическое имя текущего устройства ввода. По умолчанию – readdevice(keyboard). Если устройством ввода назначается файл, то он должен быть открытым для чтения или модификации. |
readint(целое_число) (integer):(o) |
Ввод целого числа с текущего устройства ввода. |
readreal(вещественное_число) (real):(o) |
Ввод вещественного числа с текущего устройства ввода. |
readchar(знак) (char):(o) |
Ввод символа с текущего устройства ввода. |
readln(строка) (string):(o) |
Ввод строки символов с текущего устройства чтения. |
file_str(имя_файла,строка) (string,string):(i,o)(i,i) |
Ввод символов (до 64К) из файла с указанным именем, в строку до EOF, или пишет из строки в файл. |
inkey |
Считывание символа с клавиатуры |
keypressed |
Ожидание нажатия клавиши клавиатуры |
Таблица 1Г.2 – Предикаты вывода
Предикат |
Описание |
writedevice(символическое_имя) (file):(i)(o) |
Устанавливается текущее устройство вывода с заданным символическим именем или возвращается символическое имя текущего устройства вывода. По умолчанию – writedevice(screen). |
Продолжение табл. 1Г.2
Предикат |
Описание |
|
Если устройством ввода назначается файл, то он должен быть открытым для записи или модификации. |
write(Х1,Х2,...) (переменные и константы): (i,i,...) |
Вывод значений переменных и констант на текущее устройство вывода |
nl |
Перевод курсора на новую строку |
writef(формат_строка,Х1,Х2,...) (string, переменные и константы): (i,i,i,...) |
Форматный вывод значений констант и переменных. Формат_строка задается в виде “%-m.pw”, где: % – признак форматного вывода; - – знаки в поле вывода будут выравниваться по левому краю; m – указание длины поля вывода; p – при выводе чисел указывается количество цифр после точки; w – указание нотации чисел: Х – длинное целое (строки, указатели базы данных); х – шестнадцатеричный формат (данные типа char,integer); s – строки; с – символы (данные типа char,integer); g – вещественное число в коротком формате; f – вещественное число в форме с фиксированной точкой; e – вещественное число в экспоненциальном виде; \n – перевод курсора на новую строку; \t – табулирование курсора; \nnn – вывод символа с кодом nnn |
Продолдение прил. 1Г
Таблица 1Г.3 - Система окон
Предикат |
Описание |
attribute(Атрибут) |
Устанавливает или возвращает значение атрибута для всех позиций вывода: Атрибут=Ф+Т, где Ф – номер цвета фона; Т – номер цвета текста. Возможные значения Ф: 0 – черный; 72 – розовый; 8 – серый; 80 – лиловый; 16 – синий; 88 – малиновый; 32 – зеленый; 96– коричневый; 40 – салатный; 104 – желтый; 48 – бирюзовый; 112 – белый; 64 – красный; 120– ярко-белый. Возможные значения Т: 0 – черный; 4 – красный; 1 – синий; 5 – лиловый; 2 – зеленый; 6 – коричневый; 3 – голубой; 7 – белый |
makewindow(№_окна,Атрибут, Рамка,Заголовок, Строка,Столбец, Высота,Ширина) (integer,integer,integer, string,integer,integer, integer,integer) - (i,i,i,i,i,i,i,i) (o,o,o,o,o,o,o,o) |
Создается окно с параметрами: №_окна – номер окна; Атрибут – атрибут экрана (см. предикат attribute); Рамка – номер цвета рамки; 0 – рамки нет; Заголовок – заголовок окна, если есть рамка; Строка,Столбец – координаты верхнего левого угла окна (номер строки и столбца); Высота,Ширина – количество строк и столбцов в окне |
shiftwindow(№_окна) (integer) - (i) (o) |
Установить текущим окно с заданным номером или получить номер текущего окна |
Продолжение табл. 1Г.3
Предикат |
Описание |
existwindow(№_окна) (integer) - (i) |
Предикат завершается успехом, если окно с указанным номером существует |
removewindow |
Удаляет текущее окно |
removewindow(№_окна,Обнов) (Integer,Integer) – (i,i) |
Удаляет текущее окно с заданным номером. Параметр Обнов задает режим обновления окна: Обнов=0 Фон под окном не обновляется; Обнов=1 Фон под окном обновляется |
clearwindow |
Текущее окно очищается |
