Краткий справочник по языку программирования TurboPascal v. 7.0

СОДЕРЖАНИЕ

1. ОБЩАЯ СТРУКТУРА ПРОГРАММЫ. ОСНОВНЫЕ ПОНЯТИЯ.

1.1. ОСНОВНЫЕ ЧАСТИ ПРОГРАММЫ

1.2. ИМЯ (ИДЕНТИФИКАТОР)

1.3. КОММЕНТАРИИ (ПРИМЕЧАНИЯ)

1.4. КОНСТРУКЦИЯ USES (СТАНДАРТНЫЕ МОДУЛИ)

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.3.1. ЦЕЛЫЕ ЧИСЛА

2.2.3.2. ЛИТЕРЫ (СИМВОЛЬНЫЕ ВЕЛИЧИНЫ)

2.2.3.3. ЛОГИЧЕСКИЕ (БУЛЕВСКИЕ) ВЕЛИЧИНЫ

2.2.3.4. ТИП ДАННЫХ «ИНТЕРВАЛЫ»

2.2.3.5. ТИП ДАННЫХ «ПЕРЕЧИСЛЕНИЯ»

2.2.4. ВЕЩЕСТВЕННЫЕ ЧИСЛА

2.2.5. ТИПИЗИРОВАННЫЕ КОНСТАНТЫ.

2.3. ОПЕРАЦИИ

2.3.1. ОПЕРАЦИЯ ПРИСВАИВАНИЯ

2.3.2. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

2.3.3. ЛОГИЧЕСКИЕ ОПЕРАЦИИ

3. ВВОД И ВЫВОД ДАННЫХ (СТАНДАРТНЫЕ УСТРОЙСТВА)

 

4. ОСНОВНЫЕ КОНСТРУКЦИИ УПРАВЛЕНИЯ

4.1. ПРОЦЕДУРЫ И ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ

4.1.1. ПРОЦЕДУРЫ ПОЛЬЗОВАТЕЛЯ

4.1.2. ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ

4.2. ОПЕРАТОРЫ УПРАВЛЕНИЯ

4.2.1. ОПЕРАТОР ВЫБОРА

4.2.2. ОПЕРАТОР ВАРИАНТА

4.2.3. ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ

4.2.4. ОПЕРАТОР ЦИКЛА С ПРЕДУСЛОВИЕМ (ПОКА ИСТИНА)

4.2.5. ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ (ПОКА ЛОЖЬ)

4.3. ПРОЦЕДУРЫ И ФУНКЦИИ УПРАВЛЕНИЯ

4.3.1. ПРОЦЕДУРЫ ДЛЯ УПРАВЛЕНИЯ ЗВУКОМ

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

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

5.1. ФУНКЦИИ

5.2. ПРОЦЕДУРЫ

6. СТРУКТУРЫ ДАННЫХ

6.1. СТРОКИ

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

6.3. МАССИВЫ

6.4. МНОЖЕСТВА

6.5. ОПЕРАЦИИ НАД МНОЖЕСТВАМИ

6.6. ЗАПИСИ

6.7. СЛОЖНЫЕ СТРУКТУРЫ ДАННЫХ. КВАЛИФИКАЦИЯ ИМЕНИ.

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

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

7.2. ОПЕРАЦИИ НАД СТРОКАМИ

7.2.1. ФУНКЦИИ

7.2.2. ПРОЦЕДУРЫ

8. ПРЕОБРАЗОВАНИЯ ДАННЫХ

 

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

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

9.2. ПРОЦЕДУРЫ

9.3. ФУНКЦИИ

10. СПЕЦИАЛЬНЫЕ ОПЕРАЦИИ И ТИПЫ ДАННЫХ

10.1. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ

10.1.1. ТИП ДАННЫХ УКАЗАТЕЛЬ. ПЕРЕМЕННАЯ-УКАЗАТЕЛЬ

10.1.2. ДИНАМИЧЕСКАЯ ПЕРЕМЕННАЯ. АДРЕС ВЕЛИЧИНЫ.

10.1.3. ПРИМЕР РАБОТЫ С УКАЗАТЕЛЯМИ. БОЛЬШОЙ ОБЪЕМ ТЕКСТА.

10.1.4. ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ДИНАМИЧЕСКИМИ ПЕРЕМЕННЫМИ

10.2. ДРУГИЕ СПЕЦИАЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

11. ОСНОВЫ МАШИННОЙ ГРАФИКИ DOS - BGI

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

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

ПРИМЕЧАНИЯ

 

1. ОБЩАЯ СТРУКТУРА ПРОГРАММЫ. ОСНОВНЫЕ ПОНЯТИЯ.

1.1. ОСНОВНЫЕ ЧАСТИ ПРОГРАММЫ

{ЗАГОЛОВОК ПРОГРАММЫ}

PROGRAM имя программы;

{-------ОПИСАНИЯ ------------}

uses .................

const .................

type .................

var .................

procedure .................

function .................

{-------ОПЕРАЦИИ ------------}

BEGIN

.......................................

.......................................

.......................................

END.

 

1.2. ИМЯ (ИДЕНТИФИКАТОР)

Символы в составе имени объекта:

буквы латинского алфавита: 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.3. КОММЕНТАРИИ (ПРИМЕЧАНИЯ)

Любой текст между фигурными скобками {и}. Текст комментария можно расположить в любой части программы.

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: тип; [...]

2.2.3. РЕГУЛЯРНЫЕ ТИПЫ ДАННЫХ

2.2.3.1. ЦЕЛЫЕ ЧИСЛА

Описатель типа Длина(байт) Минимальное число Максимальное число
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);

2.2.4. ВЕЩЕСТВЕННЫЕ ЧИСЛА

Описатель типа Длина(байт) Число значащих цифр Директива компилятора
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.3.1. ОПЕРАЦИЯ ПРИСВАИВАНИЯ

имя-переменной : = выражение;

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

 

2.3.3. ЛОГИЧЕСКИЕ ОПЕРАЦИИ

операции булевой алгебры (высший приоритет)

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. ПРОЦЕДУРЫ И ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ

4.1.1. ПРОЦЕДУРЫ ПОЛЬЗОВАТЕЛЯ

procedure имя([var] параметр-1, параметр-2, ... параметр-n: тип; [...]);

{описания}

begin

{операторы} ...

end;

 

4.1.2. ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ

function имя([var] параметр-1, параметр-2, ... параметр-n: тип; [...]): тип;

{описания}

begin

{операторы} ...

имя := выражение; ...

{операторы}

end;

 

4.2. ОПЕРАТОРЫ УПРАВЛЕНИЯ

4.2.1. ОПЕРАТОР ВЫБОРА

if логическое-выражение then оператор-1 [ else оператор-2 ]

 

4.2.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

 

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

5.1. ФУНКЦИИ

Функция Назначение Пример вызова Результат
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

 

5.2. ПРОЦЕДУРЫ

Процедура Назначение Пример вызова Результат
inc(число) увеличить на 1 inc(n) n := n + 1
dec(число) уменьшить на 1 dec(n) n := n - 1

 

6. СТРУКТУРЫ ДАННЫХ

6.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;

6.3. МАССИВЫ

Модель организации данных одномерного массива: 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 тип-элемента;

6.4. МНОЖЕСТВА

Модель множества (количество элементов <=256, литеры или целые числа 0..255)

0 1 2 3 4 ... 255
1 1 0 1 0 ... 0

type тип-множество = set of тип-элемента;

 

6.5. ОПЕРАЦИИ НАД МНОЖЕСТВАМИ

Принадлежность Объединение Разность Пересечение
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] [ ]

 

6.6. ЗАПИСИ

Модель записи

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’

 

7.2. ОПЕРАЦИИ НАД СТРОКАМИ

7.2.1. ФУНКЦИИ

Функция

Назначение

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

Результат

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

 

7.2.2. ПРОЦЕДУРЫ

Процедура Назначение Пример вызова Результат
delete(s,p,n) удалить n символов из строки s с позиции p delete(‘роза’,1,2) ‘за’
insert(s1,s2,p) вставить строку (литеру) s1 в строку s2 с позиции p insert(‘г’,’роза’,1) ‘гроза’

 

8. ПРЕОБРАЗОВАНИЯ ДАННЫХ

Процедура (функция) Назначение Пример вызова Результат
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).

 

9.2. ПРОЦЕДУРЫ

Процедура Назначение Пример вызова Тип файла

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

 

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

 

 

ПРИМЕЧАНИЯ

Настоящий сборник справочных материалов по языку программирования Паскаль (версия 7.0.) предназначен для получения краткой справочной информации по вопросам состава и синтаксиса базовых конструкций языка - операторов, описаний, процедур, функций и т.д.

Материалы сборника даются в кратком изложении, без обстоятельного комментирования смысла и правил применения конструкций. Поэтому пользоваться ими можно только после изучения соответствующих разделов учебного пособия.

Назначение сборника состоит в том, чтобы упростить и ускорить процесс получения справки о назначении и правилах написания той или иной конструкции. Данные об основных конструкциях собраны в виде таблиц или коротких тематических разделов, имеют иерархический порядок нумерации и оглавление. Поиск нужной информации производится значительно быстрее, чем в документации или в учебном пособии - при этом размер сборника составляет всего 10 страниц текста! Сборник содержит только самые основные конструкции, но они вполне достаточны для решения большинства реальных учебных задач - от чисто вычислительных алгоритмов до серьезных задач в области графики и анимации, работы с файлами и указателями.

| главная | конспекты |