Объяснение:
Writeln('Введите число');
readln(n);
Program n1;
Uses CRT;
Var A,B,C,sum: array[1..100] of Integer; srb: array[1..100] of Real;
i,k,n: integer; sr: real;
begin
ClrScr;
randomize;
Writeln('Vvedite kol-vo figuristov');
Readln(n);
Writeln('Rezultaty');
For i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:4);
end;
writeln;
For i:=1 to n do
begin
b[i]:=random(10);
write(b[i]:4);
end;
writeln;
For i:=1 to n do
begin
c[i]:=random(10);
write(c[i]:4);
end;
writeln;
Writeln('Summa ballov');
For i:=1 to n do
begin
sum[i]:=a[i]+b[i]+c[i];
write(sum[i]:4);
srb[i]:=sum[i]/3;
if srb[i]>sr then begin sr:=srb[i]; k:=i; end;
end;
writeln;
Writeln('Srednii rezultat');
For i:=1 to n do
write(srb[i]:4:2,' ');
writeln;
writeln('Pobedil figurist ',k,' s rezultatom ',sr:2:2);
readln
end.
Что касается "детского" варианта, наверное самый простой алгоритм - решето Эратосфена. Да, красивое(но ресурсное) решение может получиться с использованием рекурсии(не знаю, допускает ли рекурсию школьный Паскаль, но поинтересуйтесь, что это такое).
Текст программы приводить не буду, он, вероятно, опубликован в каждом втором букваре по программированию.
program TestN;
var
n: Integer;
begin
Write ('Введите N: ');
ReadLn (n);
if (n >= 100) and (n <= 999) and (n mod 2 <> 0) then
WriteLn (N, ' является нечетным трехзначным числом.')
else
WriteLn (N, ' не является нечетным трехзначным числом.');
ReadLn;
end.