Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.98/56: Рейтинг темы: голосов - 56, средняя оценка - 4.98
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
1

Вычислить дискриминант

30.09.2011, 21:41. Просмотров 10444. Ответов 16
Метки нет (Все метки)

Так могу в общем то
делать сложение, вычитание, деление, умножение что бы там корень решал.
тут решил сделать дискриминант и у меня не пашет((
такое впечатление буд то комп считать не умеет.
Берет значение b и в ответ кидает только в отрицательной форме.
Гляньте.

Pascal
1
2
3
4
5
6
7
8
9
10
11
var a,b,c,D,x1,x2: real;
begin
writeln('введите коэффициенты уровнения a,b,c');
D:=sqr(b)-(4*a*c);
read (a,b,c);
if (D > 0) then
x1:=-b+sqrt(D)/(2*a);
x2:=-b-sqrt(D)/(2*a);
Writeln('x1:=',x1);
Writeln('x2:=',x2);
end.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2011, 21:41
Ответы с готовыми решениями:

Дискриминант
Не работает программа: var a,b,c,x, D: integer; begin write('Введите a: '); readln(a); ...

Дискриминант
нужно что б в процедуре вводило значения а,б,с общитало только дискреминант , в основной программе...

Если дискриминант равен нулю то из него не извлекая корень решать дальше
можно использовать тока оператор CASE (с if просто) а вот с CASE не понимаю как помогите P.S....

Вычислить дискриминант
Добрый день, помогите пожалуйста с решением задачки по ассемблеру. Без нее к экзамену не допустят((...

Вычислить дискриминант многочлена
Вычислить дискриминант многочлена f(x)={x}^{n-1}+{x}^{n-2}+...+x+1

16
Zanexess
112 / 85 / 52
Регистрация: 22.10.2010
Сообщений: 227
30.09.2011, 21:57 2
Так у тебя ввод позже чем вычисления, поменяй местами. И скобки не поставил.
1
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
30.09.2011, 21:59  [ТС] 3
стоп, какие?
Можешь показать пожалуйста.
а то нублю еще.
0
Zanexess
112 / 85 / 52
Регистрация: 22.10.2010
Сообщений: 227
30.09.2011, 21:59 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
var a,b,c,D,x1,x2: real;
begin
writeln('введите коэффициенты уровнения a,b,c');
read (a,b,c);
D:=sqr(b)-(4*a*c);
if (D > 0) then
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
Writeln('x1:=',x1);
Writeln('x2:=',x2);
end.
1
30.09.2011, 21:59
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
30.09.2011, 22:03  [ТС] 5
ммм.. допустим.
А я могу задавать любые числа на a,b,c?
0
Zanexess
112 / 85 / 52
Регистрация: 22.10.2010
Сообщений: 227
30.09.2011, 22:04 6
Цитата Сообщение от Витасик Посмотреть сообщение
А я могу задавать любые числа на a,b,c?
Ну в пределах real - типа.
0
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
30.09.2011, 22:06  [ТС] 7
Понятно.
когда пишу 1 6 16 пишет корней нет.
0
Zanexess
112 / 85 / 52
Регистрация: 22.10.2010
Сообщений: 227
30.09.2011, 22:06 8
Цитата Сообщение от Витасик Посмотреть сообщение
когда пишу 1 6 16 пишет корней нет.
Их и не должно быть. Дальше гугл и\или учебник математики.
1
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
30.09.2011, 22:57  [ТС] 9

А то есть это выходит что он берет условие
a+6b+16c=0
тогда и нет корней.

Добавлено через 5 минут
Спасибо за помощь

Добавлено через 10 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
var a,b,c,D,x1,x2,z: real;
begin
writeln('введите коэффициенты уровнения a,b,c');
read (a,b,c);
z:=a+b-c;
D:=sqr(b)-4*a*c;
If (D < 0) then
writeln('корней нет')
else
begin
if (D > 0) then
x1:=-b+sqrt(D)/(2*a);
x2:=-b-sqrt(D)/(2*a);
Writeln('x1:=',x1);
Writeln('x2:=',x2);
end
end.
Я вот так все переписал, но он выдает не правильные ответы(

Добавлено через 33 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses crt;
  var a,b,c,d,V,x1,x2: real;
  begin
  read (a,b,c);
  d:=b*b-4*a*c;
  if (d<0) then
  writeln ('Корней нет!')
  else
  begin
  writeln('d:=',d);
  if (d=100) then
  V:=sqrt(D);
  writeln('V:=',V);
  if (V=10) then
  x1:=(-b-V)/(2*a);
  x2:=(-b+V)/(2*a);
  writeln('x1:=',x1);
  writeln('x2:=',x2);
  end
  end.
А я короче так переписал все работает и интереснее выглядит
спасибо за помощь
0
denisneposeda
46 / 46 / 36
Регистрация: 18.10.2010
Сообщений: 212
01.10.2011, 04:08 10
ты еще забыл рассмотреть, если дискриминант равен 0! еще так же проверить ввод 0 в коефициенты. потмоу что меняется суть решения уравнения))) не так все просто!)
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
uses crt;
var
a,b,c: integer;
d,x1,x2: real;
begin
write('vvedite koeficienti (a,b,c): ');
read(a,b,c);
d:=sqr(b)-4*a*c;
if d<0
 then
  writeln('net korney')
   else
    if d>0
     then
      begin
       x1:=(-b+sqrt(d))/(2*a);
       x2:=(-b-sqrt(d))/(2*a);
       writeln('Pri D=',d,', x1=',x1,', x',x2);
      end
       else
        begin
         x1:=-b/(2*a);
         x2:=x1;
         writeln('Pri D=',d,', x1=',x1,', x',x2);
        end;
end.
1
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
01.10.2011, 04:25  [ТС] 11
Мне еще многое предстоит выучить)
спасибо)

Добавлено через 1 минуту
Вот в таких заданиях мне мозг ломать
Задание «Лампа со шторой». В комнате светло, если на улице день и раздвинуты шторы или если включена лампа. Ваша программа должна, в зависимости от времени суток и состояния лампы и штор, отвечать на вопрос, светло ли в комнате.
0
denisneposeda
46 / 46 / 36
Регистрация: 18.10.2010
Сообщений: 212
01.10.2011, 05:15 12
ну если так понял задачу:
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
uses crt;
var
a,b,c: boolean;
s: string;
begin
write('na ylize denb? (true or false)');
readln(s);
if s='true'
 then
  a:=true
   else
    a:=false;
    
write('razdvinyti shtori? (true or false)');
readln(s);
if s='true'
 then
  b:=true
   else
    b:=false;
    
write('vklIo4ena lampa? (true or false)');
readln(s);
if s='true'
 then
  c:=true
   else
    c:=false;
 
    if (a=true and (b=true or c=true))
     then
      writeln('da, svetlo v komnate!')
       else
        writeln('temno, kak v pope!');
end.
0
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
01.10.2011, 11:31  [ТС] 13
Это что сложно для меня, я могу только маленькие калькуляторы делать, это оказалось самое просто.
0
denisneposeda
46 / 46 / 36
Регистрация: 18.10.2010
Сообщений: 212
01.10.2011, 13:32 14
ничего сложного нету) главное желание и время, и пытаться методом проб и ошибок решать) решать и еще раз решать) в этом деле, нужно больше практики)
0
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
01.10.2011, 14:25  [ТС] 15
Хех это мне бы где нить задачки нарыть, что бы тренероваться)
0
denisneposeda
46 / 46 / 36
Регистрация: 18.10.2010
Сообщений: 212
01.10.2011, 15:58 16
Вперед ищи книжку в инэте! Д.М. Златопольский - Сборник задач по программированию, множество задач, в прошлом году, по книге практику сдавали)
0
Витасик
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 9
02.10.2011, 01:39  [ТС] 17
О, спасибо большое))
0
02.10.2011, 01:39
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2011, 01:39

вычислить дискриминант многочлена
вычислить дискриминант многочлена f(x)={x}^{n}-1

Как вычислить дискриминант квадратного уравнения?
вот задали написать такую программку... для вычисления дискриминанта... но у меня выдает ошибку и я...

Дискриминант
Добрый день. скажите пожалуйста как можно описать комплексные корни в процессе решения квадратного...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.