Program Fibonachi;
Var i:integer; f:array[1..50] of integer;
Begin
f[1]:=1; f[2]:=1;
for i:=3 to 50 do begin
f[i]:=f[i-1]+f[i-2];
write(' ',f[i])
End;
Readln;
End.
ТИП “СТРОКА”
Существует стандартный тип “строка” STRING во многом похожий на тип массивов символов.
Строка - это последовательность символов кодовой таблицы ПЭВМ. При использовании в выражениях строка заключается в апострофы. Количество символов в строке ( длина строки) может динамически меняться от 0 до 255 символов. Для определения данных строкового типа используется служебное слово string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение не указывается, то по умолчанию длина строки равна 255 байт.
TYPE
<имя типа>=string[< максимальная длина строка];
Пример: type name = string[30];
phone = string[ 7];
Тип “Запись”
Общий метод получения структурированных переменных – это объединение компонентов, принадлежащих к произвольным (возможно составным) типам, в один тип. Примерами являются:
- комплексные числа, состоящие из двух вещественных констант;
- координаты точек, состоящие из двух вещественных чисел или в зависимости от размерности пространства, заданного системой координат;
- описание характеристик людей с помощью нескольких существенных отличительных признаков, таких, как фамилия, имя, отчество, год рождения, пол, семейное положение.
При обработке данных комбинированные типы, такие как описание людей или материальных объектов, часто встречаются в файлах (или наборах данных) и представляют собой записи существенных характеристик человека или объекта. Поэтому термин запись стал широко использоваться для обозначения подобной совокупности структурированных данных. Отдельные компоненты записи называются полями.
Запись – совокупность разнотипных именованных компонентов. Запись более универсальная структура, чем массив. Она не требует, чтобы типы всех ее компонентов были одинаковыми. Однако массив предоставляет большие возможности, так как индексы его компонентов могут вычисляться, если они представлены выражениями, тогда как имена компонентов записи – это фиксированные идентификаторы, которые должны задаваться в описании их типа.
Под записью понимается структура данных, объединяющая под одним именем данные различных типов. Записи состоят из фиксированного числа элементов, называемыми полями. Поле - это переменная определенного типа. Различные поля могут иметь, в отличие от элементов массива, различный тип. Обращение к элементу записи выполняется с помощью составного( уточненного) имени. Первая часть составного имени - это имя записи, вторая часть - имя поля разделенных точкой. Например, [student].[gruppa] , [student].[Famile] , [Nasos],[marka]
Структурированный тип данных запись объявляется с помощью служебного слова RECORD.
Формат:
Type <имя типа> = record
<имя поля1>:<тип поля1>;
<имя поля2>:<тип поля2>;
. . . . . . . . . . . . . . . . . . . . . . .
<имя поля n>:<тип поля n>;
<вариантная часть>;
End;
Здесь вариантная часть - это конструкция следующего типа:
CASE <селектор> of
<знач.1>:(<имя поля1>:<тип поля1>, . . . , <имя поля n>:<тип поляn>,);
<знач.2>:(<имя поля1>:<тип поля1>, . . . , <имя поля n>:<тип поляn>,);
<знач.m>:(<имя поля1>:<тип поля1>, . . . , <имя поля n>:<тип поляn>,);
END;
Индивидуальные элементы данных образующих запись, называются полями или компонентами записи. Компонента записи находится по имени записи и имени поля разделенной точкой.
Тип “Множество”
Структурированным типом переменных является множество. Множество - это произвольный набор объектов произвольной природы. Множества не упорядочены. Количество элементов множества может меняться в отличие от записей и массивов. Тип множество используется в тех случаях, когда индекс представляет не значение какого либо элемента, а лишь его наличие или отсутствие. Если описать переменную с некоторым именем N как некоторое множество натуральных чисел, то операция принадлежности этому множеству даст логическое значение истина, если число является элементом множества, и значение ложь в противном случае. Множества можно эффективно реализовывать и обрабатывать. К множествам применяются следующие основные операции: пересечение множеств, объединение множеств, разность множеств, принадлежность множеству.
Описание типа “множество” осуществляется с использованием служебное словосочетание SET OF ( множество из . . .)
Формат:
TYPE <имя> = SET OF <базисный тип >;
TYPE <имя> = SET OF <min> . . . <max>; { диапазон}
TYPE <имя> = SET OF (< знач1>,<знач2>, ... ,<значN>); {перечисление}
При определении множества существуют следующие ограничения:
- базисный тип может быть любой простой тип, за исключением вещественного real;
- максимальное число символов 256;
- значения элементов из базисного типа integer должны принадлежать множеству 0 ... 255;
Множества вычисляются через выражения над множествами, состоящих из констант, переменных и операций. Константы из множеств - это подмножества некоторых множеств. В выражениях на языке Turbo Pascal значения элементов множества указываются в квадратных скобках: [ x, y ], [ x . . y ], [ ]. Если множество не имеет элементов, то оно называется пустым и обозначается [ ].
Таблица 9. Операции над множествами:
+ | объединение множеств; |
- | разность множеств; |
* | пересечение множеств; |
= | проверка эквивалентности двух множеств; |
<> | проверка неэквивалентности двух множеств; |
Ü | проверка, является ли левое множество подмножеством правого множества; |
>= | проверка, является ли правое множество подмножеством левого множества; |
in | проверка, входит ли элемент, указанный слева во множество, указанное справа. |
В языке Паскаль типом - множеством называется множество-степень исходного множества объектов порядкового типа, т.е. множество всевозможных сочетаний объектов исходного множества.
Число элементов исходного множества в Turbo Pascal не может быть больше 256, а порядковые номера элементов (т.е. значение функции Ord) должны находиться в пределах от 0 до 225.
Для задания типа-множества следует использовать зарезервированные слова set и of, а затем указать элементы этого множества, как правило, в виде перечисления или диапазона, например:
Type
Alfa = set of ‘A’ . . ‘Z’ ;
Count = set of (Plus, Minus, Mult, Divid) ;
Ten = set of Æ . . 9 ;
Number = set of ‘Æ’ . . 9 ;
Введя тип-множество, можно задать переменные или типизированные константы этого типа-множества.
При задании значений константе-множеству ее элементы перечисляются через запятую (допустимо указывать диапазоны) и помещаются в квадратные скобки. Например, для введенных выше типов можно задать такие переменные и типизированные константы:
Var
CharVal : Alfa ;
Operation : Count ;
Const
Index : Ten = [ 0, 2, 4, 6, 8 ] ;
Digit : Number = [ ‘0’ . . ‘9’ ] ;
Так же как и для других структурированных типов, тип-множество можно ввести непосредственно при задании переменных или типизированных констант:
Var
CharVal : set of ‘A’ . . ‘Z’ ;
Operation : set of ( Plus, Minus, Mult, Divid ) ;
Const
Index : set of 0 . . 9 = [0, 2, 4, 6, 8 ] ;
Digit : set of ‘0’ . . ‘9’ = [ ‘0’ . . ‘9’ ];
Множеству можно в программе присвоить то или иное значение. Обычно значение задается с помощью конструктора множества. Конструктор задает множество элементов с помощью перечисления в квадратных скобках выражений, значения которых дают элементы этого множества. Допустимо использовать диапазоны элементов.
Пример. Следующие структуры являются конструкторами множества:
[ Plus, Minus]
[1. . K mod 12 . . 15]
[Chr (0) . . Chr (31), ‘A’ , ‘B’ ]
В каждое множество включается и т.н. пустое множество [ ], не содержащее никаких элементов.
Результатом операции объединения, разности или пересечения является соответствующее множество, остальные операции дают результат логического типа.
Дата добавления: 2015-08-08; просмотров: 728;