Blue Flower



Язык программирования pascal

1. АЛФАВИТ ЯЗЫКА

2. СТРУКТУРА ПРОГРАММЫ

3. ТИПЫ ДАННЫХ

4. ВЫРАЖЕНИЯ

5. ОПЕРАТОРЫ ЯЗЫКА

6. СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ

7. ПРОЦЕДУРЫ И ФУНКЦИИ 

8. СТАНДАРТНЫЕ МОДУЛИ 

 

1.  АЛФАВИТ ЯЗЫКА

В качестве букв можно использовать 26 латинских букв (прописных и строчных) от А до Z и от а до z. Помимо идентификаторов буквы могут использоваться в шестнадцатеричных числах для обозначения цифр от 10 до 15 (буквы от А до F и от а до f), строковых константах, служебных словах и комментариях. Следует иметь в виду, что прописные и строчные буквы в идентификаторах и служебных словах не различаются: так, например, NAME, Name или nAmE будут идентичны. Однако в строках символов и комментариях строчные и прописные буквы различаются и не преобразуются при компиляции друг в друга.

В качестве цифр допустимо использовать 10 арабских цифр от 0 до 9. В идентификаторах они могут присутствовать в любой позиций, кроме первой. Цифры используются также в изображении числовых констант (например, 157 или 12.8).

Символ подчеркивания может находиться в любой позиции.

Длина идентификатора может быть любой, но значимыми являются только первые 63 символа, и по этим символам все идентификаторы должны быть уникальными.

 назад

2. СТРУКТУРА ПРОГРАММЫ

В программе, написанной на стандарте языка Паскаль, могут быть следующие разделы: 

заголовок программы;

раздел объявления меток;

раздел объявления констант;

раздел объявления типов;

раздел объявления переменных;

раздел объявления процедур и функций;

тело программы (обязательная часть).

В Turbo Pascal имеются особенности в структуре программы. Так, заголовок программы необязателен и игнорируется компилятором. Порядок размещения разделов произвольный, можно создавать несколько одинаковых разделов. Единственное правило, которое необходимо выдерживать, - в любом месте программы можно использовать лишь элементы (метки, типы, константы, переменные, подпрограммы и т. д.), которые были определены ранее по тексту программы или являются предопределенными элементами языка.

Тело программы начинается словом begin, а заканчивается словом end с точкой, которая является признаком конца программы.

Пример.  Программа, вычисляющая сумму двух чисел.

program EXAMPLE1; {заголовок программы}

 var        {раздел объявления переменных}

 X, Y, Summa: Real;

 Begin                                   {телопрограммы}

 Write ('Введите, числа X и Y '); {вывод сообщения на экран}

 ReadLn(X, Y); {чтение двух чисел}

 Summa := X + Y; {определение суммы}

 WnteLn('Сумма чисел X и Y равна ', Summa);                                {вывод результата}

 end.    

назад

 3. ТИПЫ ДАННЫХ

 Простой тип определяет упорядоченное множество значений параметра. В TurboPascal имеются следующие группы простых типов:

 целые типы;

 логический тип;

 символьный тип;

 перечисляемый тип;

 тип-диапазон;

 вещественные типы.

 

Целые типы данных

Тип       

Диапазон           Формат               Размер в байтах

Shortint

-128 .. 127           Знаковый           1

Integer

-32768 .. 32767  Знаковый           2

Longint

-2147483648 .. 2147483647          Знаковый           4

Byte     

0 .. 255  Беззнаковый    1

Word   

0 .. 65535             Беззнаковый    2

 

Логический тип

Стандартный логический тип Boolean (размер - 1 байт) представляет собой тип данных, любой элемент которого может принимать лишь два значения: True и False. При этом справедливы следующие условия:

 False < True

 Ord (False) = 0

 Ord (True) = 1

 Succ (False) = True

 Pred (True) = False

 

Символьный тип

Стандартный символьный тип Char определяет полный набор ASCII-символов. Функция Ord от величины типа Char дает код соответствующего символа. Сравниваются величины символьного типа по своим кодам.

 

Перечисляемый тип

 Перечисляемый тип не является стандартным и определяется набором идентификаторов, с которыми могут совпадать значения параметра. Список идентификаторов указывается в круглых скобках, идентификаторы разделяются запятыми:

type

    <имя типа> = (<идентификатор 1, идентификатор 2, ... , идентификатор N>);)

Важно, в каком порядке перечислены идентификаторы при определении типа, т. к. первому идентификатору присваивается порядковый номер 0, второму - 1 и т. д. Один и тот же идентификатор можно использовать в определении только одного перечисляемого типа. Функция Ord от величины перечисляемого типа дает порядковый номер ее значения.

 

Тип-диапазон

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

type <имя типа> = <мин. значение> . . <макс. значение>;

Минимальное значение при определении такого типа не должно быть больше максимального.

 

Вещественные типы 

В TurboPascal имеется пять стандартных вещественных типов: Real, Single, Double, Extended, Соmр.

Вещественные типы данных

                      

Тип  Диапазон           Число значащих цифр Размер в байтах
Real 2.9*10-39..1.7*1038 11-12  6
Single    1.5*10-45..3.4*1038 7-8 4
Double 5.0*10-324.-1.7*10308 15-16  8
Extended 3.4*10-4932..1.1*104932 19-20  10
Comp  -263+1..263-1 19-20 8

Типы Single, Double, Extended и Comp можно использовать в программах только при наличии арифметического сопроцессора или при включенном эмуляторе сопроцессора.

назад

4. ВЫРАЖЕНИЯ

Выражение - это синтаксическая единица языка, определяющая способ вычисления некоторого значения.

Переменными называются параметры программы, значения которых могут изменяться в процессе ее выполнения.

Все используемые в программе переменные должны быть определены с указанием их типов. Раздел объявления переменных начинается зарезервированным словом var, за которым следуют объявления конкретных переменных, состоящие из имени переменной (имен переменных, перечисленных через запятую, если они одного типа), двоеточия и типа переменной (переменных). Каждое объявление завершается точкой с запятой:

var

<список переменных 1>: <тип 1>;

<список переменных 2>: <тип 2> ;

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

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

Глобальные переменные постоянно находятся в памяти, локальные размещаются в стеке лишь на время выполнения подпрограммы, затем область стека освобождается.

Константами называются параметры программы, значения которых не меняются в процессе ее выполнения.

В языке Паскаль возможно двоякое использование констант:

непосредственное использование значения константы;

использование идентификатора константы.

Обычные константы могут быть целого, вещественного, символьного, логического типа и типа string, типизированные константы - любого типа, кроме типа файл (или содержащего компоненту типа файл). Для обычных констант задаются их имена и значения, разделенные знаком равенства:

const

<имя константы 1> = <значение 1>;

<имя константы 2> = <значение 2>;

 

назад

5. ОПЕРАТОРЫ ЯЗЫКА

Операторы языка описывают некоторые алгоритмические действия, которые необходимо выполнить для решения задачи. Тело программы можно представить как последовательность таких операторов. Идущие друг за другом операторы программы разделяются точкой с запятой.

Все операторы языка Паскаль можно разбить на две группы: простые и структурированные.

 Простыми являются те операторы, которые не содержат в себе других операторов. К ним относятся: 

оператор присваивания;

обращение к процедуре;

оператор безусловного перехода GOTO;

пустой оператор.

оператор присваивания: С помощью этого оператора переменной или функции присваивается значение выражения. Для этого используется знак присваивания := , слева от которого записывается имя переменной или функции, которой присваивается значение, а справа - выражение, значение которого вычисляется перед присваиванием.

Пример: 

X := Y;

Z :=А + В;

Оператор безусловного перехода GOTO. Использование меток

Оператор GOTO позволяет изменить стандартный последовательный порядок выполнения операторов и перейти к выполнению программы, начиная с заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. Эта же метка должна быть указана и в операторе GOTO.

Все используемые метки должны быть перечислены в разделе объявления меток, начинающемся зарезервированным словом label

Пример

label 1, 2, Metka;

Одной меткой можно пометить только один оператор. Метка от помеченного оператора отделяется двоеточием.  Использовать оператор GOTO следует крайне осторожно. Широкое его применение без особых на то оснований ухудшает понимание логики работы программы.