Биквадратное уравнение имеет вид ax⁴+bx²+c=0 Замена z=y² приводит к уравнению решение которого хорошо известен. Поскольку в задании указан уровень "5-9 классы", варианты с комплексными корнями рассматриваться не будут, т.е. при отрицательном дискриминанте D мы считаем, что корней нет.
var a,b,c,d,z1,z2:real; begin Writeln('Введите коэффициенты биквадратного уравнения по убыванию степеней'); Read(a,b,c); d:=b*b-4*a*c; if d<0 then Writeln('Нет корней') else begin d:=sqrt(d); z1:=(-b-d)/(2*a); z2:=(-b+d)/(2*a); if z1<0 then begin z1:=z2; if z1<0 then Writeln('Нет корней') else Writeln(-sqrt(z1),' ',sqrt(z1)) end else begin Write(-sqrt(z1),' ',sqrt(z1),' '); if z2>=0 then Writeln(-sqrt(z2),' ',sqrt(z2)); Writeln end end end.
Var InFile, OutFile: text; // Вводной и выводной файлы Var a,b,c, D, Result : Integer; Assign(InFile, "C:\kvur.txt"); Assign(OutFile, "C:\korni.txt") Reset(InFile) Read(InFile,a) Read(InFile,b) Read(InFile, c) D = sqr(b) + 4*a*c if D = 0 then Write("Уравнение не имеет корней") Else Append(OutFile) Result:=(-b + sqrt(D)) / 2 * a Write(OutFile,Result) Write("Корень уравнения") WriteLn(Result) if (D>0) then Result:=(-b - sqrt(D)) / 2 * a Write(OutFile, Result) Write("Второй корень уравнения") Write(Result) End; End.
Здесь нужно проанализировать, какое слово следует написать в зависимости от введенного числа. Если число оканчивается на 0, 5, 6, 7, 8, 9, то нужно написать "лет". Если число оканчивается на 1, то нужно написать "год". Если число оканчивается на 2, 3, 4, то нужно написать "года". НО! Исключение составляют числа от 11, до 19, здесь всегда нужно писать "лет". Поэтому в программе проверяются и само число n и последний разряд этого числа x.
Программа:
program z; var n,x:integer; begin readln(n); {вводим число} x:=n mod 10; {вычислим последний разряд числа} if (x=0) or ((n>10) and (n<=19)) or (x>=5) then writeln(n,' лет') else if x=1 then writeln(n,' год') else if (x>1)and(x<5) then writeln(n,' года'); end.
Замена z=y² приводит к уравнению решение которого хорошо известен. Поскольку в задании указан уровень "5-9 классы", варианты с комплексными корнями рассматриваться не будут, т.е. при отрицательном дискриминанте D мы считаем, что корней нет.
var
a,b,c,d,z1,z2:real;
begin
Writeln('Введите коэффициенты биквадратного уравнения по убыванию степеней');
Read(a,b,c);
d:=b*b-4*a*c;
if d<0 then Writeln('Нет корней')
else begin
d:=sqrt(d);
z1:=(-b-d)/(2*a);
z2:=(-b+d)/(2*a);
if z1<0 then begin
z1:=z2;
if z1<0 then Writeln('Нет корней')
else Writeln(-sqrt(z1),' ',sqrt(z1))
end
else begin
Write(-sqrt(z1),' ',sqrt(z1),' ');
if z2>=0 then Writeln(-sqrt(z2),' ',sqrt(z2));
Writeln
end
end
end.