Int main(void) { int gama, beta; gama=49; beta=0; while(beta! =1){ if(gama%2==1) printf('\njulio'); gama

Int main(void) {
int gama, beta;

gama=49;
beta=0;

while(beta! =1){

if(gama%2==1) printf("njulio");

gama = gama -7;
if(gama==7) beta=1;

}

return 0;
}

queria entender o processamento desse programa

1 Resposta

  • rodrigovtrn

    Escrevi o programa identado para facilitar o entendimento 
    Int main(void) {                  // aqui é declaração criando o programa
        int gama,beta;               // criou duas variáveis inteiras , game e beta

        gama=49;                      // gama passa a valer 49
        beta=0;                          // beta passa a valer 0 

        while(beta!=1){              // enquanto beta for diferente de 1 faça ..
                                              // esse poderia ser assim while (!beta)

            if(gama%2==1) printf(" JULIO");  //se gama for impar ele imprime JULIO. Esse if poderia ser simplificado para if (gama%2) printf(" JULIO");
            gama = gama -7;             // subtrai 7 de gama, 
            if(gama==7) beta=1;        // se gama for igual a 7, beta passa a ser 1
    }

    O que vai acontecer aí é o seguinte
    gama vai começar com 49 e vai ser subtraido de 7 a cada loop.
    Antes de subtrair, o programa testa se gama é impar. Se for, ele imprime o JULIO numa próxima linha. Como gama começa com 49 e vai diminuindo de 7 em 7, e 49 é multiplo de 7, significa que ele só vai imprimir JULIO nos multiplos de 7 que são ímpares entre 49 e 7 (porque 7 eu explico lá adiante)
    gama = 49 -> imprime JULIO
    gama = 42 (depois de tirar 7 de gama) -> não imprime julio
    gama = 35 -> imprime julio
    gama = 28 -> nao imprime julio
    gama = 21 -> imprime julio
    gama = 14 -> não imprime julio
    gama = 7 -> imprime julio 
    E Aí acontece uma coisa importante !! Tchan tchan !!!
    Esse tempo todo o if (gama ==7) tava dando falso e portanto, fazia nada
    Só que agora gama é de fato igual 7 !! aí o if dá verdadeiro e acontece uma cosia maravilhosa, boa mesmo, ... BETA recebe o valor 1 !! bicho, isso é importante demais. Você não faz ideia. É uito importante que beta tenha um valor diferente de 0 !! porque se beta nunca chegar a algo diferente de 0 ... o while vai ser verdadeiro para sempre (um nunca alguma coisa equivale a um sempre o contrário dessa coisa). O programa iria rodar para sempre e nunca iria terminar. Já pensou ? Um programa inútil desses rodando até o fim da eternidade ? Pior que vida eterna. Pois bem, como beta agora passa a valer 1, o while (beta!=0) vai dar falso e programa sai do loop, ainda bem, já era hora, finalmente, demoru !

    E é isso, em poucas palavras, o que o programa processa.

Clique aqui para adicionar a sua resposta.