- •Министерство образования Российской Федерации Южно-Уральский Государственный Университет Кафедра промышленной теплоэнергетики
- •Построение алгоритмов с простейшей структурой
- •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 .Записать
инструкцию для задания переменной К
исходного значения 2
и инструкцию для увеличения её текущего
значения на 3.
1.2 .Записать
инструкцию для присвоения переменой
Т
значения,
которое имеет переменная Р.
Сохранится
ли при этом
значение переменной Р?
1.3 .Составить
алгоритм для вычисления скорости
свободно падающего тела через 7, 19 и
43 секунд. после
начала падения. Предусмотреть вывод
результатов вычислений.
Контрольные задания
Рис.1.
2. Циклы в алгоритмах
Рассмотрим алгоритм вычисления величины
(1)
при любых заданных Р и N, где N—положительное целое число. Такой алгоритм не может быть линейным, ибо в инструкциях присваивания не допускаются выражения с непостоянным числом слагаемых (многоточия недопустимы), а для постепенного накопления суммы, указанной в (1), путём прибавления по одному слагаемому потребовалось бы непостоянное число инструкций присваивания, что также недопустимо.
Имеется
иная возможность. Инструкцией
,
в которой используется общий вид
слагаемого, можно осуществить постепенное
накопление суммы, если предварительно
выполнено действие С
:=
0 и если показано, что эта инструкция
выполняется многократно — для значений
i
:= l, 2, 3, ...,
N—1,
N.
Это можно изобразить, например, следующими
двумя способами.
1. В блок-схеме изображают цикл — замкнутый контур, образуемый блоками и линиями потока. Тем самым и показывается неоднократное выполнение блоков, составляющих цикл.
Для
того чтобы при каждом новом выполнении
инструкции
выражение
представляло
новое слагаемое, в цикле вслед за этой
инструкцией должна выполняться
инструкция
i
:=
i
+ l,
что и обеспечивает последовательность
значений
i:
1, 2, 3 и т. д., если до цикла выполнено
действие
i:=l.
Изменяя
свое значение в цикле, переменная С
представляет сумму постепенно нарастающего
числа слагаемых вида
.
Инструкции
цикла не должны выполняться бесконечно:
последним слагаемым должно быть слагаемое
(значение
N
задано). Поэтому в контур цикла включается
блок проверки текущего значения i.
Если это значение еще не превышает N,
то
вновь
выполняются
инструкции
. Когда
значение i
превысит
N,
их выполнение должно прекращаться.
Поэтому указанный блок, в общем случае
называется блоком
проверки условия
(в данном случае —условия
i
N). Он изображается
с двумя выходами (рис.2): линия потока,
изображающая один из выходов, входит в
контур цикла, другая линия потока,
соответствующая случаю
i
> N,
связывает данный блок с тем блоком,
который должен исполняться по окончании
цикла. Надписи “да” и “нет”, записываемые
возле выходов, соответствуют случаям
выполнения и невыполнения условия, в
блоке 6. Переменная,
значение
которой изменяется в цикле (возрастает
или убывает) в заданных пределах и
определяет момент окончания цикла,
называется параметром
цикла
(в примере - i).
Инструкции
задания начального значения параметра
цикла, его изменения и проверки
обеспечивают организацию цикла, являясь
вспомогательными действиями (см. на
рис. 2 блоки 3, 5, 6).
2. Поскольку случай изменения параметра цикла по закону арифметической прогрессии типичен, используется специальная инструкция цикла – заголовок (третья по счету в записанном ниже алгоритме), позволяющая сократить запись алгоритма:
1 ВВОД N,P
2 C=0
3 ВЫПОЛНИТЬ ДО 4 (включительно) ДЛЯ i=1,N
4 C=C+1/i
5 X=P•C
6 ВЫВОД Х
Рис. 3
.
Данная запись алгоритма полностью эквивалентна блок-схеме рис. 3: запись i := l, N означает, что значение i изменятся от 1 до N с шагом 1. Для каждого из этих значений вновь и вновь выполняются инструкции, написанные ниже заголовка цикла (инструкция 3), вплоть до той, номер которой указан в заголовке цикла (в данном случае повторно выполняется одна 4-я инструкция). Лишь по окончании всех заданных выполнений инструкции 4 выполняется инструкция 5 и последующие.
Если шаг приращения параметра цикла неравен 1, то этот шаг указывается как последний элемент в записи заголовка цикла. Например, запись К:=1, 50, 2 означала бы, что исходное значение параметра цикла К равно 1, затем К увеличивается на 2, пока не достигнет значение 50.
В языке ФОРТРАН рассматриваемая инструкция заголовка цикла записывается в виде DO 4 I=1,N (DO в переводе с английского означает “выполнять”). В последних версиях ФОРТРАНА допускается запись заголовка цикла без указания номера конечной выполняемой в цикле инструкции, например, DO I=1,N. В этом случае за конечной инструкцией цикла (нашем случае за инструкцией 4) записывается строка: END DO.
Полный текст двух вариантов программ вычисления величины Х согласно блок-схемам рис. 2 и рис.3 приводится ниже.
READ*,N,P C
= 0 I
= 1 C=C+1./I
I = I + 1 IF(I.
LE. N) GO TO 4
X=PC
PRINT*,X
STOP END
Read*, N,P C
= 0 DО
i=1,N C = C + 1./i End
DО X
= X * P Print*,
' X = '
, X Stop
End
Инструкцию цикла разрешается использовать и в блок-схемах. Следует, однако, понимать, что она представляет собой известную условность, а фактически выполняемые ЭВМ действия показывают развернутые блок-схемы типа показанной на рис. 2.
Хотя составляющие цикла, обозначенные на рис. 2, могут иметь различное взаимное положение, инструкция цикла предполагает тот их порядок, который показан на рис. 2 и рекомендуется как основной (отступления от него нежелательны).
