Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


јлгоритмы циклической структуры




 

јлгоритмы циклической структуры €вл€ютс€ наиболее распространЄнным видом алгоритмов. ¬ алгоритмахциклической структуры в зависимости от выполнени€ или невыполнени€ какого-либо услови€ выполн€етс€ повтор€юща€с€ последовательность действий, называюща€с€ телом цикла.

 лассическим примером использовани€ структуры Ђ÷иклї €вл€етс€ задача табулировани€ функции. «адача табулировани€ (получение таблицы) некоторой функции y = f (x) сводитс€ к вычислению значений этой функции при параметре цикла х, измен€ющемс€ с посто€нным шагом Dx в заданном диапазоне от начального значени€ аргумента xn до конечного значени€ xk. Ќа экран монитора выводитс€ ](xk Ц xn)/ Dx [+ 1 пар значений аргумента x с помощью оператора вывода, расположенного внутри тела цикла. —кобки ][ означают, что берЄтс€ цела€ часть от делени€.

ѕример. ¬ычислить значение функции y (x) = x 2+ 1,5 при изменении аргумента x в диапазоне xnxxk с шагом Dx. ¬ывести таблицу значений x и y.

¬изуальное представление алгоритма решени€ задачи в виде цикла типа Ђѕќ јї с предусловием дано на рисунке 9.13

 

–ис. 9.13. ¬изуальное представление алгоритма табулировани€ функции в виде цикла типа Ђѕќ јї − цикл с предусловием

 

Ёто цикл с заданным числом повторений ](xk Ц xn)/ Dx [ + 1. ѕеред первым выполнением цикла необходимо задать начальное значение аргумента x, равное xn, а затем ](xk Ц xn)/ Dx [ + 1 раз выполнить вычисление и вывод значений функции y. ѕри каждом новом выполнении цикла необходимо измен€ть аргумент на величину шага, равного Dx. „тобы процесс не был бесконечным, необходимо задать условие повторени€ или окончани€ цикла.

¬ схеме циклического алгоритма присутствуют об€зательные блоки в этих структурах: установка начального значени€ параметра (блок 4), проверка услови€ достижени€ конечного значени€ параметра (блок 5), изменение параметра (блок 8).

“елом данного циклического процесса €вл€ютс€ блоки 5, 6, 7 и 8. ѕараметром данного цикла €вл€етс€ переменна€ x.

ѕредставим данную схему циклического алгоритма с помощью цикла типа ЂƒЋяї, или цикла с параметром, который €вл€етс€ модификацией цикла Ђѕќ јї дл€ ситуации, когда заранее известно количество повторений некоторых действий. ¬ этом случае все три необходимых блока Ц блок 4, блок 5 и блок 8 Ц собираютс€ в один блок Ц блок 4 (рис. 9.14), в котором указываютс€ начальное и конечное значени€ параметра и шаг изменени€.

 

 

–ис. 9.14. ¬изуальное представление алгоритма табулировани€ функции в виде цикла типаЂƒЋяї, или цикла с параметром

 

Ќа рисунке 9.14 блок 4 дл€ большей нагл€дности изображЄн в ЂразвЄрнутомї виде. ќбщеприн€тым €вл€етс€ компактное изображение такого блока в виде символа Ђѕодготовкаї (рис. 9.15). »менно такое представление мы будем использовать в дальнейшем. ≈сли dx отсутствует, то по умолчанию dx = 1.

 

 

–ис. 9.15. ѕредставление цикла с параметром символом Ђѕодготовкаї

 

ѕриведем несколько тестовых заданий с решени€ми.

“естовое задание 9.9.

”кажите, какие результаты будут выведены на экран монитора при выполнении следующего фрагмента алгоритма (рис. 9.16):

 

–ис. 9.16. –исунок к заданию 9.9

 

–ешение

  Ѕлок 1. ѕеременной x присваиваетс€ значение 5, x =5.
цикл Ѕлок 2. ¬ычисл€етс€ значение переменной y = x 2+2=52+2=27. Ѕлок 3. Ќа экран монитора вывод€тс€ значени€ переменных x = 5 и y = 27. Ѕлок 4. ѕеременной x присваиваетс€ новое значение: x = x + 2 = 5 + 2 = 7. Ѕлок 5. ¬ыполн€етс€ проверка услови€ x ≤ 10; подставл€€ новое значение x = 7, получим 7 ≤ 10; условие выполн€етс€, следовательно, после блока 5 выполн€етс€ блок 2.
цикл Ѕлок 2. ¬ычисл€етс€ значение переменной с новым значением x = 7, y = x 2 + 2 = 72 + 2 = 51. Ѕлок 3. Ќа экран вывод€тс€ значени€ переменных x = 7 и y = 51. Ѕлок 4. ѕеременной x присваиваетс€ новое значение: x = x + 2 = 7 + 2 = 9. Ѕлок 5. ¬ыполн€етс€ проверка услови€ x ≤ 10; подставл€€ новое значение x = 9, получим 9 ≤ 10; условие выполн€етс€, следовательно, после блока 5 выполн€етс€ блок 2.
цикл Ѕлок 2. ¬ычисл€етс€ значение переменной с новым значением x = 9, y = x 2+2=92+2=83. Ѕлок 3. Ќа экран вывод€тс€ значени€ переменных x = 9 и y = 83. Ѕлок 4. ѕеременной x присваиваетс€ новое значение: x = x + 2 = 9 + 2 = 11. Ѕлок 5. ¬ыполн€етс€ проверка услови€ x ≤ 10; подставл€€ новое значение x = 11, получим 11 ≤ 10; условие не выполн€етс€, следовательно, после блока 5 выполн€етс€ выход из данного фрагмента алгоритма.

“аким образом, данный фрагмент алгоритма описывает задачу табулировани€ (получение таблицы) функции y = f (х) = x 2+2. ¬ычисл€ютс€ значени€ этой функции при параметре цикла х, измен€ющемс€ с посто€нным шагом Dx = 2 в заданном диапазоне от начального значени€ аргумента x n =5 до конечного значени€ xk = 10. Ќа экран выводитс€ ](xk Ц xn)/ Dx [+ 1=3 пар значений аргумента x с помощью блока вывода, расположенного внутри тела цикла. –езультатом выполнени€ данного циклического алгоритма €вл€етс€ следующий список значений (аргумента x и функции y):

 

5 27

7 51

9 83

 

“ак как в алгоритме сначала выполн€етс€ действие, а потом проверка окончани€ циклического процесса, следовательно, в данном алгоритме реализована разновидность базовой управл€ющей структуры Ђцикл с постусловиемї типа Ђƒќї.

Ѕлоки 2÷5 €вл€ютс€ телом цикла. ѕеременна€ x − параметр цикла.  оличество повторений цикла − 3.

Ётот же алгоритм может быть реализован в виде Ђцикла с предусловиемї (рис. 9.13) и Ђцикла с параметромї (рис. 9.14).

 

“естовое задание 9.10.

”кажите, какие результаты будут выведены на экран монитора при выполнении следующего фрагмента алгоритма (рис. 9.17):

 

 

–ис. 9.17. ¬изуальное представление алгоритма накоплени€ суммы

 

–ешение.

  Ѕлок 1. ѕеременной Y присваиваетс€ значение 0, Y = 0.
цикл Ѕлок 2 представл€ет собой символ Ђподготовкаї. ≈го назначение − заголовок цикла (рис. 9.14, блок 4 и рис.9.15), в котором указываетс€ начальное (i н=1), конечное значение параметра цикла i (iк =4) и шаг его изменени€ (i ш=1). —ледовательно, на данном шаге параметр цикла принимает начальное значение i =1. Ѕлок 3. ѕеременна€ y принимает новое значение y = y + i =0+1=1. ѕосле блока 3 выполн€етс€ блок 2.
цикл Ѕлок 2. —огласно назначению блока 2, который представл€ет собой заголовок цикла (рис. 9.15), на следующем этапе переменна€ цикла i принимает новое значение, увеличенное на шаг i = i +1=1+1=2, после этого провер€етс€ условие окончани€ циклического процесса путем сравнени€ текущего значени€ параметра цикла i и его конечного значени€ − i ≤ 4? Ќа данном этапе условие 2 ≤ 4 выполн€етс€, следовательно, блок 3 повтор€етс€ дл€ нового значени€ i. Ѕлок 3. ѕеременна€ y принимает новое значение y = y + i = 1+2=3. ѕосле блока 3 выполн€етс€ блок 2.
цикл Ѕлок 2. ѕеременна€ цикла i принимает новое значение, увеличенное на шаг i = i +1=2+1=3, после этого провер€етс€ условие окончани€ циклического процесса путем сравнени€ текущего значени€ параметра цикла i и его конечного значени€ − i ≤ 4? Ќа данном этапе условие 3 ≤ 4 выполн€етс€, следовательно, блок 3 повтор€етс€ дл€ нового значени€ i. Ѕлок 3. ѕеременна€ y принимает новое значение y = y + i =3+3=6. ѕосле блока 3 снова выполн€етс€ блок 2.
цикл Ѕлок 2. ѕеременна€ цикла i принимает новое значение, увеличенное на шаг i = i + 1 = 3 + 1 = 4, после этого провер€етс€ условие окончани€ циклического процесса путЄм сравнени€ текущего значени€ параметра цикла i и его конечного значени€ − i ≤ 4? Ќа данном этапе условие 4 ≤ 4 выполн€етс€, следовательно, блок 3 повтор€етс€ дл€ нового значени€ i. Ѕлок 3. ѕеременна€ y принимает новое значение y = y + i =6+4=10. ѕосле блока 3 снова выполн€етс€ блок 2.
  Ѕлок 2. ѕеременна€ цикла i принимает новое значение, увеличенное на шаг i = i+1=4+1=5, после этого снова провер€етс€ условие окончани€ циклического процесса путЄм сравнени€ текущего значени€ параметра цикла i и его конечного значени€ − i ≤ 4? Ќа данном этапе условие 5 ≤ 4 не выполн€етс€, следовательно, происходит окончание циклического процесса. ѕосле блока 2 в этом случае выполн€етс€ блок 4.
  Ѕлок 4. Ќа экран монитора выводитс€ y = 10.  

 

 оличество повторений цикла − 4.

Ќетрудно увидеть, что в данном фрагменте описан алгоритм накоплени€ суммы, в данном алгоритме y = 0+1+2+3+4.

ѕрисвоение начального значени€ переменной y, в которой накапливаетс€ сумма, выполн€етс€ перед циклом. ¬ывод результата, поскольку он единственный, осуществл€ют после окончани€ работы цикла.

 

“естовое задание 9.11.

”кажите, какие значени€ примут переменные a и b после выполнении€ следующего фрагмента алгоритма (рис 9.18):

 

 

–ис. 9.18. ‘рагмент схемы алгоритма к заданию 9.11

 

–ешение.

¬ыполним алгоритм последовательно.

  Ѕлок 1. а =1, b =1.
цикл Ѕлок 2. a = 4? 1 = 4? Ќет, следовательно, выполн€ем блок 3. Ѕлок 3. a = a +1=1+1=2, b = b + a =1+2=3. ѕосле блока 3 согласно схеме алгоритма всегда выполн€етс€ блок 2.
цикл Ѕлок 2. a = 4?, 2=4? Ќет, следовательно, выполн€ем блок 3. Ѕлок 3. a = a +1=2+1=3, b = b + a =3+3=6. ѕосле блока 3 всегда выполн€етс€ блок 2.
цикл Ѕлок 2. a = 4? 3 = 4? Ќет, следовательно, выполн€ем блок 3. Ѕлок 3. a = a +1=3+1=4, b = b + a =6+4=10.
  Ѕлок 2 a=4? 4=4? ƒа, следовательно, происходит выход из цикла.

 

ѕеременна€ b после окончани€ циклического процесса равна 10, а переменна€ а прин€ла значение 4. ƒанный алгоритм представл€ет собой Ђцикл с предусловиемї.  оличество повторений тела цикла равно 3.

 





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-01-29; ћы поможем в написании ваших работ!; просмотров: 1874 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

Ѕутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Ќеизвестно
==> читать все изречени€...

591 - | 632 -


© 2015-2023 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.016 с.