
- •1. Общая структура программы. Основные понятия.
- •1.1. Основные части программы
- •1.2. Имя (идентификатор)
- •2.1.1. Значения констант (литералы)
- •2.2. Типы данных и переменные величины
- •2.2.4. Вещественные числа
- •2.2.5. Типизированные константы.
- •2.3. Операции
- •2.3.1. Операция присваивания
- •2.3.2. Арифметические операции
- •2.3.3. Логические операции
- •3. Ввод и вывод данных (стандартные устройства)
- •4. Основные конструкции управления
- •4.1. Процедуры и функции пользователя
- •4.2. Операторы управления
- •4.3. Процедуры и функции управления
- •5. Операции над числами
- •5.1. Функции
- •Var переменная-строка: string [ максимальное-количество-символов ];
- •6.4. Множества
- •6.5. Операции над множествами
- •6.6. Записи
- •6.7. Сложные структуры данных. Квалификация имени.
- •7. Операции над символами и строками
- •7.1 Операции над символами и другими регулярными типами
- •7.2. Операции над строками
- •7.2.1. Функции
- •7.2.2. Процедуры
- •8. Преобразования данных
- •9. Файлы. Операции над файлами
- •9.1. Типы файлов (файловых переменных)
- •1. Текстовый ............................ Var f: text;
- •2. Типизированный ................... Var f: file of тип-компонента;
- •3. Нетипизированный ............... Var f: file;
- •9.2. Процедуры
- •9.3. Функции
- •10. Специальные операции и типы данных
- •10.1. Динамические структуры данных
- •11. Основы машинной графики dos - bgi
- •11.1. Стандартный модуль (graph)
- •11.2. Основные процедуры и функции
- •Примечания
9.3. Функции
Функция |
Назначение |
Пример вызова |
Значения |
eof(file) |
условие “конец файла” |
if eof(f) then ... |
[true; false] |
eoln(file) |
условие “конец строки” |
if eoln(f) then ... |
[true; false] |
filepos(file) |
получить номер позиции для обмена |
if filepos(f) > 0 then ... |
[0;n] |
filesize(file) |
получить размер файла [количество записей] |
seek(f, filesize(f)) |
[0;n] |
ioresult |
номер ошибки ввода-вывода ({$I-}) |
if ioresult = 0 then ... |
[0;n] |
10. Специальные операции и типы данных
10.1. Динамические структуры данных
10.1.1. ТИП ДАННЫХ УКАЗАТЕЛЬ. ПЕРЕМЕННАЯ-УКАЗАТЕЛЬ
type тип-указатель = ^тип-переменной;
var переменная-указатель: тип-указатель;
10.1.2. ДИНАМИЧЕСКАЯ ПЕРЕМЕННАЯ. АДРЕС ВЕЛИЧИНЫ.
Переменная-объект |
Переменная-указатель (ссылка) |
P ^ |
P |
Q |
@ Q |
10.1.3. ПРИМЕР РАБОТЫ С УКАЗАТЕЛЯМИ. БОЛЬШОЙ ОБЪЕМ ТЕКСТА.
type pstring = ^string;
var a: array [1..1000] of pstring; ....
new(a[1]); readln(a[1]^);
writeln(‘1=‘, a[1]^[1]);
10.1.4. ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ДИНАМИЧЕСКИМИ ПЕРЕМЕННЫМИ
Процедура |
Назначение |
Пример вызова |
Результат |
new(указатель) |
создать переменную |
new(s) |
создана s^ |
dispose(указатель) |
удалить переменную |
dispose(a[i]) |
удалена a[i]^ |
10.2. ДРУГИЕ СПЕЦИАЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
Процедура (функция) |
Назначение |
Пример вызова |
Результат |
sizeof(величина) |
размер поля [байт] |
sn := sizeof(n) {n - число integer} |
sn = 2 |
fillchar(a,n,d) |
заполнить n байт поля a значениями d (d: char или byte) |
fillchar(a,sizeof(a),0) {a - массив чисел типа integer} |
все элементы массива равны нулю |
move(a,b,n) |
передать n байтов из поля данных a в поле данных b |
move(a, b, sizeof(a)) {a и b - массивы одного типа} |
массивы равны (равны все эле- менты) |
11. Основы машинной графики dos - bgi
11.1. Стандартный модуль (graph)
Пример: uses graph, crt;
11.2. Основные процедуры и функции
Процедура (функция) |
Назначение |
Пример вызова |
Примечания |
d := detect |
Определить тип гра-фического режима (номер драйвера) |
d := detect |
d = драйвер экрана (bgi) (integer) |
initgraph(d, m, путь-bgi) |
Установить графиче-ский режим экрана |
initgraph(d, m, ’c:\bgi’) |
m = режим экрана (vga) (integer) |
cleardevice |
Очистить экран и отменить установки цвета |
cleardevice |
|
setcolor(цвет) |
Установить цвет линии (рисунка) |
setcolor(magenta) |
|
setbkcolor(цвет) |
Установить цвет фона (очистки) |
setbkcolor(0) |
|
putpixel(x,y,цвет) |
Точка (x,y) |
putpixel(5, 5, red) |
|
line(x1,y1,x2,y2) |
Линия (x1,y1)-(x2,y2) |
line(10,10,20,200) |
|
lineto(x,y) |
Чертить линию в (x,y) |
lineto(100,200) |
|
moveto(x,y) |
Вести перо в (x,y) |
moveto(nx, ny) |
|
circle(x,y,радиус) |
Окружность (x,y,r) |
circle(x, y, 20) |
|
arc(x,y,угл1,угл2,радиус) |
Дуга окружности (x,y,r) от угла1 до угла2 (радиан) |
arc(10,10,0,pi,5) |
|
setfillstyle(s,цвет-заливки) |
Установить стиль и цвет заливки |
setfillstyle(1,green) |
|
floodfill(x,y,цветграницы) |
Залить область с границей (цвет) цветом заливки |
floodfill(p,q, 10) |
|
rectangle(x1,y1,x2,y2) |
Прямоугольник (x1,y1)-(x2,y2) |
rectangle(2,2,5,10) |
|
bar(x1,y1,x2,y2) |
Прямоугольник (x1,y1)-(x2,y2) с заливкой цвета |
bar(2, 2, m, n) |
|
bar3d(x1,y1,x2,y2,z,n) |
3-мерный прямоуголь-ник (колонка) (x1,y1)-(x2,y2) |
bar3d(2,2,20,20, 10,true) |
z = глубина n = boolean true = крыша колонки |
x := getmaxx |
макс. граница для x |
mx := getmaxx |
0..639 (vga) |
y := getmaxy |
макс. граница для y |
my := getmaxy |
0..479 (vga) |
closegraph |
Закрыть графический режим экрана |
closegraph |
|