Цикл с параметром for…to…do
Цикл с заранее известным числом повторений может быть реализован на Pascal с помощью оператора цикла с параметром for… to… do. Формат оператора:
for <параметр цикла> :=<нач_знач> to <кон_знач> do <оператор>;
где
for, to, do – служебные слова (для, до, выполнить);
<параметр цикла> – параметр цикла, в качестве которого выступает переменная типа integer (byte);
<нач_знач> – начальное значение параметра цикла: константа, переменная или выражение типа integer (byte);
<кон_знач> – конечное значение параметра цикла: константа, переменная или выражение типа integer (byte);
<оператор> – простой, составной или структурированный оператор (тело цикла).
Принцип действия оператора for…to…do:
1 Параметру цикла присваивается начальное значение, и операторы цикла выполняются в первый раз.
2 Параметр цикла увеличивается на единицу, т. е. <параметр_цикла> := <нач_знач> + 1. Тело цикла выполняется во второй раз.
3 При каждом увеличении параметра цикла на единицу, операторы тела цикла повторяются вновь.
4 В последний раз цикл выполняется при достижении параметром цикла конечного значения, т. е. <параметр_цикла> := <кон_знач>.
Таким образом, операторы тела цикла for…to…do выполнятся ровно <кон_знач> − <нач_знач> + 1 раз.
Если конечное значение параметра цикла меньше начального, то можно использовать иной формат оператора:
for <параметр цикла> :=<нач_знач> downto <кон_знач> do <оператор>;
В этом случае шаг изменения параметра цикла равен -1.
Примечание − В некоторых версиях среды Turbo или Free Pascal параметр цикла может быть использован в качестве операнда выражений и операторов, составляющих тело цикла, но не может быть изменен.
Основные стандартные процедуры и функции
Для построения вычисляемых выражений, используемых в правой части оператора присваивания или в операторах вывода, можно применить ряд стандартных встроенных функций. Большинство из них (таблица 1) имеют в качестве аргумента (аргументов) данные вещественных и целых типов, некоторые − только вещественных.
Используя в программном коде стандартные функции, следует помнить, что аргумент всегда надо брать в круглые скобки!
Таблица 1 − Стандартные математические функции
Запись функции на Pascal |
Математическая запись |
Тип аргумента |
Тип результата |
Действие |
abs(x) |
|
integer, real |
integer, real |
модуль (абсолютное значение) числа х |
sqr(x) |
|
integer, real |
integer, real |
квадрат числа х |
sqrt(x) |
|
integer, real |
real |
квадратный корень из числа х |
sin(x) |
|
integer, real |
real |
синус числа х |
cos(x) |
|
integer, real |
real |
косинус числа х |
аrctаn(x) |
|
integer, real |
real |
арктангенс числа х |
ln(x) |
|
integer, real |
real |
натуральный логарифм числа х |
ехр(x) |
|
integer, real |
real |
экспонента числа х, т. е. 2,718х |
trunc(x) |
− |
real |
integer |
отбрасывает дробную часть х |
round(x) |
− |
real |
integer |
округляет число х |
int(x) |
− |
real |
real |
целая чась числа х |
frac(x) |
− |
real |
real |
дробная часть числа х |
Для записи математических функций, отсутствующих в перечне встроенных, используются известные математические формулы, например:
Математическая функция |
Математическая формула |
Запись на языке Pascal |
|
|
sin(x)/cos(x) |
|
|
cos(x)/sin(x) |
|
|
arctan(x/sqrt(1-sqr(x))) |
|
|
arctan(sqrt(1-sqr(x))/x) |
|
|
arctan(1/x) |
|
|
exp(x*ln(a)) |
|
|
ln(x)/ln(10) |
|
|
ln(x)/ln(a) |
|
|
(exp(x)-exp(-x))/2 |
|
|
(exp(x)+exp(-x))/2 |
