12. Константы в Pascal Простые Именованные Типизированные
Простые константы Используются для представления значений различных объектов Например a true
Именованные константы Применяются в тех же целях, что и простые константы, но значение заменяется именем. Именованные константы не «сохраняются» в памяти. Под них память не распределяется.
Объявление именованных констант Объявление Const имя = значение; Примечание: тип именованной константы определяется ее значением. Пример Const Max_count = 100; Epsilon = 0.1e-5;
Типизированные константы Типизированные константы – разновидность переменных. Для типизированной константы резервируется область памяти в сегменте кода программы. Использование типизированной константы аналогично использованию обычной переменной. Типизированная константа – переменная с начальной инициализацией.
Объявление типизированной константы Const Имя : тип = значение; Пример Program Variable; Var a : integer; Begin a := 5; WriteLn(Value=,a); End. Program Constant; Const a : integer = 5; Begin WriteLn(Value=,a); End.
13. Выражения Выражение – способ записи вычислительного алгоритма на основе констант, переменных, вызовов ф-ций и использовании операций. Основные параметры выражения: Значение Тип
Параметры выражения Значение выражения получается на основе значений констант и переменных, входящих в его состав, после вызова всех функций и выполнения операций в определенном порядке. Тип выражения соответствует типу получаемого значения.
Примеры выражений 1) -b + sqrt(sqr(b) - 4*a*c) 2) (x*y >0) and (x >=y) 3) copy(s, 1, pos(a, s)) + ой
Построение выражений Выражением являются Константа Переменная Вызов ф-ции (при этом аргументом ф-ции является тоже выражение) Операция (при этом операндами выступают выражения)
Порядок действий при вычислении выражений 1. Вызов ф-ций, () 2. Унарные операции not – 3. Мультипликативные * / div mod and 4. Аддитивные + - or xor 5. Сравнения = <> = in
Порядок действий при вычислении выражений Если операнд находится между двумя операциями разных приоритетов, то он относится к той операции, приоритет которой выше. Если операнд находится между двумя операциями одинаковых приоритетов, то он относится к левой операции. Операция может быть выполнена, если уже вычислены значения ее операндов. Ф-ция может быть вызвана, если уже вычислены значения ее аргументов. Круглые скобки меняют приоритет операций.
Примеры выражений 1) -b + sqrt(sqr(b) - 4*a*c) 2) (x*y >0) and (x >=y) 3) copy(s, 1, pos(a, s)) + ой
Преобразования типов при вычислении выражения В процессе вычисления выражения значения операндов отдельных операций могут быть автоматически преобразованы (неявно). Значения целого или вещественного типа могут быть преобразованы к типу того же класса но большей точности (или большей длины) Значения целого типа могут быть преобразованы в значения вещественного типа Преобразования осуществляются только для вычисления выражения и не влияют на значения переменных, участвующих в этом выражении.
Преобразования типов при вычислении выражения Если операндами бинарной операции являются значения разных типов одного класса, они преобразуются к типу с большей точностью (длиной). Если операндами бинарной операции являются значения целого и вещественного типов (или по правилам операнд должен быть вещественным), они преобразуются к вещественному типу с большей точностью (длиной).
14. Оператор присваивания. Оператор присваивания вместе с оператором вызова процедуры реализуют алгоритмическую конструкцию следования в языке. Оператор присваивания используется для установления значения переменной (или типизированной константы)
Синтаксис оператора присваивания Переменная := выражение; Порядок выполнения оператора 1) Вычисляется значение выражения 2) Вычисленное значение помещается в переменную Пример sum := a1 + a2 + rest; i := i + 1;
Неявное преобразование типов в операторе присваивания Значение выражения преобразуется к типу переменной того же класса, если значение выражения попадает в диапазон типа переменной. Целое значение выражения преобразуется к вещественному типу переменной.