Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаБобарыкинаИнформатика.doc
Скачиваний:
65
Добавлен:
03.05.2015
Размер:
8.84 Mб
Скачать

Программирование итерационных вычислительных процессов

6.1. Цель работы. Получение практических навыков алгоритмизации и програ-ммирования простых циклических процессов , число повторений которых не задано.

6.2. Справочный материал. В основе простых итерационных вычислений некоторой величины Y лежит рекуррентная формула для которой каждое последующее приближение определяется через предыдущее, а начальное - задается

Yi+1 = f( Yi ) , i=0,1,...,N-1, (1.6.1)

где i-номер итерации; N - номер итерации, на которой обрывается процесс вычислений.

При этом начальное приближение Y0 ( нулевая итерация ) выбирается по

определенным правилам или задается заранее.

Численное значение N определяется из выполнения условия cходимости итераций

| Yi+1 - Yi | ≤Е , (1.6.2)

и считается, что величина Y = YN вычислена с заданной точностью Е [I, 1-2].

6.3. Пример. Подготовить и организовать на ПЭВМ итерационные вычисления по рекуррентной формуле

Yi+1 = 1 / 2 * (Xi / Yi + Yi ) , i=0,1,...,N-1 (1.6.3)

с заданной точностью E. Значение аргумента X, начальное приближение Y0 и точность вычислений Е, задается следующим образом:

X = 4.5 ; Y = 0.9 * X ; E = 10-3; ( 1.6.4a )

X = 2 ; Y = 1 ; E = 10-2 . ( 1.6.4б )

Для удобства программирования запишем Y в виде

Y0 = R * Xk, (1.6.5 )

тогда для случая (6.4а) значения множителя R и степени k соответственно равны

R = 0.9 ; k = 1 , а для случая ( 6.4б ) R = 1 ; k = 0 .

Алгоритм решения задачи основывается на циклических вычислениях по рекуррентной формуле (6.3) и проверки выполнения условия (6.2).При этом алгоритм решения задачи должен предусматривать запоминание значений Y на i+1 и i итерациях (Y и Z).Текст БЭЙСИК - программы алгоритма решения задачи для примера 6.3 приведен ниже

10 Input "Введите значения X,r,k,e" ; X,r,k,e

20 I = 0 : Y = R * X ^ K

30 Z = Y

40 Y = (X / Y + Y ) / 2 : I = I + 1

50 IF ABS(Y - Z) > E THEN 30

60 PRINT "ЧИСЛО ИТЕРАЦИЙ ="; I

70 PRINT "ЗНАЧЕНИЕ Y ="; Y

80 END

Ввод данных :

Введите значения X,R,K,E ? 4.5,0.9,1,1E-3

Введите значения X,R,K,E ? 2,1,0,1E-2

Результаты :

ЧИСЛО ИТЕРАЦИЙ = 4

ЗНАЧЕНИЕ Y = 2.12132

ЧИСЛО ИТЕРАЦИЙ = 3

ЗНАЧЕНИЕ Y = 1.414216

6.4. Задание к лабораторной работе. Подготовка и организация на ПЭВМ итерационных вычислений по рекуррентной формуле и исходным данным из табл. 6.1. (вариант соответствует порядковому номеру фамилии студента в списке группы).

Таблица 6.1

Номер

варианта

Рекуррентная формула

Значение аргумента

X

Начальное приближ

ние Y0

Точность

вычисле

ний Е

1

Yi+1 = ( 4Yi + X / Yi) / 5

X = 226

X = 19.2

Y0=0.5X

Y0 = X

0.001

0.0001

2

Yi+1= ( 6Yi + X / Yi) / 7

X = 898

X =186

Y0 = 0.4X

Y0 = X

0.0001

0.001

3

2

Yi+1 = ( 1.5 - Yi / ( 2 X ))

X = 9.3

X = 15.6

Y0 = 0.5X

Y0 = 2

0.001

0.0001

4

2 2

Yi+1 = Yi ( Yi + 3X ) / ( 3Yi + X )

X = 4.7

X =3.69

9Y0 = 0.5X

Y0 = 2.4

0.001 0.0001

5

2

Yi+1 = Yi / 2 + 1.5 X / ( 2 Yi +X / Yi )

X = 14.6

X = 19.7

Y0 = X

Y0 = 0.3X

0.001 0.0001

6

_____

Yi+1 =  1.3Yi + 2.4

Y0 = 2.5

Y0 = 1.3

0.001 0.0001

7

2

Yi+1 = 5.7 + 1.2 / Yi

Y0 = 0.4

Y0 = 0.5

0.001 0.0001

8

___ 2

Yi+1 = 0.4 (  Yi / ( Yi + 0.2 Yi )

Y0 = 3.8

Y0 = 5.2

0.001

0.01

9

2 __

Yi+1 = 0.5 ( 1.5 / ( Yi + 1 ) +  Yi )

Y0 = 25

Y0 = 35

0.001

0.0001

10

3

Yi+1 = ( Yi / ( Yi +1 ) + Yi ) / 2

Y0 = 2.0

Y0 = 3.0

0.01

0.001

11

2

Yi+1 = ( Yi / ( Yi + 2 ) +Yi ) / 3

Y0 = 4.0

Y0 = 5.0

0.01

0.001

12

2 4 __

Yi+1 = ( ( Yi +1) / ( Yi +4.5 ) +  Yi ) / 3

Y0 = 1.3

Y0 = 2.9

0.01

0.001

13

3 3__

Yi+1 = ( (Yi + 2 X ) / (Yi +2.3 )+Yi ) / 4

X = 1.2

X = 3.6

Y0 = 4.9 X

Y0 = 13.2

0.001

0.0001

14

2

Y i+1 = ( ( Yi - 1 ) / (Yi + 2 ) + 1 ) / 2

Y0 = 5.8

Y0 = 4.5

0.001

0.0001

15

_____

Yi+1 = ( ( 1.8 / ( Yi +1 ) + 2  Yi + 1 ) / 2

где i = 0 , 1 , ... , N- 1

Y0 = 5.2

Y0 = 4.3

0.001