0
Simple as that.
i = 0
if rule met
velocidade += i(0) * 2 OU (velocidade = velocidade(0) + 0) // Velocidade aqui é 0
again
i = 1
if rule met
velocidade += i(1) * 2 OU (velocidade = velocidade(0) + 2) // Velocidade aqui é 2
again
i = 2
if rule met
velocidade += i(2) * 2 OU velocidade = velocidade(2) + 4 // Velocidade aqui é 6
again
i == 3
Accepted rule
velocidade += ++velocidade // Aqui é onde deve estar a sua dúvida a funçao ++ A esquerda primeiro incrementa um valor depois retorna ele.
// Ou seja se velocidade aqui era 6 usando ++ você incrementa o valor dessa variavel para 7 e depois realiza a soma dos dois valores, armazendando ele na mesma variavel.
// Logo velocidade aqui é 14.
Here we go again
i == 4
Else rule met
velocidade += ++velocidade
// Usando ++ a equerda velocidade passa a valer 15
// Depois Você realiza a soma velocidade(15) += velocidade(15)
// Fim do For resultado final 30
In other words, he’s 30 because he really should give 30 :), maybe you didn’t understand how the functions work.
postfix public func ++(inout x: Int) -> Int
prefix public func ++(inout x: Int) -> Int
// ++variavel(10) soma 1 a variavel e depois retorna seu novo valor nesse caso 11
// variavel(10)++ retorna o seu valor nesse caso 10 depois soma 1
I hope I’ve helped.
Is there anything specific you want to know? Since you understand logic, you have some language features you don’t understand and want an explanation?
– Maniero
Do not put the code as an image, as this prevents someone from copying to test or even reuse. Click on [Edit] and post the code in the same text, but formatted (for more information, read: http://meta.pt.stackoverflow.com/questions/1599/formatr-c%C3%b3digo-nas-respostas-do-stack-overflow).
– Luiz Vieira