рустамммм
16.11.2022 00:50

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


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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Gulnazzikon
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: Програ
0,0(0 оценок)
Ответ:
131756
28.04.2021 22:00

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

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота