Циклические алгоритмы
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
нц
серия повторяющихся команд
кц
Существует также пустой цикл- это цикл без тела цикла. В большинстве случаев он применяется для создания пауз в программах.
Наиболее в алгоритмах и программах применяются два вида циклов. Это циклы “Пока” и “Для...”.
Циклы очень часто используют в прикладных программах и алгоритмах.