Разберем программу по шагам, чтобы понять, какое число будет выведено на экран.
Первоначально, x = 16, L = 0, M = 0.
Цикл while x > 0 do begin ... end; будет выполняться до тех пор, пока x больше 0.
L := L + 1; => L = 0 + 1 = 1if x mod 2 = 0 then => 16 mod 2 = 0 (истина)M := M + x mod 10; => M = 0 + 16 mod 10 = 0 + 6 = 6x := x div 10; => x = 16 div 10 = 1 (целочисленное деление)L := L + 1; => L = 1 + 1 = 2if x mod 2 = 0 then => 1 mod 2 = 0 (ложь)x := x div 10; => x = 1 div 10 = 0Цикл завершается, так как x стал равен 0.
В конце программы выводится L + M, то есть 2 + 6 = 8.