Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик
|
1 2 3 4 5 6 7 8 |
DIM S, N AS INTEGER S = 0 N = 0 WHILE S < 111 S = S + 8 N = N + 2 WEND PRINT N |
Python
|
1 2 3 4 5 6 |
s = 0 n = 0 while s < 111: s = s + 8 n = n + 2 print(n) |
Алгоритмический язык
|
1 2 3 4 5 6 7 8 9 10 11 |
алг нач цел n, s n := 0 s := 0 нц пока s < 111 s := s + 8 n := n + 2 кц вывод n кон |
Паскаль
|
1 2 3 4 5 6 7 8 9 10 11 |
var s, n: integer; begin s := 0; n := 0; while s < 111 do begin s := s + 8; n := n + 2 end; writeln(n) end. |
Си
|
1 2 3 4 5 6 7 |
#include<stdio.h> int main() { int s = 0, n = 0; while (s < 111) { s = s + 8; n = n + 2; } printf("%d\n", n); return 0; } |
Демонстрационный вариант ЕГЭ 2016 г. – задание №8
Решение:
- Нам требуется найти значение n после выполнения вышепредставленной программы
- Изначально n = 0, s = 0
- Цикл выполняется пока s < 111.
- С каждым шагом цикла s увеличивается на 8. Значит цикл будет выполняться 14 раз (13*8 = 104 < 111 — при s = 104 зайдет в цикл, увеличит его на 8(112) и больше выполняться не будет)
- С каждым шагом цикла n увеличивается на 2. Так как цикл выполняется 14 раз, значит n увеличивается на два 14 раз.
- n = 14 * 2 = 28
-
n s 0 0 2 8 4 16 6 24 … … 26 104 28 112
Ответ: 28
