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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы