Справочник по Паскалю

 

Пройти тест по программированию на Pascal

 

ВВОД И ВЫВОД ДАННЫХ

(СТАНДАРТНЫЕ УСТРОЙСТВА)

Процедура (функция)

Назначение

Пример вызова

Примечания

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

 


ПРОЦЕДУРЫ И ФУНКЦИИ
ДЛЯ УПРАВЛЕНИЯ ПРОГРАММОЙ


halt(результат)

выход из программы, результат - код завершения (целое число)

exit

выход из процедуры или функции пользователя

break

выход из цикла

readkey

остановка программы до нажатия клавиши;

значение функции - код нажатой клавиши (символа);

символ клавиши на экране монитора не отображается.

delay(время)

остановка программы;

время - время задержки (миллисекунды (мс))

1 мс. = 1 / 1000 с.

 


ОПЕРАЦИИ НАД ЧИСЛАМИ

ФУНКЦИИ

Функция

Назначение

Пример вызова

Результат

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 [ максимальное количество символов ];

 

ОПЕРАЦИЯ СОЕДИНЕНИЯ СТРОК (КОНКАТЕНАЦИЯ)

строка := строка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 . . m, 1 . . 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;  


ОПЕРАЦИИ НАД СИМВОЛАМИ И СТРОКАМИ

ОПЕРАЦИИ НАД СИМВОЛАМИ И ДРУГИМИ РЕГУЛЯРНЫМИ ТИПАМИ

Функция

Значение

Пример вызова

Результат

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 = место ошибки

 


ФАЙЛЫ. ОПЕРАЦИИ НАД ФАЙЛАМИ

ТИПЫ ФАЙЛОВ (ФАЙЛОВЫХ ПЕРЕМЕННЫХ)

1. текстовый                         var f: text;

2. типизированный           var f: file of <тип компонента>;

3. нетипизированный       var f: file;

Данные в типизированных и нетипизированных файлах хранятся в формате
внутримашинной обработки.

Текстовый файл на диске – это полная модель клавиатуры и экрана (input, output).

Текстовый файл печатиlst (модуль printer).

 

ФУНКЦИИ

Функция

Назначение

Пример вызова

Значения

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]

 

 


ПРОЦЕДУРЫ

Процедура

Назначение

Пример вызова

Тип файла

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

 


СТАНДАРТНЫЙ МОДУЛЬ (GRAPH)

ОСНОВНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

Процедура (функция)

Назначение

Пример вызова

Примечания

D := detect

Определить тип графического режима (номер драйвера)

d := detect

d = драйвер экрана (integer)

Initgraph( d, m, 'путь bgi' )

Установить графический режим экрана

initgraph(d, m, ’d:\bp\bgi’)

m = режим экрана (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)

 


СТАНДАРТНЫЙ МОДУЛЬ (GRAPH)

ОСНОВНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

 

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

 

 


Перейти на Главную


<<НАЗАД