Вопрос задан 21.03.2026 в 21:02. Предмет Информатика. Спрашивает Герасименко Елизавета.

Определите значение переменной 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 > 023 > 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 = 23s = 5

  • при a = 32s = 5

  • при a = 109s = 10

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос