
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);

Ответы на вопрос

(-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.



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;`
Ответ:
a) Цикл выполнится 11 раз. Значение `k` будет увеличиваться на 1 на каждой итерации, начиная с 7 и заканчивая -3 .
b) Цикл выполнится 4 раза. Значение `k` будет увеличиваться на 4 на каждой итерации, начиная с 0 и заканчивая 12 (после 3-й итерации) .
c) Цикл выполнится 8 раз. Значение `k` будет уменьшаться на 1 на каждой итерации, начиная с 10 и заканчивая 3 (после 8-й итерации) .
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);`
Ответ:
a) В результате работы этого фрагмента программы будет напечатано число 4. Цикл `for` будет выполняться 27 раз, и на каждой итерации будет проверяться, делится ли значение `k` на 7 без остатка. Если делится, то переменная `s` будет увеличиваться на 1. В конце программы будет выведено значение переменной `s`, которое равно 4 .
b) В результате работы этого фрагмента программы будет напечатано число 34. Цикл `while` будет выполняться до тех пор, пока значение `k` меньше 18. На каждой итерации значение `k` будет добавляться к переменной `s`, а затем `k` будет увеличиваться на 4. В конце программы будет выведено значение переменной `s`, которое равно 34 .
c) В результате работы этого фрагмента программы будет напечатано число 0. Цикл `repeat` будет выполняться до тех пор, пока значение `k` не станет больше 10. На каждой итерации значение `p` будет умножаться на `k`, а затем `k` будет увеличиваться на 3. Однако, так как начальное значение `k` равно 0, то значение `p` останется равным 0 на протяжении всего цикла. В конце программы будет выведено значение переменной `p`, которое равно 0 .


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili