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

Разделы: Информатика


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

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

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

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

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

Рисунок 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 | DOWENTO} B DO
P P;
NEXT I  

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

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

P

Конец цикла

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

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

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

WHILE <Q> WHILE <Q> DO
P

P;

WEND  

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

Повторять:

P

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

Конец цикла

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

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

DO REPEAT
P P;
LOOP UNTIL Q INTIL <Q>;

Тело цикла 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.