Циклические структуры


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

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

Изучение циклов демонстрирует учащимся
главное преимущество компьютера перед человеком
– выполнение большого числа действий за
короткое время. Ведь даже весьма короткий
циклический алгоритм, составить который не так
уж долго, при исполнении может потребовать
выполнения нескольких сотен действий, с которыми
компьютер справится намного быстрее, чем
человек.

Учащиеся должны уметь организовать цикл и
верно определить тело цикла. Более того, при
конструировании алгоритмов важно использовать
такую конструкцию цикла, которая окажется
оптимальной для решения поставленной задачи.

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

Рисунок 1.

а), б) – циклическая структура “Для каждого”

в) – циклическая структура “Пока”

г) – циклическая структура “До”

I – счетчик числа повторов, C – приращение
счетчика, A – начальное значение счетчика, B –
конечное значение счетчика, P – тело цикла.

1. Цикл Для каждого можно
записать в следующем виде:

Для каждого I от A до B с шагом С:

P

Конец цикла по I

I – счетчик числа повторов, C – приращение
счетчика, A – начальное значение счетчика, B –
конечное значение счетчика, P – тело цикла.

Турбо-Бейсик

Турбо-Паскаль

FOR I=A TO B [ STEP C ] FOR I:=A TO B DO
P P;
NEXT I

2.



Цикл Пока можно записать так:

Пока Q повторять:

P

Конец цикла

Q – условие. ЭВМ будет выполнять P до тех пор,
пока условие Q истинно.

Турбо-Бейсик

Турбо-Паскаль

WHILE WHILE DO
P

P;

WEND

3

. Цикл “До” записывается следующим
образом:

Повторять:

P

До выполнения Q



Конец цикла

Турбо-Бейсик

Турбо-Паскаль

DO REPEAT
P P;
LOOP UNTIL Q INTIL ;

Тело цикла P выполняется до тех пор, пока
условие Q ложно.

Одним из самых распространенных в практике
вычислений алгоритмом циклической структуры
является алгоритм вычислений некоторой функции
y=f(x) для значений x, которые меняются от
начального значения x0 до конечного xk
с шагом h.

Исходными данными алгоритма являются значения:
x0, xk, h. Необходимо вычисления по
формуле y=f(x) повторять (xk-x0)/h+1 раз, т. е.
при построении алгоритма организовать цикл.
Параметром цикла выберем переменную x.

Схема алгоритма решения этой задачи на рис. 2. В
схеме блок 3 присваивает начальное значение
параметру цикла x, блок 6 осуществляет изменение
на h параметра x при каждом выполнении цикла, блок
7 управляет циклом, для чего проверяется условие
повторения цикла x< =xk. При выполнении
этого условия (да) управление передается на
начало цикла, а при невыполнении –
осуществляется выход из цикла, т.е. переход к
следующему по порядку блоку.

Рисунок 2.

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

Работа начинается с составления и описания
простых алгоритмов: «Растущая елочка»,
«Лес», а затем постепенно задачи
усложняются, и учащиеся моделируют движение
пузырьков в воде, мигающий светофор, движение
падающего и прыгающего мячиков и т.д. Работая по
такой схеме, учащиеся несомненно обретают опыт в
общении с вычислительной техникой, в разработке
оптимальных алгоритмов с использованием
циклических структур и их описании, ощущают
необходимость составления блок-схем, которые
наглядно представляют и структуру алгоритма, и
процесс его исполнения.

Задача:

С помощью операторов алгоритмического языка
Турбо-Бейсик нарисовать на экране монитора
картинку «Лес».

Рисунок 3.

а — модель елки:

высота – 25 пикселей; длина ветки – 5 пикселей;

количество елок в лесу –20; расстояние между
елками – 5 пикселей.

Внимательно рассмотрев елку, определяем
многократно повторяющийся (5 раз) ее фрагмент (см.
Рис.3б).

Определим последовательность действий для
вычерчивания елок на экране:

Рисунок 4.

При разработке алгоритма применим вложенность
циклов:

- внешний – по количеству елок;

- внутренний – вычерчивание одной елочки.

SCREEN 7: CLS

FOR I=1 TO 20 I – счетчик кол-ва елок;



FOR J=1 TO 5 J – кол-во пар веточек у елки.

DRAW”C2 U5 NG5 NF5”

NEXT J

DRAW”D25 BR15”

NEXT I

END

Для повышения активности и внимательности
учащимся предлагается устанавливать свои
размеры елочек и общее количество елок в лесу.

Блок-схема алгоритма:

Рисунок 5.




Следующий: