zalo Posted November 7, 2011 at 06:20 PM Report #419261 Posted November 7, 2011 at 06:20 PM Ola a todos, tenho um exercicio de uma ficha de programação e tenho que dizer o resultado de uma porção de codigo, em casa compilei e deu-me o resultado mas nao percebo o funcionamento do programa, alguem me pode ajudar? int i=0, j=1; for(i=1 ; i<5 ; ++i) { System.out.print(i+","); if (i%2==0) continue; j = 5; do if (--j!=2) System.out.print(j+";"); else { System.out.print('B'); break; } while (j>i); }
HappyHippyHippo Posted November 7, 2011 at 06:39 PM Report #419267 Posted November 7, 2011 at 06:39 PM o código não faz absolutamente nada de útil ... parece somente um exercício para conseguires saber o resultado sem compilares o código 👍 o teu professor é um bocadito sádico (no entanto já gosto dele por colocar um problema destes). IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
KTachyon Posted November 7, 2011 at 07:05 PM Report #419277 Posted November 7, 2011 at 07:05 PM Eu acredito que as tuas dúvidas sejam mais relacionadas com algumas instruções do programa, porque, tirando isso é bastante simples de seguir o flow do programa. Mas era conveniente que indicasses quais são essas linhas que te causam dúvidas para que te possamos ajudar com facilidade. Por exemplo, a linha que vou citar a seguir significa "se o resto da divisão inteira de i por 2 for zero, corre a próxima iteração do ciclo for". if (i%2==0) continue; Por outras palavras, "se i for par, corre a próxima iteração do ciclo for". “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
zalo Posted November 7, 2011 at 07:24 PM Author Report #419286 Posted November 7, 2011 at 07:24 PM Eu basicamente perbi apenas a linha que me explicaste! as outras nao! isto e um exercicio de teste, e nao tenho nenhum compilador tenho que perceber o que o programa faz, mas compilei em casa e nao percebi os resultados consoante o codigo feito!
KTachyon Posted November 7, 2011 at 07:33 PM Report #419294 Posted November 7, 2011 at 07:33 PM Pah... não me vais dizer que queres que o pessoal te explique todas as linhas, ou vais? Nenhuma das linhas te é óbvia? Tipo esta? int i=0, j=1; Ou esta? System.out.print(i+","); Acredito que possas ter dúvidas nesta: if (--j!=2) Que significa que o j é decrementado (j = j-1) antes de fazeres a comparação com 2. Deves perceber o que o ciclo for e o ciclo do...while fazem, não? “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
zalo Posted November 7, 2011 at 07:39 PM Author Report #419299 Posted November 7, 2011 at 07:39 PM o meu problema esta aí nessa porção de codigo if (--j!=2) , o resto esta tudo bem explicito! mal de mim se nao soubesse o que faz o ciclo do...while ou o for 👍
HappyHippyHippo Posted November 7, 2011 at 07:46 PM Report #419306 Posted November 7, 2011 at 07:46 PM a linha decompõem assim: --j; // j = j - 1 if (j!=2) { // comparação entre o valor de j e 2 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now