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 после выполнения программы
Код:
-
В начале: 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) Что будет напечатано
Код:
-
Начало: s = 0, k = 1
-
Пока s < 66, увеличиваем k на 3 и прибавляем его к s.
Пройдём по шагам:
-
k = 1 + 3 = 4, s = 0 + 4 = 4
-
k = 4 + 3 = 7, s = 4 + 7 = 11
-
k = 7 + 3 = 10, s = 11 + 10 = 21
-
k = 10 + 3 = 13, s = 21 + 13 = 34
-
k = 13 + 3 = 16, s = 34 + 16 = 50
-
k = 16 + 3 = 19, s = 50 + 19 = 69
Теперь s = 69, а это уже не меньше 66, цикл прекращается. Печатается k.
✅ Ответ: будет напечатано 19
3) Что будет напечатано
Код:
-
Начало: 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)
Код:
Цикл for k := 3 to 8 выполняется для k = 3,4,5,6,7,8 — всего 6 раз.
Каждый раз прибавляется 6:
s = 0 + 6 * 6 = 36
✅ Ответ: s = 36
4б)
Код:
Цикл for k := 8 to 12 выполняется для k = 8,9,10,11,12 — всего 5 раз.
Каждый раз прибавляется 12:
s = 0 + 12 * 5 = 60
✅ Ответ: s = 60
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

