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

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

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

> Нахождение корней, квадратного уравнения
SlimShady
сообщение 11.05.2005 17:42
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Составить программу вычисления корней квадратного уравнения вида a x 2 + b x + c = 0

Последовательность действий:
1. Описать переменные a, b, c, d, x1,x2 как REAL.
2. Задать с клавиатуры коэффициенты a, b, c.
3. Вычислить значение дискриминанта d = b 2 – 4 a c
4. Вывести значение дискриминанта на экран
5. Проверить значение дискриминанта:
• Если дискриминант меньше нуля, то нет решения
• Если дискриминант больше или равен нулю, то вычислить
значения x1 и x2

как вычислить значение x1 и x2????????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
volvo
сообщение 11.05.2005 17:55
Сообщение #2


Гость






По формулам:
Цитата
X1 = (-b + sqrt(D)) / (2*A)
X2 = (-b - sqrt(D)) / (2*A)
 К началу страницы 
+ Ответить 
SlimShady
сообщение 11.05.2005 19:16
Сообщение #3





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +



Program yravnenie;
uses crt;
var a,b,c,d,X1,X2:integer;
Begin
ClrScr;
WriteLn('Введите первое число');
readLn(a);
WriteLn('Введите второе число');
readLn(В);
WriteLn('Введите третье число');
readLn(С);
d:=(b*2)-(4*a*c);
writeln('Итого ',d,'');
if d<0 then writeln('Нет решений')
Else
begin X1 = (-b + sqrt(D)) / (2*A)
X2 = (-b - sqrt(D)) / (2*A)
Writeln('Первый корень -',X1,' Второй корень ',X2,'');
end;
readln;
repeat until keypressed;
end.



Где ошибка???
Пишет:
Error 26: Type mismatch.

Сообщение отредактировано: SlimShady - 11.05.2005 19:18
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 11.05.2005 19:21
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


ошибки в синтаксисе.

var
  a,b,c,d{,x1,x2}:extended;

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

  d:=sqr(b)-4*a*c;

  if d<0 then
   writeln('Reshenii net')
    else
     if d=0 then
      writeln('x=',-b/(2*a):2 :3)
       else
        begin
           writeln('x1=',(-b+sqrt(d))/(2*a):2 :3);{x1:=(-b+sqrt(d))/(2*a)}
           writeln('x2=',(-b-sqrt(d))/(2*a):2 :3);{x2:=(-b-sqrt(d))/(2*a)}
        end;
   readln;
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Romtek
сообщение 11.05.2005 19:22
Сообщение #5


Знаток
****

Группа: Пользователи
Сообщений: 303
Пол: Мужской
Реальное имя: Роман

Репутация: -  2  +


X1, X2 - действительные числа! (Real)

Цитата
Последовательность действий:
1. Описать переменные a, b, c, d, x1,x2 как REAL.
smile.gif

Сообщение отредактировано: Romtek - 11.05.2005 19:24


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Romtek
сообщение 11.05.2005 19:33
Сообщение #6


Знаток
****

Группа: Пользователи
Сообщений: 303
Пол: Мужской
Реальное имя: Роман

Репутация: -  2  +


Program yravnenie;
uses crt;
var a,b,c,d,X1,X2:integer;
Begin
ClrScr;
WriteLn('Введите первое число');
readLn(a);
WriteLn('Введите второе число');
readLn(В);
WriteLn('Введите третье число');
readLn(С);
d:=(b*2)-(4*a*c); { <-- b*2 <> b^2 !! }
writeln('Итого ',d,'');
if d<0 then writeln('Нет решений')
Else
begin X1 = (-b + sqrt(D)) / (2*A) { не соответствует синтаксису Паскаля. Проверь что нужно добавить }
X2 = (-b - sqrt(D)) / (2*A) { а где оператор окончания блока ?? Ты думал, что можно просто вставить, и оно заработает ?! }
Writeln('Первый корень -',X1,' Второй корень ',X2,'');
end;
readln;
repeat until keypressed; { Это не нужно писать, если ты прежде ожидаешь ввода }
end.


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.05.2005 20:06
Сообщение #7


Гость






SlimShady, плюс к этому (чтобы избежать неприятностей с "делением на 0") проверяй, не равняется ли A нулю...
 К началу страницы 
+ Ответить 
SlimShady
сообщение 11.05.2005 21:29
Сообщение #8





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +



Program yravnenie;
uses crt;
var a,b,c,d,X1,X2:real;
Begin
ClrScr;
WriteLn('Введите первое число');
readLn(a);
WriteLn('Введите второе число');
readLn(В);
WriteLn('Введите третье число');
readLn(С);
d:=sqr(В)-4*a*c;
if d<0 then
writeln('Решения нет')
else
if d=0 then
writeln('Дискриминант равен ',-b/(2*a):2 :3)
else
begin
writeln('Первый корень уравнения равен ',(-b+sqrt(d))/(2*a):2 :3);
writeln('Второй корень уравнения равен ',(-b-sqrt(d))/(2*a):2 :3);
end;
readln;
end.



Сделал так.....вроде работает....
Как сделать так что-бы даже если дискриминант равен нулю, подсчитывался результат.....

Сообщение отредактировано: volvo - 23.11.2010 10:33
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.05.2005 21:54
Сообщение #9


Гость






SlimShady, ошибочка у тебя:
if d=0 then
writeln('Дискриминант равен ',-b/(2*a):2 :3) { <--- Не дискриминант, а уже корень. Дискриминант у тебя равен 0... }
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 20.06.2025 17:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"