Программа представляет собой последовательность операторов, записанных друг за другом. Каждый следующий оператор начинается с новой строки. Каждая строка завершается «;» и нажатием <Enter>.
Раздел uses
Этот раздел состоит из зарезервированного слова uses и списка имен подключаемых стандартных и пользовательских библиотечных модулей. В систему Turbo Pascal 6.0. и выше включены 8 библиотечных модулей:
System – содержит подпрограммы, обеспечивающие работу всех остальных модулей системы, подключается автоматически
Crt – содержит средства управления дисплеем и клавиатурой ПК
Dos – включает средства, позволяющие реализовать различные функции Dos
Graph – содержит пакет графических средств, обеспечивающих эффективную работу с адаптерами CGA, EGA, VGA, HERC, IBM 3270, MCGA, ATT6300
Graph3 – поддерживает использование стандартных графических подпрограмм версии TP 3.0
Overlay – содержит средства организации оверлейных программ
Printer – обеспечивает быстрый доступ к печатающему устройству
Turbo3 – обеспечивает максимально возможную совместимость с версией TP 3.0
Формат записи: uses <имя1>,<имя2…>
Раздел описание меток
В этом разделе описываются метки, которые будут использоваться в программе. Раздел начинает зарезервированным словом label.
Формат записи: label <метка1>,<метка2…>
Например: label 1,2,qwerty,my;
Меткой может служить идентификатор или цифра. Максимальная длина имени метки 127 символов. Перед употреблением метка должна быть описана в разделе описание меток. Для использования метки в программе используется оператор перехода goto (перейти к), а оператор, к который следует выполнить отмечается меткой и следующим за ней двоеточием.
Например: goto 10;
x:=a+5;
10: x:=x-5;
Раздел описание констант
В этом разделе производится присваивание идентификаторам констант постоянных значений. Раздел начинается зарезервированным словом const, за которым следует ряд выражений, присваивающих идентификаторам постоянные числовые или строковые значения. Выражения присваивания отделяются друг от друга точкой с запятой.
Формат: const <идентификатор>=<значение>;
Например: const a=12; b=’name’
Раздел описания типов данных
Этот раздел используется для описания типов, образованных пользователем (нестандартных). Раздел начинается зарезервированным словом type, за которым следует одно или несколько определений типов, разделенных точкой с запятой.
Формат: type <имя типа>=<значения типа>;
Например: Letter=(‘A’..’Z’);
Days=1..31;
Matrix=array[1..10] of integer;
Раздел описание переменных
Каждая переменная, которая используется в программе обязательно должна быть описана в этом разделе. Раздел начинается зарезервированным словом var (variable - переменная), затем через запятую перечисляются имена переменных и через двоеточие указывается их тип.
Формат: var <идентификатор>:<тип>;
Например:var a,b,c: real;
x1, x2: integer;
Раздел операторов
Он является основным, так как именно в нем с предварительно описанными переменными, константами, значениями функций выполняются действия, позволяющие получить результат. Раздел операторов начинается зарезервированным словом begin, далее следуют операторы, отделенные друг от друга точкой с запятой, завершает раздел зарезервированное слово end с точкой.
Слова begin и end являются аналогом открывающей и закрывающей скобки в обычных арифметических выражений.
Типы данных
Тип определяет возможное значение констант, переменных, функций, выражений, принадлежащих данному типу, и возможные операции над ними.
Простые (скалярные) типы
К скалярным (scalar-простые) типам данных относят типы данных таких величин, значения которых не содержат составных частей.
1. Целые числа (integer, shortint, longint, byte, word).
Например: 1, 78900, 6750
Формат
Диапазон значений
shortint
-128¸127
Integer
-32768¸32768
longint
-2147483648¸2147483647
byte
0¸255
word
0¸65535
Над целыми числами можно выполнить следующие операции: + - * / div mod
div – целочисленное деление, т.е. в результат (целого типа) заносится целая часть от деления.
Например: a:=9; b:=2; c:=a div b; {c=4}
mod – определение остатка от деления, т.е. в результат (целого типа) заносится остаток от деления.
Например: a:=9; b:=2; c:=a mod b; {c=5}
2. Действительные числа (вещественные)(real, single, double, extended)
Например: 0,1234; 0,4Е-10
Формат
Диапазон значений
Количество значащих цифр
real
2.9Е-39¸ 1.7 Е38
11-12
single
1.5 Е-45 ¸3.4 Е38
7-8
double
5.0-324 ¸1.7 Е308
15-16
extended
3.4 Е-4932¸ 1.1 Е4932
19-20
Над действительными числами можно выполнить следующие операции: + - * /
3. Логический тип (Boolean – может принимать два значения: False - ложь, True - истина)
Над логическими переменными допустимы следующие операции: сравнение (<, <=, >=, >, <>, =), логические (not, or, and)
Примечание. Логическое умножение дает истинный результат, когда обе величины <истина>. Логическое сложение дает ложный результат, когда обе величины <ложь>. Логическое отрицание дает истинный результат, когда величина <ложь>, и наоборот
AND – И - умножение
OR – ИЛИ - сложение
NOT – НЕ - инверсия
<True> AND <True> - <True>
<True> OR <True> - <True>
NOT <False> - <True>
<True> AND <False> - <False>
<True> OR <False> - <True>
NOT <True> - <False>
<False> AND <True> - <False>
<False> OR <True> - <True>
<False> AND <False> - <False>
<False> OR <False> - <False>
4. Символьный тип(Char) –это тип данных, состоящий из одного символа (знака, буквы, кода); переменная, принимающая значение символьной константы, состоящей из одного символа, заключенного в апострофы.
Например:’+’, ‘T’, а:=‘3’
Над символьными переменными допустимы следующие операции: оператор присваивания, сравнение (<, <=, >=, >, <>, = ). Cимволы считаются равными, если равны их ASCII-коды. Один символ считается больше другого, если он имеет больший ASCII-код.
К символьным переменным могут быть применены функции:
1) CHR(X) – функция типа char (результат - char). Преобразует выражение х типа byte (от 0 до 255) и возвращает значение символа, соответствующее данному коду ( ASCII код → символ)
Например: CHR(32)→ ‘ ‘, CHR(200) →’N’
2) ORD(X) – функция типа byte (результат - byte). Преобразует выражение х типа char в ASCII-код (символ → ASCII-код)
Например: ORD(‘ ‘)→32, ORD(‘N’) →200
3) PRED(X) – функция типа char. Возвращает предшествующее значение аргумента.
Например: PRED(‘L’) →’K’
4) SUCC(X) - функция типа char. Возвращает следующее (за заданным) значение аргумента. Например: SUCC(‘K’) →’L’
5) UPCASE(X) - функция типа char. Преобразует строчную букву в прописную. Не обрабатывает кириллицу!
Например: UPCASE(‘L’) → ‘l’
5. Строковый тип (String) – последовательность символов языка, заключенная в апострофы.
Над строковыми переменными допустимы следующие операции: сравнения, соединения, копирования, вставки, удаления, определения длины строки, определение позиции определенного символа.
Функции со строковыми переменными:
1) Определение длины строки
Форма записи: Length(x) – функция типа integer, где х – тип string.
Например: x:=’Привет’; y:=Length(x) – y = 6
2) Соединение строк
Форма записи: CONCAT(s1[s2,s3,…sn]) –функция типа string. Выполняется соединение (слияние) строк от s1 до sn (результат заносится в переменную s1)
Например: a) s1:=’Всем’; s2:=’привет’; s3:=’!’;
s1:=concat(s1,’ ‘,s2,s3) { s1=’Всем привет!’}
б) s:=concat(‘12’,’345’) {s=’12345’}
в) d:=concat(s1,s2) {d=s1+s2}
3) Копирование символов
Форма записи: COPY(s,n,c), где s – тип string, n – номер позиции копируемого символа, c – количество копируемых символов.
Функция типа string, копирует символы из строки s количествомn, начиная с позиции c.