
В обоих заданиях нет самомого главного - не описан интерфейс с пользователем, функции пользователя и функции программы. Без этого программа не пишется. Ведь ты, по сути, формулируешь техническое задание на программирование, а в нём не должно быть неясностей для программиста, он должен взять листочек и тупо закодировать то, что там написано.
Ну, например, по заданию 1 могут быть варианты:
1. Написать программу, которая , при этом в каждом поединке победа присуждается с вероятностью 1/3, поражение с вероятностью 1/2, ничья с вероятностью 1/6. По окончании расчетов вывести турнирную таблицу в порядке занятого места.
В этом случае пользователь ничего не делает и интерфейса, как такового, нет, он просто нажимает "пуск", а программа всё сама делает и выводит результаты на печать.
2. Написать программу, которая, при этом участники каждого турнира выводятся на экран, а пользователь сам определяет его результат(победа, ничья, поражение). По окончании турниров программа віводит турнирную таблицу в порядке занятого места.
В этом случае пользователь всё время в диалоге, потому что именно он должен определять результат каждого турнира.
Вот 2 разных сценария интерфейса к одному и тому же, что написано в задании, но программы, их сложность достаточно различаются.
Резюме. Если хочешь, чтобы тебе качественно а не отписались, сформулируй задания снова, лучше каждое отдельным заданием и так, чтобы тебе самой было понятно, что ты хочешь от программы.
Успехов!
program sorting;
const
N = 10;
var
v: array[1..N] of integer;
d: integer;
i, t: integer;
k: boolean;
begin
randomize;
write('ДО сортировки: ');
for i := 1 to N do
begin
readln(v[i])
write(v[i]:6);
end;
}
d := N div 2;
while(d > 0) do
begin
k := true;
while k do
begin
k := false;
i := 1;
for i := 1 to N - d do
begin
if(v[i] > v[i + d]) then
begin
t := v[i];
v[i] := v[i + d];
v[i + d] := t;
k := true;
end;
end;
end;
d := d div 2;
end;
writeln;
write('ПОСЛЕ сортировки: ');
for i := 1 to N do
write(v[i]:6);
writeln;
end.