Будет выведено значение переменной k = 2
В программе выполняется цикл до тех пор, пока введенное число не будет равняться нулю.
Ввели число 16.
Запустился цикл.
В цикле строчка a := a div 10; берет целую часть от деления a на 10, т.е. 16/10=1.6(целая часть 1). После этого деления переменной k прибавляется единица. Т.к. a <> 0, то цикл продолжается. Теперь уже берем целую часть от деления 1 на 10, т.е. 1/10=0.1(целая часть 0). Прибавляем еще одну единицу переменной k и выходим из цикла, т.к. значение переменной a=0. И выводим значение переменной k.