Вопрос задан 11.02.2026 в 15:28. Предмет Информатика. Спрашивает Азаров Даниил.

1) Определите значение переменной S после выполнения следующего фрагмента программы: S:=5; i:=14; while i > 1 do begin S := S + i div 2; i := i - 1; end; 2) Определите, что будет напечатано в результате работы следующего фрагмента программы: var k, s: integer; begin s:=0; k:=1; while s < 66 do begin k:=k+3; s:=s+k; end; write(k); end. 3) Определите, что будет напечатано в результате работы следующего фрагмента программы: var k, s: integer; begin s:=5; k:=0; while k < 15 do begin k:=k+2; s:=s+k; end; write(s); end. 4) Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования. а) Var s,k: integer; Begin s := 0; for k := 3 to 8 do s := s + 6; writeln(s); End. б) Var s,k: integer; Begin s := 0; for k := 8 to 12 do s := s + 12; writeln(s); End.

Перейти к ответам

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

Отвечает Муравьёва Ксения.

1) Значение переменной S после выполнения программы

Код:

css
S:=5; i:=14; while i > 1 do begin S := S + i div 2; i := i - 1; end;
  • В начале: S = 5, i = 14.

  • Цикл выполняется, пока i > 1, то есть для i = 14, 13, 12, …, 2 (при i=1 цикл уже остановится).

  • На каждом шаге прибавляется i div 2 (целая часть от деления на 2).

Посчитаем значения i div 2:

  • 14 div 2 = 7

  • 13 div 2 = 6

  • 12 div 2 = 6

  • 11 div 2 = 5

  • 10 div 2 = 5

  • 9 div 2 = 4

  • 8 div 2 = 4

  • 7 div 2 = 3

  • 6 div 2 = 3

  • 5 div 2 = 2

  • 4 div 2 = 2

  • 3 div 2 = 1

  • 2 div 2 = 1

Сумма прибавлений:
7 + 6 + 6 + 5 + 5 + 4 + 4 + 3 + 3 + 2 + 2 + 1 + 1 = 49

Тогда итог:
S = 5 + 49 = 54

Ответ: S = 54


2) Что будет напечатано

Код:

pgsql
var k, s: integer; begin s:=0; k:=1; while s < 66 do begin k:=k+3; s:=s+k; end; write(k); end.
  • Начало: s = 0, k = 1

  • Пока s < 66, увеличиваем k на 3 и прибавляем его к s.

Пройдём по шагам:

  1. k = 1 + 3 = 4, s = 0 + 4 = 4

  2. k = 4 + 3 = 7, s = 4 + 7 = 11

  3. k = 7 + 3 = 10, s = 11 + 10 = 21

  4. k = 10 + 3 = 13, s = 21 + 13 = 34

  5. k = 13 + 3 = 16, s = 34 + 16 = 50

  6. k = 16 + 3 = 19, s = 50 + 19 = 69

Теперь s = 69, а это уже не меньше 66, цикл прекращается. Печатается k.

Ответ: будет напечатано 19


3) Что будет напечатано

Код:

pgsql
var k, s: integer; begin s:=5; k:=0; while k < 15 do begin k:=k+2; s:=s+k; end; write(s); end.
  • Начало: s = 5, k = 0

  • Цикл выполняется, пока k < 15

  • Внутри сначала делаем k := k + 2, потом прибавляем новое k к s.

Значения k внутри цикла будут:
2, 4, 6, 8, 10, 12, 14, 16

Почему появляется 16: когда k = 14, условие k < 15 ещё истинно, цикл входит, увеличивает k до 16 и только потом проверка будет на следующем круге (а следующего круга уже не будет).

Сумма прибавленных k:
2 + 4 + 6 + 8 + 10 + 12 + 14 + 16
Это арифметическая прогрессия, 8 чисел, среднее (2+16)/2 = 9, значит сумма = 9 * 8 = 72

Итог:
s = 5 + 72 = 77

Ответ: будет напечатано 77


4) Значение переменной s после работы программы

4a)

Код:

pgsql
Var s,k: integer; Begin s := 0; for k := 3 to 8 do s := s + 6; writeln(s); End.

Цикл for k := 3 to 8 выполняется для k = 3,4,5,6,7,8 — всего 6 раз.

Каждый раз прибавляется 6:

s = 0 + 6 * 6 = 36

Ответ: s = 36


4б)

Код:

pgsql
Var s,k: integer; Begin s := 0; for k := 8 to 12 do s := s + 12; writeln(s); End.

Цикл for k := 8 to 12 выполняется для k = 8,9,10,11,12 — всего 5 раз.

Каждый раз прибавляется 12:

s = 0 + 12 * 5 = 60

Ответ: s = 60

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос