Предмет: Информатика,
автор: lavrovdima33
ребят, кто разбирается в паскале? отредактируйте пожалуста. К слову это квадратное уравнение вида ax^{2}+bx+c
program qwur;
var
a, b, c, d, x, x1, x2: real;
begin
write('Введите коэффициэнты');
readln(a, b, c );
a := 0;
if (b = 0) and (c = 0) then
begin
writeln('ответ любое число');
end
else;
if (b = 0) and (c <> 0) then
begin
writeln('нет корней');
end
else;
if (b <> 0) and (b * x + c = 0) then
begin
x := (-c) / b;
writeln('x=', x);
end;
b := 0;
if (a * c > 0) then
begin
writeln('нет решений');
end
else;
if (a * c <= 0) then
begin
x1 := sqrt(-(c / a));
x2 := sqrt(c / a);
writeln('x1=', x1, 'x2=', x2);
end;
c := 0;
if (a <> 0) and (b <> 0) then
begin
x := (-b) / a;
writeln('x=', x)
end;
d := b * b - 4 * a * c;
if (d > 0) then
begin
x1 := (-b + sqrt(d)) / 2 * a;
x2 := (-b - sqrt(d)) / 2 * a;
writeln('x1 = ', x1, ', x2 = ', x2)
end
else;
if (d=0) then
begin
x1 := -(b / 2 * a);
writeln('x = ', x1)
end
else;
if (d < 0)then
begin
writeln('нет решений!');
end
end.
Ответы
Автор ответа:
0
Твой код не проверял. Недавно кому-то делал на Delphi. Переделал на Pascal.
Приложил картинкой, если запутаешься. Если что-то не так работает, я поправлю.
//Pascal
var
a, b, c, d, x1, x2: real;
begin
write('Введите a = '); readln(a);
write('Введите b = '); readln(b);
write('Введите c = '); readln(c);
if ((a = 0) and (b = 0) and (c = 0)) then
writeln('X любое')
else
if a <> 0 then
begin
d := sqr(b) - 4 * a * c;
if (d > 0) then
begin
x1 := (-b+sqrt(d))/(2*a);
x2 := (-b-sqrt(d))/(2*a);
writeln('x1 = ', x1);
writeln('x2 = ', x2);
end
else
if d = 0 then
begin
x1:=-b/(2*a);
x2:=x1;
writeln('x1 = ', x1);
//writeln('x2 = ', x2);
end
else
if d < 0 then
writeln('Корней нет.');
end
else
if (a = 0) and (b = 0) then
writeln('Решений нет.')
else
if (a = 0) then
begin
x1 := (-c)/b;
writeln('x = ', x1);
end;
end.
Приложил картинкой, если запутаешься. Если что-то не так работает, я поправлю.
//Pascal
var
a, b, c, d, x1, x2: real;
begin
write('Введите a = '); readln(a);
write('Введите b = '); readln(b);
write('Введите c = '); readln(c);
if ((a = 0) and (b = 0) and (c = 0)) then
writeln('X любое')
else
if a <> 0 then
begin
d := sqr(b) - 4 * a * c;
if (d > 0) then
begin
x1 := (-b+sqrt(d))/(2*a);
x2 := (-b-sqrt(d))/(2*a);
writeln('x1 = ', x1);
writeln('x2 = ', x2);
end
else
if d = 0 then
begin
x1:=-b/(2*a);
x2:=x1;
writeln('x1 = ', x1);
//writeln('x2 = ', x2);
end
else
if d < 0 then
writeln('Корней нет.');
end
else
if (a = 0) and (b = 0) then
writeln('Решений нет.')
else
if (a = 0) then
begin
x1 := (-c)/b;
writeln('x = ', x1);
end;
end.
Приложения:
Похожие вопросы
Предмет: История,
автор: garushafrikyn597
Предмет: Физика,
автор: niiniiiiiilove
Предмет: История,
автор: Obeme3098
Предмет: Биология,
автор: dimalazichny
Предмет: Математика,
автор: emilynight1