Циклические алгоритмы
I. Алгоритмы содержащие команды повторения, называют циклическими. Команды повторения составляют цикл. Цикл - это такая форма организации действий, при которой одна последовательность действий повторяется несколько раз( или не разу), до тех пор , пока выполняются некоторые условия.
II. Существуют три вида циклов. Это: цикл “До”, цикл “Пока”, цикл “ Для...”. Они все состоят из нескольких этапов. Это :
1. Подготовка цикла, в которую входят начальные присвоения;
2. Тело цикла - команды повторения цикла;
3. Условие - обязательная часть циклов “До” и “Пока”.
III. Рассмотрим цикл “До”. Цикл “До” это такой цикл, где тело цикла выполняется перед условием. Его лучше использовать в той циклической структуре, где заранее известно число повторений блока условия.
Это простейшая блок-схема цикла “До”.
¯
присвоение
½
½
¯
тело цикла
¯
условие
¯
Приведу программы на языке Бейсик :
10 A=0 20 A=A+1 30 IF NOT A=10 THEN GOTO 20 40 PRINT A 50 END 10 A=0 20 A=A+0.01 30 IF INT(A)=0 THEN GOTO 20 40 PRINT A 50 ENDЭтот цикл выполняется не менее одного раза.
Блок-схемы на эти программы :
нач
А:=0
А:=А+1
-- А=10
+
вывод А
кон
2) нач А:=0 А:=А+0.01 + INT(A)=0 -- вывод А кон IV. Теперь рассмотрим цикл “Пока”Цикл “Пока” это такой цикл, где тело цикла выполняется, пока выполняются некоторые условия . Его лучше использовать там, где сразу неизвестны начальные значения цикла.
Его простейшая блок-схема выглядит так :
|
|
¯
присвоение
½
¯
условие
¯
тело цикла
Этот цикл может не выполнится .
Приведу программы для языка Бейсик :
1) 10 INPUT A 20 IF A=>50 THEN GOTO 50 30 A=A+1 40 GOTO 20 50 PRINT A 60 END 2) 10 INPUT A 20 IF A<50 THEN A=A+1: GOTO 20 30 PRINT A 40 ENDБлок-схемы на эти программы:
нач
ввод А
+ А=>50
--
А:=А+1
вывод А
кон
нач ввод А -- A<50 + А:=А+1 вывод А конВ блок-схемах различий очень мало, но во 2 случае в программа на Бейсике заметно упрощается. Хотя их цели одинаковы.
Оформление в алгоритмах такое :
пока
нц
серия повторяющихся команд
кц
V. Цикл “Для ...”
Цикл “Для...” это цикл с параметром, что приводит к тому, что условие не нужно. В этом случае обязательны два параметра. Это - начальное и конечное значение цикла. А также не обязательным это шаг цикла.
Для А от Х до У шаг Z
Х- начальное значение
У- конечное значение
Z- шаг или приращение
А- переменная, которой присваивается значения начиная с Х до У с шагом Z.
Пример в программе на языке Бейсик :
10 X=1: Y=10: Z=1: B=0
20 FOR A=X TO Y STEP Z
30 B=B+1
40 NEXT A
50 PRINT A
60 END
В этой записи можно использовать числовые значения, вместо переменных. И если шаг равен 1, то строка STEP Z не обязательна.
На алгоритмическом языке запись такая:
Для А от Х до У шаг Z
нц
серия повторяющихся команд
кц
Существует также пустой цикл- это цикл без тела цикла. В большинстве случаев он применяется для создания пауз в программах.
Наиболее в алгоритмах и программах применяются два вида циклов. Это циклы “Пока” и “Для...”.
Циклы очень часто используют в прикладных программах и алгоритмах.