КАТЕГОРИИ: Архитектура-(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) |
Вложенный цикл
Итерационный цикл Программирование циклических процессов Практическое занятие 1. Изобразите структурограмму вычисления функции
2.
Арифметический цикл (цикл с параметром) Требуется вычислить набор значений функции f (x) для заданного набора значений аргумента х. Формирование набора значений аргумента определяется одним из двух вариантов. А. Заданы начальное значение аргумента xn, шаг его изменения dx и количество точек счета k; тогда набор значений аргумента формируется по правилу: xi = xn + (i – 1) dx, где i = 1, 2, 3, …, k. Б. Заданы начальное и конечное значения аргумента xn и xk и шаг его изменения dx; набор значений аргумента формируется по тому же правилу, но предварительно требуется вычислить количество точек счета k: , где int() – целое от (). Данные задачи носят название задач табулирования, т. е. вычисления таблицы значений функции. Пример решения задачи табулирования для вычисления набора значений функции y = sin x с шагом dx приведен на рисунке.
Определить минимальное целое N, для которого выполняется условие N 3 – 820 N + 1 > 100. Задача решается последовательным перебором значений N до достижения желаемого результата. Обозначив левую часть неравенства как S, получаем два условия: продолжение цикла S ≤ 100; выход из цикла S > 100. Структурограммы решения этой задачи с помощью циклов WHILE-DO и REPEAT-UNTIL приведены на рисунке, а и б соответственно.
Итерационный цикл применяется при вычислениях значения функции, представленной разложением в некоторый ряд. Требуется вычислить значение функции y = sin x для данного значения аргумента x с заданной точностью путем разложения функции в степенной ряд
В общем виде Соответствующая структурограмма представлена на рисунке.
Требуется ввести в ЭВМ элементы матрицы A, содержащей n строк и m столбцов. В структурограмме внутренний цикл организован по параметру j, а внешний – по i. Легко убедиться, что в данном примере ввод элементов матрицы производится по строкам.
Структурограмма вложенного цикла (ввод матрицы)
Суммируя сказанное, отметим, что программирование циклических процессов разбивается на три этапа: вход в цикл, т. е. задание действий, которые обеспечили бы корректное значение условия до выполнения цикла; тело цикла, содержащего повторяющуюся вычислительную часть и действия по изменению условия; выход из цикла, т. е. задание критериев останова. Особенно важно в операторах цикла WHILE-DO и REPEAT-UNTIL обращать внимание на включение в тело цикла действий, изменяющих условие. Если тело цикла никак не влияет на условие, цикл может оказаться бесконечным. Подводя итог рассмотрению приемов программирования, отметим, что с помощью трех описанных выше базовых структур СЛЕДОВАНИЕ, РАЗВЕТВЛЕНИЕ и ЦИКЛ реализуется алгоритм любой сложности. Именно данный способ графического изображения алгоритмов может быть рекомендован для описания сложных программных модулей. Любую базовую структуру можно представить в виде функционального модуля, имеющего, как и базовая структура, один вход и один выход. Совокупность функциональных модулей может образовывать новые базовые структуры и модули. Этот последовательный процесс приводит к тому, что любой алгоритм может быть представлен в итоге одним функциональным блоком. Функциональный модуль представляет собой совокупность логически связанных операторов, выполняющих некоторое законченное действие, и имеет один вход и один выход. Возможен и обратный подход, когда путем постепенной детализации функциональный модуль высокого уровня разворачивается в предельном случае до уровня операторов.
Операторы языка программирования являются минимальными компонентами, из которых строятся модули. Разнообразие операторов в языках программирования даже высокого уровня сравнительно невелико и составляет величину порядка 50–100 типов. Однако с повышением уровня языка программирования возрастает функциональная сложность операторов, т. е. число машинных команд ЭВМ, требуемых для его выполнения. Функциональные или программные модули решают небольшую функциональную задачу и реализуются, как правило, 10–100 операторами языка программирования высокого уровня. Упомянутые выше приемы функциональной композиции (объединения) и декомпозиции (разбиения) задач относятся к области технологии конструирования программ и определяют структурный подход к разработке алгоритмов и программ.
Дата добавления: 2014-01-06; Просмотров: 299; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |