![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
SlimShady |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
Составить программу вычисления корней квадратного уравнения вида 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???????? |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
По формулам:
Цитата X1 = (-b + sqrt(D)) / (2*A) X2 = (-b - sqrt(D)) / (2*A) |
SlimShady |
![]() ![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
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 |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
ошибки в синтаксисе.
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";'
|
Romtek |
![]()
Сообщение
#5
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 303 Пол: Мужской Реальное имя: Роман Репутация: ![]() ![]() ![]() |
X1, X2 - действительные числа! (Real)
Цитата Последовательность действий: 1. Описать переменные a, b, c, d, x1,x2 как REAL. ![]() Сообщение отредактировано: Romtek - 11.05.2005 19:24 -------------------- Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
|
Romtek |
![]()
Сообщение
#6
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 303 Пол: Мужской Реальное имя: Роман Репутация: ![]() ![]() ![]() |
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- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
SlimShady, плюс к этому (чтобы избежать неприятностей с "делением на 0") проверяй, не равняется ли A нулю...
|
SlimShady |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
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 |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
SlimShady, ошибочка у тебя:
if d=0 then
writeln('Дискриминант равен ',-b/(2*a):2 :3) { <--- Не дискриминант, а уже корень. Дискриминант у тебя равен 0... }
|
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 14:17 |