Определите значение переменной s после выполнения фрагмента программы при указанных значениях а.
р:=а;
s: =0;
while р>0 do
begin
s :=s+p mod 10;
p: =p div 10;
end;
а = 23
р s р > 0
а = 32
р s р > 0
а = 109
р s р > 0
Ответы на вопрос
Дан фрагмент:
-
p := a -
s := 0 -
пока
p > 0выполняем:-
s := s + (p mod 10)(прибавляем последнюю цифру числаp) -
p := p div 10(убираем последнюю цифру числаp)
-
То есть программа находит сумму цифр числа a (через переменную p), результат в s.
a = 23
Старт: p = 23, s = 0
Проверка цикла: p > 0 → 23 > 0 (да)
-
p mod 10 = 23 mod 10 = 3 -
s = 0 + 3 = 3 -
p = 23 div 10 = 2
Проверка: 2 > 0 (да)
-
p mod 10 = 2 mod 10 = 2 -
s = 3 + 2 = 5 -
p = 2 div 10 = 0
Проверка: 0 > 0 (нет) → цикл заканчивается.
Итог: s = 5.
a = 32
Старт: p = 32, s = 0
Проверка: 32 > 0 (да)
-
p mod 10 = 32 mod 10 = 2 -
s = 0 + 2 = 2 -
p = 32 div 10 = 3
Проверка: 3 > 0 (да)
-
p mod 10 = 3 mod 10 = 3 -
s = 2 + 3 = 5 -
p = 3 div 10 = 0
Проверка: 0 > 0 (нет)
Итог: s = 5.
a = 109
Старт: p = 109, s = 0
Проверка: 109 > 0 (да)
-
p mod 10 = 109 mod 10 = 9 -
s = 0 + 9 = 9 -
p = 109 div 10 = 10
Проверка: 10 > 0 (да)
-
p mod 10 = 10 mod 10 = 0 -
s = 9 + 0 = 9 -
p = 10 div 10 = 1
Проверка: 1 > 0 (да)
-
p mod 10 = 1 mod 10 = 1 -
s = 9 + 1 = 10 -
p = 1 div 10 = 0
Проверка: 0 > 0 (нет)
Итог: s = 10.
Ответы
-
при
a = 23→s = 5 -
при
a = 32→s = 5 -
при
a = 109→s = 10
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

