В обоих заданиях нет самомого главного - не описан интерфейс с пользователем, функции пользователя и функции программы. Без этого программа не пишется. Ведь ты, по сути, формулируешь техническое задание на программирование, а в нём не должно быть неясностей для программиста, он должен взять листочек и тупо закодировать то, что там написано.
Ну, например, по заданию 1 могут быть варианты:
1. Написать программу, которая , при этом в каждом поединке победа присуждается с вероятностью 1/3, поражение с вероятностью 1/2, ничья с вероятностью 1/6. По окончании расчетов вывести турнирную таблицу в порядке занятого места.
В этом случае пользователь ничего не делает и интерфейса, как такового, нет, он просто нажимает "пуск", а программа всё сама делает и выводит результаты на печать.
2. Написать программу, которая, при этом участники каждого турнира выводятся на экран, а пользователь сам определяет его результат(победа, ничья, поражение). По окончании турниров программа віводит турнирную таблицу в порядке занятого места.
В этом случае пользователь всё время в диалоге, потому что именно он должен определять результат каждого турнира.
Вот 2 разных сценария интерфейса к одному и тому же, что написано в задании, но программы, их сложность достаточно различаются.
Резюме. Если хочешь, чтобы тебе качественно а не отписались, сформулируй задания снова, лучше каждое отдельным заданием и так, чтобы тебе самой было понятно, что ты хочешь от программы.
Успехов!
var
a,c1,c2,s1,s2:integer;
begin
readln(a);
if a=0 then
begin
writeln('Error');
exit;
end;
s2:=-30000; c2:=30000;
s1:=-30000; c1:=30000;
repeat
if (a>s1) or (a>s2) then
if s1>s2 then
s2:=a
else
s1:=a;
if (a<c1) or (a<c2) then
if c1>c2 then
c1:=a
else
c2:=a;
readln(a);
until a=0;
writeln('max: ',s1+s2);
writeln('min: ',c1+c2);
end.
Если моё решение вам, пометьте его лучшим !