Я учусь на экзамене, и это один из примеров вопросов ...
Можете ли вы запустить этот код в своей голове и предсказать результат?
x=c(T,T,F,T,F)
for (i in 1:5){
if(i > 1 & i < 5){
x[i ] = x[i-1] & x[i+1] & x[i]
print(x)
}
}
I интерпретировали это как ... в векторе X для значений (T[1],T[2],F[3],T[5],F[5])
... другими словами для (i in 1:5){if (i >1 & i <5)
.... поэтому для значений T[2],F[3],T[4]
.... используйте это уравнение x[i ] = x[i-1] & x[i+1] & x[i]
и напечатайте значение
с учетом этого утверждения, 1-я и 5-я позиции вектора останутся прежними, поэтому [1] = T и [5] = F.
Ok, x [2] = x [2-1] & x [2 + 1] & x [2]; что было бы T & F & T. учитывая логические логики c, это дало бы x [2] вывод False ...
Теперь это также имеет смысл для x [3], но когда я получаю x [4] Я не понимаю, почему это правда
x [4] = x [3] & x [5] & x [4]; это F & F & T ... так что это все еще Ложь ... но вывод я получаю
[1] TRUE FALSE FALSE TRUE FALSE
[1] TRUE FALSE FALSE TRUE FALSE
[1] TRUE FALSE FALSE FALSE FALSE
Может кто-нибудь, пожалуйста, объясните мне это.