Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Работа с дискетой (форматирование, создание системной дискеты) в среде операционной системы.

Поиск

1. Алгоритмическая структура "цикл". Команда по­вторения. Примеры.

Достаточно часто при организации алгоритма реше­ния задачи необходимо одну и ту же определенную пос­ледовательность команд выполнить несколько раз под­ряд. Конечно, самый простой способ — записать эти команды несколько раз друг за другом, и необходимое повторение действий будет организовано. Но как быть в тех случаях; когда количество команд, которые исполня­ются несколько раз, слишком велико? Или само коли­чество повторений команд огромно? Или вообще неиз­вестно, а сколько же раз нужно повторить последова­тельность команд? Решить все эти проблемы можно, если использовать алгоритмическую структуру цикл.

Командой повторения, или циклом, называется такая форма организации действий в алгоритме, при которой выполнение одной и той же последовательности команд повторяется до тех пор, пока истинно некоторое логи­ческое выражение.

Для организации цикла необходимо выполнять следую­щие действия:

• перед началом цикла задать начальное значение па­раметров (переменных, используемых в логическом выражении, отвечающем за продолжение или за­вершение цикла);

• внутри цикла изменять переменную (или перемен­ные), которая сменит значение логического выра­жения, за счет которого продолжается цикл, на про­тивоположное (для того чтобы цикл в определен­ный момент завершился);

• вычислять логическое выражение — проверять ус­ловие продолжения или окончания цикла;

• выполнять операторы внутри цикла;

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

Различают циклы с известным числом повторений (цикл с параметром) и итерационные (с пред- и постусловием).

Приведем обозначение каждого из видов циклов на блок-схемах алгоритмов.

Цикл с параметром Цикл с предусловием Цикл с постусловием

На схемах "Серия" обозначает один или несколько любых операторов (команд); ЛВ есть логическое вы­ражение (если его значение истина, переход проис­ходит по ветви, обозначенной да, иначе — по нет). На схеме цикла с параметром использованы обозна­чения: ПЦ — параметр цикла, НЗ — начальное зна­чение параметра цикла, КЗ — конечное значение па­раметра цикла, Ш — шаг изменения параметра цик­ла. Серию команд, которые выполняются в цикле, называют телом цикла. Опишем схематично, как выполняется каждый из циклов.

Цикл с предусловием:

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

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

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

г) переход к п. а);

д) конец цикла.

Цикл с постусловием:

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

6) вычисляется значение логического выражения;

в) если значение логического выражения ложь, пере­ход к п. а), иначе к следующему пункту;

г) конец цикла.

Замечание. Таким образом, цикл с постусловием организо­ван, в частности, в алгоритмических языках Паскаль и QBasic. В языке Си переход к повторению вычислений, как и в цикле с предусловием, осуществляется в случае истинности логического выражения.

Цикл с параметром:

а) вычисляются значения выражений, определяющие начальное и конечное значения параметра цикла;

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

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

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

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

е) параметр цикла автоматически изменяется на зна­чение шага;

ж) переход к п. в);

з) конец цикла.

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


Рассмотрим примеры задач, при решении которых необходим цикл.

Пример 1. Подсчитать количество нечетных цифр в записи натурального числа п.

Идея решения. Из заданного числа необходимо выби­рать из младшего разряда цифру за цифрой (отбрасывая просмотренную) до тех пор, пока число не исчерпается, т.е. станет равным нулю. Каждую нечетную цифру учи­тывать.

1. Ввести число п.

2. К:= 0 (подготавливаем счетчик).

3. Если n = 0, переход к п. 1.

4. Если n mod 10 mod 2=1,тоК:=К+1.

5. n:= n div 10.

6. Переход к п. 3.

7. Вывод К.

8. Конец.

Задача решена двумя способами. Первое решение оформлено с использованием цикла с предусловием, второе — с постусловием (div и mod обозначают опе­рации вычисления частного и остатка при делении на­цело).

 
 
Начало

 


 


 

 

       
 
Конец
   
Конец
 


Пример 2. Найти произведение первых к натураль­ных чисел, кратных трем.

При составлении алгоритма учтем, что первое нату­ральное число, кратное 3, есть тройка, а все последую­щие больше предыдущего на 3.

1. Ввод k.

2. Р:= 1 (здесь накапливаем произведение).

3. Т: =0 (здесь будут числа, кратные 3).

4. I: =1

5. Если I> k, переход к п. 10.

6. Т:= Т+3.

7. Р:=Р*Т.

8. I:=I+1.

9. Перейти к п. 5.

10. Вывод Р

11. Конец

 



Поделиться:


Последнее изменение этой страницы: 2016-12-16; просмотров: 365; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.17.251 (0.007 с.)