Во-первых, не whill, а while. Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу. Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу.
Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
var dd,mm,gg:integer;
begin
readln(dd,mm,gg);
case dd of
1..5: writeln('начало');
6..14: writeln('первая половина');
15: writeln('середина');
16..25: writeln('вторая половина');
26..31: writeln('конец');
end;
case mm of
1: writeln('января');
2: writeln('февраля');
3: writeln('марта');
4: writeln('апреля');
5: writeln('мая');
6: writeln('июня');
7: writeln('июля');
8: writeln('августа');
9: writeln('сентября');
10: writeln('октября');
11: writeln('ноября');
12: writeln('декабря');
end;
if gg mod 4=0 then writeln ('високосный') else writeln('не високосный');
end.
---
var a:integer;
begin
readln(a);
writeln(a mod 10,a);
end.