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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2008, 08:44   #1
КиношкА
горе студенткО
Пользователь
 
Аватар для КиношкА
 
Регистрация: 10.01.2008
Сообщений: 24
По умолчанию Решение биквадратного уравнения Паскаль....

Немогу найти ошибку простенькое задание на уровне 9 класа школы а вот чтото забыла и нечего не получаеться.....
Код:
 var a,b, c, x1,x2,x3,x4,x5,x6,x7,x8,x9, t1,d,t2,n:real;
Begin
 writeln('vvedite a');
 readln(a);
 writeln('vvedite b');
 readln(b);
 writeln('vvedite c');
 readln(c);

 d:=(b*b-4*a*c);
 if d=0 then

   n:=-b/(2*a);  begin
   if n<0 then writeln('net resheniy') else
 x1:=sqr(n);
 x2:=-sqr(n);
writeln('x1=',x1:5:2,',x2=',x2:5:2)
end;
if d<0 then writeln('net resheniy')
else t1:=(-b+sqrt(d))/(2*a);

t2:=(-b-sqrt(d))/(2*a);
begin

if (t1<0) and (t2>0) then  x3:=sqrt(t2);
x4:=-sqrt(t2);
writeln('x1=',x3:5:2,',x2=',x4:5:2);
if t2<0 then x4:=sqrt(t1);
x5:=-sqrt(t1);
writeln('x1=',x4:5:2,',x2=',x5:5:2);
if t1>0 then


x6:=sqrt(t1);
x7:=-sqrt(t1);
x8:=sqrt(t2);
x9:=-sqrt(t2);
writeln('x1=',x6:5:2,',x2=',x7:5:2,',x3=',x8:5:2,',x4=',x9:5:2);
end;
readln;
End.
скорее всего ошибки со множиствои ифов..... хотя фиг его знает объесните плиз в чём ошибка?
Смерть стоит того, чтобы жить, а любовь стоит того, чтобы ждать... В. Цой
КиношкА вне форума Ответить с цитированием
Старый 16.01.2008, 08:55   #2
Makarov
Форумчанин
 
Аватар для Makarov
 
Регистрация: 03.01.2008
Сообщений: 102
По умолчанию

d:=(b*b-4*a*c); - это дискриминант.
if d=0 then - здесь происходит проверка, равен ли дискриминат нулю,
а n:=-b/(2*a); по-моему вместо b должно быть d. И проверьте все else.
Теория без практики мертва и бесплодна, практика без теории невозможна и пагубна.
Makarov вне форума Ответить с цитированием
Старый 16.01.2008, 09:07   #3
КиношкА
горе студенткО
Пользователь
 
Аватар для КиношкА
 
Регистрация: 10.01.2008
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Makarov Посмотреть сообщение
d:=(b*b-4*a*c); - это дискриминант.
if d=0 then - здесь происходит проверка, равен ли дискриминат нулю,
а n:=-b/(2*a);
нет здесь должен быть b если d=0 то корень мы вычислить не можем.... следственно считаем по этой формуле..... n:=-b/(2*a);

всё else вродь на месте.....
Смерть стоит того, чтобы жить, а любовь стоит того, чтобы ждать... В. Цой
КиношкА вне форума Ответить с цитированием
Старый 16.01.2008, 09:10   #4
Makarov
Форумчанин
 
Аватар для Makarov
 
Регистрация: 03.01.2008
Сообщений: 102
По умолчанию

Во например
# if d<0 then writeln('net resheniy')
# else t1:=(-b+sqrt(d))/(2*a);
#
# t2:=(-b-sqrt(d))/(2*a);
Если d=0, тут все понятно. А с else? Если d не равно нулю, то он будет считать только t1. А чтобы он считал и t2 после else нужно поставить begin, а после t2 end, закрывающий этот begin. По-моему так.
Теория без практики мертва и бесплодна, практика без теории невозможна и пагубна.
Makarov вне форума Ответить с цитированием
Старый 16.01.2008, 09:15   #5
КиношкА
горе студенткО
Пользователь
 
Аватар для КиношкА
 
Регистрация: 10.01.2008
Сообщений: 24
По умолчанию

Makarov не так тоже не получаеться всёравно выдаёт 3 ответа.....
Смерть стоит того, чтобы жить, а любовь стоит того, чтобы ждать... В. Цой
КиношкА вне форума Ответить с цитированием
Старый 16.01.2008, 14:07   #6
pushok
 
Регистрация: 14.01.2008
Сообщений: 8
По умолчанию

Код:
...

d:=(b*b-4*a*c);   
if d=0 then n:=-b/(2*a)

else if n<0 then writeln('net resheniy') 

else 
 begin 
 x1:=sqr(n);   
 x2:=-sqr(n);   
 writeln('x1=',x1:5:2,',x2=',x2:5:2)   
 end;
pushok вне форума Ответить с цитированием
Старый 16.01.2008, 15:12   #7
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Я бы упростил немного логику
Код:
var
  a,b,c,x1,x2,x3,x4,t1,d,t2: real;

Begin
  write('vvedite a='); readln(a);
  write('vvedite b='); readln(b);
  write('vvedite c='); readln(c);

  d:=b*b-4*a*c;
  if d >= 0 then
    begin
      t1:=(-b+sqrt(d))/(2*a);
      t2:=(-b-sqrt(d))/(2*a);
      if t1 >= 0 then
        begin
          x1:=sqrt(t1); x2:=-x1;
          write('x1=',x1:5:2,', x2=',x2:5:2);
        end
      else write('x1=no, x2=no');
      if t2 >= 0 then
        begin
          x3:=sqrt(t2); x4:=-x3;
          writeln(', x3=',x3:5:2,', x4=',x4:5:2);
        end
      else writeln(', x3=no, x4=no');
    end
  else writeln('x1=no, x2=no, x3=no, x4=no');
  readln;
End.
_Dmitry вне форума Ответить с цитированием
Старый 17.01.2008, 00:09   #8
КиношкА
горе студенткО
Пользователь
 
Аватар для КиношкА
 
Регистрация: 10.01.2008
Сообщений: 24
По умолчанию

_Dmitry
Идея неплохая, но нам сказали расписать это по полной)))0 А не так как ты предлогаешь)))) Спасиб за помлщь)))

П.С. я уже справилась с заданием всем огромное спасибо)
Смерть стоит того, чтобы жить, а любовь стоит того, чтобы ждать... В. Цой
КиношкА вне форума Ответить с цитированием
Старый 19.12.2008, 01:25   #9
torel
Новичок
Джуниор
 
Регистрация: 19.12.2008
Сообщений: 1
Восклицание Решение Биквадратного Уравнения (проверенно ВСЕ РАБОТАЕТ!)

КТО ЖЕ ВСЕТАКИ НАПИШЕТ ПРАВИЛЬНОЕ РИШЕНИЕ???

Последний раз редактировалось torel; 19.12.2008 в 18:18. Причина: Ошибка в записи
torel вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение нелинейного уравнения и построение графика xMass Помощь студентам 5 29.10.2012 19:42
Решение уравнения Datrav Паскаль, Turbo Pascal, PascalABC.NET 2 06.06.2008 08:23
Решение нелинейного уравнения методом Ньютона Tina Общие вопросы C/C++ 2 04.06.2008 21:48
Решение квадратного уравнения Stiv Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 30.11.2007 15:15
Решение уравнения вида ax+by=1 :)) Solny6ko YasnoE Помощь студентам 4 14.06.2007 14:38