Programming: Delphi
Иллюстрированный самоучитель по Delphi 7 для начинающих
Глава 1. Основы программирования
Числовые
константы
В тексте программы
числовые константы записываются обычным образом, т. е. так же, как числа, например,
при решении математических задач. При записи дробных чисел для разделения целой
и дробных частей используется точка. Если константа отрицательная, то непосредственно
перед первой цифрой ставится знак "минус".
Ниже приведены примеры
числовых констант:
123
0.0
-524.03
0
Дробные константы могут
изображаться в виде числа с плавающей точкой. Представление в виде числа с плавающей
точкой основано на том, что любое число может быть записано в алгебраической
форме как произведение числа, меньшего 10, которое называется мантиссой, и степени
десятки, именуемой порядком.
В табл. 1.3 приведены
примеры чисел, записанных в обычной форме, в алгебраической форме и форме с
плавающей точкой.
Таблица 1.3.
Примеры записи дробных чисел
|
|
|
|
|
|
|
|
|
|
|
1 000 000
-123.452
0,0056712
|
1х106
-1,23452x102
5,6712х10-3
|
1 .0000000000Е+06
-1 .2345200000Е+02
5,6712000000Е-03
|
|
|
|
|
|
|
Строковые
и символьные константы
Строковые и символьные
константы заключаются в кавычки. Ниже приведены примеры строковых констант:
'Язык
программирования Delphi1 'Delphi 7'
'2.4'
'Д'
Здесь следует обратить
внимание на константу ' 2.4'. Это именно символьная константа, т. е. строка
символов, которая изображает число "две целые четыре десятых", а не
число 2,4.
Логические
константы
Логическое высказывание
(выражение) может быть либо истинно, либо ложно. Истине соответствует константа
True, значению "ложь" - константа False.
Именованная
константа
Именованная константа
— это имя (идентификатор), которое в программе используется вместо самой константы.
Именованная константа,
как и переменная, перед использованием должна быть объявлена. В общем виде инструкция
объявления именованной константы выглядит следующим образом:
константа = значение;
где:
- константа — имя константы;
- значение — значение константы.
Именованные константы
объявляются в программе в разделе объявления констант, который начинается словом
const. Ниже приведен пример объявления именованных констант (целой, строковой
и дробной).
const
Bound
= 10;
Title
= 'Скорость бега';
pi
= 3.1415926;
После объявления именованной
константы в программе вместо самой константы можно использовать ее имя.
В отличие от переменной,
при объявлении константы тип явно не указывают. Тип константы определяется ее
видом, например:
- 125 — константа целого типа;
- 0.0 — константа вещественного
типа;
- ' выполнить ' — строковая константа;
- ' \' — символьная константа.
Инструкция
присваивания
Инструкция присваивания
является основной вычислительной инструкцией. Если в программе надо выполнить
вычисление, то нужно использовать инструкцию присваивания.
В результате выполнения
инструкции присваивания значение переменной меняется, ей присваивается значение.
В общем виде инструкция
присваивания выглядит так: Имя : = Выражение;
где:
- Имя — переменная, значение которой
изменяется в результате выполнения инструкции присваивания;
- : = — символ инструкции присваивания.
- Выражение — выражение, значение
которого присваивается переменной, имя которой указано слева от символа инструкции
присваивания.
Пример:
Surama
:= Сеnа * Kol; Skidka := 10; Found := False;
Выражение
Выражение состоит из
операндов и операторов. Операторы находятся между операндами и обозначают действия,
которые выполняются над операндами. В качестве операндов выражения можно использовать:
переменную, константу, функцию или другое выражение. Основные алгебраические
операторы приведены в табл. 1.4.
Таблица 1.4.
Алгебраические операторы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вычисление остатка от
деления
|
|
|
|
|
|
При записи выражений
между операндом и оператором, за исключением операторов DIV и MOD, пробел можно
не ставить.
Результат применения
операторов +, -, * и / очевиден.
Оператор DIV позволяет
получить целую часть результата деления одного числа на другое. Например, значение
выражения is DIV i равно 2.
Оператор MOD, деление
по модулю, позволяет получить остаток от деления одного числа на другое. Например,
значение выражения 15 MOD 7 равно 1.
В простейшем случае
выражение может представлять собой константу или переменную.
Примеры выражений:
123
0.001 i+1
А
+ В/С Summa*0.75 (В1+ВЗ+ВЗ)/3 Cena MOD 100
При вычислении значений
выражений следует учитывать, что операторы имеют разный приоритет. Так у операторов
*, /, DIV, MOD более высокий приоритет, чем у операторов + и -.
Приоритет операторов
влияет на порядок их выполнения. При вычислении значения выражения в первую
очередь выполняются операторы с более высоким приоритетом. Если приоритет операторов
в выражении одинаковый, то сначала выполняется тот оператор, который находится
левее.
Для задания нужного
порядка выполнения операций в выражении можно использовать скобки, например:
(r1+r2+r3)/(r1*r2*r3)
Выражение, заключенное
в скобки, трактуется как один операнд. Это означает, что операции над операндами
в скобках будут выполняться в обычном порядке, но раньше, чем операции над операндами,
находящимися за скобками. При записи выражений, содержащих скобки, должна соблюдаться
парность скобок, т. е. число открывающих скобок должно быть равно числу закрывающих
скобок. Нарушение парности скобок — наиболее распространенная ошибка при записи
выражений.
Тип
выражения
Тип выражения определяется
типом операндов, входящих в выражение, и зависит от операций, выполняемых над
ними. Например, если оба операнда,
над которыми выполняется операция сложения, целые, то очевидно, что результат
тоже является целым. А если хотя бы один из операндов дробный, то тип результата
дробный, даже в том случае, если дробная часть значения выражения равна нулю.
Важно уметь определять
тип выражения. При определении типа выражения следует иметь в виду, что тип
константы определяется ее видом, а тип переменной задается в инструкции объявления.
Например, константы 0, 1 и -512 — целого типа (integer), а константы 1.0, 0.0
и 3.2Е-05 — вещественного типа (real).
В табл. 1.5 приведены
правила определения типа выражения в зависимости от типа операндов и вида оператора.
Таблица 1.5.
Правила определения типа выражения
|
|
|
|
|
|
|
|
|
|
|
|
Хотя бы один из операндов
real
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Выполнение
инструкции присваивания
Инструкция присваивания
выполняется следующим образом:
1. Сначала вычисляется
значение выражения, которое находится справа от символа инструкции присваивания.
2. Затем вычисленное
значение записывается в переменную, имя которой стоит слева от символа инструкции
присваивания.
Например, в результате
выполнения инструкций:
- i:=0; — значение переменной i
становится равным нулю;
- а:=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 целого типа,
то инструкция n: = m/2 неверная, поэтому во время компиляции будет выведено
сообщение :
Incompatible
types 'Integer' and.'Extended'.
Стандартные
функции
Для выполнения часто
встречающихся вычислений и преобразований язык Delphi предоставляет программисту
ряд стандартных функций.
Значение функции связано
с ее именем. Поэтому функцию можно использовать в качестве операнда выражения,
например в инструкции присваивания. Так, чтобы вычислить квадратный корень,
достаточно записать k:=Sqrt(n), где Sqrt — функция вычисления квадратного корня,
n — переменная, которая содержит число, квадратный корень которого надо вычислить.
Функция характеризуется
типом значения и типом параметров. Тип переменной, которой присваивается значение
функции, должен соответствовать типу функции. Точно так же тип фактического
параметра функции, т. е. параметра, который указывается при обращении к функции,
должен соответствовать типу формального параметра. Если это не так, компилятор
выводит сообщение об ошибке.
Математические
функции
Математические функции
(табл. 1.6) позволяют выполнять различные вычисления.
Таблица 1.6.
Математические функции
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Случайное целое число
в диапазоне от 0 до n- 1
|
|
|
|
|
|
Величина угла тригонометрических
функций должна быть выражена в радианах. Для преобразования величины угла из
градусов в радианы используется формула (а*з.141525б)/180, где: а— величина
угла в градусах; 3.1415926 — число л. Вместо дробной константы 3.1415926 можно
использовать стандартную именованную константу PI. В этом случае выражение пересчета
угла из градусов в радианы будет выглядеть так: a*Pi/180.
Назад | Оглавление | Вперёд
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|