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

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

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

   нц

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

   кц

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

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

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

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

1997 год