ЧАСТЬ I.
1. Основные правила грамматики
1. Текст программы состоит из трех составных частей. Это заголовок, описания, операторы. Заголовок программы содержит имя программы. Для версии ETH необходимо дополнительно указать источник и приемник данных для работы программы — файлы для ввода и вывода информации. По умолчанию файл input связан с клавиатурой компьютера, а файл output — с экраном монитора. В Turbo Pascal заголовок имеет декоративное значение и использовать его не обязательно.
2. Описания — это символьные конструкции для описания свойств объектов программы. Все объекты программы надо обязательно указать в этой части программы. Операторы — это символьные конструкции для описания действий над объектами программы. Операторы должны находиться между словами begin и end. Эти слова считаются скобками.
3. В одной строке текста можно размещать несколько операторов или описаний. Поэтому между операторами надо обязательно ставить символ-разделитель. Для разделения операторов используется символ точка с запятой ( ; ). После последнего оператора разделитель ставить не обязательно.
4. Малые и большие буквы считаются эквивалентными (равнозначными). Имя любого объекта в записи программы может содержать только буквы латинского алфавита, цифры и символ подчеркивания ( _ ). Имя не может начинаться с цифры. Никакие другие типы символов в записи имен не разрешаются.
2. Общее строение программы
ETH Pascal |
Пример |
program имя(ввод,вывод); |
program echo(input,output); |
описания; |
var n: integer; |
BEGIN |
BEGIN |
оператор; |
write(‘число?’); |
оператор; |
read(n); |
оператор |
write(n) |
END. |
END. |
Turbo Pascal-Delphi |
Пример |
program имя; |
program echo; |
модули; |
uses crt; |
описания; |
var n: integer; |
BEGIN |
BEGIN |
оператор; |
clrscr; read(n); |
оператор; |
write(n); |
оператор |
readkey |
END. |
END. |
3. Основные типы переменных
Тип |
Описатель типа (имя) |
Значение типа (пример) |
Действительный |
real |
16.32 |
|
|
-1.6320000000E+01 |
Тип |
Описатель типа (имя) |
Значение типа (пример) |
Целый |
integer |
30000 |
Длинный целый |
longint |
2000000000 |
Тип |
Описатель типа (имя) |
Значение типа (пример) |
Символьный (литерный) |
char |
‘a’ |
|
|
#13 |
Строковый |
string |
‘задача’ |
Логический (булевский) |
boolean |
false |
|
|
true |
Интервальный |
M1..M2 |
100 |
6. Ввод и вывод
Процедура |
Пример 1 |
Пример 2 |
read(список ввода) |
program echo1(input,output); |
program echo2(input,output); |
readln(список ввода) |
var m, n: integer; |
var m, n: integer; |
write(список вывода) |
BEGIN |
BEGIN |
writeln(список вывода) |
read(m,n); |
readln(m,n); |
|
write(‘m=’,m); |
writeln(‘m=’,m); |
|
write(‘n=’,n) |
writeln(‘n=’,n) |
|
END. |
END. |
Число (n) |
Тип |
Формат вывода |
Результат вывода |
16 |
integer |
write(n) |
16 |
16 |
integer |
write(n:2) |
16 |
16 |
integer |
write(n:5) |
16 |
16.32 |
real |
write(n); |
1.6320000000E+01 |
16.32 |
real |
write(n:12) |
1.63200E+01 |
16.32 |
real |
write(n:5:2) |
16.32 |
16.32 |
real |
write(n:10:4) |
16.3200 |
8. Арифметические средства языка
Арифметическая операция |
Описание операции |
Пример |
+ |
Сложение |
|
— |
Вычитание |
|
* |
Умножение |
|
/ |
Деление |
5.0/2.0 = 2.5 |
div |
Целочисленное деление (деление без остатка) |
5 div 2 = 2 |
mod |
Остаток от деления |
5 mod 2 = 1 |
shl |
Двоичный сдвиг влево |
5 shl 1 = 10 |
shr |
Двоичный сдвиг вправо |
5 shr 1 = 2 |
Функция |
Результат функции |
Пример |
abs(x) |
Модуль числа (абсолютное значение) |
abs(-2) = 2 |
sqr(x) |
Квадрат числа |
sqr(2) = 4 |
sqrt(x) |
Квадратный корень числа |
sqrt(4) = 2.0 |
pi |
Число пи ~ 3.14… |
|
Функция |
Результат функции |
Пример |
sin(x) |
Синус числа |
sin(pi) = 0 |
cos(x) |
Косинус числа |
cos(0) ~ 1.0 |
ln(x) |
Логарифм натуральный |
ln(1) = 0 |
exp(x) |
Экспонента (число e в степени x) |
exp(1) ~ 2.72 |
Функция |
Результат функции |
Пример |
int(x) |
Целая часть числа |
int(3.6) = 3.0 |
trunc(x) |
Целое число без округления |
trunc(3.6) = 3 |
round(x) |
Целое число с округлением |
round(3.6) = 4 |