![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Вложенный цикл⇐ ПредыдущаяСтр 70 из 70
Требуется ввести в ЭВМ элементы матрицы A, содержащей n строк и m столбцов. В структурограмме (рис. П.3.10) внутренний цикл организован по параметру j, а внешний – по i. Легко убедиться, что в данном примере ввод элементов матрицы производится по строкам. Рис. П.3.10. Структурограмма Суммируя сказанное, отметим, что программирование циклических процессов разбивается на три этапа: · вход в цикл, т. е. задание действий, которые обеспечили бы корректное значение условия до выполнения цикла; · тело цикла, содержащего повторяющуюся вычислительную часть и действия по изменению условия; · выход из цикла, т. е. задание критериев останова. Особенно важно в операторах цикла WHILE-DO и REPEAT-UNTIL обращать внимание на включение в тело цикла действий, изменяющих условие. Если тело цикла никак не влияет на условие, цикл может оказаться бесконечным. Подводя итог рассмотрению приемов программирования, отметим, что с помощью трех описанных выше базовых структур СЛЕДОВАНИЕ, РАЗВЕТВЛЕНИЕ и ЦИКЛ реализуется алгоритм любой сложности. Для иллюстрации изобразим структурограмму (рис. П.3.11) вычисления функции для схемы алгоритма (рис. П.2.3). Как видно из примера (рис. П.3.11), полученный алгоритм хорошо структурирован, легко читаем и не требует для своего изображения больших графических навыков. Именно данный способ графического изображения алгоритмов может быть рекомендован для описания сложных программных модулей. Любую базовую структуру можно представить в виде функционального модуля, имеющего, как и базовая структура, один вход и один выход. Совокупность функциональных модулей может образовывать новые базовые структуры и модули. Этот последовательный процесс приводит к тому, что любой алгоритм может быть представлен в итоге одним функциональным блоком. Функциональный модуль представляет собой совокупность логически связанных операторов, выполняющих некоторое законченное действие, и имеет один вход и один выход. Рис. П.3.11. Структурограмма вычисления функции Возможен и обратный подход, когда путем постепенной детализации функциональный модуль высокого уровня разворачивается в предельном случае до уровня операторов. Операторы языка программирования являются минимальными компонентами, из которых строятся модули. Разнообразие операторов в языках программирования даже высокого уровня сравнительно невелико и составляет величину порядка 50–100 типов. Однако с повышением уровня языка программирования возрастает функциональная сложность операторов, т. е. число машинных команд ЭВМ, требуемых для его выполнения. Функциональные или программные модули решают небольшую функциональную задачу и реализуются, как правило, 10–100 операторами языка программирования высокого уровня. Упомянутые выше приемы функциональной композиции (объединения) и декомпозиции (разбиения) задач относятся к области технологии конструирования программ и определяют структурный подход к разработке алгоритмов и программ.
ЛИТЕРАТУРА 1. Язык программирования C / Б. Керниган, Д. Ритчи. – М.: Финансы и статистика, 1992.
|