1
resposta

Alguém pode me ajuda a entender o que acontece aqui?

Essa é a resolução do professor:

function atualizaTela() {

        limpaTela();

        if(raio > 30) {
            fatorCrescimento = -1;
        } else if (raio < 20) {
            fatorCrescimento = 1;
        }

O raio inicia com 19 se o raio for menor do que 20 soma mais 1. Mas de (21 até 29) é maior do que 20 (onde está essa faixa no código?).

Cahei que escrever dessa forma daria erro no sistema, no entanto não é isso o que acontece e o sistema é executado perfeitamente.

Acredito que não estou visualizando alguma coisa que me faz compreender a forma correta da execução desse código. Alguem poderia me ajudar na interpretação?

1 resposta

Boa tarde!

Essa faixa de código, apenas diz se vai crescer ou decrescer, através da atribuição do valor -1, quando for maior que 30, ou 1, quando for menor que 20.

Se começa em 19, ele vai crescer, através do fator = 1.

Quando bater em 31, o fator virará negativo, e o raio vai diminuir.

Esse trecho só serve para jogar na variável se o raio irá aumentar ou diminuir.

Mas não é ai que se faz o incremento ou decremento do valor do raio.

Uma observação: se o raio for de 20 até 30, vai dar zica. Ou é 19 ou menor, ou maior que 30.