КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Примеры комбинации основных алгоритмических структур
Способы комбинации базовых управляющих структур (основных алгоритмических конструкций)
Структуры можно комбинировать одну с другой двумя путями: − следования структур друг за другом (рис. 9.19): − создания суперпозиций – вложение одной структуры в другую (рис. 9.20).
Ветвящийся процесс, включающий в себя две ветви, называется простым (рис. 9.3). Если ветвь S 1 либо S 2 тоже представляет собой структуру «ВЕТВЛЕНИЕ », то ветвящийся процесс называют сложным. Сложный ветвящийся процесс содержит более двух ветвей.
Пример. Рассмотрим пример сложного ветвящегося вычислительного процесса. Вычислить значение функции: a x, если x < 1 Y (x)= x 2, если 1 ≤ x ≤ 3 , если x > 3 для x = 0,1, x = 2,5, x = 16, a = 1. Схема алгоритма решения представлена на рисунке 9.21.
Рис. 9.21. Визуальное представление сложного ветвящегося алгоритма решения задачи в виде блок-схемы
Как видно из схемы алгоритма, здесь одна структура «Ветвление» вложена внутрь другой. При x < 1 блоки выполняются в следующей последовательности: 1, 2, 3, 7, 8, 9. Таким образом, если x < 1, в блоке 7 вычисляется . При 1 ≤ x ≤ 3 последовательность выполнения блоков: 1, 2, 3, 4, 6, 8, 9. Следовательно, если 1 ≤ x ≤ 3 в блоке 6 будет вычислено . Если x >3, блоки выполняются в следующей последовательности: 1,2, 3, 4, 5, 8, 9, т.е. при x > 3, в блоке 5 будет вычислено . Полученные результаты соответствуют условию задачи.
Циклы также могут быть вложены один в другой. Циклы, которые не содержат внутри себя других циклов, называются простыми. Сложный цикл с количеством вложений, равным двум, называют «цикл в цикле», внутренний цикл вложен внутрь внешнего цикла.
Пример. Фрагмент блок-схемы алгоритма, описывающий процесс «цикл в цикле», представлен на рисунке 9.23. Данный фрагмент описывает алгоритм вычисления таблицы Пифагора. Таблица Пифагора. 1*1 1*2 1*3 1*4 1*5 1*6 1*7 1*8 1*9 1*10 2*1 2*2 2*3 2*4 2*5 2*6 2*7 2*8 2*9 2*10 3*1 3*2 3*3 3*4 3*5 3*6 3*7 3*8 3*9 3*10 4*1 4*2 4*3 4*4 4*5 4*6 4*7 4*8 4*9 4*10 5*1…………………………………………………………… 6*1…………………………………………………………… 7*1……………………………………………………………. 8*1……………………………………………………………. 9*1……………………………………………………………. 10*1 10*2 10*3 10*4 10*5 10*6 10*7 10*8 10*9 10*10
Обозначим строку – i, а столбец – j. Внутри внутреннего цикла элемент таблицы Пифагора равен i * j. Чтобы вывести на экран монитора 1-ю строку, следует составить простой цикл, представленный на рисунке 9.22.
Рис. 9.22. Визуальное представление алгоритма, выводящего на экран 1-ю строку таблицы Пифагора
Выполним алгоритм последовательно.
Таким же образом последовательность блоков 2, 3 и 4 будет повторяться для j=3, 4, 5, 6, 7, 8, 9. …………………………………………….
Чтобы вычислить все 10 строк, нужно менять строку i. Для этого данный простой цикл по параметру j (столбец) нужно вставить внутрь внешнего цикла по параметру i (строка) (рис. 9.23).
Рис. 9.23. Визуальное представление алгоритма сложного цикла с количеством вложений, равным двум
Представим последовательное выполнение алгоритма в следующем наглядном виде: i = 1 j =1 вывод i * j =1*1; j =2 вывод i *j=1*2; j =3 вывод i * j =1*3; ……………………….. j =10 вывод i * j =1*10. j = j +1=10+1=11 11 ≤ 10? Нет, следовательно, после блока 5 выполняется блок 6, который увеличивает параметр i = i +1=1+1=2, переходим ко второй строке. Внутренний цикл по параметру j (столбец) повторяется для параметра i = 2, т.е. для второй строки. i = 2 j = 1 вывод i * j = 2*1; j =2 вывод i * j = 2*2; J = 3 вывод i * j = 2*3; ………………………… J = 10 вывод i * j = 2*10. Таким же образом повторяется выполнение цикла для 3, 4, 5, 6, 7, 8, 9 и 10 строки. После этого i принимает значение 11, проверяется условие 1 ≤ 10, условие не выполняется, и происходит окончание циклического процесса. Визуальное представление алгоритма сложного цикла с количеством вложений, равным двум, можно представить с использованием символа «Подготовка» (рис. 9.24).
Рис. 9.24. Визуальное представление алгоритма сложного цикла с количеством вложений, равным двум, с использованием символа «Подготовка»
Дата добавления: 2014-10-22; Просмотров: 1182; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |