Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 23:11   #1
BlooDSikeR
 
Регистрация: 27.05.2009
Сообщений: 8
По умолчанию паскаль,квадратне ривняння

Вот задача которую задал препод
Дано рівняння виду x*x*a+x*b+c=0 .Знайти корені x1 ,та x2
Вот как я её зделал.
program kv;
var
a,b,c,D,x1,x2:real;
begin
Write('a= ');
ReadLn(a);
Write('b= ');
ReadLn(b);
Write('c= ');
ReadLn©;
D:=b*b-4*a*c;
if d<0
then writeln('НЕТУ КОРЕНЕЙ')
else if d=0 then writeln('ОДИН КОРЕНЬ= ',-b/2*a)
else begin
d:=sqrt(d);
x1:=(-b+d)/(2*a);
x2:=(-b-d)/(2*a);
WriteLn('x1=',x1);
WriteLn('x2=',x2);
end;
end.

Но препод сказал что она зделана не полностю,только для 3 випадков когда
1)D>0
2)D<0
3)D=0
А вот нужно написать ищо когда
4)а=0
5)b=0
6)c=0
7)a,b=0
8)a,c=0
9)b,c=0
10)a,b,c=0
Как написать програму на ету хрень...
BlooDSikeR вне форума Ответить с цитированием
Старый 05.06.2009, 23:18   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Ну, во-первых не надо нецензурщины, 2 постарайтесь писать правильно(я понимаю(сам Украинец), но я НЕ УЧИЛ РУССКИЙ язык ВООБЩЕ, и пишу( наверно ) правильно).
3) найдите формулы для частных случаев, и после ввода проверяйте переменные....
Levsha100 вне форума Ответить с цитированием
Старый 05.06.2009, 23:26   #3
terminadoor
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 86
По умолчанию

Добрий день. Нехай ми маємо рівняння a*x*x+b*x+c=0.
Просто подивіться в плані математики: якщо a=0, то рівняння буде лінійним (виду bx+c=0, з чого слідує x=-c/b.
Якщо ж в нас b=0 то рівняння має вигляд a*x*x+c=0, відповідно x*x=-c/a;
А тут два випадки. Так як корінь квадратний від'ємного числа просто не існує, то і розв'язку рівняння в даному випадку не буде. Якщо ж корінь квадратний існує, то x=sqrt(-c/a);
Ідемо далі. Якщо a,b=0, то рівняння має вид с=0. Тут розв'язком буде будь-яке значення за умови, що с=0, інакше рівняння не має розв'язку. (бо тільки 0=0). Якщо b,c=0, то рівняння має вигляд a*x*x=0; звідси x=0 (єдиний розв'язок). І на кінець: якщо a,b,c=0, то x може бути будь-яким. Якщо хочете, зараз вам складу програмку. Ви лише скажіть одне: відповідь повинна бути цілим числом, чи якщо відповідь у рівнянні - дійсне число, то його так і виводити?
TerMinAdoOR

Последний раз редактировалось terminadoor; 05.06.2009 в 23:42. Причина: Математична помилка (x=-c/b) а не навпаки
terminadoor вне форума Ответить с цитированием
Старый 06.06.2009, 00:57   #4
BlooDSikeR
 
Регистрация: 27.05.2009
Сообщений: 8
По умолчанию

terminadoor виложи плиз програмку
відповідь повинна бути- дійсне число
BlooDSikeR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
паскаль Какаина Паскаль, Turbo Pascal, PascalABC.NET 1 17.05.2009 00:51
Паскаль Alfis Паскаль, Turbo Pascal, PascalABC.NET 2 07.12.2008 15:28
Паскаль Lucky_ Паскаль, Turbo Pascal, PascalABC.NET 4 16.12.2007 16:18