Почему выводится ноль в программе? program pr1; var a: real; n: longint; function power (a:real; n:longint): real; begin var i: integer; var anew: real; anew:=a; for i:= 2 to n do begin a:=a*anew; end; end; begin readln (a, n); writeln (power(a, n)); end.
В программе выводится ноль, потому что функция power не возвращает результат вычислений. В конце функции необходимо указать оператор return с возвращаемым значением, чтобы функция правильно возвращала результат. В данном случае, после цикла for нужно добавить return a; перед end; чтобы функция вернула значение переменной a, которое является результатом возведения числа a в степень n.
В программе выводится ноль, потому что функция power не возвращает результат вычислений. В конце функции необходимо указать оператор return с возвращаемым значением, чтобы функция правильно возвращала результат. В данном случае, после цикла for нужно добавить return a; перед end; чтобы функция вернула значение переменной a, которое является результатом возведения числа a в степень n.