<u>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger('Количество судей:');
Assert(n.InRange(3,5),'Неверное количество судей, разрешено 3,4 или 5');
var a:=ReadArrReal('Введите оценки:',n);
if n>3 then Writeln('Балл ',a.OrderBy(t->t).ToArray[1:n-1].Average:0:4)
else begin
var m:=a.Average;
var b:=a.Select(t->(t,Abs(t-m))).OrderByDescending(t->t[1]).ToArray;
if Abs(b[0][1]-b[1][1])<1e-5 then Writeln('Балл ',m:0:4)
else Writeln('Балл ',b.Skip(1).Select(t->t[0]).Average:0:4)
end
end.
<u>2. А в школах часто все еще учат писать так:</u>
var
a,d:array[1..5] of real;
n,i,imax,imin,j:integer;
s,avg:real;
begin
Write('Количество судей: '); Read(n);
if (n<3) or (n>5) then
Writeln('Неверное количество судей, разрешено 3,4 или 5')
else begin
Write('Введите оценки: ');
for i:=1 to n do Read(a[i]);
if n>3 then begin
imax:=1; imin:=1;
for i:=2 to n do
if a[i]<a[imin] then imin:=i
else
if a[i]>a[imax] then imax:=i;
s:=0;
a[imax]:=0;
a[imin]:=0;
for i:=1 to n do s:=s+a[i];
avg:=s/(n-2);
Writeln('Балл ',avg:0:4)
end
else begin
s:=0;
for i:=1 to n do s:=s+a[i];
avg:=s/n;
for i:=1 to n do d[i]:=Abs(a[i]-avg);
for i:=1 to n-1 do
for j:=i+1 to n do
if d[i]<d[j] then begin
s:=d[i]; d[i]:=d[j]; d[j]:=s
end;
if Abs(d[1]-d[2])<1e-5 then Writeln('Балл ',avg:0:4)
else begin
s:=0;
for i:=1 to n do
if a[i]<>a[1] then s:=s+a[i];
avg:=s/(n-1);
Writeln('Балл ',avg:0:4)
end
end
end
end.
1) Шифр Цезаря со сдвигом 2: Кожаыкл ижнвпкж - кыжф дрйорипруфю, пж кожаыкл ижнвпкж - кыжф сткщкпх
2)Шифр с заменой букв на цифры(использовано первые буквы клавиатуры): еугкнггк кенуену - уецкгг нуцеецншйгуеешз, енц уенцкнну цнйшнкеу - уцнгу унцггуц
Var a:array[1..10000] of integer;
n,i,j,k,t:integer;
begin
readln(n);
for i:=1 to n do
read(a[i]);
j:=n;
repeat
k:=j;
j:=0;
for i:=1 to k-1 do
if a[i+1]j:=i;
t:=a[i];
a[i]:=a[i+1];
a[i+1]:=t;
for t:=1 to n do
write(a[t],' ');
writeln;
end;
until j=0;
if k=n then
writeln(0); //Если перестановок не было, программа выводит только число 0. Если эта команда не нужна, можешь ее убрать
end.
1. Площадь ромба можно определить по формуле<u>Microsoft qBASIC 1.0</u>DIM a AS DOUBLE, alpha AS DOUBLE, k AS DOUBLE, s AS DOUBLE
CLS
INPUT "a, alpha="; a, alpha
k = ATN(1) / 45
PRINT "S="; a ^ 2 * SIN(alpha * k)
2. Договоримся, что a≤b и c≤d. Если после ввода это не так, то меняем местами значения a,b и/или c,d.Условие, при котором первый прямоугольник поместится во второй выглядит как a<c ∧ b<d
DIM a AS INTEGER, b AS INTEGER, c AS INTEGER, d AS INTEGER, t AS INTEGER
CLS
INPUT "a,b,c,d"; a, b, c, d
IF a > b THEN
t = a: a = b: b = t
END IF
IF c > d THEN
t = c: c = d: d = t
END IF
IF a < c AND b < d THEN
PRINT "Входит"
ELSE
PRINT "Не входит"
END IF
Ответ:
при записи числав форме m это мантисса