Вопрос задан 29.07.2023 в 01:30. Предмет Информатика. Спрашивает Габриа Соня.

Почему выводится ноль в программе? 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.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кошерь Миша.
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
    a:=a*anew;
  power:=a
end;

begin
  readln (a, n);
  writeln (power(a, n));
end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

В программе выводится ноль из-за того, что функция power не возвращает никакого значения (то есть не содержит инструкции Result := ...). По умолчанию в Pascal, если функция не возвращает явно указанное значение, она возвращает значение по умолчанию, которым для числовых типов данных, включая real, является ноль.

Чтобы исправить эту проблему, нужно добавить инструкцию Result := ... в функцию power, чтобы вернуть результат вычислений. Также стоит убрать объявление anew внутри функции, чтобы не перекрывать внешний параметр a.

Вот исправленный код программы:

pascal
program pr1; var a: real; n: longint; function power(a: real; n: longint): real; var i: integer; begin Result := a; // Инициализируем результат значением a for i := 2 to n do begin Result := Result * a; // Накапливаем результат в переменной Result end; end; begin readln(a, n); writeln(power(a, n)); end.

Теперь функция power правильно возвращает результат возведения числа a в степень n, и вместо нуля на экран будет выведено правильное значение.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос