Информатика 10-11. Книга 2. Практика алгоритмизации и программирования. Шауцукова Л.З. - 41 стр.

UptoLike

Составители: 

Алгоритмы, реализуемые с помощью циклов типа ПОКА
С помощью циклов типа пока можно запрограммировать любые повторяющиеся
фрагменты алгоритмов. Но на практике цикл типа пока чаще всего используют в двух
следующих случаях:
Число повторений заранее не известно (например, цикл до достижения
требуемой точности результата, цикл до первого отрицательного элемента массива
и т.п.). Такой цикл называется циклом типа пока с прерыванием.
Число повторений заранее известно, но шаг параметра цикла не равен 1 (в
школьном АЯ) или 1, –1 (в Pascal). Такой цикл называется циклом типа пока без
прерывания.
Цикл типа пока с прерыванием
Язык Пример Пояснения
Школьный АЯ
i:=1; Flag:="Нет"
нц пока (i<=N) и (Flag="Нет")
если A[i]<0
то Flag:="Да"; k:=i
иначе i:=i+1
все
кц
Решается задача:
определить номер первого
отрицательного элемента
массива A(N). Здесь Flag
"управляющая"
переменная литерного
типа (можно с успехом
использовать также
логический или целый
типы)
Pascal
i:=1; Flag:=FALSE;
While (i<=N) and not Flag do
If A[i]<0
then begin
Flag:=TRUE; k:=i
end
else i:=i+1;
Здесь Flag — переменная
логического типа,
принимающая значение
ТRUE (истина) или FALSE
(ложь),
and - операция 'и', not -
операция 'не'
Цикл типа пока без прерывания
Язык Пример Пояснения
Школьный АЯ
i:=1; S:=0
нц пока i<=N
S:=S+A[i]
i:=i+2
кц
Вычисляется сумма
элементов массива
                 Алгоритмы, реализуемые с помощью циклов типа ПОКА


С помощью циклов типа пока можно запрограммировать любые повторяющиеся
фрагменты алгоритмов. Но на практике цикл типа пока чаще всего используют в двух
следующих случаях:

   •    Число повторений заранее не известно (например, цикл до достижения
        требуемой точности результата, цикл до первого отрицательного элемента массива
        и т.п.). Такой цикл называется циклом типа пока с прерыванием.

   •    Число повторений заранее известно, но шаг параметра цикла не равен 1 (в
        школьном АЯ) или 1, –1 (в Pascal). Такой цикл называется циклом типа пока без
        прерывания.

                            Цикл типа пока с прерыванием

        Язык                        Пример                           Пояснения

                                                             Решается задача:
 Школьный АЯ                                                 определить номер первого
                     i:=1; Flag:="Нет"
                                                             отрицательного элемента
                     нц пока (i<=N) и (Flag="Нет")
                                                             массива A(N). Здесь Flag
                         если A[i]<0
                             то Flag:="Да"; k:=i             — "управляющая"
                             иначе i:=i+1                    переменная литерного
                         все                                 типа (можно с успехом
                     кц                                      использовать также
                                                             логический или целый
                                                             типы)

                     i:=1; Flag:=FALSE;                      Здесь Flag — переменная
       Pascal        While (i<=N) and not Flag do            логического типа,
                       If A[i]<0                             принимающая значение
                         then begin                          ТRUE (истина) или FALSE
                                Flag:=TRUE; k:=i             (ложь),
                              end                            and - операция 'и', not -
                         else i:=i+1;                        операция 'не'


                            Цикл типа пока без прерывания

          Язык                        Пример                         Пояснения
                                   i:=1; S:=0
       Школьный АЯ                 нц пока i<=N
                                      S:=S+A[i]               Вычисляется сумма
                                      i:=i+2                  элементов массива
                                   кц