8. Определите , что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования).
Бейсик | Паскаль |
DIM N, S AS INTEGER N = 0 S = 0 WHILE S <= 25 N = N + 1 S = S + 4 WEND |
var n, s: integer; begin n := 0; s := 0; while s <=25 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 <= 25) { n = n + 1; s = s + 4; } print ("%d", n); } |
алг нач цел n, s n := 0 s := 0 нц пока s <=25 n := n + 1 s := s + 4 кц выводn кон
|
Ответ 7
Решение:
В данном фрагменте программы описана работа оператора цикла "пока" (while). Выполняется очередной проход цикла, пока s≤25. На входе цикла n = 0, s = 0. При первом проходе к s прибавляем 4. n показывает сколько проходов было в цикле (это счетчик). Цикл перестанет выполняться, когда s станет равной 25. Значит, последний цикл, когда на входе s = 24 (24 кратно 4-м и <25). При последнем проходе на выходе s = 28\4 = 7- количество проходов в цикле, а это и есть n.
Ход выполнения программы представлен в таблице ниже:
Переменная | Значение при номере цикла | |||||||
0 (вход цикла) |
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
n + 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
s + 4 | 0 | 4 | 8 | 12 | 16 | 20 | 24 | 28 |