Как определить результат кода без его запуска - PullRequest
1 голос
/ 30 мая 2019

Если мне дадут приведенный ниже код, как я могу узнать, каким будет полученное значение y?Я прошу прощения, если это простой вопрос, но я нахожу эти типы вопросов очень сложными.

Для foo (-1,10)

function y = foo(x, a)
for k=-1:0
b=x-k;
while (x > -2) && (x < 2)
x=x+a+1;
end
end
y = b + x;
end

При запуске программы я вижу, что b= 10 но я не понимаю как ты это получил.Буду признателен, если кто-нибудь прояснит это для меня.

Спасибо!

1 Ответ

5 голосов
/ 30 мая 2019

Начало сверху:

foo(x, a) имеет два параметра: x и a

foo(-1, 10) будет означать, что x = -1 и a = 10.

Оттуда идите вниз по каждой строке.

b = x - k начинался бы как b = -1 + (the value of k on that current iteration of the loop

Тогда вы сделаете то же самое для цикла while.

x = -1 + 10 + 1

Итак,

x = 10

Теперь возьмите это значение и включите его в условие цикла while:

(10 > -2) and (10 < 2)

Это условие верно? Итак, вы переходите к следующей итерации for loop

В конце вы устанавливаете y равным значению, которое вы получили за b + значение, которое вы получили за x

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...