
Помогите решить две задачи пожалуйста!
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.
Заранее огромное спасибо!

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.