РАЗДЕЛ ОПИСАНИЯ ТИПОВ
Язык программирования Паскаль характеризуется разветвленной структурой типов. В Паскале предусмотрен механизм создания новых типов данных, благодаря чему общее количество типов, используемых в программе, может быть сколько угодно большим.
В разделе описания типов программист с целью упрощения программы может задавать свои нестандартные типы, явно описываемые в программе, сформированные на основе определенных правил и с использованием стандартных типов. Раздел описания типов начинается с зарезервированного слова Type, за которым следуют одно или несколько определений типов, разделенных точкой с запятой “ ; “.
Общая форма описания новых типов:
TYPE <имя типа1>:<определение типа1>;
<имя типа2>:<определение типа2>;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
<имя типа N>:<определение типа N>;
ТИП “ПЕРЕЧИСЛЕНИЕ”
Перечисляемый тип задается непосредственным перечислением всех значений, которые может принимать переменная данного типа. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки.
Формат описания типа “ПЕРЕЧИСЛЕНИЕ”:
TYPE <имя типа> = (< знач1>,<знач2>, ... ,<значN>);
В основе типа перечисления лежит идея дать программисту возможность обращаться с элементами данных, используя их названия. Описание типа “перечисление” вводит упорядочение его значений, считается, что нумерация значений в типе начинается с нуля. В двух разных перечислениях не должно быть одного общего элемента. Значения перечисляемого типа нельзя вводить и выводить непосредственно операторами Read и Write.
Пример: type animals = (cat, dog, horse, cow);
month = (January, February, march, April, may, June, July, august, September, October, November, December);
ТИП “ДИАПАЗОН”
Интервальный тип позволяет задавать две константы, определяющие границы диапазона значений для данной переменной. Компилятор при каждой операции с переменной интервального типа генерирует подпрограмму проверки, определяющие, остается ли значение переменной внутри установленного для нее диапазона значений.
Формат описания типа “диапазон” имеет вид:
TYPE <имя типа> = Min . .Max;
Здесь Min , Max - константы, определяющие левую и правую границы значений, которые могут принимать переменные типа “диапазон”. Тип констант Min , Max называется базовым относительно типа “диапазон”. Базовый тип должен принадлежать одному из стандартных типов, кроме вещественного (real - недопустим). Значение первой константы базисного типа должно быть меньше второй.
Пример: type days = 1..31; temperature = 1..100;
ТИП “МАССИВ”
Массив - это упорядоченная совокупность однотипных элементов. Массив – это регулярная структура с так называемым случайным доступом, что означает: все компоненты массива однородны, могут выбираться произвольно и являться одинакового доступными. Для обозначения отдельного элемента массива, как уже упоминалось, к имени массива добавляется список индексов, позволяющих осуществлять доступ к конкретному элементу. Список индексов – это упорядоченное множество целых чисел или переменных целого типа, однозначно определяющее местоположение отдельного элемента массива. Каждый индекс имеет свой диапазон изменений, называемый обычно граничной парой.
Одномерный массив – совокупность однотипных индексированных элементов называется вектором. Двухмерный массив, упорядоченный по двум измерениям(индексам) называется матрицей из n строк и m столбцов. Тип “массив” описывается при помощи ключевого слова ARRAY:
TYPE
<имя типа> = array[1..n,1..m, . . . ,1..k] of <тип элементов>;
здесь n, m, k - размерность ( число индексов) массива. В Turbo Pascal размерность массивов не ограничена. За словом ARRAY в квадратных скобках указывается тип – диапазон, с помощью которого компилятор определяет общее число элементов массива. Тип – диапазон задается левой и правой границами изменения индекса массива, так что массив а состоит из 10 элементов, массив b – из 51, а массив с – из 8.
Пример: type vector = array[1..50] of real;
massiv = array[1..20,1..25] of string;
nomer = array[1..100] of integer;
data = array[1..10,1..20,1..30] of char;
Доступ к каждому элементу массива в программе осуществляется с помощью индекса – целого числа (точнее, выражения порядкового типа), служащего своеобразным именем элемента в массиве (если левая граница типа – диапазона равна 1, индекс элемента совпадает с его порядковым номером). При упоминании в программе любого элемента массива сразу за именем массива должен следовать индекс элемента в квадратных скобках, например:
B[17] := ‘f’;
C[-2] := a[1] > a[2];
For k := 1 to 10 do a[k] := 0;
В правильно составленной программе индекс не должен выходить за пределы, отведенные типом – диапазоном. Турбо Паскаль может контролировать использование индексов в программе на этапе компиляции и на этапе счета.
Дата добавления: 2015-08-08; просмотров: 644;