СОДЕРЖАНИЕ
1. ОБЩАЯ СТРУКТУРА ПРОГРАММЫ. ОСНОВНЫЕ ПОНЯТИЯ.
2. ОСНОВНЫЕ ВЕЛИЧИНЫ И ТИПЫ ДАННЫХ
2.1. ПОСТОЯННЫЕ ВЕЛИЧИНЫ (КОНСТАНТЫ)
2.1.1. ЗНАЧЕНИЯ КОНСТАНТ (ЛИТЕРАЛЫ)
2.1.2. КОНСТРУКЦИЯ CONST (ОПИСАНИЕ КОНСТАНТ)
2.2. ТИПЫ ДАННЫХ И ПЕРЕМЕННЫЕ ВЕЛИЧИНЫ
2.2.1. КОНСТРУКЦИЯ TYPE (ОПИСАНИЕ ТИПОВ ДАННЫХ)
2.2.2. КОНСТРУКЦИЯ VAR (ОПИСАНИЕ ПЕРЕМЕННЫХ)
2.2.3.2. ЛИТЕРЫ (СИМВОЛЬНЫЕ ВЕЛИЧИНЫ)
2.2.3.3. ЛОГИЧЕСКИЕ (БУЛЕВСКИЕ) ВЕЛИЧИНЫ
2.2.5. ТИПИЗИРОВАННЫЕ КОНСТАНТЫ.
3. ВВОД И ВЫВОД ДАННЫХ (СТАНДАРТНЫЕ УСТРОЙСТВА)
4. ОСНОВНЫЕ КОНСТРУКЦИИ УПРАВЛЕНИЯ
4.1. ПРОЦЕДУРЫ И ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ
4.2.3. ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ
4.2.4. ОПЕРАТОР ЦИКЛА С ПРЕДУСЛОВИЕМ (ПОКА ИСТИНА)
4.2.5. ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ (ПОКА ЛОЖЬ)
4.3. ПРОЦЕДУРЫ И ФУНКЦИИ УПРАВЛЕНИЯ
7. ОПЕРАЦИИ НАД СИМВОЛАМИ И СТРОКАМИ
9. ФАЙЛЫ. ОПЕРАЦИИ НАД ФАЙЛАМИ
10. СПЕЦИАЛЬНЫЕ ОПЕРАЦИИ И ТИПЫ ДАННЫХ
10.1. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ
10.1.1. ТИП ДАННЫХ УКАЗАТЕЛЬ. ПЕРЕМЕННАЯ-УКАЗАТЕЛЬ
10.1.2. ДИНАМИЧЕСКАЯ ПЕРЕМЕННАЯ. АДРЕС ВЕЛИЧИНЫ.
10.1.3. ПРИМЕР РАБОТЫ С УКАЗАТЕЛЯМИ. БОЛЬШОЙ ОБЪЕМ ТЕКСТА.
11. ОСНОВЫ МАШИННОЙ ГРАФИКИ DOS - BGI
1. ОБЩАЯ СТРУКТУРА ПРОГРАММЫ. ОСНОВНЫЕ ПОНЯТИЯ.
{ЗАГОЛОВОК ПРОГРАММЫ}
PROGRAM
имя программы;{-------ОПИСАНИЯ ------------}
uses .................
const .................
type .................
var .................
procedure .................
function .................
{-------ОПЕРАЦИИ ------------}
BEGIN
.......................................
.......................................
.......................................
END.
Символы в составе имени объекта:
буквы латинского алфавита: a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z.
арабские цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
символ подчеркивания: [ _ ].
Малые (строчные) и большие (прописные) буквы не различаются по значению: имена
abc и ABC считаются равными. Первым символом может быть только буква или символ _ . Длина имени может быть от 1 до 127 символов. При этом первые 63 символа в различных именах должны обязательно отличаться друг от друга: эта часть имен используется для определения их равенства или неравенства (!).Любой текст между фигурными скобками {и}. Текст комментария можно расположить в любой части программы.
1.4. КОНСТРУКЦИЯ USES (СТАНДАРТНЫЕ МОДУЛИ)
uses имя-модуля-1, имя-модуля-2, имя-модуля-3, ... имя-модуля-n;
Модуль (unit) - это набор стандартных операций и описаний, которые можно использовать, как готовые конструкции.
2. ОСНОВНЫЕ ВЕЛИЧИНЫ И ТИПЫ ДАННЫХ
2.1. ПОСТОЯННЫЕ ВЕЛИЧИНЫ (КОНСТАНТЫ)
2.1.1. ЗНАЧЕНИЯ КОНСТАНТ (ЛИТЕРАЛЫ)
Основные константы | Примеры |
Целая десятичная | 10 +100 -200 |
Вещественная десятичная | 10.0 +100.25 -2.5e+12 |
Шестнадцатиричная | $10 $1A00 $2BC2 |
Символьная (литерная) | ‘A’ ‘1’ #255 |
Строчная | ‘ABC’ ‘Москве - 850 лет’ ‘$ 10 000’ |
Множество | [ 1, 2, 3 ] [ ‘a’, ‘b’, ‘c’ ] [ ‘a’ .. ‘z’ ] |
2.1.2. КОНСТРУКЦИЯ CONST (ОПИСАНИЕ КОНСТАНТ)
const имя-константы = значение; [...]
2.2. ТИПЫ ДАННЫХ И ПЕРЕМЕННЫЕ ВЕЛИЧИНЫ
2.2.1. КОНСТРУКЦИЯ TYPE (ОПИСАНИЕ ТИПОВ ДАННЫХ)
type имя-типа = описатель-типа; [...]
2.2.2. КОНСТРУКЦИЯ VAR (ОПИСАНИЕ ПЕРЕМЕННЫХ)
var имя-переменной-1, имя-переменной-2, ... имя-переменной-n: тип; [...]
Описатель типа | Длина(байт) | Минимальное число | Максимальное число |
Integer | 2 (знак) | -32768 | +32767 |
Shortint | 1 (знак) | -128 | +127 |
Longint | 4 (знак) | -2147483648 | +2147483647 |
Byte | 1 (б/зн.) | 0 | 255 |
Word | 2 (б/зн.) | 0 | 65535 |
2.2.3.2. ЛИТЕРЫ (СИМВОЛЬНЫЕ ВЕЛИЧИНЫ)
Описатель типа | Длина(байт) | Количество значений | Допустимые значения |
Char | 1 | 256 | литера (символ) |
2.2.3.3. ЛОГИЧЕСКИЕ (БУЛЕВСКИЕ) ВЕЛИЧИНЫ
Описатель типа | Длина(байт) | Количество значений | Допустимые значения |
Boolean | 1 | 2 | true, false |
2.2.3.4. ТИП ДАННЫХ «ИНТЕРВАЛЫ»
type имя-типа = минимальное-целое-значение .. максимальное-целое-значение;
2.2.3.5. ТИП ДАННЫХ «ПЕРЕЧИСЛЕНИЯ»
type имя-типа =
(значение1, значение2, ... значение-n);Описатель типа | Длина(байт) | Число значащих цифр | Директива компилятора |
Real | 6 | 11 | не требуется |
Single | 4 | 7 | {$N+} |
Double | 8 | 15 | {$N+} |
Extended | 10 | 19 | {$N+} |
Comp | 8 | 19 (цел.число,64-bit) | {$N+} |
2.2.5. ТИПИЗИРОВАННЫЕ КОНСТАНТЫ.
(ПЕРЕМЕННЫЕ ВЕЛИЧИНЫ С НАЧАЛЬНЫМ ЗНАЧЕНИЕМ)
const имя-константы: тип = значение; [...]
имя-переменной : = выражение;
2.3.2. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ
Сложение | Вычитание | умножение | деление | ||||||||
A | b | A + b | a | B | a - b | a | b | a * b | a | b | a / b |
10 | 20 | 30 | 20 | 10 | 10 | 10 | 20 | 200 | 20 | 10 | 2 |
10 | -20 | -10 | 20 | -10 | 30 | 2.5 | 2.5 | 6.25 | 10 | 20 | 0.5 |
целочисленное деление | остаток от деления (модуль) | двоичный сдвиг влево | двоичный сдвиг вправо | ||||||||
a | B | a div b | a | b | a mod b | a | b | a shl b | a | b | a shr b |
10 | 20 | 0 | 10 | 20 | 10 | 10 | 2 | 40 | 10 | 1 | 5 |
40 | 15 | 2 | 40 | 15 | 10 | 32 | 1 | 64 | 32 | 2 | 8 |
операции булевой алгебры (высший приоритет) | |||||||||||
Not | And | or | xor | ||||||||
A | not a | a | b | a and b | a | b | a or b | a | b | a xor b | |
False | True | false | false | False | false | false | false | false | false | false | |
true | False | false | true | False | false | true | true | false | true | true | |
true | false | False | true | false | true | true | false | true | |||
true | true | true | true | true | true | true | true | false |
операции отношения (низший приоритет) | |
a = b | равно |
A <> b | не равно |
a < b | меньше |
A <= b | меньше или равно (не больше) |
a > b | больше |
A >= b | больше или равно (не меньше) |
3. ВВОД И ВЫВОД ДАННЫХ (СТАНДАРТНЫЕ УСТРОЙСТВА)
Процедура (функция) | Назначение | Пример вызова | Примечания |
read(список-ввода) | ввод данных (клавиатура) | read(a, b, c) | |
Readln(список-ввода) | ввод данных, пропуск маркера конца строки | readln(a, b, c) | |
Write(список-вывода) | вывод данных (экран) | write(‘n = ’,n:10)
write(‘n = ‘,n:p:q) |
p,q: величи-ны целого типа |
Writeln(списоквывода) | вывод данных, вывод маркера конца строки | writeln(‘?’:s+2)
writeln(‘’:spaces) |
s,spaces: ве-
личины це -лого типа |
Clrscr | очистить весь экран (окрасить в цвет фона) | clrscr | модуль crt |
Textcolor(цвет) | выбрать цвет символа | textcolor(magenta) | модуль crt |
Textbackground(цвет) | выбрать цвет фона | textbackground(0) | модуль crt |
Window(x1,y1,x2,y2) | окно (x1,y1)-(x2,y2) | window(1,1,40,10) | модуль crt |
Wherex | позиция курсора x - номер колонки | x := wherex | модуль crt |
Wherey | позиция курсора y - номер строки | y := wherey | модуль crt |
Gotoxy(x,y) | установить курсор
в положение (x, y);
x - колонка [1..80]; y - строка [1..25]; |
gotoxy(40,10)
gotoxy(50,wherey) |
модуль crt |
Определения констант-названий цветов палитры в текстовых режимах (модуль crt)
Номер | Цвет (имя константы) | Номер | Цвет (имя константы) |
0 | Black | 8 | DarkGray |
1 | Blue | 9 | LightBlue |
2 | Green | 10 | LightGreen |
3 | Cyan | 11 | LightCyan |
4 | Red | 12 | LightRed |
5 | Magenta | 13 | LightMagenta |
6 | Brown | 14 | Yellow |
7 | LightGray | 15 | White |
4. ОСНОВНЫЕ КОНСТРУКЦИИ УПРАВЛЕНИЯ
4.1. ПРОЦЕДУРЫ И ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ
procedure имя([var] параметр-1, параметр-2, ... параметр-n: тип; [...]);
{описания}
begin
{операторы} ...
end;
function имя([var] параметр-1, параметр-2, ... параметр-n: тип; [...]): тип;
{описания}
begin
{операторы} ...
имя := выражение; ...
{операторы}
end;
if логическое-выражение then оператор-1 [ else оператор-2 ]
case выражение-типа-integer,word,char,byte of
значение
: оператор;значение-1 .. значение-2
: оператор;значение-1, значение-2 .. значение-3
: оператор[ else оператор ]
end
4.2.3. ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ
for целая-переменная := выражение-1 to выражение-2 do
оператор
for целая-переменная := выражение-1 downto выражение-2 do
оператор
4.2.4. ОПЕРАТОР ЦИКЛА С ПРЕДУСЛОВИЕМ (ПОКА ИСТИНА)
while логическое-выражение do
оператор
4.2.5. ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ (ПОКА ЛОЖЬ)
repeat
оператор-1; оператор-2; ... оператор-n
until логическое-выражение
4.3. ПРОЦЕДУРЫ И ФУНКЦИИ УПРАВЛЕНИЯ
4.3.1. ПРОЦЕДУРЫ ДЛЯ УПРАВЛЕНИЯ ЗВУКОМ
sound(частота) | запуск звукового сигнала; частота - частота звука (герц) |
nosound | Отключение звука |
4.3.2. ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ПРОГРАММОЙ
halt(результат) |
выход из программы, результат - код завершения (целое число) |
exit |
выход из процедуры или функции пользователя |
break |
выход из цикла |
readkey |
остановка программы до нажатия клавиши; значение функции - код нажатой клавиши (символа); символ клавиши на экране монитора не отображается. |
delay(время) |
остановка программы; время - время задержки (миллисекунды (мс)) 1 мс. = 1 / 1000 с. |
Округленные значения частоты звука для нот октавы, герц (процедура
sound(n))Нота | Частота (малая октава) | Нота | Частота (первая октава) |
До | 262 | До | 523 |
Ре | 294 | Ре | 587 |
Ми | 330 | Ми | 659 |
Фа | 349 | Фа | 698 |
Соль | 392 | Соль | 785 |
Ля | 440 | Ля | 880 |
Си | 494 | Си | 988 |
До | 523 | До | 1047 |
Функция | Назначение | Пример вызова | Результат |
abs(число) | абс. значение числа | abs(-3.5) | +3.5 |
arctan(тангенс-угла) | арктангенс числа | arctan(0) | 0 |
cos(угол) | косинус угла(рад.) | cos(pi) | -1 |
exp(число) | Экспонента | exp(1) | 2.718281828... |
frac(число) | дробная часть числа | frac(3.5) | 0.5 |
int(число) | целая часть числа | int(3.5) | 3.0 |
ln(число) | нат. Логарифм | ln(2.718281828) | ~1.0 |
odd(число) | проверка нечетности | odd(3) | True |
pi | число пи | pi | 3.141592... |
random(число) | «случайное» число | random(10) | Число в [0;10] |
sin(угол) | синус угла(рад.) | sin(pi) | 0 |
sqr(число) | квадрат числа | sqr(2.0) | 4.0 |
sqrt(число) | квадратный корень | sqrt(25.0) | 5.0 |
Процедура | Назначение | Пример вызова | Результат |
inc(число) | увеличить на 1 | inc(n) | n := n + 1 |
dec(число) | уменьшить на 1 | dec(n) | n := n - 1 |
Модель организации данных строки (s[0]=длина строки, 0<=s[0]<=255)
s[0] | s[1] | s[2] | s[3] | s[4] | .... | s[n] |
var переменная-строка: string; {длина строки <= 255 символов}
var переменная-строка: string [ максимальное-количество-символов ];
6.2. ОПЕРАЦИЯ СОЕДИНЕНИЯ СТРОК (КОНКАТЕНАЦИЯ)
строка := строка-1 + строка-2 + ... + строка-n;
Модель организации данных одномерного массива: a[1..n]
a[1] | a[2] | a[3] | a[4] | a[5] | ... | a[n] |
Модель организации данных двумерного массива: a[1..m,1..n]
a[1,1] | a[1,2] | a[1,3] | a[1,4] | a[1,5] | ... | ... | ... | ... | a[1,n] |
a[2,1] | a[2,2] | a[2,3] | a[2,4] | a[2,5] | ... | ... | ... | ... | a[2,n] |
a[3,1] | a[3,2] | a[3,3] | a[3,4] | a[3,5] | ... | ... | ... | ... | a[3,n] |
... | ... | ... | ... | ... | ... | ... | ... | ... | |
a[m,1] | a[m,2] | a[m,3] | a[m,4] | a[m,5] | ... | ... | ... | ... | a[m,n] |
type тип-массив = array [тип-индекса-1,тип-индекса-2, ... тип-индекса-n]
of тип-элемента;
Модель множества (количество элементов <=256, литеры или целые числа 0..255)
0 | 1 | 2 | 3 | 4 | ... | 255 |
1 | 1 | 0 | 1 | 0 | ... | 0 |
type тип-множество = set of тип-элемента;
Принадлежность | Объединение | Разность | Пересечение | ||||||||
X | A | X in A | A | B | A+B | A | B | A-B | A | B | A*B |
0 | [1,2] | false | [1] | [1,2] | [1,2] | [1,2] | [2] | [1] | [1,2] | [2,3] | [2] |
1 | [1,2] | true | [2] | [3] | [2,3] | [1,2] | [3] | [1,2] | [1,2] | [3,4] | [ ] |
Модель записи
R1 | R2 | R3 | ... | Rn |
type тип-запись = record
переменная:
тип-1;переменная: тип-2
end;
6.7. СЛОЖНЫЕ СТРУКТУРЫ ДАННЫХ. КВАЛИФИКАЦИЯ ИМЕНИ.
type mas_of_strings = array [1..n] of string;
var x: mas_of_strings;
x[ i ]
x[ i, j ]
type data = record nomer: integer; name, adres: string [20] end;
var x: data;
x.name
x.name[ i ]
type data = record nomer: integer; name, adres: string [40] end;
type mas_of_records = array [1..n] of data;
var x: mas_of_records;
x[i].name
x[i].name[j]
type mas_of_records = array [1..n] of byte;
type data = record nomer:integer; n:string; rates: mas_of_records end;
var x: data;
x.n[i]
x.rates[j]
7. ОПЕРАЦИИ НАД СИМВОЛАМИ И СТРОКАМИ
7.1 ОПЕРАЦИИ НАД СИМВОЛАМИ И ДРУГИМИ РЕГУЛЯРНЫМИ ТИПАМИ
Функция | Значение | Пример вызова | Результат |
chr(номер-символа-n) | Символ номер n (#n) | chr(33) | ‘!’ |
ord(величина) | номер величины (код) | ord(‘!’) | 33 |
succ(величина) | Следующее значение в последовательности | succ(‘y’) | ‘z’ |
pred(величина) | Предыдущее значение в последовательности | pred(‘y’) | ‘x’ |
Функция |
Назначение |
Пример вызова |
Результат |
copy(s,p,n) |
Выделить n символов из строки s начиная с позиции p |
copy(‘роза’,3,2) |
‘за’ |
concat(s1,s2,...sn) |
Соединить строки (литеры) в одну строку (конкатенация) |
concat(‘г’,’роза’) |
‘гроза’ |
length(строка) |
Длина строки [символ.] |
length(‘роза’) |
4 |
pos(s1,s2) |
номер позиции строки s1 внутри строки s2 (если не найдена, 0) |
pos(‘за’,’роза’) |
3 |
Процедура | Назначение | Пример вызова | Результат |
delete(s,p,n) | удалить n символов из строки s с позиции p | delete(‘роза’,1,2) | ‘за’ |
insert(s1,s2,p) | вставить строку (литеру) s1 в строку s2 с позиции p | insert(‘г’,’роза’,1) | ‘гроза’ |
Процедура (функция) | Назначение | Пример вызова | Результат |
round(число) | округлить число | n := round(3.5) | 4 |
trunc(число) | отсечь дробную часть | n := trunc(3.5) | 3 |
str(n:p:q,s) | преобразовать
число n
в строку s |
str(3.5:3,s) | s = ‘3.5’ |
val(s,n,p) | преобразовать строку s (литеру) в число n | val(‘+3.5’,n,p) | n = 3.5; p = 0
p=место ошибки |
9. ФАЙЛЫ. ОПЕРАЦИИ НАД ФАЙЛАМИ
9.1. ТИПЫ ФАЙЛОВ (ФАЙЛОВЫХ ПЕРЕМЕННЫХ)
1. текстовый ............................ var f: text;
2. типизированный ................... var f: file of тип-компонента;
3. нетипизированный ............... var f: file;
Данные в типизированных и нетипизированных файлах хранятся в формате внутримашинной обработки.
Текстовый файл на диске - это полная модель клавиатуры и экрана (
input, output).Текстовый файл печати
- lst (модуль printer).
Процедура | Назначение | Пример вызова | Тип файла |
assign(file,имя) |
назначить файл для файловой переменной |
assign(f, ’a:text’) assign(f, path) |
Все файлы |
close(file) |
закрыть файл |
close(f) |
Все файлы |
reset(file [,длина-з.]) |
открыть файл |
reset(f) |
Все файлы |
rewrite(file [,длина-з.]) |
создать файл |
rewrite(f, 1) |
Все файлы |
append(file) |
открыть для добавления |
append(f) |
Text |
read(file,данные) |
ввод данных |
read(f, mydata) |
Все файлы |
readln(file,данные) |
ввод данных, пропуск конца строки |
readln(f, a, b, c) |
Text |
write(file,данные) |
вывод данных |
write(f, mydata) |
Все файлы |
writeln(file,данные) |
вывод данных, вывод конца строки |
writeln(f, a:10:2) |
Text |
blockread(f,данные,n, результат ) |
ввод блока из n записей, рез-т=сколько передано |
blockread(f,a,50,p) |
File |
blockwrite(f,данные,n, результат ) |
вывод блока из n записей рез-т=сколько передано |
blockwrite(f,a,50,p) |
File |
seek(file,номерпозиции) |
установить номер позиции для обмена [0;n], n=число записей |
seek(f, 0) |
Кроме text |
Функция | Назначение | Пример вызова | Значения |
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 |
|
Настоящий сборник справочных материалов по языку программирования Паскаль (версия 7.0.) предназначен для получения краткой справочной информации по вопросам состава и синтаксиса базовых конструкций языка - операторов, описаний, процедур, функций и т.д.
Материалы сборника даются в кратком изложении, без обстоятельного комментирования смысла и правил применения конструкций. Поэтому пользоваться ими можно только после изучения соответствующих разделов учебного пособия.
Назначение сборника состоит в том, чтобы упростить и ускорить процесс получения справки о назначении и правилах написания той или иной конструкции. Данные об основных конструкциях собраны в виде таблиц или коротких тематических разделов, имеют иерархический порядок нумерации и оглавление. Поиск нужной информации производится значительно быстрее, чем в документации или в учебном пособии - при этом размер сборника составляет всего 1
0 страниц текста! Сборник содержит только самые основные конструкции, но они вполне достаточны для решения большинства реальных учебных задач - от чисто вычислительных алгоритмов до серьезных задач в области графики и анимации, работы с файлами и указателями.