
Чему будет равно значение переменной 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