// PascalABC.NET 3.3, сборка 1547 от 07.10.2017 // Внимание! Если программа не работает, обновите версию!
procedure (a,b,c:real; var Корни:(real,real); var ЧислоКорней:integer); begin if a=0 then ЧислоКорней:=0 else begin var D:=b*b-4*a*c; if D>0 then begin var p1:=-b/2/a; var p2:=Sqrt(D)/2/a; Корни:=(p1-p2,p1+p2); ЧислоКорней:=2 end else if D=0 then begin var p1:=-b/2*a; Корни:=(p1,p1); ЧислоКорней:=1 end else ЧислоКорней:=0 end end;
begin var (a,b,c):=ReadReal3('Коэффициенты биквадратного уравнения a,b,c:'); var Корни:=(0.0,0.0); var ЧислоКорней:=0; (a,b,c,Корни,ЧислоКорней); if ЧислоКорней=0 then Writeln('Нет корней') else begin var НомерКорня:=1; var r:=Корни[0]; if r>0 then begin Writeln('x1=',-Sqrt(r),', x2=',Sqrt(r)); НомерКорня:=3 end else if r=0 then begin Writeln('x1=0'); НомерКорня:=2 end; r:=Корни[1]; if r>0 then Writeln('x',НомерКорня,'=',-Sqrt(r),', x',НомерКорня+1,'=',Sqrt(r)) else if r=0 then Writeln('x',НомерКорня,'=0'); end end.
#include <math.h>
int main()
{
float x, y1, y2, y3;
scanf("%f",&x);
y1 = log(x);
printf("Ln(x) = %f\n", y1);
y2 = 1+fabs(x);
printf("1+|x| = %f\n", y2);
y3 = (1+x*x)*x;
printf("(1+x^2)*x = %f\n", y3);
if ((y1<y2)&&(y1<y3)) {
if (y2<y3) printf("%f %f %f", y1,y2,y3);
else printf("%f %f %f", y1,y3,y2);
}
else if ((y2<y1)&&(y2<y3)) {
if (y1<y3) printf("%f %f %f", y2,y1,y3);
else printf("%f %f %f", y2,y3,y1);
}
else if (y1<y2) printf("%f %f %f", y3,y1,y2);
else printf("%f %f %f", y3,y2,y1);
return 0;
}
Пример:
0.8
Ln(x) = -0.223144
1+|x| = 1.800000
(1+x^2)*x = 1.312000
-0.223144 1.312000 1.800000