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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2017, 15:36   #1
JamperPro
Новичок
Джуниор
 
Регистрация: 19.10.2017
Сообщений: 2
По умолчанию [Pascal] Помогите найти ошибку в коде

Такое дело. Пишу код для решения уравнения (a+b+2c)x^2+(3d+e+5g)x+j+k+7h=0


Код:
program Rivnyannya;
var D1,a,b,c,d,e,g,j,k,h:integer;
    x,x1,x2:real;
    
Begin
  WriteLn('Введiть a');
  ReadLn(a);
  WriteLn('Введiть b');
  ReadLn(b);
  WriteLn('Введiть c');
  ReadLn(c);
  WriteLn('Введiть d');
  ReadLn(d);
  WriteLn('Введiть e');
  ReadLn(e);
  WriteLn('Введiть g');
  ReadLn(g);
  WriteLn('Введiть j');
  ReadLn(j);
  WriteLn('Введiть k');
  ReadLn(h);
  WriteLn('Введiть h');
  ReadLn(a);
  D1:=(3*d+e+5*g)*(3*d+e+5*g)-4*(a+b+2*c)*(j+k+7*h);
  if D1>0 then
  begin
  x1:=(-(3*d+e+5*g)+sqrt(D1))/(2*(a+b+2*c));
  x2:=(-(3*d+e+5*g)-sqrt(D1))/(2*(a+b+2*c));
  WriteLn('x1=',x1);
  Writeln('x2=',x2);
  end 
  else if D1=0 then
   begin
   x:=-(3*d+e+5*g)/(2*(a+b+2*c));
   WriteLn('x=',x);
   end
   else WriteLn('Немає коренів');
   ReadLn;
End.
Програма выдаёт немного не то значения что нужно. Это как бы обычное квадратное уравнение, просто нужно будет еще вводить a,b,c,d,e и так далее.. Помогите пожалуйста

Последний раз редактировалось Аватар; 19.10.2017 в 15:43.
JamperPro вне форума Ответить с цитированием
Старый 19.10.2017, 15:53   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Програма выдаёт немного не то значения что нужно
Что выдает и что хочется увидеть? И наглядней отдельно вычислить коэффициенты и с ними решать, а не тащить длинные выражения в решение уравнения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.10.2017, 15:58   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от JamperPro Посмотреть сообщение
WriteLn('Введiть k');
ReadLn(h);
WriteLn('Введiть h');
ReadLn(a);
копи-паст подвёл.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.10.2017, 15:59   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Код:
  WriteLn('Введiть k');
  ReadLn(h);
  WriteLn('Введiть h');
  ReadLn(a);
Копи-паст он такой.
p51x вне форума Ответить с цитированием
Старый 19.10.2017, 17:01   #5
JamperPro
Новичок
Джуниор
 
Регистрация: 19.10.2017
Сообщений: 2
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
  WriteLn('Введiть k');
  ReadLn(h);
  WriteLn('Введiть h');
  ReadLn(a);
Копи-паст он такой.

спасибо, сейчас исправлю
JamperPro вне форума Ответить с цитированием
Старый 19.10.2017, 17:20   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от JamperPro Посмотреть сообщение
спасибо, сейчас исправлю
ну тогда уже исправьте сразу, как Вам советовали, и длинные выражения, которые можно (и нужно) вычислить один раз и дальше использовать их в расчётах:

Цитата:
Сообщение от Аватар Посмотреть сообщение
И наглядней отдельно вычислить коэффициенты и с ними решать, а не тащить длинные выражения в решение уравнения

например,
Код:
  ka:= a+b+2*c;
  kb:= 3*d+e+5*g;
  kc:= j+k+7*h;

  D1 := sqr(kb)-4*ka*kc;
...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в коде timcryt Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 13.03.2016 18:23
Помогите найти ошибку в коде Pascal (оиска несобственного интеграла по методу Эрмита с помощью таблицы Эрмита) Guzik Помощь студентам 1 05.04.2015 15:43
Помогите найти ошибку в коде! Igrohim Общие вопросы Delphi 10 29.12.2014 00:01
Помогите найти ошибку в коде vbn1 Общие вопросы C/C++ 4 12.12.2014 20:50
Помогите найти ошибку в коде. Kapustachkin Общие вопросы C/C++ 9 05.11.2014 10:38