Поделитесь своими знаниями, ответьте на вопрос:
Определите, что будет напечатано в результате выполнения следующего алгоритма var a, b: integer; begin a: =0; b: =2364; while b> 0 do begin if b mod 10< 5 then a: =a+b mod 10; b: =b div 10; end; writeln(a); end. объясните, как решать, .
есть две переменные а и бизначально а=0, б=2364
пока б будет больше 0 он будет выполнять следующие действия:
если остаток от б/10 меньше нуля тогда к а прибавляется этот остаток. б делим на 10 и повторяем
вывод а
сама вычисляет сумму цифр в числе которые меньше 5.дано б = 2364.
смотрит остаток от 2364 mod 10 = 4
4 меньше пяти соответственно в а=4
далее 2364/10=236
теперь 236 mod 10 = 6
6 больше пяти поэтому ниче не делаем
236 div 10 = 23
теперь 23 mod 10 = 3
3 меньше пяти соответственно а=а+3 = 4+3 = 7
23 див 10 = 2
теперь 2 mod 10 = 2
2 меньше 5 соответственно а=а+3 = 7+2 = 9
2 див 10 = 0
так как б=0 программа выходит из цикла и выводит а, т.е. число 9