8 урок

Программирование циклов



Цикл "С параметром"

В данном случае параметром будет являться целочисленная переменная, которая будет изменяться на единицу при каждой итерации цикла. Таким образом, задав начальное и конечное значения для такой переменной, можно точно установить количество выполнений тела цикла. Нарисовать блок-схему такой структуры вы сможете сами после некоторых пояснений.


Форматов у этого вида цикла предусмотрено два:

For <И.П.>:=<Н.З.> To <К.З.> Do <оператор>;

For <И.П.>:=<Н.З.> Downto <К.З.> Do <оператор>;

Здесь И.П. - имя переменной-параметра, Н.З. - его начальное значение, К.З. - соответственно конечное значение параметра. В качестве начального и конечного значений
Читается данная структура так: "Для переменной (далее следует ее имя) от начального значения до конечного выполнять оператор (являющийся телом цикла)". Иногда цикл с параметром даже называют "Для" или "For". В первом случае параметр с каждой итерацией увеличивается на единицу, во втором - уменьшается.


Выполняется этот цикл по следующему алгоритму:
1. переменной-параметру присваивается начальное значение;
2. выполняется тело цикла;
3. переменная-параметр автоматически увеличивается на 1 (в первом случае формата);
4. если параметр превышает конечное значение, то происходит выход из цикла, иначе - переход к пункту 2.


Примечание: при использовании Downto параметр автоматически уменьшается на 1, а выход из цикла происходит тогда, когда параметр становится меньше конечного значения.
Таким образом, в отличие от первых двух видов цикла, этот цикл используется тогда, когда известно необходимое количество выполнений тела цикла.
Вообще говоря, цикл "Пока" является универсальным, то есть любая задача, требующая использования цикла, может быть решена с применением этой структуры. Циклы "До" и "С параметром" созданы для удобства программирования.

Пример. Найти сумму квадратов всех натуральных чисел от 1 до 100.
Решим эту задачу с использованием всех трех видов циклов.
С использованием цикла "С параметром".
Program Ex3;
Var
A: Integer;
S: Longint;
Begin
S:=0;
For A:=1 To 100 Do S:=S+A*A;
Writeln(‘S=’,s);
End.



Алгоритмический язык
Язык Pascal
нц  для X  от  1  до 5
тело цикла
кц
for  X:=знач. 1  to знач.2 do begin
тело цикла
end;


Практические задания

1. Что выдаст программа?
s:=0;
for i:=0 to 5 do s:=s+i; 

2. Что выдаст программа?
program a5;
var i, m: integer;
begin
m:=0;
for i:=1 to 6 do
m:=m-6;
writeln (m);
end.

3. Запишите на языке Паскаль.



Комментариев нет:

Отправить комментарий