Константы и переменные, типы данных.
Как и другие языки программирования, Паскаль интерпретирует данные как константы и переменные. Они определяются идентификаторами (именами), по которым к ним можно обращаться в программе.
Константами называются элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Для определения значений констант служит зарезервированное слово 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;
BEGIN
READ(SPICOK.NOMER, SPICOK.FAMIL, SPICOK.IMYA);
Файл - поименованная совокупность данных, расположенная во внешней памяти. В Паскале существуют три типа файлов: типизированные (файлы строго определенного типа, их содержимое рассматривается как последовательность записей определенного типа), текстовые (можно рассматривать как последовательность символов, разбитую на строки) и нетипизированные (рассматриваются как совокупность символов или байтов). Для создания каждого из этих типов файлов используются соответствующие служебные слова. Далее рассмотрена работа только с текстовыми файлами.
Необходимо быть очень внимательными и аккуратными при объявлении типов переменных. Совместимость типов играет важнейшую роль в выражениях, операциях сравнения и в операторах присваивания.
Дата добавления: 2017-01-29; просмотров: 2822;