РАЗДЕЛ ОПИСАНИЯ ТИПОВ

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

В разделе описания типов программист с целью упрощения программы может задавать свои нестандартные типы, явно описываемые в программе, сформированные на основе определенных правил и с использованием стандартных типов. Раздел описания типов начинается с зарезервированного слова 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; просмотров: 637;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.