Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Вложенный цикл






Требуется ввести в ЭВМ элементы матрицы 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.
2. Язык C: книга ответов / К. Тондо, С. Гимпел. – М.: Финансы и статистика, 1994.
3. Полный справочник по С / Пер. с англ. – М.: ИД «Вильямс», 2004. – 704 с.: ил.
4. Язык программирования С: лекции и упражнения / С. Прата. – СПб: ООО «ДиаСофтЮП», 2002. – 896 с.
5 Язык программирования C++. / Б. Страуструп. – СПб: Невский Диалект; –М.: БИНОМ, 1999. – 991 с.
6. Профессиональное программирование на языке С: От Turbo С к Borland C++: справочное пособие / А. И. Касаткин, А. Н. Вальвачев. – Минск: Высшая школа, 1992. – 240 с.
7. Управление ресурсами: справочное пособие / А. И. Касаткин. – Минск: Высшая школа, 1992. – 432 с.
8. Начальный курс С и C++ / Б. И. Березин, С. Б. Березин. – М.: ДИАЛОГ-МИФИ, 2001. – 288 с.
9. Справочник программиста по C/C++ / Г. Шилдт. – М.: ИД Вильямс, 2003. – 432 с.
10. Просто и ясно о Borland C++ / Б. Бабэ – М.: БИНОМ, 1994. – 400 с.
11. Объектно-ориентированный анализ и проектирование с примерами приложений на C++ / Г. Буч – М.: БИНОМ, 1998. – 558 с.
12. Основы объектно-ориентированной разработки программных систем / А. Л. Фридман – М.: Финансы и статистика, 2000. – 190 с.
13. CASE структурный системный анализ (автоматизация и применение) / Г. Н. Калянов – М.: ЛОРИ, 1996. – 242 с.
14. Технологии разработки программного обеспечения: учебник / С. Орлов. – СПб: Питер, 2002. – 464 с.
15. Программирование на Visual C++ 6.0: учебный курс / С. В. Глушаков, А. В. Коваль, С. А. Черепнин. – Харьков: Фолио, 2002. – 726 с.
16. Программирование для Windows 95. Т.1 / Ч. Петзолд. – СПб: BHV-Санкт-Петербург, 1997. – 752 с.
17. Азбука программирования в Win32 API / В. П. Румянцев. – М.: Горячая линия-Телеком, 2001. –312 с.
18. Справочник по функциям Win32 API / Р. Д. Верма. – М.: Горячая линия-Телеком, 2002. – 488 с.
19. Visual C++ 6 и MFC. Энциклопедия пользователя / Ю. Олафсен, К. Скрайбнер, К. Д. Уайт. – Киев: ДиаСофт, 2000. – 720 с.
20. Visual C++ 5: освой самостоятельно / H. Гуревич, О. Гуревич. – М.: БИНОМ, 1998. – 624 с.
21. Microsoft Visual C++ и MFC. Программирование для Windows 95 и NT / А. В. Фролов, Г. В. Фролов. – М.: ДИАЛОГ-МИФИ, 1996. – 288 с. (Библиотека системного программиста. Т. 24).
22. Microsoft Visual C++ и MFC. Программирование для Windows 95 и NT / А. В. Фролов, Г. В. Фролов. – М.: ДИАЛОГ-МИФИ, 1997. – 272 с. (Библиотека системного программиста. Т. 28.).

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.