Не могу понять почему выводит эту ошибку ! Ошибка времени выполнения: StackOverflowException: Программа завершена из-за переполнения программного стека
Я не особо разбираюсь в паскале, но могу предположить, что так как ты используешь функцию, то ты должен значение на конкретном шаге не к названию функции приравнивать, а возвращать(на нормальных языках это слово return) и другими переменными уже ловить эти возвращения, а так все посчитанное бесконечно уходит в пустоту и память в какой-то момент просто кончается
вот код
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.
Я не особо разбираюсь в паскале, но могу предположить, что так как ты используешь функцию, то ты должен значение на конкретном шаге не к названию функции приравнивать, а возвращать(на нормальных языках это слово return) и другими переменными уже ловить эти возвращения, а так все посчитанное бесконечно уходит в пустоту и память в какой-то момент просто кончается