Предмет: Информатика,
автор: ScreaM337228123
8. Определите значение переменной c после выполнения следующего фрагмента программы, запишите решение:
a:=100;
b:=20;
repeat
i:= a div b;
c:=i + 5;
b:= a div b;
until b>=100;
Ответы
Автор ответа:
0
Ответ:
Фрагмент программы будет выполнятся вечно, значение переменной c получить нельзя.
Объяснение:
Присваиваем переменной a число 100:
a:=100;
Присваиваем переменной b число 20:
b:=20;
Далее идёт цикл с постусловием, выполняем тело, пока b не станет больше или равна 100:
repeat
i:= a div b;
c:=i + 5;
b:= a div b;
until b>=100;
Смотрим:
- i = a div b = 100 div 20 = 5
- c = i + 5 = 5 + 5 = 10
- b = a div b = 100 div 20 = 5
b>=100 ? нет => ещё раз:
- i = a div b = 100 div 5 = 20
- c = i + 5 = 20 + 5 = 25
- b = a div b = 100 div 5 = 20
Переменная b изначально была равна 20, а через 2 прохода цикла, она также стала 20. Делаем вывод: это замкнутый цикл, выполнятся он будет вечно, так как переменная b никогда не будет >=100.
Похожие вопросы
Предмет: Русский язык,
автор: 1311199o
Предмет: Английский язык,
автор: ylia1456762
Предмет: Русский язык,
автор: 561238
Предмет: Алгебра,
автор: Anonim321123
Предмет: Алгебра,
автор: olga0499