var a,k3,k4,k5,i: integer;
cr:real;
begin
k3:=0;
k4:=0;
k5 := 0;
cr:=0;
for i:=1 to 20 do
begin
writeln('введите оценку ученика');
readln (a);
cr:=cr+a;
if a mod 3=0 then k3:=k3+1 else if a mod 4= 0 then k4:=k4+1 else k5:=k5+1;
end;
writeln('число отметок 5,полученных учениками за контрольную работу:',k5);
cr:=cr/20;
writeln('Средний , полученный учениками за контрольную работу:',cr);
if (k5>k4) and (k5>k3) then writeln('пятерок больше всего')
else if (k4>k3) then writeln('четверок больше всего')
else writeln('троек больше всего')
end.
type
Pt = record
x, y: real
end;
Res = record
P1, P2: Pt;
L2: real
end;
function L(M1, M2: Pt): Res;
begin
Result.P1 := M1;
Result.P2 := M2;
Result.L2 := Sqr(M2.x - M1.x) + Sqr(M2.y - M1.y)
end;
begin
var M := new Pt[3];
var R := new Res[3];
for var i := 0 to 2 do
Read(M[i].x, M[i].y);
R[0] := L(M[0], M[1]);
R[1] := L(M[0], M[2]);
R[2] := L(M[1], M[2]);
var minr := R.MinBy(t -> t.L2);
var s := $'({minr.P1.x},{minr.P1.y}) и ({minr.P2.x},{minr.P2.y})';
Println('Минимальное расстояние между точками', s)
end.
Пример-2 1.5 0.5 3 3 -2Минимальное расстояние между точками (-2,1.5) и (0.5,3)