Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АПр лб 2008.doc
Скачиваний:
7
Добавлен:
12.11.2018
Размер:
680.45 Кб
Скачать

1.3. Контрольные вопросы

Чем характеризуется разветвляющийся вычислительный процесс?

Какой блок из известных для описания алгоритмов необходимо обяза­тельно использовать для представления разветвляющихся процессов?

Какие условия могут использоваться в блоках “решение” и чему будет равен их результат?

Что представляет собой логическое выражение?

Могут ли разветвленные вычислительные процессы входить в состав других вычислительных процессов и могут ли они содержать в себе другие вычислительные процессы?

Перечислите логические операции, которые могут использоваться в логических выражениях.

Назовите правила вычисления результата в логических операциях «конъюнкция», «дизъюнкция», «инверсия».

1.4. Содержание отчета

Отчет должен содержать: номер работы, ее название, определение цели; алгоритмы по индивидуальным заданиям и краткое их описание; тексты программ по индивидуальным заданиям и краткое их описание; выводы по работе, содержащие анализ результатов работы программы.

1.5. Варианты индивидуальных заданий

Разработать программу, осуществляющую вычисление заданной функции (согласно варианту). Программа должна запрашивать у пользователя х, рассчитывать у и выводить на экран значения х и у с текстовыми комментариями.

Функция

Функция

1

6

2

7

3

8

4

9

5

10

2. Программная реализация циклических вычислительных процессов

2.1. Цель работы

Цель работы – изучение структур повторений, приобретение практических навыков программной реализации циклических вычислительных процессов

2.2. Методические указания по подготовке к лабораторной работе

Изучить теоретический материал: конспект лекций, методические ука­зания к практическим занятиям по соответствующим темам, подготовить ответы на контрольные вопросы, составить алгоритм решения индивидуаль­ного задания, выбранного по варианту (согласно приложению).

В практике расчетов по инженерным и экономическим постановкам задач часто приходится производить многократные вычисления по одним и тем же математическим зависимостям при различных значениях входящих в них величин. Такие многократно повторяющиеся операции вычислительного процесса называются циклами.

Циклический алгоритм - это алгоритм, содержащий многократно выполняемую последовательность операций. Использование циклов позво­ляет значительно сократить схему алгоритма и размер соответствующей ему программы на алгоритмическом языке. По своей организации циклы могут иметь различную структуру.

Арифметическими называются циклы, число повторений которых задано переменной, называемой параметром цикла. Следовательно, количе­ство повторений арифметического цикла может быть определено до его исполнения. Границы параметра цикла и шаг его изменения могут быть заданы константами, переменными величинами или выражениями.

Например, параметр x изменяется в интервале от 1 до 3 с шагом 0,5. Формально это можно представить следующим образом: x[1,3], hx=0.5. Или второй пример – параметр z изменяется в интервале от z0 до zmax с шагом h: z[z0,zmax], hz=h.

Количество повторений цикла рассчитывается по формуле

,

где

[ ] – целая часть числа;

x0 - начальное значение параметра цикла;

xm - конечное значение параметра цикла;

h - шаг изменения параметра.

Арифметические циклы с одним параметром называются простыми. Если цикл содержит внутри себя несколько других циклов, он называется вложенным (кратным).

Для организации простого арифметического цикла необходимо выпол­нить следующие действия:

сформировать исходные данные;

задать начальное значение параметра цикла;

произвести заданные вычисления и печать промежуточных результа­тов;

изменить параметр цикла на величину шага;

проверить, является ли новое значение параметра допустимым, то есть не превышает ли вновь вычисленное значения конечного значения пара­метра. Если не превышает, то производятся очередные вычисления, процесс повторяется; в противном случае осуществляется выход из цикла. Последнее действие является условием окончания цикла, так как если его не задать, работа цикла будет бесконечной.

Рассмотрим пример организации простого арифметического цикличе­ского вычислительного процесса.

Пример 2.1. Вычислить и вывести на печать все значения функции

где x[c,d], hx=h, a=3,04.

Алгоритм решения задачи приведен на рисунках 2.1 (а) - (б).

Описание алгоритма на рис.2.1 (а):

Блоки 1-3 - формирование исходных данных.

Блок 4 - задание начального параметра х.

Блок 5 - вычисление очередного значения функции.

Блок 6 - печать вычисленного значения функции.

Блок 7 - вычисление очередного значения параметра цикла.

Блок 8 - проверка условия окончания цикла. Если очередное значение параметра цикла допустимо - вычисляется очередное значение функции (переход на блок 5) и процесс повторяется. В противном случае - выход из цикла (блок 9).

В схеме алгоритма, приведенного на рис.2.1 (б), цикл организован с использованием блока «модификатор» (блок 4). В этом блоке указываются начальное, конечное значение параметра цикла и шаг его изменения. Все промежуточные значения вычисляются автоматически.

а) б)

Рисунок 2.1 Схемы алгоритмов к примеру 2.1.

Вложенным называется цикл, содержащий внутри себя один или несколько циклов. Цикл, охватывающий другие циклы, называется внешним, а остальные – внутренними. Правила организации как для внешнего, так и для внутреннего цикла такие же, как и для простого цикла.

Параметры вложенных циклов изменяются не одновременно, то есть при одном значении параметра внешнего цикла параметр внутреннего цикла принимает по очереди все свои возможные значения. Для двух параметров x a, b,, hx=h и zc, d,, hz=2h схематично алгоритм можно изобразить так, как показано на рисунке 2.2.

На рисунке 2.2:

Блок 2 – производит формирование исходных данных. Для расчета зна­чений заданной функции (ввод данных с терминала).

Блок 3 –задание начального значения параметра внешнего цикла вели­чины х.

Блок 4 – организует работу внутреннего цикла с параметром z, задает начальное значение величине z.

Блоки 5,6 – представляют собой тело данного циклического процесса – в них производится вычисление очередного значения функции и вывод его на печать. Ради многократного выполнения данных действий собственно и организуется циклический процесс.

Блоки 7,8 – завершают работу внутреннего цикла, вычисляют очеред­ное значение параметра z и проверяют его на соответствие заданному диапа­зону.

Блоки 9,10 – завершают работу внешнего цикла с параметром х, вычис­ляют очередное значение х и проверяют на соответствие заданному диапа­зону

На рисунке 2.3 изображена схема алгоритма вложенного циклического процесса (того же самого, что и на рис. 2.2), оформленная с применением блоков модификатора (блоки 3 и 4). Сравнение схем рис.2.2 и 2.3 показывает, что использование этих блоков позволяет оформлять схемы алгоритмов более наглядно и компактно.

В арифметических циклах при вычислении очередного значения пара­метра используется понятие рекурсии. Рекуррентная (или рекурсивная) зависимость представляет собой зависимость, в которой последующее значе­ние величины зависит от ее предыдущего значения.

Например, формула x=x+1, в которой реализована рекурсия, означает: к начальному значению х прибавить 1 и результат поместить в х, то есть рекуррентная формула (это иное обозначение данного понятия) связывает между собой последовательно вычисляемые значения. Исходными данными для каждого последующего шага являются результаты предыдущего.

В рассмотренных примерах с помощью рекурсивных соотношений вычислялись значения параметров циклов.