0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
1

Пожалуйста посмотри в чем ошибка данной программы...

31.05.2009, 21:10. Показов 801. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
мне было задано разработать программы решение нелинейных уравнений методом простых итераций, у меня 3 уравнения есть с коэффициентами которые нада с клавы вводить... Программа работат но корни которые она находит мне кажется не правельные... подскажите пожалуйста где тут ошибка плиз. ( я сам думаю что у меня не правильная формула для нахождения корней -с(а*х+ в). помогите
текст программы:
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
program Rasskaz_iter;
uses CRT;
const E=0.0001;
var n:integer; x,a,b,c: real; ab:text;  
function f(x:real;k:integer):real;
begin
if k=1 then f:= -c/(a*x*x + b);
if k=2 then f:= c/(a*x*x*x - b);
if k=3 then f:= -c/(a*x - b);
end;
procedure mitercii(var X:real; t:integer);
var X1:real;
begin
repeat
X1:=X;
X:=f(X,t);
until abs(x-x1)<E;
end;
begin
clrscr;
writeln ('‘ введите коэффициенты’');
read (a);
read (b);
read (c);
writeln('Выберете уравнение');
writeln('1. aX^3 + bX + c = 0 ');
writeln('2. aX^4 - bX - c =0 ');
writeln('3. ax^2 – bx + c =0 ');
write('n = ');  
readln(n);
write('Введем начальное приближение X = ');
readln(X);
mitercii(X,n);
writeln('Корень уравнения X = ',X);
assign(ab,'Rasskazov_iter.TXT');
rewrite(ab);
writeln(ab,'Номер уравнения ',n);
writeln(ab,'Корень уравнения X =',x);
close(ab);
readln;
end.
Добавлено через 4 часа 7 минут 3 секунды
блин что не знает как мне помоч?
0
31.05.2009, 21:10
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2009, 21:10
Ответы с готовыми решениями:

ввод числа и вывод суммы, в чем ошибка данной программы?(
&lt;html&gt; &lt;head&gt; &lt;title&gt;Ввод числа и вывод суммы&lt;/title&gt; &lt;script&gt; function slog(txt){ var iVal=parseInt(txt.value); var...

В чем смысл данной программы
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;memory&gt; typedef struct str1 { float val; ...

Опишите пожалуйста строчки данной программы
#include&lt;iostream&gt; using namespace std; void main() { setlocale(LC_ALL, &quot;Russian&quot;); int i,n,fl; double z; cout&lt;&lt;&quot;введите...

9
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
31.05.2009, 21:18 2
я сам думаю что у меня не правильная формула для нахождения корней -с(а*х+ в).
А чего тут, думать? Она либо правильная, если Вы правильно списали условие, либо неправильная, если неправильно списали. Мы то окуда это можем знать?
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
31.05.2009, 21:24  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
А чего тут, думать? Она либо правильная, если Вы правильно списали условие, либо неправильная, если неправильно списали. Мы то окуда это можем знать?
да эт ясно, я просто думал тут ктонибудь сталкивался с решением итерационных задач, я просто никак не могу найти как правильно расставить в формуле коэффициенты чтобы она считала нужные корни. А сюда ее залил чтобы мне подсказали как по другому можно заменить мои функиции c/(a*x*+b) и для др тоже... и в каких пределах можно вводить коэффициенты)) если не сложно подскажите)))
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
31.05.2009, 21:31 4
как по другому можно заменить мои функиции c/(a*x*+b) и для др тоже... и в каких пределах можно вводить коэффициенты)) если не сложно подскажите)))
Это все должно быть в задании, а поскольку Вашего препода здесь наверное нет, то никто и не поможет.
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
31.05.2009, 21:32  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
Это все должно быть в задании, а поскольку Вашего препода здесь наверное нет, то никто и не поможет.
задание было разработать программу решающую 3 уравнения методом итераций. Я даже не знал что это такое, а он не собирался объяснять терь выкручиваюсь как могу
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
31.05.2009, 21:38 6
но корни которые она находит мне кажется не правельные...
А почему Вам это кажется? Вообще когда кажется, темные люди крестятся, а программисты проверяют корни аналитическими методаи. Вы как, проверяли, или крестились?

Добавлено через 2 минуты 44 секунды
Вот программа по методу итераций, может поможет.
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
66
67
68
69
Program Pr142063;
Uses CRT;
Function F(x: Real): Real;
begin
   F := (x - 1) * Exp(ln(0.5)*x);
end;
Var Eps, f1, f2, x, x1, x2, A, B : Real;
    N, i: Integer;
Begin
ClrScr;
Repeat
WriteLn('Введите границы интервала: ');
Write('A = '); ReadLn(A);
write('B = '); ReadLn(b);
if F(a)=0 then
  begin
     writeln('x=a=',a:10:7);
     readln;
     exit;
  end;
if F(b)=0 then
   begin
     writeln('x=b=',b:10:7);
     readln;
     exit;
   end;
if F(A)*F(B)>0 then WriteLn('Границы интервала заданы некорректно!');
Until F(A)*F(B)<0;
WriteLn;
Repeat
WriteLn('Укажите необходимую точность вычислений:');
Write('Eps = '); ReadLn(Eps);
if Eps <= 0 then WriteLn('Eps может иметь только положительное значение!');
Until Eps > 0;
WriteLn;
WriteLn('Метод простых итераций:');
N := Round((B - A) / eps + 0.5); x1 := A; f1 := F(x1);
for i := 1 to N do
  begin
   x2 := x1 + (B - A) / N;
   f2 := F(x2);
   if f1*f2 <= 0 then WriteLn('Нуль функции на x = ', (x2 + x1)/2:12:8);
   x1 := x2; f1 := f2;
  end;
WriteLn('Выполнено ', N, ' шагов.'); WriteLn;
 
WriteLn('Метод половинного деления:');
N := 0; x1 := A; x2 := B; f1 := F(x1); f2 := F(x2);
if F(A) * F(B) >= 0 then
  begin
    WriteLn('Невозможно найти нуль функции!');
  end
else
Repeat
x := (x1 + x2) / 2;
if f1*F(x) <= 0 then
  begin
   x2 := x; f2 := F(x);
  end;
if f2*F(x) <= 0 then
  begin
   x1 := x; f1 := F(x);
  end;
inc(N);
Until (x2 - x1) < eps;
WriteLn('Нуль функции на x = ', (x2 + x1)/2:12:8);
WriteLn('Выполнено ', N, ' шагов.');
ReadLn;
End.
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
31.05.2009, 21:41  [ТС] 7
Цитата Сообщение от Puporev Посмотреть сообщение
А почему Вам это кажется? Вообще когда кажется, темные люди крестятся, а программисты проверяют корни аналитическими методаи. Вы как, проверяли, или крестились?
для 1ого уравнения ввожу коэфициенты 1 2 3 он считает корень -0.99 это правильно а ввожу другие коэффициенты допустим 8 9 7 корень который выдает программа не подходит при подставновке((( вот я даже не знаю что и делать... мне бы хотяб узнать какие коэффициенты можно подставлять а какие нет. область определения коэфициентов, мне подсказали что а+с должен быть больше В... но это тоже не всегда работает... я совсем запутался с этой программой...
Спасибо кстати за то что ты со мной возишься и дал прогу)
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
31.05.2009, 21:43 8
А это уже математика и никто за Вас ее учить не будет.
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
31.05.2009, 22:08  [ТС] 9
Цитата Сообщение от Puporev Посмотреть сообщение
А это уже математика и никто за Вас ее учить не будет.
спасибо, просто прога правильная а без математики (мы просто не проходили этот метод никогда) я даже не знаю что и делать, перечитал кучу теории и недоконца понял(

Добавлено через 23 минуты 23 секунды
Цитата Сообщение от DuHbka Посмотреть сообщение
спасибо, просто прога правильная а без математики (мы просто не проходили этот метод никогда) я даже не знаю что и делать, перечитал кучу теории и недоконца понял(
все я нашел ошибку writeln('Корень уравнения X = ',X:0:3); а то ответ выводился с плавающей запятой как мне сказали на одном из форумов
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
31.05.2009, 22:11 10
а то ответ выводился с плавающей запятой
Если Вы такой ерунды, как форматирование вывода не знаете, то какие уж тут итерации, прогу-то содрали где-то.
0
31.05.2009, 22:11
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.05.2009, 22:11
Помогаю со студенческими работами здесь

В чем ошибка? При запуске программы открывается консоль и сразу ошибка о завершении программы
К тому же выдает warning: deprecated conversion from string constant to 'char*' . #include &lt;iostream&gt; #include &lt;string.h&gt; #include...

Вывести значения остальных элементов данной окружности. в чем ошибка?
Помогите,пожалуйста,с кодом.Только начала изучать Матлаб,поэтому понятия не имею как писать.Нужно написать программу с помощью оператора...

Ошибка "Stack around the variable 'text' was corrupted"
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка. #include &lt;iostream&gt; ...

Ошибка при передаче параметров в функцию. Объясните, ребят, пожалуйста, в чем ошибка
Есть функция, которую необходимо отобразить в виде линий уровня. Далее с помощью простого симплекс-метода нужно найти минимальное значение...

Подскажите пожалуйста в чем ошибка?
Вот вся задача : Даны массив A(n) целого типа и целое число х. Произвести перестановку элементов массива так, чтобы в начале массива стояли...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
chucknorris в HTML и другие обозначения цветов
hw_wired 10.02.2025
HTML, как основной язык разметки веб-страниц, прошел длинный путь развития в плане работы с цветами. На заре развития веб-технологий разработчики могли использовать только базовый набор из 16. . .
Стек и куча: отличия и назначение
hw_wired 10.02.2025
Управление памятью - ключевой элемент работы любой программы. В современных языках программирования память делится на две основные области: стек и кучу. Каждая из них обладает уникальными. . .
Комментарии в JSON
hw_wired 10.02.2025
JSON - текстовый формат обмена данными, построенный на основе синтаксиса JavaScript. Этот формат отличается простотой, читаемостью и широкой поддержкой во всех современных языках программирования. . . .
Перезаписываем локальные файлы с помощью git pull
hw_wired 10.02.2025
Git pull - незаменимая команда для синхронизации локального репозитория с удаленным. При работе над проектом в команде разработчиков часто возникает необходимость получить актуальные изменения,. . .
Оператор --> в C++
hw_wired 10.02.2025
Оператор --> (называемый "spaceship operator" или оператор космического корабля) - важное нововведение в стандарте C++20, упрощающее реализацию операций сравнения в пользовательских типах данных. . . .
Отмена git add до коммита
hw_wired 10.02.2025
Git предлагает несколько методов для отмены индексации файлов перед созданием коммита. Разработчики часто сталкиваются с ситуацией, когда нужно убрать файлы из индекса, не теряя внесенные изменения в. . .
Типы MIME в JSON: что и когда использовать в REST API
hw_wired 10.02.2025
MIME-типы играют ключевую роль в современных веб-приложениях, особенно в контексте REST API и микросервисной архитектуры. Они определяют формат передаваемых данных между клиентом и сервером, что. . .
Переименование локальной ветки Git
hw_wired 10.02.2025
Git предлагает систему управления версиями, где ветки играют ключевую роль в организации разработки. Ветки позволяют изолировать изменения кода, экспериментировать с новыми функциями и поддерживать. . .
Удаление элемента из массива в JavaScript
bytestream 10.02.2025
В JavaScript массивы - это упорядоченные наборы данных, которые часто требуют модификации, включая удаление элементов. Самый распространенный метод для этой задачи - splice(). Этот метод позволяет не. . .
Что значит yield в Python
bytestream 10.02.2025
Ключевое слово yield в Python создает генераторную функцию - особый тип функции, которая возвращает итератор. В отличие от обычных функций, использующих return для возврата значения и завершения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru