Чему будет равно значение переменной s в результате работы фрагмента программы? s := 0; n :=
2019; while n > 0 do begin s := s + n mod 10; n := n div 10; end;Ответы на вопрос
S N
0 2019
9 201
10 20
10 2
12 0
12
Давайте разберем фрагмент программы по шагам:
s := 0;: Здесь переменнойsприсваивается значение 0.n := 2019;: Здесь переменнойnприсваивается значение 2019.while n > 0 do begin: Это цикл while, который будет выполняться до тех пор, покаnбольше 0.s := s + n mod 10;: Здесь к переменнойsдобавляется последняя цифра числаn(полученная с помощью операцииn mod 10), и результат присваивается обратно переменнойs.n := n div 10;: Здесь числоnделится на 10 (получается число без последней цифры), и результат присваивается обратно переменнойn.
Таким образом, на каждой итерации цикла s будет увеличиваться на последнюю цифру числа n, а затем последняя цифра числа n будет удалена. Цикл будет продолжаться до тех пор, пока n не станет равным 0.
Давайте вычислим значения переменных s и n на каждой итерации:
- Итерация: n = 2019, s = 0 + 9 = 9, n = 201
- Итерация: n = 201, s = 9 + 1 = 10, n = 20
- Итерация: n = 20, s = 10 + 0 = 10, n = 2
- Итерация: n = 2, s = 10 + 2 = 12, n = 0
Цикл завершен, так как n стало равным 0.
Таким образом, значение переменной s после выполнения фрагмента программы будет равно 12.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
