Циклические алгоритмы

Циклические алгоритмы



Алгоритмы содержащие команды повторения, называют циклическими. Команды повторения составляют цикл. Цикл - это такая форма организации действий, при которой одна последовательность действий повторяется несколько раз( или не разу), до тех пор , пока выполняются некоторые условия.



Существуют три вида циклов. Это: цикл “До”, цикл “Пока”, цикл “ Для...”. Они все состоят из нескольких этапов. Это :

Подготовка цикла, в которую входят начальные присвоения;

Тело цикла - команды повторения цикла;

Условие - обязательная часть циклов “До” и “Пока”.



Рассмотрим цикл “До”. Цикл “До” это такой цикл, где тело цикла выполняется перед условием. Его лучше использовать в той циклической структуре, где заранее известно число повторений блока условия.



Это простейшая блок-схема цикла “До”.

	

      присвоение

	

	

	

      тело цикла

	



         условие



	

Приведу программы на языке Бейсик :

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

                                           --

                                   вывод А



                                    кон



Теперь рассмотрим цикл “Пока”

Цикл “Пока” это такой цикл, где тело цикла выполняется, пока выполняются некоторые условия . Его лучше использовать там, где сразу неизвестны начальные значения цикла.

Его простейшая блок-схема выглядит так :









 

присвоение





условие



тело цикла























Этот цикл может не выполнится .

Приведу программы для языка Бейсик :

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 случае в программа на Бейсике заметно упрощается. Хотя их цели одинаковы.

Оформление в алгоритмах такое :

пока

   нц 

       серия повторяющихся команд

  кц



Цикл “Для ...”

 	Цикл “Для...” это цикл с параметром, что приводит к тому, что условие не нужно. В этом случае обязательны два параметра. Это - начальное и конечное значение цикла. А также не обязательным это шаг цикла.

Для  А от  Х  до  У  шаг  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

   нц

        серия повторяющихся команд 

   кц



Существует также пустой цикл- это цикл без тела цикла. В большинстве случаев он применяется для создания пауз в программах.



Наиболее в алгоритмах и программах применяются два вида циклов. Это циклы  “Пока” и “Для...”.

Циклы очень часто  используют в прикладных программах и алгоритмах.





1