Рассмотрим работу данной программы
Вначале имеем переменные :
z= 0 ; x = 10; y = 8 и u = x = 10
В програме есть цикл с условием
Данный цикл выполняется пока переменная u отлична от нуля
В теле цикла происходят следующие операции
если переменная u нечетная то к значению переменной z прибавляем значение y
Далее мы переменной z результат от деления нацело числа z на 2
Распишем работу программы
z= 0 ; x = 10; y = 8 и u = x = 10
u не равно нулю переходим к операторам внутри цикла
u не является нечетным числом никаких действий не производим
делим u на 2 : 10/2 = 5
присваиваем u = 5 (результат целочисленного деления на 2)
Переходим к началу цикла
u не равно нулю переходим к операторам внутри цикла
u нечетное число добавляем к z значение y
z = z+y; z= z+8 ;z=8
делим u на 2 : 5/2 = 2.5
целая часть 2 тогда u=2
Переходим к началу цикла
u не равно нулю переходим к операторам внутри цикла
u не является нечетным числом никаких действий не производим
делим u на 2 : 2/2 = 1 u = 1
Переходим к началу цикла
u не равно нулю переходим к операторам внутри цикла
u нечетное число добавляем к z значение y
z= z+8 = 8+8 = 16
делим u на 2 : 1/2 = 0.5
целая часть 0 тогда u=0
Переходим к началу цикла
u равно нулю и цикл завершается
Значение переменной z = 16
Также приложим скриншот выполнения программы
Ответ: z = 16