помогите решить две задачи пожалуйста!
1) Придумайте выражение, которое с помощью mod, div, сложения, вычитания и умножения (без циклов и тому подобного):
Находит количество цифр, больших 6 в данном числе.
2) Помогите написать программу решения неравенства ax2 + bx + c > 0.
p.s. Пишу на Lazarus...
Код(неправильно считает при а=0):
var valueA,valueB,valueC,discriminant,valueX1,valueX2,valueX:real;
begin
writeln('Введите коэффициенты a,b,c(после ввода нажмите Enter):');
readln(valueA,valueB,valueC);
if valueA=0 then valueX:=valueB*valueX+valueC else // delete and customize
discriminant:=valueB*valueB-4*valueA*valueC;
writeln('Дискриминант равен: ',discriminant:1:0);
if discriminant>0 then
begin
valueX1:=(-valueB+sqrt(discriminant))/(2*valueA);
valueX2:=(-valueB-sqrt(discriminant))/(2*valueA);
if valueX1>valueX2 then
begin
valueX:=valueX1;
valueX1:=valueX2;
valueX2:=valueX;
writeln('Значение x1 и x2: ', valueX1,valueX2);
end;
end;
if valueA>0 then
begin
if discriminant>0 then write('x<',valueX1:0:1,' or x>',valueX2:0:1)
else write('Значение x - любое число');
end
else
begin
if discriminant>0 then write('x>',valueX1:0:1,' and x<',valueX2:0:1)
else write('Решений нет');
end;
readln;
end.
Заранее огромное спасибо!
Ответы
Ответ дал:
0
var a, b, c, d, x1, x2, t: real;
begin
writeln('Программа для решения неравенства ax^2 + bx + c > 0');
write('Введите коэффициенты a, b, c: ');
readln(a, b, c);
if a = 0 then begin
if b = 0 then
begin
if c > 0 then writeln('(-∞; +∞)')
else writeln('ø')
end
else if b > 0 then writeln('(', -c / b : 0 : 3, '; +∞)')
else writeln('(-∞; ', -c / b, ')')
end
else
begin
d := b * b - 4 * a * c;
if d = 0 then
begin
x1 := -b / (2 * a);
if a > 0 then writeln('(-∞; ', x1, ') U (', x1, '; +∞)')
else writeln('ø')
end
else if d > 0 then
begin
x1 := (-b - sqrt(d)) / (2 * a);
x2 := (-b + sqrt(d)) / (2 * a);
if x1 > x2 then
begin
t := x1;
x1 := x2;
x2 := t
end;
if a > 0 then writeln('(-∞; ', x1, ') U (', x2, '; +∞)')
else writeln('(', x1, '; ', x2, ')')
end
else
begin
if a > 0 then writeln('(-∞; +∞)')
else writeln('ø')
end
end
end.
begin
writeln('Программа для решения неравенства ax^2 + bx + c > 0');
write('Введите коэффициенты a, b, c: ');
readln(a, b, c);
if a = 0 then begin
if b = 0 then
begin
if c > 0 then writeln('(-∞; +∞)')
else writeln('ø')
end
else if b > 0 then writeln('(', -c / b : 0 : 3, '; +∞)')
else writeln('(-∞; ', -c / b, ')')
end
else
begin
d := b * b - 4 * a * c;
if d = 0 then
begin
x1 := -b / (2 * a);
if a > 0 then writeln('(-∞; ', x1, ') U (', x1, '; +∞)')
else writeln('ø')
end
else if d > 0 then
begin
x1 := (-b - sqrt(d)) / (2 * a);
x2 := (-b + sqrt(d)) / (2 * a);
if x1 > x2 then
begin
t := x1;
x1 := x2;
x2 := t
end;
if a > 0 then writeln('(-∞; ', x1, ') U (', x2, '; +∞)')
else writeln('(', x1, '; ', x2, ')')
end
else
begin
if a > 0 then writeln('(-∞; +∞)')
else writeln('ø')
end
end
end.
Вас заинтересует
2 года назад
2 года назад
7 лет назад
7 лет назад
10 лет назад
10 лет назад