Задать вопрос
2 апреля, 14:57

var a, R : integer; Function F (x : integer) : integer; begin if x< = 0 then F:=0 else F:=x + F (x-2); end; begin a:=8; R:=F (a); write (R); end. В паскале ответ 20, как он получается? объясните поподробнее

+3
Ответы (1)
  1. 2 апреля, 18:07
    0
    При присвоении a : = 8, значению R присваивается значение функции F с параметром 8. В самом теле функции тогда происходят следующие вычисления:

    Если 8 < = 0 тогда F : = 8 + F (8-2);

    Функция повторно обращается к самой себе и тогда происходит процесс рекурсии. В таком случае идет сложение значений чисел (начиная с 8), уменьшая значение на число 2 до тех пор, пока не настанет значение х меньше или равно нулю.

    То есть: F = 8 + 6 + 4 + 2 + 0 = 20.
Знаешь ответ на этот вопрос?
Сомневаешься в правильности ответа?
Получи верный ответ на вопрос 🏆 «var a, R : integer; Function F (x : integer) : integer; begin if x< = 0 then F:=0 else F:=x + F (x-2); end; begin a:=8; R:=F (a); write ...» по предмету 📕 Информатика, используя встроенную систему поиска. Наша обширная база готовых ответов поможет тебе получить необходимые сведения!
Найти готовые ответы