Алгоритмы, отдельные действия которых многократно повторяются, называются алгоритмами циклической структуры. Совокупность действий алгоритма, связанную с повторением, называют циклом

Команда цикла обеспечивает повторное выполнение последовательности команд (тела цикла) по некоторому условию.

Для программирования алгоритмов циклической структуры в системе программирования КуМир предусмотрено два вида циклов: цикл с предусловием (цикл пока) и цикл с параметром (цикл для).

 Цикл с предусловием (цикл пока)

Цикл с предусловием (цикл пока) - цикл, выполнение которого повторяется, пока истинно условие цикла. Служебные слова НЦ (начало цикла) и КЦ (конец цикла)пишутся строго одно под другим и соединяются вертикальной чертой. Правее этой черты записывается повторяемая последовательность команд (тело цикла).

описание

блок-схема 

При его выполнении ЭВМ циклически повторяет следующие действия:

а) проверяет записанное после слова пока условие;

б) если условие не соблюдается (условие ложно), то выполнение цикла завершается и ЭВМ начинает выполнять команды, записанные после КЦ. Если же условие соблюдается (условие истинно), то ЭВМ выполняет тело цикла, снова проверяет условие и т.д.

Если условие в цикле пока не соблюдается с самого начала, то тело цикла не выполняется ни разу.

Замечание. Выполнение цикла пока может и не завершиться, если условие все время будет истинным (эту ситуацию принято называть зацикливанием). Поэтому во избежание подобных ситуаций в теле цикла должны содержаться команды изменения условия.

Дано целое положительное число N. Вычислить факториал этого числа: N! = 1 * 2 * 3 * ... * N.

  алг Факториал
  нач цел F, N, i
         вывод ' Введите N '

         ввод N
         F : = 1
         i : = 1
         нц пока i < = N
               F : = F * i
               i : = i + 1
        
кц
      
  вывод ' Факториал = ', F    
 
  кон    

Цикл с параметром (цикл для)

Цикл с параметром (цикл для) - повторное выполнение тела цикла, пока целочисленный параметр пробегает множество всех значений от начального ( i1 ) до конечного ( in ):

описание

блок-схема

Здесь i - переменная целого типа, называемая параметром цикла: i1, in - начальное и конечное значения параметра цикла, которые могут быть заданы либо произвольными целыми числами, либо выражениями с целыми значениями; h - шаг изменения значения параметра цикла, значением шага может быть любое целое число (как положительное, так и отрицательное). Запись "шаг h" в первой строке может вообще отсутствовать, при этом по умолчанию значение шага принимается равным 1.

При выполнении цикла для, его тело выполняется для i = i1, i = i1 + h, i = i1 + 2*h, . . . , i = in. Правила алгоритмического языка допускают задание любых целых i1, in, h. В частности, in может быть меньше i1. Если при этом значение h < 0, то цикл выполняется нужное количество раз, а если h имеет положительное значение, то этот случай не считается ошибочным - просто тело цикла не будет выполнено ни разу, а ЭВМ сразу перейдет к выполнению команд, записанных после КЦ. При h = 0 происходит зацикливание.

Пример:  Дано целое положительное число N. Вычислить факториал этого числа: N! = 1 * 2 * 3 * ... * N.

  алг Факториал
  нач цел F, N, i
         вывод ' Введите N '

         ввод N
         F : = 1
         нц для i от 1 до N
               F : = F * i
        
кц
      
  вывод ' Факториал = ', F    
 
  кон    

 

 

Последнее изменение: Wednesday, 6 November 2013, 20:47