Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
pirab
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 51
1

С погрешностью 0.0001 методом простой итерации уточнить корни уравнений ln(x)- x +1.8 = 0

24.03.2018, 18:30. Просмотров 193. Ответов 3
Метки нет (Все метки)

Задание: С погрешностью 0.0001 методом простой итерации уточнить корни уравнений ln(x)- x +1.8 = 0 и e^x+x*x=0
Процедурный тип и относящиеся к нему подпрограммы должны быть описаны в отдельном модуле.
Модуль я создала, но основная программа не хочет работать. Помогите пожалуйста

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
program prtip;
uses crt, MOD1;
 
 
var x1,x2:real;
  begin
  clrscr;
 
  writeln('[1; 3] : ', iteracia(a1,b1,f1,prf1):6:5);
  writeln('f(x)= ',f1(iteracia(a1,b1,f1,prf1)):6:8);
  writeln;
 
  writeln(' [0;1] : ', iteracia(a2,b2,f2,prf2):6:5);
  writeln('f(x)= ',f2(iteracia(a2,b2,f2,prf2)):6:8);
  readln
end.
 
 
unit MOD1;
interface
const
  e = 0.0001;
  a1 = 1; 
  b1 = 3;
  a2 = 0;  
  b2 = 1;
type
  tip = function (x : real): real; 
 
implementation
 
function f1(x : real) : real;
begin
  f1 := ln(x) - x + 1.8
end;
 
function prf1(x : real) : real;   
begin
  prf1 := 1/x - 1
end;
 
function f2(x : real) : real;
begin
  f2 := exp(x) - x*x
end;
 
function prf2(x : real) : real;   
begin
  prf2 := exp(x) - 2*x
end;
 
function iteracia(a,b:real; f,prf:tip):real;
var
  x, m:real;
  n:byte;
begin
 
  x:=(a+b)/2;   
  repeat
   x:=x-f(x)/prf(x);
  until abs(f(x))<e;
  iteracia:=x;
end;
begin
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2018, 18:30
Ответы с готовыми решениями:

Составить программу вычисления корня с погрешностью ε=0,0001 методом половинного деления
Составить программу вычисления корня с погрешностью ε=0,0001 методом...

Нахождение корня методом простой итерации
Доброе время суток всем. Помогите разобраться пожалуйста! Мне нужно получить...

Решить уравнение lnx-5cosx/3=0 методом простой итерации
помогите решить методом простой итерации уравнение lnx-5cosx/3=0 на промежутке...

Задачи по численным методам. Решить уравнение методом простой итерации
1.Решить уравнение 3x3-2x2-x-20=0 методом простой итерации c точностью =10-6;...

Отделить корни уравнения аналитическим способом и уточнить один из них делением отрезка пополам
Не понимаю задачу.Подскажите как писать код. Отделить корни уравнения...

3
Puporev
Модератор
55459 / 42568 / 29420
Регистрация: 18.05.2008
Сообщений: 100,712
24.03.2018, 18:37 2
Модуль и программа это разные файлы.
Модуль сохранить с именем MOD1.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
unit MOD1;
interface
const
  e = 0.0001;
  a1 = 1;
  b1 = 3;
  a2 = 0;
  b2 = 1;
type
  tip = function (x : real): real;
 
implementation
 
function f1(x : real) : real;
begin
  f1 := ln(x) - x + 1.8
end;
 
function prf1(x : real) : real;
begin
  prf1 := 1/x - 1
end;
 
function f2(x : real) : real;
begin
  f2 := exp(x) - x*x
end;
 
function prf2(x : real) : real;
begin
  prf2 := exp(x) - 2*x
end;
 
function iteracia(a,b:real; f,prf:tip):real;
var
  x, m:real;
  n:byte;
begin
 
  x:=(a+b)/2;
  repeat
   x:=x-f(x)/prf(x);
  until abs(f(x))<e;
  iteracia:=x;
end;
begin
end.
Программа, с другим именем.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt, MOD1;
var x1,x2:real;
  begin
  clrscr;
 
  writeln('[1; 3] : ', iteracia(a1,b1,f1,prf1):6:5);
  writeln('f(x)= ',f1(iteracia(a1,b1,f1,prf1)):6:8);
  writeln;
 
  writeln(' [0;1] : ', iteracia(a2,b2,f2,prf2):6:5);
  writeln('f(x)= ',f2(iteracia(a2,b2,f2,prf2)):6:8);
  readln
end.
0
pirab
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 51
24.03.2018, 20:00  [ТС] 3
Все равно пишет неизвестное имя в строчке
Pascal
1
writeln('[1; 3] : ', iteracia(a1,b1,f1,prf1):6:5);
0
Puporev
Модератор
55459 / 42568 / 29420
Регистрация: 18.05.2008
Сообщений: 100,712
24.03.2018, 20:19 4
Не знаю как вы копируете, у меня ошибок нет.
0
Миниатюры
С погрешностью 0.0001 методом простой итерации уточнить корни уравнений ln(x)- x +1.8 = 0  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2018, 20:19

Метод простой итерации
пожалуйста помогите! нужно уточнить корни методом простой итерации не могу...

Метод простой итерации
Ребят помогите составить программу на языке Паскаль. Нужно сначала проверить...

Уточнить корень методом половинного деления
Помогите пожалуйста решить задачку :( Уточнить корни уравнения методом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru