Viva galera,
Podem-me dizer onde posso pegar uma apostila sobre ciclos DO FOR e DO WHILE.
O meu exercicio no exame é transformar um ciclo DO WHILE em DO FOR ou o contrario.
Agradeço ajudam brigado.
Viva galera,
Podem-me dizer onde posso pegar uma apostila sobre ciclos DO FOR e DO WHILE.
O meu exercicio no exame é transformar um ciclo DO WHILE em DO FOR ou o contrario.
Agradeço ajudam brigado.
Meu caro colega, acabei de ler esse fim de semana no livro do Deitel (Java Como Programar) a respeito das estruturas de repetição e controle e posso afirmar com convicção que não existe nenhuma estrutura DO FOR em java, a do while tem sim
do{
}while(condição);
for(expressão1; expressão2;expressão3){
}
onde expressão3 é o incremento, tipo cont = cont + 1
a expressão2 é até quando esse for será executado, tipo x < 10
expressão1 é o início, ou seja, a partir de onde o for começará, tipo x = 0
Você pode pegar a especificação da linguagem java, que é em inglês, mas é um excelente material no link: ftp://ftp.javasoft.com/docs/specs/langspec-2.0.pdf
Qualquer dúvida poste aí
Algoritmo:
"…
…
DO WHILE X <> V[I]
I <- I + 1
…
…
"
"…
…
DO FOR I = 1 TO LENGTH (ALFA)
IF MATCH (DOMINIO, SUB (ALFA, I, 1)) <> 0
THEN N <- N + 1
ALFA <- SUB (ALFA, 1, I - 1) + ‘#’ + SUB (ALFA, I + 1)
…
…
"
se vc entender exatamente como funcionam as estruturas for(esse ‘do for’ nao existe em java[e eu nunca vi em nenhuma outra linguagem]) e ‘do while’, vc pode converter de um pra outro brincando(quando a conversão for possível… acho que tem casos que nao é possível)
for:
[code]for (inicializacao; condição; incremento) {
ações
}
for (int i = 0; i < 10; ++i) {
System.out.println(i);
}[/code]
do while:
[code]
do {
ações
} while (condição);
int i = 0;
do {
System.out.println(i);
++i;
} while (i < 10);[/code]
Explicando:
No laço for, antes de ele iniciar a sua primeira iteração, é executado o bloco de inicialização. Após isso, o bloco de condição é avaliado… se o resultado dele for um valor true, as ações do for são executadas. Após serem executadas, o bloco de incremento é executado. Após isso, a condição é novamente avaliada… se ela produzir true denovo, as ações são novamente executadas, e o bloco de incremento é novamente executado, e esse ciclo continua, assim:
INICIALIZAÇÃO
CONDIÇÃO
AÇÕES
INCREMENTO
CONDIÇÃO
AÇÕES
INCREMENTO
CONDIÇÃO
AÇÕES
INCREMENTO
CONDIÇÃO
Isso continua até que a condição produza um valor false… daí o for para de ser executado e a execução do sistema prossegue para a primeira linha de código após o laço for.
O do-while é assim:
Quando a execução chega no do-while, o bloco de ações é executado.
Após isso, a condição é avaliada… se ela produzir true, as ações são novamente executadas, e a condição é novamente avaliada, e assim continua, dessa forma:
AÇÕES
CONDIÇÃO
AÇÕES
CONDIÇÃO
AÇÕES
CONDIÇÃO
Até que condição produza o valor false… Daí a execução prossegue para a primeira linha após o seu do-while.
Obs: Só para vc seguiar… aqueles dois exemplos que eu escrevi acima, produzem exatamente o mesmo resultado.
Oi mmpaulo, obrigado pela dica, mas esse exemplo que voce deu, aplica-se em Java, mas o que eu falo mesmo, é em ALGORITMOS. E por isso é que existe o DO WHILE e o DO FOR. A minha dificuldade é converter um no outro, atraves dos exemplos que eu dei em cima 
Se voce souber, tenta converter para mim. Brigado pela ajuda.
Pelo que entendi, basicamente vc terá de colocar oe comandos na frente da condição (o que vc chama de do for ou do while). Como já falaram em outros posts o algoritmo, a estrutura de programação é a mesma independente da linguagem… Como vc está fazendo em pseudocódigo(acredito eu) vc seguirá a seguinte estrura…
faça {
.
.
.
Bloco de comados
.
.
}enquanto(condição booleana);
Enquanto no for (esse do for é muito esquisito, sinceramente nunca houvi falar mesmo nem em algoritmos) :???:
para (inicialização ; condição booleana ; incremento) {
.
.
.
Bloco de comados
.
.
}repita
Espero ter ajudado 
T++++;
Galera brigado pela ajuda, mas essa teoria eu ja sabia, eu queria era transformar o exemplo que eu dei na pratica.
Passar este ciclo para o DO FOR:
DO WHILE X <> V[I]
I <- I + 1
Passar este ciclo para o DO WHILE:
DO FOR I = 1 TO LENGTH (ALFA)
IF MATCH (DOMINIO, SUB (ALFA, I, 1)) <> 0
THEN N <- N + 1
ALFA <- SUB (ALFA, 1, I - 1) + ‘#’ + SUB (ALFA, I + 1)
Isto é em pseudocodigo sim, quem souber fazer a passagem que me diga por favor. Obrigado!!