// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var a,b,c:real; Read(a,b,c); // не вводить одинаковых! if a>b then if a>c then // a > [b,c] if b>c then Writeln('Среднее - второе число') else Writeln('Среднее - третье число') else Writeln('Среднее - первое число') else if b>c then // b > [a,c] if a>c then Writeln('Среднее - первое число') else Writeln('Среднее - третье число') else Writeln('Среднее - второе число') end.
Во-первых, не whill, а while. Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу. Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
MS EXCEL