for переменная := значение 1 to значение 2 do тело цикла
Оператор for вызывает тело цикла, находящееся после слова do, по одному разу для каждого значения в диапазоне от значения 1 до значения 2.
Переменная цикла( так называемый счетчик) увеличивается на 1 при каждом выполнении тела цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла.
Рассмотрим задачу, вычисляющую сумму чисел от 1 до 10.
Program primer;
Var i,s: integer;
Begin
s:=0 { начальное значение суммы – 0}
For i:=1 to 10 do s:=s+i; {на каждом шаге цикла к сумме прибавляется значение счетчика, то есть 1, 2, 3 и т.д.}
writeln('сумма равна', s);
readln;
End.
Задание 1.В новом файле наберите текст программы. Сохраните программу в файл 2Ваши_инициалы1.PAS. Запустите программу на выполнение, изучите ее работу.
Задание 2.Измените программу так, чтобы она вычисляла сумму чисел от M до N (не забудьте, что значения M и N вводятся заранее с клавиатуры). Сохраните программу в файл 2Ваши_инициалы2.PAS. Запустите программу на выполнение, проверьте правильность ее работы.
Циклы с предусловием
Запись этой блок-схемы в языке Турбо Паскаль будет выглядеть следующим образом:
while условие do тело цикла;
Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно истинно, то тело цикла выполняется, если ложно – то нет.
Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение будет истинным.
Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно условие стало ложным. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании.
Выражение оценивается до выполнения оператора, так что если оно с самого начала было ложным, то оператор не будет выполнен ни разу.
Рассмотрим задачу на вычисление факториала 10! = 1·2·3·4·5·6·7·8·9·10
Program primer;
VAR
Factorial, N : Integer;
BEGIN
Factorial := 1; {стартовое значение факториала =0! }
Задание 3.В новом файле наберите текст программы. Сохраните программу в файл 2Ваши_инициалы3.PAS. Запустите программу на выполнение, изучите ее работу.
Задание 4.Измените программу так, чтобы она вычисляла факториал вводимого пользователем числа N. Сохраните программу в файл 2Ваши_инициалы4.PAS. Запустите программу на выполнение, проверьте правильность ее работы.