Решение задач
Разбор задачи B5 (демо ЕГЭ 2013)
Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования).
Бейсик | Паскаль |
---|---|
DIM N, S AS INTEGER N = 0 S = 0 WHILE S <= 35 N = N + 1 S = S + 4 WEND PRINT N | var n, s: integer; begin n := 0; s := 0; while s <= 35 do begin n := n + 1; s := s + 4 end; write(n) end. |
Си | Алгоритмический |
#include<stdio.h> void main() { int n, s; n = 0; s = 0; while (s <= 35) { n = n + 1; s = s + 4; } printf("%d", n); } | алг нач цел n, s n := 0 s := 0 нц пока s <= 35 n := n + 1 s := s + 4 кц вывод n кон |
Ответ: 9
Решение:
В данном фрагменте программы описана работа оператора цикла "пока" (while). Выполняется очередной проход цикла, пока s≤35. На входе цикла n=0, s=0. При первом проходе к s прибавляем 4. n показывает сколько проходов было в цикле (это счетчик). Цикл перестанет выполняться, когда s станет равной 36. Значит,последний цикл, когда на входе s=32 (32 кратно 4-м и <36). При последнем проходе на выходе s=36. 36\4=9 - количество проходов в цикле, а это и есть n.
Ход выполнения программы отображен ниже:
Переменная | Значение при № цикла: | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
0 (вход цикла) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
n | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
s | 0 | 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 |