Не могу понять почему выводит эту ошибку ! Ошибка времени выполнения: StackOverflowException: Программа завершена из-за переполнения программного стека


Не могу понять почему выводит эту ошибку ! Ошибка времени выполнения: StackOverflowException: Програ

dima0124124 dima0124124    2   28.04.2021 21:55    1

Ответы
Kimjkk Kimjkk  28.04.2021 22:00

вот код

Pascal

1

2

3

4

5

6

7

8

9

10

11

12

var

y:integer;

function cosinus(x:integer):integer;

begin

if x=1 then cosinus:=cosinus(x)

else

cosinus:=cosinus(x)+cosinus(x*x);

end;

begin

readln(y);

write(cosinus(y));

end.


Не могу понять почему выводит эту ошибку ! Ошибка времени выполнения: StackOverflowException: Програ
ПОКАЗАТЬ ОТВЕТЫ
Sanisle Sanisle  28.04.2021 22:00

Я не особо разбираюсь в паскале, но могу предположить, что так как ты используешь функцию, то ты должен значение на конкретном шаге не к названию функции приравнивать, а возвращать(на нормальных языках это слово return) и другими переменными уже ловить эти возвращения, а так все посчитанное бесконечно уходит в пустоту и память в какой-то момент просто кончается

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика