Program Root;
Uses crt;
Var x0,x,eps:Real;
n:Integer;
Begin
Clrscr;
eps:=1E-4;
x0:=2;
x:=exp(ln(29+3*x0*x0+8*x0)*(1/4));
n:=1;
While abs(x0-x)>eps Do
{Начало
итерационного
цикла
с
предусловием}
Begin
x0:=x;
x:=exp(ln(29+3*x0*x0+8*x0)*(1/4));
n:=n+1
End; {Конец итерационного цикла с
предусловием}
Writeln(‘Корень=’,x:10:5,’ Количество итераций=’,n)
End.
3. Наберите, откомпилируйте и исправьте возможные ошибки. Затем
запустите программу на счет. Должен быть получен следующий результат:
Корень равен 2.98770. Количество итераций равно 8.
4. Изменяя начальное приближение x
0
, выясните, как влияет начальное
приближение на количество итераций.
5. Измените программу так, чтобы итерационный цикл осуществлялся с
постусловием – вместо оператора While использовать оператор Repeat.
Результат работы программы не должен измениться.
Задания для самостоятельной работы
Разработать алгоритм в виде блок-схемы, составить программу на языке
Паскаль.
Вариант 1.1
.
2
x
если
,
2
2;
x
0
если
,
lg
0;
x
если
,
2
sin
1
2
x
e
x
x
y
x
где x принимает значения в интервале [-1? 3] с шагом 0.2.
85
Do'stlaringiz bilan baham: |