4.
Значение параметра цикла изменяется на следующее значе-
ние в его типе (для целых чисел — увеличивается на единицу);
происходит возврат к пункту 3.
Оператор цикла For объединяет в себе действия, которые при
использовании цикла while выполняют различные операторы:
присваивание параметру начального значения, сравнение с ко-
нечным значением, изменение на следующее.
Как известно, результат суммирования целых чисел не зависит
от порядка суммирования. Например, в рассматриваемой задаче
числа можно складывать и в обратном порядке, т.е. от
./V
до М
(N S М). Для этого можно использовать второй вариант оператора
цикла For:
Summa:=0;
For I:=N DownTo M Do
Summa:=Summa+I;
Слово DownTo буквально можно перевести как «вниз до». В та-
ком случае параметр цикла изменяется по убыванию, т.е. при каж-
дом повторении цикла параметр изменяет свое значение на пре-
дыдущее (равносильно i:=pred(i)). Тогда ясно, что цикл не
выполняется ни разу, если N
<
М.
Работая с оператором For, учитывайте следующие правила:
• параметр цикла не может иметь тип Real;
• в теле цикла нельзя изменять переменную «параметр цикла»;
• при выходе из цикла значение переменной-параметра явля-
ется неопределенным.
В следующем примере в качестве параметра цикла For исполь-
зуется символьная переменная. Пусть требуется получить на экра-
не десятичные коды букв латинского алфавита. Как известно, ла-
тинские буквы в таблице кодировки упорядочены по алфавиту.
Вот фрагмент такой программы:
For С:='а' То 'z' Do
Write (С,'-',Ord(C));
Здесь переменная с имеет тип Char.
А теперь подумайте сами, как вывести кодировку латинского
алфавита в обратном порядке (от Y до 'а').
Упражнения
1.
Составить программу полного решения квадратного уравне-
ния (алгоритм см. в разд. 1.3).
2.
Используя операторы цикла while, Repeat и For, составить
три варианта программы вычисления N\.
3.
Составить программу, по которой будет вводиться последо-
вательность символов до тех пор, пока не встретится маленькая
67