Курсовая работа: Языки и технология программирования
Тип-диапазон также называют ограниченным или интервальным типом. Он является подмножеством своего базового типа, в качестве которого может выступать любой порядковый тип кроме типа-диапазона. Тип-диапазон наследует все свойства своего базового типа. Имеются две стандартные функции, работающие с этим типом: High(x)- возвращает максимальное значение типа-диапазона, к которому принадлежит переменная x; Low(x) - возвращает минимальное значение.
ПРИМЕР: Объявление типа-диапазон.
type Numbers = (Zero,One,Two,Three,Four,Five);
Num = Two.. Four; {диапазон на базе типа Numbers}
Abc = 'A'.. 'z'; {все английские буквы : диапазон на базе типа Char}
Digits = 0.. 9; {цифры}
var n:Num; c,d:Abc; x:integer;
begin
n:=Four; writeln(Ord(n)); {4 как в базовом типе}
n:=Succ(n); { ОШИБКА (следующее значение вне диапазона)}
read(c,d);
if c=d then write('одинаковые буквы');
writeln(Low(c),'.. ',High(c)); { A.. z }
writeln(Low(x),'.. ',High(x)); { -32768.. 32767 }
end.
В тексте программы на Турбо Паскале могут встречаться директивы компилятору, которые также называют опциями. Опции {$R+} и {$R-} позволяют включать и отключать проверку соблюдения границ при работе с диапазонами. Когда проверка включена, при нарушении границ диапазонов происходит аварийное завершение работы программы. В другом случае ответственность за возможные ошибки лежит на программисте.
МАССИВЫ
Массив - это упорядоченная структура однотипных данных, хранящая их последовательно. Доступ к элементу массива осуществляется через его индекс. Массивы описываются следующим образом:
Имя типа = ARRAY [ диапазоны индексов ] OF тип элемента массива;
В качестве типа для элементов массива можно использовать любые типы Турбо Паскаля кроме файловых. Диапазоны индексов представляют собой один или несколько диапазонов, перечисленные через запятую. В качестве диапазонов индексов нельзя использовать диапазоны с базовым типом Longint.
ПРИМЕР: Три способа описания одного и того же типа массива:
type {1} M1 = array [0..5] of integer;
M2 = array [char] of M1;
M3 = array [-2..2] of M2;
{2} M3 = array [-2..2] of array [char] of array [0..5] of integer;
{3} M3 = array [-2..2,char,0..5] of integer;
var A:M3;
{Обращаться к элементам массива можно следующим образом:}
begin