Константы и переменные, типы данных.

Алфавит и словарь языка.

Правила пунктуации.

1) точка с запятой не ставиться после зарезервированных слов unit, label, uses, type, const, var и ставиться после завершения каждого описания;

2) точка с запятой не ставиться после begin и перед end, т.к. эти слова являются операторными скобками, а не операторами;

3) точка с запятой является разграничителем операторов, ее отсутствие вызывает ошибку компиляции;

4) в операторах цикла точка с запятой не ставится после слов while, repeat, do и перед until;

5) в условных операторах точка с запятой не ставиться после then и перед else.

 

 

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

В качестве букв используются прописные и строчные буквы латинского алфавита, знак подчеркивания. Также при написании программ используются специальные символы: +, -, *, /, =, <, >, [ ], { }, ( ), @, ., ,, :, ;, ‘, #, $,^. Комбинации специальных символов могут образовывать составные символы:

:=- присваивание;

<> - не равно;

.. - диапазон значений;

<=- меньше или равно;

>= - больше или равно.

Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями и несущие определенный смысл в программе. Разделителем может служить пробел, символ конца строки, комментарий. Слова подразделяются на зарезервированные, стандартные идентификаторы и идентификаторы пользователя.

Зарезервированное или служебное слово – это слово, которое в языке программирования имеет определенное смысловое значение (на экране в среде Паскаль такие слова выделяются белым цветом).

Стандартные идентификаторы (имена) служат для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций.

Идентификаторы пользователя применяются для обозначения меток, констант, переменных, процедур и функций, определенных самим программистом. Также как в ТВ в Паскале существуют определенные правила написания идентификаторов: 1) идентификатор начинается только с буквы или знака подчеркивания (только метки могут начинаться цифрой); 2) пробелы, точки и другие специальные символы при написании идентификатора недопустимы; 3) между двумя идентификаторами должен быть пробел. При написании идентификатора можно использовать прописные и строчные буквы латинского алфавита, компилятор различия между ними не делает.

 

Как и другие языки программирования, Паскаль интерпретирует данные как константы и переменные. Они определяются идентификаторами (именами), по которым к ним можно обращаться в программе.

Константами называются элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Для определения значений констант служит зарезервированное слово CONST:

CONST_идентификатор=значение константы;

Пример 2.CONST а=2.2; s=3;

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

Каждая переменная и константа в программе принадлежит к определенному типу данных. Тип констант автоматически распознается компилятором без предварительного описания. Тип переменных должен быть обязательно (в отличие от ТВ) описан в разделе описания типов данных (см. структуру программы). Для описания переменных служит команда:

VAR_идентификатор : тип;

Пример 3.VAR n, I, j: integer; x, z: real;

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

Классификация типов данных представлена на рис. 2.7.

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

Вещественные типы данных (табл. 2.2) представляют собой вещественные значения, которые используются в арифметических выражениях. Паскаль допускает представление вещественных значений как с плавающей, так и с фиксированной точкой.

 
 

 

 


Рис. 2.7. Классификация типов данных.

 

Таблица 2.1. Целочисленные типы данных.

Тип Диапазон значений Требуемая память, байт
Byte Shortint Integer Word Longint 0…255 -128…127 -32768…32767 0…65535 -21474836482147483647

Таблица 2.2. Вещественные типы данных.

Тип Диапазон Требуемая память, байт
Real Single Double Extended Comp 2.9*10E-39…1.7*10E38 1.6*10E-45…3.4*10E38 5.0*10E-324…1.7*10E308 1.9*10E-4951…1.1*10E4932 -2E+63+1…2E+63+1

Литерный (символьный) тип определяется множеством значений кодовой таблицы персонального компьютера. В программе значения переменных и констант типа char должны быть заключены в апострофы.

Булевский тип (boolean) представлен двумя значениями True (истина) и False (ложь) и используется в логических выражениях и выражениях отношения.

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

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

Строка – это последовательность символов кодовой таблицы ЭВМ. При использовании в выражении строка заключается в апострофы. Над строковыми данными (string) допустимы операции сцепления (+) и операции отношения (=, <>, <, >, >=, <=).

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

Для описания массива предназначено словосочетание ARRAY OF. Описать массив можно в разделе описания переменных или в разделе описания типов данных, используя следующие операторы:

1) TYPE_имя типа=ARRAY[тип индекса]_OF_тип элементов массива;

2) VAR_имя массива1[, имя массива2…]:имя типа;

Пример 4. а) Описание массивов в разделе описания типов данных (задаются одномерные массивы из пяти элементов вещественного типа с именами m1, rez).

TYPE mass=array [1..5]of real;

VAR m1, rez: mass;

б) Описание массива в разделе описания переменных.

VAR matrix: array [1..5,1..7] of integer;

Множество – это структурированный тип данных, представляющий набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Все элементы множества должны принадлежать к одному из скалярных типов, кроме вещественного. Для описания множественного типа используется словосочетание SET OF, описание аналогично описанию массива. При работе с множествами допускается применение операций отношения (=,<>,>=,<=), объединения (+), пересечения (*), разности множеств (-) и операции in, которая используется для проверки принадлежности какого-либо значения указанному множеству. Результатом выполнения этих операций является значение TRUE или FALSE.

Пример 5. Задание множества.

VAR nomer: SET OF (1, 2, 3, 4, 5);

Chetn: SET OF (2, 4);

Записи – структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи имеет формат:

TYPE_имя-типа=RECORD идентификатор-поля1-записи: тип

….

идентификатор-поляN-записи:тип

END;

VAR идентификатор: имя типа;

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

Пример 6. Запись типа ZAPIC содержит три компонента: номер, фамилию и имя. Доступ к полям записи осуществляется через переменную SPICOK типа запись и массив TABL, состоящим из записей.

TYPE ZAPIC= RECORD nomer: integer;

famil: string[20];

Imya:string[20];

END;

VAR: SPICOK: ZAPIC; TABL: ARRAY [1.. 25] OF ZAPIC;