Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание_1_Алгоритмы и блок-схемы.docx
Скачиваний:
62
Добавлен:
29.05.2015
Размер:
142.6 Кб
Скачать

Циклические процессы

Если вычисления по одним и тем же формулам нужно повторить несколько раз при различных значениях переменных, входящих в эти формулы, то необходимо организовать ЦИКЛИЧЕСКИЙ вычислительный процесс.

Применение алгоритмов циклической структуры позволяет существенно сократить объем программы.

Для организации цикла необходимо выбрать ПАРАМЕТР ЦИКЛА - простую переменную, которая будет изменять свое значение при каждом повторении цикла и управлять работой цикла, а также предусмотреть 4 основных действия :

1. Задание начального значения параметра цикла.

2. Рабочий участок ( или " тело цикла " ) - повторяемые в цикле действия, необходимость

которых вытекает непосредственно из математической постановки задачи.

3. Изменение параметра цикла.

4. Проверка условия окончания повторений цикла и переход к его началу, если повторения не закончены.

Пример 5. Вычислить все квадраты чисел от 1 до 100. Формализация этой задачи в математическом смысле означает вычисление значении Y = N2 для (N=l,...,100).

Словесный алгоритм:

  1. Ввести значение N=0.

  2. Вычислить значение N=N+1

  3. Вычислить значение функции Y

  4. Напечатать значение функции Y.

  5. Проверить значение N. Если N<100, перейти к п.2, иначе окончание счета

да

нет

Рис. 5. Блок-схема циклического алгоритма для примера 5

Пример 6. В этом примере надо вычислить значения функции F для значений Х, изменяющимся с постоянным шагом D. Значения А, В, С – постоянны.

Fi =Сos2(Хi + А/В)-A-Sin(Xi +C), где Xi+1=Xi+D,

D- const, (i=0,1, 2,...,10 ), X0 =e-a/b

Здесь параметр I будет управлять количеством повторов при вычислении (11 раз)

Начальное значение переменной цикла I равно нулю, конечное равно 10.

Словесный алгоритм:

  1. Ввести значения A, B, C, D.

  2. Присвоить начальное значение I=0

  3. Вычислить значение X=e-a/b

  4. Вычислить значение функции F=Cos2(X+A/B)…

  5. Напечатать значение функции F.

  6. Увеличить значение Х на значение шага, т.е. Х=Х+D

  7. Увеличить значение параметра цикла I=I+1

  8. Проверить значение I. Если I<=10, перейти к п.4, иначе окончание счета

Блок-схема циклического алгоритма для примера 6

Ввод

A,B,C,D

Рассмотрим еще один вариант организации циклического процесса.

Ниже приведена блок-схема вычисления функции

Y = X*LN(X) при X = 0.1; 0.4; 0.7 с указанием основных действий:

Словесный алгоритм:

  1. Присвоить значение X=0,1 (задание начального значения параметра цикла)

  2. Вычислить значение Y=XLn(X) (рабочий участок цикла – тело цикла)

  3. Напечатать значение функции Y(рабочий участок цикла – тело цикла)

  4. Х=Х+0,3 (изменение параметра цикла)

  5. Проверить на окончание цикла. Если X<=0,7, перейти к п.2, иначе окончание счета

Блоки 2,3 - тело цикла образуют линейный участок вычислительного процесса. Параметр X - простая переменная вещественного типа.

Для Х известно начальное ( 0.1 ), конечное ( 0.7 )значения и шаг изменения ( 0.3 ).

Выход из цикла произойдет при X>0.7 ( 1 )

Эту задачу называют еще задачей табулирования функции на заданном диапазоне изменения аргумента. В инженерных расчетах такая задача встречается, когда необходимо получить таблицу значений некоторой величины, определяемой формулой, если известно, что один из параметров, входящих в эту формулу, может принимать любые значения в диапазоне [a;b].

Шаг h изменения параметра выбирается в зависимости от того, сколько значений табулируемой величины нужно получить.

Графическая блок-схема алгоритма будет такой:

Ввод

Х=0,1

да

нет