|
|||
var s, n: integer;. while s > 0 do begin. writeln(n). var k, s: integer;. while s < 1024 do begin. write(k);var s, n: integer; begin s: = 33; n: = 1; while s > 0 do begin s: = s – 7; n: = n * 3 end; writeln(n) end. Решение: 1) из программы видно, что начальные значения переменных s и n равны соответственно 33 и 1 2) цикл заканчивается, когда нарушается условие s > 0, то есть количество шагов цикла определяется изменением переменной s 3) после окончания цикла выводится значение переменной n 4) таким образом, задача сводится к тому, чтобы определить число шагов цикла, необходимое для того, чтобы значение s стало меньше или равно 0 5) с каждым шагом цикла значение s уменьшается на 7, а значение n увеличивается в 3 раза, так что n=3k, где k – это число шагов цикла 6) поскольку s уменьшается на 7, конечное значение s должно быть равно 33-7*k , причём первое значение, меньшее или равное 0, достигается при k=5 (и s=33–7*5=-2 ) 7) тогда n=3k=35=243 8) Ответ: 243. Ещё пример задания: Р-01. Определите, что будет напечатано в результате работы следующего фрагмента программы: var k, s: integer; begin s: =0; k: =0; while s < 1024 do begin s: =s+10; k: =k+1; end; write(k); end. Решение: 1) из программы видно, что начальные значения переменных k и s равны нулю 2) цикл заканчивается, когда нарушается условие s < 1024, то есть количество шагов цикла определяется изменением переменной s 3) после окончания цикла выводится значение переменной k 4) таким образом, задача сводится к тому, чтобы определить число шагов цикла, необходимое для того, чтобы значение s стало не меньше 1024 5) с каждым шагом цикла значение s увеличивается на 10, а значение k – на единицу, так что фактически k – это счётчик шагов цикла 6) поскольку s увеличивается на 10, конечное значение s должно быть кратно 10, то есть это 1030 > 1024 7) для достижения этого значения переменную s нужно 103 раза увеличить на 10, поэтому цикл выполнится 103 раза 8) так как k – это счётчик шагов цикла, конечное значение k будет равно 103 9) Ответ: 103.
Ещё пример задания: Р-00. Определите, что будет напечатано в результате работы следующего фрагмента программы:
|
|||
|