1) Сколько раз выполниться цикл: a) For i:=7 downto -3 do k:=k+1; b) k:=0; while k меньше 15 do begin k:=k+4; end; c) k:=10; repeat k:=k-1; until k больше 2; 2) Определите, что будет напечатано в результате работы сл...
1) Сколько раз выполниться цикл:
a)
For i:=7 downto -3 do
k:=k+1;
b)
k:=0;
while k < 15 do begin
k:=k+4;
end;
c)
k:=10;
repeat
k:=k-1;
until k>2;
2) Определите, что будет напечатано в результате работы следующего фрагмента программы:
a)
s:=0;
for k:=1 to 27 do begin
if k mod 7 =0 then s:=s+1;
end;
write(s);
b)
s:=0;
k:=1;
while k < 18 do begin
s:=s+k;
k:=k+4;
end;
write(s);
c)
k:=0;
p:=1;
repeat
p:=p*k;
k:=k+3;
until k>10;
write(p);
Ответ(ы) на вопрос:
Гость
1a)
(-3-7)/(-1)+1 = 11 раз выполнится цикл. Стандартная формула вычисления числа шагов.
1b)
Тут k меняется от 0 с шагом 4 до 14 (15 уже нельзя). По той же формуле:
(14-0)/4+1 = 3+1 = 4 раза (деление мы выполняем нацело).
1c)
k присваивается значение 10, затем оно уменьшается на 1 (теперь k=9) и проверяется условие завершения цикла k>2.
Условие завершения истинно, поэтому цикл будет выполнен 1 раз.
2a)
До входа в цикл s=0, а при каждом проходе по циклу s увеличивается на 1, если выполняется некое условие, т.е. s - это счетчик, значение которого выводится после окончания цикла.
Условие k mod 7 = 0 сообщает нам, что именно подсчитывается: сколько раз k будет делится на 7 без остатка. Значение k изменяется от 1 до 27 и легко найти на этом интервале все числа, кратные 7, если вспомнить таблицу умножения: 7, 14, 21.
Следовательно, будет выведено число 3.
2b)
Здесь так же s=0 перед входом в цикл, но в теле цикла s увеличивается уже не на 1, а на k, т.е. это накопление суммы некоторых k. Первоначально k=1, а затем оно с шагом 4 растет, пока остается меньше 18, т.е k = 1, 5, 9, 13, 17. Сумма этих чисел и будет накоплена в s, так что s = 1+5+9+13+17 = 45
2с)
Здесь выводится значение p. Перед входом в цикл ему присваивается уже не 0, а 1, так что тут "запахло" произведением, а не суммой. И действительно, в теле цикла p домножается на k, т.е. это произведение неких k. Посмотрим, каких именно.
Первоначально k=0. Входим в цикл, он типа repeat, поэтому входим, не думая. Первое же умножение p на 0 даст 0 и дальше уже нечего
думать: сколько не умножай, ноль нулем и останется. Так и будет выведено число 0.
Не нашли ответ?
Похожие вопросы