Тема «Циклические алгоритмы»
Цикл со счетчиком
1. Чему будет равно значение целой переменной «a» после выполнения этого фрагмента программы?
a:=10;
for i:=1 to 2 do begin
a:=a-2;
end;
2. Чему будет равно значение целой переменной «a» после выполнения этого фрагмента программы?
a:=3;
for i:=1 to 2 do begin
a:=a+a;
end;
3. Какое число будет выведено на экран после выполнения этого фрагмента программы?
write(1);
for i:=3 to 5 do
write(i);
Цикл с предусловием
1. Сколько раз будет выполнен этот цикл?
i:=5;
while i<5 do begin
writeln('Привет!');
i:=i+1;
end;
2. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 2 раза?
i:=1;
while i<=... do begin
writeln('Привет!');
i:=i+1;
end;
3. Какое число будет выведено на экран в результате выполнения этого цикла?
i:=1;
while i<5 do begin
write(i);
i:=i+1;
end;
Цикл с постусловием
Чему будет равно значение переменной «a» после выполнения этого цикла?
i:=3;
a:=12;
repeat
a:=a+i;
i:=i+1;
until (i>3);
Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 4 раза?
i:=...;
repeat
writeln('Привет!');
i:=i+1;
until (i=9);
Какое число будет выведено на экран в результате выполнения этого цикла?
i:=6;
write('9');
repeat
write(i);
i:=i+1;
until (i>5);
Обоснование:
Изначально переменная "a" равна 10. Затем в цикле со счетчиком переменная "a" уменьшается на 2 на каждой итерации (при каждом выполнении тела цикла). Цикл выполняется дважды, поэтому переменная "a" уменьшается на 2 дважды, то есть 10 - 2 - 2 = 6.
2. После выполнения данного фрагмента программы значение переменной "a" будет равно 12.
Обоснование:
Изначально переменная "a" равна 3. Затем в цикле со счетчиком переменная "a" увеличивается на значение самой переменной "a" на каждой итерации. На первой итерации значение "a" становится равным 3 + 3 = 6, а на второй итерации значение "a" становится равным 6 + 6 = 12.
3. На экран будет выведено число 135.
Обоснование:
Сначала будет выведено число 1 из-за команды write(1), а затем в цикле с предусловием будет выполнено три итерации (когда значение переменной "i" будет равно 3, 4 и 5). На каждой итерации будет вызываться команда write(i), которая выводит текущее значение переменной "i" на экран. Таким образом, на экран будет выведено 135.
4. Данный цикл не будет выполнен ни разу.
Обоснование:
Изначально переменная "i" равна 5. Однако, до начала выполнения тела цикла проверяется условие while (i<5), и поскольку данное условие не выполняется (5 не меньше 5), то цикл ни разу не выполнится. Команда writeln('Привет!') внутри цикла не будет выполнена ни разу.
5. Чтобы цикл выполнся ровно 2 раза, нужно вместо многоточия записать число 3.
Обоснование:
Изначально переменная "i" равна 1. Перед каждой итерацией цикла проверяется условие while (i<=...), и если это условие выполняется, то выполняется тело цикла. Значение многоточия должно быть таким, чтобы условие i<=... выполнилось дважды и при последующей проверке не выполнялось. Если вместо многоточия записать число 3, то цикл выполнится дважды, так как 1 и 2 меньше или равны 3, но на 3-й итерации условие i<=3 не будет выполняться и цикл завершится.
6. На экран будет выведено число 1234.
Обоснование:
Изначально переменная "i" равна 1. Перед каждой итерацией цикла проверяется условие while (i<5), и если это условие выполняется, то выполняется тело цикла. На каждой итерации будет вызываться команда write(i), которая выводит текущее значение переменной "i" на экран. Таким образом, на экран будет выведено 1234.
7. После выполнения данного цикла значение переменной "a" будет равно 18.
Обоснование:
Изначально переменная "a" равна 12. Цикл с постусловием повторяется до тех пор, пока условие until (i>3) не выполняется, то есть пока значение переменной "i" не станет больше 3. В каждой итерации значение переменной "a" увеличивается на значение переменной "i", а значение переменной "i" увеличивается на 1. Таким образом, на первой итерации значение "a" становится равным 12 + 3 = 15, на второй итерации значение "a" становится равным 15 + 4 = 19, но после второй итерации условие until (i>3) выполняется и цикл завершается. Поэтому значение переменной "a" после цикла будет равно 15.
8. Чтобы цикл выполнился ровно 4 раза, нужно вместо многоточия записать число 3.
Обоснование:
Изначально переменная "i" равна 3. Цикл с постусловием повторяется до тех пор, пока условие until (i=9) не выполняется, то есть пока значение переменной "i" не станет равным 9. В каждой итерации значение переменной "i" увеличивается на 1. Если вместо многоточия записать число 3, то цикл выполнится четыре раза, так как 3 + 1 = 4, 4 + 1 = 5, 5 + 1 = 6, и 6 + 1 = 7 меньше 9, но 7 + 1 = 8 уже равно 9 и условие until (i=9) выполняется.
9. На экран будет выведено число 6789.
Обоснование:
Изначально переменная "i" равна 6. Цикл с постусловием повторяется до тех пор, пока условие until (i>5) не выполняется, то есть пока значение переменной "i" не станет больше 5. В каждой итерации значение переменной "i" увеличивается на 1. На каждой итерации будет вызываться команда write(i), которая выводит текущее значение переменной "i" на экран. Таким образом, на экран будет выведено 6789.