
Вопрос задан 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.

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

Отвечает Кошерь Миша.
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.
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.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
В программе выводится ноль из-за того, что функция power
не возвращает никакого значения (то есть не содержит инструкции Result := ...
). По умолчанию в Pascal, если функция не возвращает явно указанное значение, она возвращает значение по умолчанию, которым для числовых типов данных, включая real
, является ноль.
Чтобы исправить эту проблему, нужно добавить инструкцию Result := ...
в функцию power
, чтобы вернуть результат вычислений. Также стоит убрать объявление anew
внутри функции, чтобы не перекрывать внешний параметр a
.
Вот исправленный код программы:
pascalprogram 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
, и вместо нуля на экран будет выведено правильное значение.


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

Информатика 558

Информатика 33

Информатика 74

Информатика 12

Информатика 10

Информатика 33

Информатика 27
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili