Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VT_PAS1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
202.24 Кб
Скачать

Типы данных

Сейчас мы будем вести разговор о разделе описаний. В нем должны быть описаны ВСЕ нестандартные идентификаторы констант, переменных, функций и процедур, использующихся в программе. Стандартные идентификаторы (в нашем примере - writeln) не описывают. Это требование на первый взгляд делает язык менее свободным (в Бейсике переменные явным образом часто не описывают), однако гарантирует нас от опечаток при вводе текста программы и некоторых других ошибок.

ОПИСАТЬ ИДЕНТИФИКАТОР - это значит указать тип обозначаемой им переменной, константы и т. п. Тип - очень важное понятие, поскольку он определяет способ хранения данных в памяти ЭВМ, диапазон их возможных значений и допустимые над ними операции.

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

Тип CHAR - используется для описания одиночных символов, например: 'a', 'F' ,'1' и т. п. Для хранения данных этого типа используется по 1 байту.

Тип STRING - используется для описания строк символов, например, 'Программа на Паскале'. Максимальная длина строки - 255 символов.

Целые числа (в математическом смысле) в Паскале описываются несколькими способами, объединяемыми понятием ЦЕЛЫЕ типы. Мы рассмотрим два из них. Тип INTEGER - это числа в диапазоне от - 32768 до + 32767. Для их хранения используется по 2 байта. Если при решении задачи нет необходимости в использовании отрицательных чисел, то можно воспользоваться типом данных WORD. Их диапазон от нуля до 65535. В Паскале имеются и некоторые другие типы для описания целых чисел. Обычно целыми числами при программировании мы пользуемся при организации всевозможных счетчиков, при работе с неделимыми объектами, такими как, например, количество букв в слове, слов в предложении и т. п.

При решении задач расчетного характера необходимо воспользоваться данными, относящимися к так называемым ВЕЩЕСТВЕННЫМ типам. Всего их пять. Они отличаются точностью и диапазоном. Например, тип REAL - охватывает действительные числа приблизительно от 1.Е-39 до 1.Е+38 с точностью до 12 значащих цифр. Для хранения данных этого типа используется по 6 байт. Данные типа DOUBLE представляются с точностью до 15-16 значащих цифр, а их диапазон приблизительно от 1.Е-324 до 1.Е+308. Для их хранения используются по 8 байт.

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

Последний из типов данных, который понадобится нам в ближайшее время - BOOLEAN, т.е. логические данные. Они могут иметь только одно из двух значений: FALSE - ложь (нет) и TRUE - истина (да).

Тип КОНСТАНТ определяется способом записи их значений. Например:

Const

c1=17 ; {integer}

c2=3.14 ; {real}

c3='A' ; {char}

c4='3.14' ; {string}

c5=false ; {boolean}

Тип ПЕРЕМЕННЫХ описывается в специальной части раздела описаний, начинающейся с зарезервированного слова VAR. Формат описания:

VAR <идентификатор>[,<идентификатор>...] : <тип>;

Например:

Var

sigma : real ;

a,b,c,d : char ;

Text1 : string ; {строка длиной до 255 символов}

Text2 : string [15] ; {строка длиной до 15 символов}

flag : boolean;

Рассмотрим пример программы, которая вводит два числа с клавиатуры и выводит на экран частное от деления первого числа на второе.

Program No2;

Var

n1, n2: integer ; {вводимые числа}

x: real; {результат}

BEGIN

write('n1='); {сообщение о необходимости ввода n1}

readln(n1); {ввод n1}

write('n2='); {сообщение о необходимости ввода n2}

readln(n2); {ввод n2}

x:=n1/n2; {вычисление результата}

writeln('n1/n2=',x); {вывод результата}

END.

В нашей программе WRITE - стандартная процедура Паскаля вывода данных на экран. Заметим, что после вывода данных курсор на новую строку не перемещается, что и отличает эту процедуру от WRITELN, после выполнения которой курсор переводится в первую позицию новой строки экрана. Обозначение ":=" читается "присвоить" и выполняет те же функции, что и знак "=" в Бейсике. Знак "=" в Паскале допускается только в разделе описаний при определении констант и в логических выражениях, речь о которых еще впереди.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]