Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yazyk_Turbo-Paskal.doc
Скачиваний:
17
Добавлен:
15.04.2015
Размер:
754.69 Кб
Скачать

Интервальный тип пользователя

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

Примеры задания:

TYPE

hour = 0..23;

kurs = 1..6;

letter= a..z;

VAR

NumberK : kurs;

LunchTime,Supper,Dinner: hour; slovo:array[1..20] of letter;

Часто интервальный тип задают границами в виде констант: CONST

MinDay =1; { минимальное значение дня }

MaxDay =365; { максимальное значение дня }

TYPE

day = MinDay..MaxDay; { тип 'day' задает возможные значения }

VAR

BirthDay : day; { переменная может содержать только целые числа в диапазоне от 1 до 365 }

Перечисляемый тип пользователя

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

Примеры:

TYPE

language = (C,Pascal,Fort,Basic,Fortran,Ada,Modula);

gas = (N,O2,CO2,N20,CH4);

VAR

TextType : language;

Emission,Pollutant : gas;

RadioIsotop : (St_90,I_133,B_137,U_235,U_238,Pu_242);

В последней строке заведена переменная перечисляемого типа без определения имени типа.

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

Emission:= O2;

Pollutant:= N2O;

TextType:=Basic;

при этом недопустимы операторы:

Pollutant:=1;

RadioIsotop:=CH4;

Разрешены операции сравнений на "равно", "больше", "меньше" и т.д. в соответствии с порядковыми номерами заданных значений в списке перечислений. Так, при выполненных операторах присваивания, написанных выше, Pollutant > Emission, так как N2O идет в списке после O2, а результатом операции сравнения:

TextType = Basic

будет значение TRUE (истина).

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

Важно помнить, что для переменных перечисляемого типа не предусмотрены стандартные операторы ввода и вывода, т.е. нельзя написать:

Read(Emission) или Write(CO2).

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

Лекция 8

Глава 3. Встроенные функции Понятие и классификация типов функций

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

Все функции обычно классифицируют по трем аспектам.

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

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

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

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

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