Учебное пособие: Основы программирования
· а:=b+с; — значением переменной а будет число, равное сумме значений переменных ь и с;
· j :=j+1; — значение переменной j увеличивается на единицу.
Инструкция присваивания считается верной, если тип выражения соответствует или может быть приведен к типу переменной, получающей значение. Например, переменной типа real можно присвоить значение выражения, тип которого real или integer, а переменной типа integer можно присвоить значение выражения только типа integer.
Так, например, если переменные i и nимеют тип integer, а переменная d — тип real, то инструкции
i:=n/10; i:=1.0;
неправильные, а инструкция
d:=i+1; правильная.
Во время компиляции выполняется проверка соответствия типа выражения типу переменной. Если тип выражения не соответствует типу переменной, то компилятор выводит сообщение об ошибке:
Incompatible types ... and ...
где вместо многоточий указывается тип выражения и переменной. Например, если переменная п целого типа, то инструкция n: = m/2 неверная, поэтому во время компиляции будет выведено сообщение :
Incompatible types 'Integer' and.'Extended'.
Стандартные функции
Для выполнения часто встречающихся вычислений и преобразований язык Delphi предоставляет программисту ряд стандартных функций.
Значение функции связано с ее именем. Поэтому функцию можно использовать в качестве операнда выражения, например в инструкции присваивания. Так, чтобы вычислить квадратный корень, достаточно записать k:=Sqrt(n), где Sqrt — функция вычисления квадратного корня, п — переменная, которая содержит число, квадратный корень которого надо вычислить.
Функция характеризуется типом значения и типом параметров. Тип переменной, которой присваивается значение функции, должен соответствовать типу функции. Точно так же тип фактического параметра функции, т. е. параметра, который указывается при обращении к функции, должен соответствовать типу формального параметра. Если это не так, компилятор выводит сообщение об ошибке.
Математические функции
Математические функции (табл. 6) позволяют выполнять различные вычисления.
Таблица 6. Математические функции
Функция | Значение |
Аbs (n) | Абсолютное значение n |
Sqrt (n) | Квадратный корень из n |
Sqr (n) | Квадрат n |
Sin (n) | Синус n |
Cos (n) | Косинус n |
Arctan (n) | Арктангенс n |
Ехр(n) | Экспонента n |
Ln(n) | Натуральный логарифм n |
Rardom(n) | Случайное целое число в диапазоне от 0 до n- 1 |
Величина угла тригонометрических функций должна быть выражена в радианах. Для преобразования величины угла из градусов в радианы используется формула (а*з.141525б)/180, где: а— величина угла в градусах; 3.1415926 — число л. Вместо дробной константы 3.1415926 можно использовать стандартную именованную константу PI. В этом случае выражение пересчета угла из градусов в радианы будет выглядеть так: a*Pi/180.
Функции преобразования
Функции преобразования (табл. 7) наиболее часто используются в инструкциях, обеспечивающих ввод и вывод информации. Например, для того чтобы вывести в поле вывода (компонент Label) диалогового окна значение переменной типа real, необходимо преобразовать число в строку символов, изображающую данное число. Это можно сделать при помощи функции FloatToStr, которая возвращает строковое представление значения выражения, указанного в качестве параметра функции.
Например, инструкция Label1.caption := FioatTostr(x) выводит значение переменной х в поле Label1.
Использование функций
Обычно функции используют в качестве операндов выражений. Параметром функции может быть константа, переменная или выражение соответствующего типа. Ниже приведены примеры использования стандартных функций и функций преобразования.
n := Round((x2-x1)/dx);
x1:= (-b + Sqrt(d)) / (2*а);
m := Random(10);
cena := StrToInt(Edit1.Text);
Edit2.Text := IntToStr(100);