Процедуры и функции пользователя
| Процедура | Пример процедуры для обмена значений между целыми переменными m и n |
| program имя-программы; | program primer; var x,y: integer; |
| procedure имя(параметры); | procedure swap(var m,n:integer); |
| описания локальных величин | var s: integer; |
| begin | begin |
| операторы процедуры | s:=m; m:=n; n:=s |
| end; | end; |
| BEGIN | BEGIN |
| операторы программы | read(x,y); swap(x,y); writeln(x:10,y:10) |
| END. | END. |
| Функция | Пример функции для вычисления натуральной степени (n) целого числа (m) |
| program имя-программы; | program primer; var x,y: integer; |
| function имя(параметры): тип-результата; | function power(m,n:integer):integer; |
| описания локальных величин | var s,i: integer; |
| begin | begin |
| операторы функции | s:=1; for i:=1 to n do s:=s*m; power:=s |
| end; | end; |
| BEGIN | BEGIN |
| операторы программы | read(x,y); writeln(power(x,y)) |
| END. | END. |
Часть III.
Символьные типы данных
| Тип | Описатель типа (имя) | Значение типа (пример) |
| Символьный (литерный) | char | 'a' |
| #13 | ||
| Строковый | string | 'задача' |
| 'тема'#13#10'урока:' |
| Функция | Результат функции | Пример |
| length(s) | Длина строки | n:=length(s) |
| pos(s1,s2) | Начало первого вхождения строки s1 внутри строки s2 (номер позиции) | n:=pos('+',s) |
| copy(s,p,n) | Часть строки s длиной n, начиная с позиции p | c:=copy(s,4,2) |
| concat(s1,s2,s3,...sn) | Соединить строки (функция конкатенации) | c:=concat(s,';',t,'.') |
| Функция | Результат функции | Пример |
| upcase(c) | Преобразовать малую букву латинского алфавита в большую (символ верхнего регистра) | c:=upcase(c) |
| chr(n) | Символ с номером n | c:=chr(n) |
| ord(c) | Номер символа со значением c | n:=ord(c) |
| succ(c) | Следующий символ таблицы ASCII | c:=succ(c) |
| pred(c) | Предыдущий символ таблицы ASCII | c:=pred(c) |
| Процедура | Операция | Пример |
| delete(s,p,n) | Удалить часть строки s длиной n, начиная с позиции p | delete(s,n,1) |
| insert(s1,s2,p) | Вставить строку s1 в строку s2, начиная с позиции p | insert('+',s,1) |
| val(s,x,r) | Преобразовать строку s в число x с признаком результата r | val(s,x,nan) |
| str(x:f,s) | Преобразовать число x в строку s с форматом числа f | str(x:10,s) |
| str(x:10:2,s) | ||
| s1 + s2 | Соединить строки (операция конкатенации) | s:=s+';'+t+'.' |
Множества
| Тип множества | Описание множества | Пример |
| Постоянное множество (константа) | [ тип-элемента ] | const a = [ 0..100 ]; |
| Переменное множество (переменная) | set of [ тип-элемента ] | var a: set of [ '0'..'9', '+', '-' ]; |
| Пример описания постоянного множества | Элементы множества |
| const A = [ 'A'..'Z', 'a'..'z' ]; | Буквы латинского алфавита |
| const B = [ 'a'..'z' ]; | Малые буквы латинского алфавита |
| const C = [ 'А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё' ]; | Буквы алфавита-кириллицы |
| const D = [ 'А'..'Я' ]; | Большие буквы алфавита-кириллицы |
| const M = [ '0'..'9' ]; | Цифровые символы от 0 до 9 |
| const N = [ 0..100 ]; | Целые числа от 0 до 100 |
| Пример описания переменного множества | Элементы множества |
| var a set of [ 'A'..'Z', 'a'..'z' ]; | Буквы латинского алфавита |
| var b set of [ 'a'..'z' ]; | Малые буквы латинского алфавита |
| var c set of [ 'А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё' ]; | Буквы алфавита-кириллицы |
| var d set of [ 'А'..'Я' ]; | Большие буквы алфавита-кириллицы |
| var m set of [ '0'..'9' ]; | Цифровые символы от 0 до 9 |
| var n set of [ 0..100 ]; | Целые числа от 0 до 100 |
| Операция | Результат операции | Пример |
| М1 + М2 | Объединение множеств М1 и М2 | ['0'..'9'] + ['+'] |
| М1 - М2 | Разность множеств М1 и М2 | ['a'..'z'] - ['x'..'z'] |
| М1 * М2 | Пересечение множеств М1 и М2 | ['a'..'m'] * ['c', 'i', 'n'] |
| Операция | Когда результат операции равен true | Пример |
| значение in множество | Значение является элементом множества | not (s[i] in ['a'..'z']) |
| М1 = М2 | Множества М1 и М2 равны между собой | |
| М1 <> М2 | Множества М1 и М2 не равны | |
| М1 < М2 | Множество М1 является подмножеством множества М2 | |
| М1 <= М2 | Множество М1 является подмножеством множества М2 или равно М2 | |
| М1 > М2 | Множество М1 является надмножеством множества М2 | |
| М1 >= М2 | Множество М1 является надмножеством множества М2 или равно М2 |
Часть IV.
Файлы
| Тип файла | Описание файла | Пример |
| текстовый файл (текст) | text | var t: text; |
| типизированный файл | file of тип-элемента | var a: file of integer; |
| Процедуры и функции | Операция | Пример |
| read( файл, список ввода ) | Ввод данных из файла | read(t,a,b,c); |
| readln( файл, список ввода ) | Ввод данных из файла | readln(t,a,b,c); |
| write( файл, список вывода ) | Вывод данных в файл | write(t,x,y,z); |
| writeln( файл, список вывода ) | Вывод данных в файл | writeln(t,x,y,z); |
| assign( файл, имя файла ) | Определить имя файла | assign(t,'c:\text\info.txt'); |
| reset( файл ) | Открыть файл для ввода | reset(t); |
| rewrite( файл ) | Открыть файл для вывода | rewrite(t); |
| close( файл ) | Закрыть файл | close(t); |
| eof( файл ) | Если конец файла, то true (функция) | while not eof(t) do read(t,a); |
| eoln( файл ) | Если конец строки, то true (функция) | while not eoln(t) do read(t,a); |
Типы и записи
| Описание типа записи | Пример |
| имя типа = record | type data = record |
| имя-1: тип-1; | x:integer; |
| имя-2: тип-2; | y:integer; |
| имя-N: тип-N; | t:string; |
| end; | end; |
| var a1, a2, a3: data; |
Ссылки и указатели
| Описание указателя | Пример |
| имя-указателя: ^имя-типа; | var pdata: ^data; |
| Ссылка с помощью указателя | Пример |
| имя-указателя^ | pdata^ := 0; |
| Процедура | Операция | Пример |
| new(имя-указателя) | Выделить память для переменной (создать переменную для указателя) | new(pdata); |
| dispose(имя-указателя) | Освободить память переменной (указатель:=nil) | dispose(pdata); |
Объекты и классы
| Описание типа объекта (класс) | Пример |
| имя класса = object (класс-родитель) | type donkey = object (animals) |
| свойство-1: тип-1; | x:integer; |
| свойство-2: тип-2; | y:integer; |
| свойство-N: тип-N; | t:string; |
| метод-1(параметры); | function run(m:string):boolean; |
| метод-2(параметры); | procedure show; |
| метод-N(параметры); | procedure hide; |
| end; | end; |
| var a1, a2, a3: donkey; |