Мой сайт
Пятница, 13.06.2025, 09:51
» Меню сайта
» Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Циклы

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

Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла.

В зависимости от способа организации повторений различают три типа циклов:

1)    цикл с заданным условием продолжения работы;

2)    цикл с заданным условием окончания работы;

3)    цикл с заданным числом повторений.

    A)   Цикл с заданным условием продолжения работы (цикл-ПОКАцикл с предусловием). Логика работы этой конструкции описывается схемой, показанной на блок-схеме.

На алгоритмическом языке эта конструкция записывается так:

нц пока <условие>

     <тело цикла (последовательность действий)>

   кц

Выполняется цикл-ПОКА следующим образом:

1) проверяется условие (вычисляется значение логического выражения);

2) если условие удовлетворяется (Да), то выполняется тело цикла и снова осуществляется переход к проверке условия; если же условие не удовлетворяется, то выполнение цикла заканчивается. Возможны случаи, когда тело цикла не будет выполнено ни разу.

Пример 3. Требуется, не пользуясь операцией деления, получить частное q и остаток r от деления целого числа х на целое число у.

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

Исполним этот алгоритм для x=13 и y=5

Шаг алгоритма

Операция

Переменная

Условие

r >= y

x

y

r

q

1

Ввод   x

13

-

-

-

 

2

Ввод    y

13

5

-

-

 

3

r := x

13

5

13

-

 

4

q := 0

13

5

13

0

 

5

r >=y

 

 

 

 

13>5, да

6

r := r – y

13

5

8

0

 

7

q := q +1

13

5

8

1

 

8  

r >=y

 

 

 

 

8>5, да

9

r := r – y

13

5

3

1

 

10

q := q +1

13

5

3

2

 

11

r >=y

 

 

 

 

3>5, нет

12

Вывод  r

 

 

3

 

 

13

Вывод  q

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

   Б) Цикл с заданным условием окончания работы  (цикл-ДО, цикл с постусловием).

  На алгоритмическом языке эта конструкция записывается так:

  нц

      <тело_цикла (последовательность действий)>

    кц при <условие>

   Выполняется цикл-ДО следующим образом:

 1) выполняется тело цикла;

2) проверяется условие (вычисляется значение логического выражения); если условие не удовлетворяется (Нет), то снова выполняется тело цикла и осуществляется переход к проверке условия; если же условие удовлетворяется, то выполнение цикла заканчивается. В любом случае тело цикла будет выполнено хотя бы один раз.

Пример 4. Вычислить переменную b по следующему алгоритму.

Шаг

алгоритма

Операция

Переменная

Условие

a

b

a=32

1

a:=1

1

-

 

2

b:=1

1

1

 

3

a:=a*2

2

1

 

4

b:=b+a

2

3

 

5

a:=32

 

 

2=32 (нет)

6

a:=a*2

4

3

 

7

b:=b+a

4

7

 

8

a:=32

 

 

4=32 (нет)

9

a:=a*2

8

7

 

10

b:=b+a

8

15

 

11

a:=32

 

 

8=32 (нет)

12

a:=a*2

16

15

 

13

b:=b+a

16

31

 

17

a:=32

 

 

16=32 (нет)

18

a:=a*2

32

15

 

19

b:=b+a

32

47

 

20

a:=32

 

 

32=32 (да)

21

Вывод b

 

47

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В) Цикл с заданным числом повторений  (цикл-ДЛЯ, цикл с параметром). 

На алгоритмическом языке эта конструкция записывается так:

нц для i от i1 до i2

<тело_цикла (последовательность действий)>

    кц

   В цикле-ДЛЯ всегда есть параметр цикла — величина целого типа, изменяющаяся в ходе выполнения цикла от своего начального значения до конечного значения.

   Выполняется цикл-ДЛЯ следующим образом:

1) параметру цикла присваивается начальное значение;

2) параметр цикла сравнивается с конечным значением; если параметр цикла не превышает конечное значение, то выполняется тело цикла, увеличивается значение параметра цикла и снова осуществляется проверка параметра цикла; если же параметр цикла превышает конечное значение, то выполнение цикла заканчивается.

   В отличие от двух предыдущих конструкций (цикл-ПОКА, цикл-ДО) цикл-ДЛЯ имеет строго фиксированное число повторений, что позволяет избежать зацикливания, т. е. ситуации, когда тело цикла выполняется бесконечно.

Пример 5. Алгоритм вычисления степени с натуральным показателем n для любого вещественного числа a.

Исполним этот алгоритм для a=3 и n=2

Шаг

алгоритма

Операция

Переменная

Условие

   i <= n

a

n

y

i

 

1

Ввод a, n

3

2

-

-

 

2

y := 1

3

2

1

-

 

3

i := 1

3

2

1

1

 

4

i <= n 

 

 

 

 

1 <=2 (да)

5

y :=  y * a 

3

2

3

1

 

6

i := i + 1

3

2

3

2

 

7

i <= n 

 

 

 

 

2 <=2 (да)

8

y :=  y * a 

3

2

9

2

 

9

i := i + 1

3

2

9

3

 

10

i <= n 

 

 

 

 

3 <=2 (нет)

11

Вывод y

 

 

9

 

 

» Вход на сайт
» Поиск
» Календарь
«  Июнь 2025  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
30
» Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • База знаний uCoz

  • » Инфознайка
    Copyright MyCorp © 2025uCoz