IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> квадратное уравнение с некомплексными корнями: не, всё тактривиальнокаккажецанапервыйвзгляд
сообщение
Сообщение #1


Гость






Здорово чуваки!
Вобщем такой трабл. Инфа в инсте. Прогу на Паскале надо написать. Корни квадратного уравнения (некомплексные). И вроде всё элементарно:
uses crt;
var
i:integer;
a,b,c,d,x1,x2,p1,p2,t,y,u:real;
r:real;
begin
clrscr;
write('a= ');
read(a);
write('b= ');
read(b);
write('c= ');
read©;
If (a=0) then
begin
If (b=0) then
begin
If (c=0) then
writeln('infinitnoye mnojestvo')
else
writeln('korney net');
end
else begin
x1:=-c/b;
writeln('koren ',x1:4:4);
p1:=a*x1*x1+b*x1 + c;
writeln('proverca: ax1^2+bx1+c= ',p1);
end;
end
else
begin
d:=(sqr(b)-4*a*c);
t:=sqrt(D);
If (d<0) then
writeln('real korney net')
else
begin
writeln;
writeln;
x1:=(- b - t ) / (2*a);
x2:=(- b + t ) / (2*a);
writeln('koren1= ',x1);
writeln('koren2= ',x2);
p1:=a*x1*x1 + b*x1 + c;
writeln('proverca1: ax1^2+bx1+c= ',p1);
p2:=a*x2*x2 + b*x2 + c;
writeln('proverca2: ax2^2+bx2+c= ',p2);
end;
end;
readln;
readln;
end.


<прога одногрупников>
Но препод при*лся. Вводит в качестве b число порядка (10^4)-10^6; вместо с - порядка (10^-4)-(10^-6); ну и а порядка 10^1. В результате конечно при подстановке получившихся корней в исходное уравнение конечно же выражение становится неравным нулю. Ну так вот он заставляет нас посчитать погрешность.

М
Тегами пользуйся ...



Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
koSTIK, вообще-то сравнивать 2 числа вещественного типа через "=" не принято...

Не очень-то вас понимаю. Ткните пальцем, пожалуйста.
Цитата
Вот эта программа уже не будет вылетать при вводе таких значений, какие ты привел (твоя - вылетала):

Опять вас не очень-то понимаю. Ну вводим a=12 b=19000 c=0.00056.
При подстановке в исходное уравнение должен получится ноль, однако 1 корень даёт 1.29...E-0009 (в предыдущей проге 5.55...E-0006) второй -1.41...E-0010 (соответственно -6.24...E-0006). Так что хрен редьки не слаще (по крайней мере для меня).
Цитата
Погрешность чего?

Вот этого
Цитата
Ну вводим a=12 b=19000 c=0.00056.
При подстановке в исходное уравнение должен получится ноль, однако 1 корень даёт 1.29...E-0009 (в предыдущей проге 5.55...E-0006) второй -1.41...E-0010 (соответственно -6.24...E-0006).

Я вообще-то не очень понимаю чё он от нас хочет. Но может подскажете как его грузануть по грамотному?
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 25.04.2026 2:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name