- •Министерство образования Российской Федерации Южно-Уральский Государственный Университет Кафедра промышленной теплоэнергетики
- •Построение алгоритмов с простейшей структурой
- •1. Исходные понятия
- •Контрольные задания
- •2. Циклы в алгоритмах
- •3.Контрольные задания
- •4. Домашнее задание по лабораторной работе № 1
- •5. Указания к выполнению домашнего задания.
- •Перечень пунктов
- •Построение алгоритмов с разветвляющейся структурой.
- •1. Сущность разветвлений.
- •Элементы разветвлений
- •Построение разветвлённых циклов, управляемых параметром.
- •Контрольные задания
- •4. Программирование разветвленных алгоритмов
- •Print*, ' введите значение X '
- •Print*, ' введите значение X '
- •Домашнее задание по лабораторной работе №2
- •Лабораторная работа № 3 построение алгоритмов с итерационными циклами
- •Итерационные циклы
- •Контрольное задание по лабораторной работе
- •Контрольное задание
- •Домашнее задание по лабораторной работе № 3.
- •Перечень задач.
- •Лабораторная работа № 4 программирование процедур фортрана
- •1. Внутренние функции
- •7 Print*,’ Требуемое условие не выполняется’
- •7 Print*,’ Требуемое условие не выполняется’
- •2. Внешние функции
- •3. Подпрограммы
- •4. Рекомендации по программированию процедур фортраНа
- •Список литературы
Построение разветвлённых циклов, управляемых параметром.
Приёмы построения разветвленных циклов рассмотрим на примере.
Пример 3. Пусть переменная Х принимает N произвольно заданных значений (задание этих значений осуществляется инструкцией ввода).
Требуется построить алгоритм, который выполняет следующие действия:
а) выводит на печать отрицательные значения и подсчитывает их сумму S;
б) находит среднее арифметическое S1 неотрицательных значений;
в) подсчитывает количество К нулевых значений.
Заметим, что среднее арифметическое SA может быть найдено лишь после подсчета количества К1 положительных и нулевых значений и суммы S1 этих значений. Данный алгоритм должен содержать цикл, ибо количество проверок значений Х выражено переменной N.
За одно исполнение инструкции ввода переменной Х можно задать лишь одно из искомых значений, следовательно, действие ВВОД Х должно исполняться в цикле, предшествуя прочим действиям цикла.
Составим тело цикла, где будет отражаться анализ значения Х и изменение значений переменных К, S, К1, S1. Затем представим изменение параметра цикла и управление циклом как последнее из повторяемых действий. В качестве параметра цикла должен использоваться номер i рассматриваемого значения, ибо эта величина по ходу вычислений изменяется в заданных пределах (от 1 до N) по закону арифметической прогрессии.
Для построения цикла необходимо во всех деталях представить процесс, который требуется реализовать, в частности - взаимоисключающие действия (см. табл.2.1).
Таблица 2.1
Случай Д е й с т в и я
Х < 0 S = S + X
В ы в о д Х
X = 0 K = K + 1
K1 = K1 + 1
X > 0 S1 = S1 + X
Один из вариантов построения тела цикла показан на рис. 2.3, где оно очерчено пунктиром. В блок - схеме каждый блок, кроме ОСТАНОВА, должен быть связан линией потока со следующим (следующими). Нередко соединение блоков представляет проблему для
обучаемого. Всякий раз, когда она возникает, следует задаваться вопросом: “ Какое действие должно быть следующим в реализуемом процессе вычислений? “.
В рассматриваемом примере вне зависимости от того, каким оказалось значение Х и обусловленные этим действия ( см. табл.2.1), далее должен осуществляться переход к следующему значению Х. Значит, должно измениться значение номера i ( блок 12 ). Следовательно, любые пути протекания процесса, изображаемые в теле цикла, должны заканчиваться входом в блок 12.
Для определения места инструкции SA=S1/K1 нужно осознать, что значения S1 и К1 могут рассматриваться как окончательные только после просмотра всех значений Х. Следовательно, инструкция SA=S1/K1 должна выполняться после цикла, до вывода результатов.
Инструкция ВЫВОД Х (блок 7), выводящая отрицательные значения Х, должна входить в цикл, ибо при выявлении такого значения оно должно безотлагательно выводиться (на дисплей, принтер). Иначе при очередном выполнении инструкции ВВОД Х (блок 4) это число будет утеряно вследствие замены значения Х.
Рис 2.3.