Решение показано в прилагаемом файле.
Первая
Program n1;
Uses CRT;
Var a,b,c,k: integer;
begin
Writeln('Vvedite a,b,c');
Readln(a,b,c);
If (a=b)and(b=c) then begin k:=1; writeln('Ravnostoronnij') end else
If (a=b)or(b=c)or(a=c) then begin k:=1; writeln('Ravnobedrennij'); end;
If (sqr(a)=sqr(b)+sqr(c))or(sqr(b)=sqr(a)+sqr(c))or(sqr(c)=sqr(b)+sqr(a))
then begin k:=1; writeln('Pryamoygolnij'); end;
If (a>b+c)or(b>a+c)or(c>a+b) then begin k:=1; writeln('treygolnik nelza sostavit'); end;
If k=0 then writeln('Treygolnik Raznostoronnij');
readln
end.
Вторая
Program n1;
Uses CRT;
Var a,b,c: integer;
begin
ClrScr;
Writeln('Vvedite a,b,c');
Readln(a,b,c);
If (a>0)and(b>0)and(c>0) then writeln('Summa kvadratov=',sqr(a)+sqr(b)+sqr(b));
If (a mod 2=0)or(b mod 2=0)or(c mod 2=0) then writeln('Summa =',a+b+c,', Proizvedenie =',a*b*c);
readln
end.
Const n=25;
var a,b:array[1..n] of integer;
i,j,t:integer;
begin
Randomize;
writeln('Результаты:');
for i:=1 to n do
begin
a[i]:=random(31)+10;
write(a[i]:3);
end;
writeln;
for i:=1 to n do b[i]:=i;
for i:=1 to n-1 do
for j:=1 to n-i do
if a[b[j]]>a[b[j+1]] then
begin
t:=b[j]; b[j]:=b[j+1]; b[j+1]:=t;
end;
writeln('Победитель:');
writeln('min = ',a[b[1]],' его номер = ',b[1]);
j:=1;
while b[j]<>4 do j:=j+1;
writeln('Результат российского лыжника: ', j,' место');
end.
Пример:
Результаты:
38 19 22 11 16 40 22 18 21 16 15 33 38 34 39 21 19 10 25 15 40 13 34 27 37
Победитель:
min = 10 его номер = 18
Результат российского лыжника: 2 место
PS. Места, которые заняли спортсмены с одинаковыми результатами, в программе будут различны.
1)р:2-а=б
2)а*б=S
))))))))))))))))))))))))))
Переведем варианты ответов из двоичной с.с. в десятичную:
1) 1000000₂=1*2⁶=64₁₀
2)1000110₂=1*2⁶+1*2²+1*2¹=64+4+2=70₁₀
3)1001101₂=1*2⁶+1*2³+1*2²+1*2⁰=64+8+4+1=77₁₀
4) 1000111₂=1*2⁶+1*2²+1*2¹+1*2⁰=64+4+2+1=71₁₀
только первое число удовлетворяет неравенству:
40<64<70
ответ: 1