Преамбула
uses <назва модуля> замовлення модуля
const <назва> [: <тип>] = <величина> опис сталої
type <назва> = <означення> опис типу
var <назва> : <тип> опис змінної
label <назва> опис мітки
Стандартні типи змінних
байт назва
1 char символ
1 boolean булева змінна (стала) - true/false
Цілі числа:
межі зміни
1 shortint -128..127
2 integer -32768..32767
4 longint -2147483648..2147483647
1 byte 0..255
2 word 0..65535
Дійсні числа:
цифр запису lg
6 real 11-12 -39..38
4 single 7-8 -45..38
8 double 15-16 -324..308
10 extended 19-20 -4932..4932
Опис масивів
array[0..n] of ... лінійний
array[0..n,0..m] of ... таблиця
Тип множина — підмножина 256-елементної множини
set of ... опис типу
[ ... , ... ] конструктор множин
include(s,e) долучення елемента e до s
exclude(s,e) вилучення елемента e з s
Тип запис — сукупність полів
record опис типу
<назва поля 1>: <тип поля 1>;
<назва поля 2>: <тип поля 2>; ...
end;
<назва змінної(сталої)>.<назва поля> звертання у тексті програми
Порядок виконання дій
1. У дужках
2. Обчислення функцій
3. @ not + -
4. * / div mod and
5. + - or xor
6. = <> < > <= >= in
Деякі функції
abs(x) модуль
arctan(x) арктанґенс
cos(x) косинус
exp(x) експонента
frac(x) дробова частина
int(x) ціла частина
ln(x) логарифм
sin(x) синус
sqr(x) квадрат
sqrt(x) корінь квадратний
round(x) округлення
trunk(x) ціле - результат відкидання цифр після коми
chr(n) символ з номером n
pi 3.1415926535897932385
Оператори введення-виведення + робота з файлами
на стандартний пристрій виведення (екран)
write ('текст', ... ) запис
writeln (...) запис з переходом на наступний рядок
a:b формат виведення, в якому:
а - загальна кількість цифр;
b - кількість цифр після коми.
зі стандартний пристрою введення (клавіатури)
read (...)
readln(...)
Опис типу файлу:
text текстовий
file of ... файл змінних певного типу
file нетипізований файл
assign (o,'file'); зв'язування файлової змінної
reset(o) читання
rewrite(o) запис з першої позиції
append(o) дописування
eof (o): boolean кінець файлу
eoln(o): boolean кінець рядка
read (o, ...) зчитування з файлу о
readln(o, ...)
write (o, ...) запис у файл о
writeln(o, ...)
close(o) закриття файлу
Група операторів
begin ... ; ... end
Цикли
for j:=1 to n do <вказівка> з певним діапазоном зміни індекса
while <умова> do <вказівка> з попередньою перевіркою (перед)умови
repeat <вказівки> until <умова> до справдження умови
break вихід з циклу
Галуження
if <умова> then <вказівка> else <вказівка> умовний оператор
if <умова> then <вказівка>
goto <мітка>
case A of
A1: <дія>;
........
else <дія>
end
Припинення виконання й компіляції, коментар
halt [<код виходу>] припинення виконання програми
end. припинення компіляції
{<текст>} коментар
Підпрограми й функції
procedure <назва>(<назва параметра-сталої> :<тип параметра-сталої>;
var <назва параметра-змінної>:<тип параметра-змінної>);
[var <опис локальних змінних>;]
begin <тіло процедури> end
function <назва>(<назва параметра-сталої> :<тип параметра-сталої>;
var <назва параметра-змінної>:<тип параметра-змінної>)
:<тип значення функції>;
[var <опис локальних змінних>;]
begin <тіло функції> end
exit вихід з тіла процедури(функції)
Рядкові змінні
string тип рядка до 255 символів включно
string[1..n] тип рядка до n символів включно
copy(s,k,l) фунція-підрядок s з позиції k довжини l
length(s) довжина рядка s
pos(subs,s) найменший номер позиції в s, з якої починається subs
val(s:string, x, code) перетворення рядка s у число x з кодом виходу code
str(x, s:string) перетворення числа х у рядок s
delete(s,k,l) процедура вилучення з рядка s підпослідовності l символів, починаючи з позиції k
Динамічний розподіл пам'яті
^<тип 0> опис типу вказівника на змінну типу 0,
допускається вживання до означення типу 0
<назва>^ звертання у тексті програми
new(<назва>) виділення оперативної пам'яті
dispose(<назва>) вивільнення оперативної пам'яті
Примітивна графіка
uses graph замолення роботи з модулем примітивної графіки
detectgraph(detect,graphmode) визначення пристрою
initgraph(detect,graphmode,'c:\pascal\bgi') перехід у графічний режим
getmaxx максимальний номер екранної точки по горизонталі
getmaxy максимальний номер екранної точки по вертикалі
setcolor(A) задання кольору А для об'єктiв побудови
setbkcolor(B) задання кольору В тла
closegraph вихід з графічного режиму
putpixel(x,y,c) зафарбування точки (x;y) кольором с
line(x1,y1,x2,y2) сполучення відрізком точок (x1;y1) і (x2;y2)
lineto(x2,y2) проведення відрізку з поточної точки до (x2;y2)
rectangle(x1,y1,x2,y2) зображення контуру прямокутника,
протилежні вершини якого мають координати (x1;y1) і (x2;y2)
bar(x1,y1,x2,y2) зображення зафарбованого прямокутника,
протилежні вершини якого мають координати (x1;y1) і (x2;y2)
floodfill(x,y,c) заливання кольором с з точки (x;y) до замкненого контуру
circle(x,y,r) зображення кола з центром (x;y) і радіусом r
arc(x,y,f1,f2,r) зображення дуги кола з центром (x;y) і радіусом r
від кутового аргументу f1 до кутового аргументу f2
ellipse(x,y,f1,f2,xr,yr) зображення дуги еліпса з центром (x;y) і півосями xr, yr
від кутового аргументу f1 до кутового аргументу f2
fillellipse(x,y,xr,yr) зображення зафарбованого еліпса з центром (x;y) і півосями xr, yr
cleardevice очистка екрану
drawpoly(n,xy) зображення периметра n-кутника з масивом координат xy
fillpoly(n,xy) зображення зафарбованого n-кутника з масивом координат xy
settextjustify(h,v) вирівнювання тексту
setgraphmode(m) задання графічного режиму m
setvisualpage(i) оголошення сторінки і видимою
setactivepage(i) оголошення сторінки і активною
clearviewport очищення поточного порту графіки (активної сторінки)
setfillstyle(pattern,color) задання стилю: заливання
settextstyle(font,dir,size) тексту
setlinestyle(line,pattern,thick) лінії
textheight(s) висота тексту рядка s
textwidth(s) ширина тексту рядка s
outtextxy(x,y,s) виведення тексту рядка s у точку (x;y)