- •Тема:Алгоритм и его свойства. Запись алгоритмов. Виды алгоритмов
- •Свойства алгоритма.
- •Основные блоки алгоритмов.
- •Этапы разработки программы
- •Параметрический цикл For… Next
- •Операторы ветвления
- •Условный оператор if
- •Оператор выбора case
- •Иллюстрация if и case
- •Порядковые типы
- •Символьный тип (char)
- •Перечислимые типы
- •Типы массив
- •Типы запись
- •Множественные типы
- •Файловые типы
- •Булевские типы
- •Сравнения
- •Логические
- •Var X,y,e:real;
- •Var u,z:real;
- •Процедурные типы
- •Процедурные значения
- •Объявление (описание) переменных и констант
- •Переменные и константы
- •2.2.1.Область действия переменных и констант
Символьный тип (char)
Множеством значений этого типа являются символы, упорядочен-
ные в соответствии с расширенным набором символов кода ASCII. При
вызове функции Ord(Ch), где Ch - значение символьного типа, возв-
ращается порядковый номер Ch.
Строковая константа с длиной 1 может обозначать значение
константы символьного типа. Любое значение символьного типа может
быть получено с помощью стандартной функции Chr.
Перечислимые типы
Перечислимые типы определяют упорядоченные множества значе-
ний через перечисление идентификаторов, которые обозначают эти
значения. Упорядочение множеств выполняется в соответствии с пос-
ледовательностью, в которой перечисляются идентификаторы.
---- ---------------- ----
перечислимый -->¦ ( +--->¦ список +--->¦ ) +--->
тип L---- ¦идентификаторов¦ L----
L----------------
список --------------
идентификаторов -------->¦идентификатор+---T---->
^ L-------------- ¦
¦ ---- ¦
L------+ , ¦<------------
L----
При указании идентификатора в списке идентификаторов пере-
числимого типа он описывается как константа для блока, в котором
указано описание перечислимого типа. Типом этой константы являет-
ся описанный перечислимый тип.
Порядковый номер перечислимой константы определяется ее по-
зицией в списке идентификаторов при описании. Перечислимый тип, в
котором описывается константа, становится ее типом. Первая пере-
числимая константа в списке имеет порядковый номер 0.
Приведем пример перечислимого типа:
type
suit = (club, diamond, heart, spade);
Согласно этим описаниям diamond является константой типа
suit.
При применении функции Ord к значению перечислимого типа Ord
возвращает целое число, которое показывает, какое положение зани-
мает это значение в отношении других значений этого перечислимого
типа. Согласно предшествующим описаниям, Ord(club) возвращает 0,
Ord(diamond) возвращает 1 и так далее.
Типы массив
Массивы содержат фиксированное число элементов одного типа,
так называемого типа элемента. На приводимой ниже синтаксической
диаграмме тип элемента следует за словом of.
-------- ---- -------- ---- ----- ------
тип -->¦ array +->¦ [ +--->¦ тип +-T->¦ ] +->¦ of +->¦ тип +>
массив L-------- L---- ^ ¦индекса¦ ¦ L---- L----- L------
¦ L-------- ¦
¦ ---- ¦
L----+ , ¦<---
L----
тип -----------------
индекса --->¦ порядковый тип +--->
L-----------------
В индексных типах, по одному для каждой размерности массива,
указывается число элементов. Допустимыми индексными типами явля-
ются все порядковые типы, за исключением длинного целого и подди-
апазонов длинного целого. Массив может быть проиндексирован по
каждой размерности всеми значениями соответствующего индексного
типа; число элементов поэтому равно числу значений в каждом ин-
дексном типе. Число размерностей не ограничено.
Приведем пример типа массив:
array[1..100] of Real
Если тип элемента в типе массив также является массивом, то
результат можно рассматривать как массив массивов или как один
многомерный массив. Например,
array[boolean] of array[1..100] of array[Size] of Real
интерпретируется компилятором точно так же, как массив:
array[boolean,1..10,Size] of Real
Кроме того, можно записать выражение:
packed array[1..10] of packed array[1..8] of Boolean
как
packed array[1..10,1..8] of Boolean
Для доступа к элементам массива необходимо указать идентифи-
катор массива с одним или несколькими индексами в скобках (см.
раздел "Массивы, строки и индексы").
Тип массив, имеющий вид:
packed array[M..N] of Char
где M меньше N, называется упакованным строковым типом (слово
packed можно опустить, поскольку оно не оказывает действия в
Borland Pascal). Упакованный строковый тип имеет некоторые свойс-
тва, не характерные для других типов массив (см. раздел "Тождест-
венные и совместимые типы" далее в этой главе).
Массив вида:
array[0..X] of Char
где X - положительное целое число, называется массивом с нулевой
базой. Массивы с нулевой базой используются для хранения строк с
завершающим нулем, и, когда разрешен расширенный синтаксис (с по-
мощью директивы компилятора {$X+}), символьный массив с нулевой
базой совместим со значением типа PChar. Полностью эта тема об-
суждается в Главе 18 "Использование строк с завершающим нулем".
Параметр, описанный с помощью синтаксиса array of T, называ-
ется открытым строковым параметром. Открытые строковые параметры
позволяют передавать одной и той же процедуре или функции строко-
вые переменные изменяющегося размера.
