
- •1.Алфавит языка паскаль
- •9.6.Функции определения порядка
- •10.Тип вещественный
- •12.Операторы
- •12.1.Простые операторы
- •13.2.Вывод данных на монитор
- •13.3.Форматирование при выводе данных
- •17.1.Объявление и вызов подпрограмм
- •19.Блоки (модули) в паскале
- •19.1.Блок Crt (Unit Crt)
- •23.1.Работа с текстовыми файлами
- •24.Динамическая память
- •640 Кбайт ┌───────────────────┐
- •26.Динамические библиотеки
- •28.Тип объект (класс)
- •30.Встроенный ассемблер
- •30.1.Объявление операндов
- •31.Основы работы в графическом режиме
- •34.Многоугольники
- •35.Криволинейные фигуры
- •39.Команды работы редактора
9.6.Функции определения порядка
К любым переменным порядкового типа можно применять функции
определения порядка, такие как:
=>Ord(X) - Определяет номер элемента X в последовательности.
=>Succ(X) - Определяет последующий элемент в последовательности.
=>Pred(X) - Определяет предыдущий элемент в последовательности.
=>Low(X) - Определяет наименьший элемент (начиная с 7.0).
=>High(X) - Определяет наибольший элемент (начиная с 7.0).
Пример 9.
->Ord('a') -> 97;
->Ord(-100) -> -100;
->Succ(False) -> True;
->Pred(Th) -> We для типа Days.
->Ord(X)-Ord('0') -> дает возможность получить из символа-циф-
ры X (X: '0','1','2',..,'9') цифру.
Примечания:
->Не определены Succ для последнего и Pred -первого элементов.
Если включена директива {$R+}, то программа прервется.
->Для целого типа функции определения порядка не имеют смысла.
10.Тип вещественный
Примечания:
->Вещественный тип включает пять разновидностей, которые пред-
ставлены в табл.4.
Таблица 4
┌──────────┬─────────┬──────────────────────────┬────────────┐
│ Название │ Размер, │ Диапазон значений │ Число зна- │
│ типа │ байт │ │ чащих цифр │
├──────────┼─────────┼──────────────────────────┼────────────┤
│ Real │ 6 │ 2.9*E-39..1.7*E38 │ 11-12 │
│ Single │ 4 │ 1.5*E-45..3.4*E38 │ 7-8 │
│ Double │ 8 │ 5.0*E-324..1.7*E308 │ 15-16 │
│ Extended │ 10 │ 3.4*E-4932..1.1*E4932 │ 19-20 │
│ Comp │ 8 │ -2^63+1..2^63-1 (целые) │ 19-20 │
└──────────┴─────────┴──────────────────────────┴────────────┘
->Объявляются переменные вещественного типа следующим образом:
Var R1,R2:Real;
->Переменная вещественного типа занимает в памяти 6 байт и все
ее возможные значения заключены в диапазоне 2.9E-39..1.7E38.
->Над переменными вещественного типа можно производить опера-
ции отношения из 5.г. и математические, кроме Div и Mod.
->Правильная запись вещественного числа подразумевает указание
не менее одной цифры после запятой (точки).
->Для всех, кроме Real, {$N+} - нужен сопроцессор, {$N-} -эму-
лятор сопроцессора. Проверка сопроцессора {$E}.
->Встроенные процедуры и функции приведены в табл.5.
Таблица 5
┌──────────────┬─────────────────────────────────────────────┐
│ Наименование │ Действие │
├──────────────┼─────────────────────────────────────────────┤
│ ArcTan(X) │ Арктангенс в радианах(-Pi/2..Pi/2) │
│ Sin(X) │ Синус (X - в радианах) │
│ Cos(X) │ Косинус (X - в радианах) │
│ Exp(X) │ Экспонента от X │
│ Ln(X) │ Логарифм натуральный от X │
│ Sqr(X) │ Квадрат числа X │
│ Sqrt(X) │ Корень квадратный из X │
│ Frac(X) │ Дробная часть-результат вещественный │
│ Int(X) │ Целая часть числа-результат вещественный │
│ Round(X) │ Округление до ближайшего целого │
│ Trunc(X) │ Отбрасывание дробной части-результат целый X│
│ Pi │ 3.14159263... │
│ Abs(X) │ Абсолютное значение от X │
│ Random │ Случайное число в диапазоне 0..1 │
└──────────────┴─────────────────────────────────────────────┘
Примечания:
->Тригонометрические функции, а также Ln и Exp работают и с
переменными целых типов.
->Для правильной работы Random необходимо предварительно испо-
льзовать процедуру Randomize, которая исключает совпадение
случайных последовательностей при последовательных запусках.
11.ТИПИЗИРОВАННЫЕ КОНСТАНТЫ (ПЕРЕМЕННЫЕ С НАЧАЛЬНЫМ ЗНАЧЕНИЕМ)
Когда программа начинает работать, то переменные уже объявле-
ны, но их значения не определены. В TP можно задавать переменные со
стартовым (начальным) значением. При этом их из секции Var раздела
описания необходимо переместить в секцию Const. Типизированные кон-
станты могут принимать новые значения при выполнении программы.
Начальные значения типизированных констант простых типов, рас-
смотренных нами в разделах 8.1 и 8.2, задаются следующим образом:
Const R:Real=1.1523; {вещественного типа}
I:Integer=-10; {целого типа}
C:Char='A'; {символьного типа}
Tf:Boolean=True; {логического типа}
Col:Color=Red; {перечисляемого типа}
Примечания:
->Типизированные константы - это, прежде всего, переменные, а
не константы, поэтому их нельзя использовать в тех случаях,
когда требуются именно Const.
->Нельзя объявить за один раз более одной константы, т.е. не-
льзя записать Const a, b:Byte=5; Необходимо: Const a:Byte=5;
b:Byte=5;
->При объявлении таких констант можно использовать адресно-ко-
нстантные выражения, например, FufSeg:Word=Seg(Buf);