Определите значение переменной s после выполнения следующего фрагмента программы: s:=0; i:=7; while i > 1 do begin s:= s + i div 2; i:= i - 1; end;
Ответы на вопрос
Задача требует анализа выполнения фрагмента программы, в котором используются две переменные: s и i.
Программа работает следующим образом:
-
В начале
sинициализируется значением 0, аi— значением 7. -
В цикле
while i > 1 doпроверяется, что значениеiбольше 1. Если это условие истинно, выполняется тело цикла.
Теперь давайте пошагово разберём, что происходит на каждом шаге:
-
Шаг 1:
s := 0,i := 7.
Условиеi > 1выполняется, потому что 7 > 1.
Выполняется тело цикла:-
s := s + i div 2— это означает, что к значениюsприбавляется целочисленное делениеiна 2. Дляi = 7это будет7 div 2 = 3. Теперьs := 0 + 3 = 3. -
i := i - 1— значениеiуменьшается на 1, теперьi := 7 - 1 = 6.
-
-
Шаг 2:
s := 3,i := 6.
Условиеi > 1выполняется, потому что 6 > 1.
Выполняется тело цикла:-
s := s + i div 2— дляi = 6это будет6 div 2 = 3. Теперьs := 3 + 3 = 6. -
i := i - 1— значениеiуменьшается на 1, теперьi := 6 - 1 = 5.
-
-
Шаг 3:
s := 6,i := 5.
Условиеi > 1выполняется, потому что 5 > 1.
Выполняется тело цикла:-
s := s + i div 2— дляi = 5это будет5 div 2 = 2. Теперьs := 6 + 2 = 8. -
i := i - 1— значениеiуменьшается на 1, теперьi := 5 - 1 = 4.
-
-
Шаг 4:
s := 8,i := 4.
Условиеi > 1выполняется, потому что 4 > 1.
Выполняется тело цикла:-
s := s + i div 2— дляi = 4это будет4 div 2 = 2. Теперьs := 8 + 2 = 10. -
i := i - 1— значениеiуменьшается на 1, теперьi := 4 - 1 = 3.
-
-
Шаг 5:
s := 10,i := 3.
Условиеi > 1выполняется, потому что 3 > 1.
Выполняется тело цикла:-
s := s + i div 2— дляi = 3это будет3 div 2 = 1. Теперьs := 10 + 1 = 11. -
i := i - 1— значениеiуменьшается на 1, теперьi := 3 - 1 = 2.
-
-
Шаг 6:
s := 11,i := 2.
Условиеi > 1выполняется, потому что 2 > 1.
Выполняется тело цикла:-
s := s + i div 2— дляi = 2это будет2 div 2 = 1. Теперьs := 11 + 1 = 12. -
i := i - 1— значениеiуменьшается на 1, теперьi := 2 - 1 = 1.
-
-
Шаг 7:
s := 12,i := 1.
Условиеi > 1больше не выполняется, потому что 1 не больше 1. Цикл завершается.
После выполнения программы значение переменной s равно 12.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

