- •Министерство образования Российской Федерации Южно-Уральский Государственный Университет Кафедра промышленной теплоэнергетики
- •Построение алгоритмов с простейшей структурой
- •1. Исходные понятия
- •Контрольные задания
- •2. Циклы в алгоритмах
- •3.Контрольные задания
- •4. Домашнее задание по лабораторной работе № 1
- •5. Указания к выполнению домашнего задания.
- •Перечень пунктов
- •Построение алгоритмов с разветвляющейся структурой.
- •1. Сущность разветвлений.
- •Элементы разветвлений
- •Построение разветвлённых циклов, управляемых параметром.
- •Контрольные задания
- •4. Программирование разветвленных алгоритмов
- •Print*, ' введите значение X '
- •Print*, ' введите значение X '
- •Домашнее задание по лабораторной работе №2
- •Лабораторная работа № 3 построение алгоритмов с итерационными циклами
- •Итерационные циклы
- •Контрольное задание по лабораторной работе
- •Контрольное задание
- •Домашнее задание по лабораторной работе № 3.
- •Перечень задач.
- •Лабораторная работа № 4 программирование процедур фортрана
- •1. Внутренние функции
- •7 Print*,’ Требуемое условие не выполняется’
- •7 Print*,’ Требуемое условие не выполняется’
- •2. Внешние функции
- •3. Подпрограммы
- •4. Рекомендации по программированию процедур фортраНа
- •Список литературы
Построение алгоритмов с разветвляющейся структурой.
1. Сущность разветвлений.
Методы решения большинства задач предусматривают выбор пути протекания процессов вычислений в зависимости от исходных или промежуточных данных. Соответствующие алгоритмы являются обобщенными описаниями процессов, представляющих ход решения задачи при различных допустимых значениях исходных данных. Весьма важную роль при этом имеют инструкции проверки условий, предписывающие ЭВМ автоматический выбор того или иного пути протекания процесса в зависимости от условий, указанных программистом в этих инструкциях.
Пример 1. Если заданы величины p , q , r , s и нужно подсчитать количество М тех из них, которые превышают заданную величину a , то в ЭВМ это нельзя сделать иначе, как последовательной проверкой значений величин и увеличением на 1 значения М всякий раз, когда обнаруживается величина большая, чем a. Исходным значением М должен быть 0. Cледовательно, ЭВМ должна производить выбор очередного действия после рассмотрения каждой из величин p , q , r , s . Блок - схема соответствующего алгоритма показана на рисунке 2.1.
Данный алгоритм показывает характер проведения процесса при различных исходных данных. Например, величины p , q , r , s могут оказаться меньше a (все) и тогда блоки 4, 6, 8, 10 не выполняются, т.е. значение М останется равным 0.
КОНТРОЛЬНЫЕ ЗАДАНИЯ
I.I. Указать на рис. 2.1 номера блоков, исполняемых в случае, если величины g и r оказались больше a , а величины p и s – меньше a.
I.II. Укажите тип (целый, вещественный), который должна иметь переменная М, обоснуйте.
I.III. Построить иной алгоритм для решения данной задачи, в котором:
а) для представления исходных данных используется переменная a и переменная Х, принимающая поочередно значения проверяемых величин;
б
Рис. 2.1.
в) до цикла выполняются действия ВВОД a и М = 0.
Ответ к заданию I.III дан в конце описания лабораторной работы.
Элементы разветвлений
Пример 2. Заданы длины l1 , l2 , l3 сторон треугольника, являющиеся значениями целого типа, причем такими, что сумма двух любых из них больше третьего. Необходимо, чтобы ЭВМ отпечатала сообщение: “ПРЯМОУГОЛЕН” в случае прямоугольности треугольника, либо сообщения “НЕПРЯМОУГОЛЕН“ - в противном случае.
Один из возможных алгоритмов решения задачи, показанный на рис. 2.2, сначала выявляет длину М наибольшей стороны, а затем проверяет, равен ли ее квадрат сумме квадратов длин других сторон. Для упрощения алгоритма
у
Рис. 2.2.
ветвями. Ветви 1 и 2 (см. рис.2.2) и сами по себе являются разветвленными, ибо каждая из них образована блоком проверки условия и двумя элементарными ветвями- инструкциями присваивания.
Особенностью разветвлений в примере 1 (рис.2.1) являются пустые ветви, изображаемые линиями потока между 3,5,7 и 9 блоками. Нередко ветви, относящиеся к разным разветвлениям, или их части могут быть совмещены, как, например, блоки 4 и 7 (см. рис.2.2).
Разветвленные участки могут входить в состав циклов, а циклы, в свою очередь, могут быть элементами разветвлений. Например, если бы потребовалось за одно исполнение алгоритма рассмотреть серию треугольников с заданными сторонами, то блоки 1 …11 (рис.2.2) составили бы разветвленное тело цикла, а за ним следовали бы изменение параметра цикла (номера треугольника) и управление циклом.