Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 298; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.045 сек.