Во-первых, не whill, а while. Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу. Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
5
Объяснение:i := 0; S := 0;while i<2 dobegini := i + 1;S := S + i * i;end;В программе цикл, который выполняется до тех пор, пока i<2.
Изначально i = 0, S = 0. Проходим по циклу:
i:=i+1 /// Увеличиваем i на 1 (i = 0 + 1 = 1)
S:=S+i*i /// Прибавляем к S произведение i и i (S = 0 + 1*1 = 1)
i<2 ? i = 1, так что да, поэтому выполняем:
i:=i+1 /// Увеличиваем i на 1 (i = 1 + 1 = 2)
S:=S+i*i /// Прибавляем к S произведение i и i (S = 1 + 2*2 = 5)
i<2 ? i = 2, так что нет, поэтому конец.
Итак, как мы видим, S у нас равна 5.
Можем проверить, выполнив этот код:
Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу.
Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.