PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Enquanto ou Para #503302

03/12/2014

0

Existe alguma diferença significativa entre essas duas instruções?
Gleyton Menezes

Gleyton Menezes

Responder

Posts

03/12/2014

Eduardo Pessoa

Pelo que percebo a grande diferença do "Enquanto" para o "Para" é que no enquanto sempre uma variavel tem que ser inicializada, eu acho que é só isso.
Responder

Gostei + 0

03/12/2014

Marisiana Battistella

Depende como vc está utilizando o Enquanto...
Poderia postar um exemplo simples com cada um dos laços de repetição para vermos a sintaxe?
Responder

Gostei + 0

03/12/2014

Gleyton Menezes

ENQUANTO


var
PRODUTO : VETOR[1..8] DE CARACTER
PRECO : VETOR[1..8] DE REAL
CONT : INTEIRO
inicio
// Seção de Comandos
CONT <- 1
ENQUANTO CONT <= 8 FACA
   ESCREVA("INFORME PRODUTO ", CONT, " : ")
   LEIA(PRODUTO[CONT])
   ESCREVA("INFORME PREÇO PRODUTO ", CONT, " : ")
   LEIA(PRECO[CONT])
   CONT <- CONT + 1
FIMENQUANTO
CONT <- 1
ENQUANTO CONT <= 8 FACA
   ESCREVAL("PRODUTO/PREÇO")
   ESCREVAL(" ",PRODUTO[CONT])
   ESCREVAL(" ",PRECO[CONT])
   CONT <- CONT + 1
FIMENQUANTO
fimalgoritmo



PARA


inicio
// Seção de Comandos
PARA CONT DE 1 ATE 5 FACA
   ESCREVA("NOME DO PRODUTO: ", CONT, " : ")
   LEIA(PRODUTO[CONT])
   ESCREVA("QUANTIDADE DE PRODUTOS: ")
   LEIA(QTD[CONT])
   ESCREVA("VALOR DO PRODUTO")
   LEIA(VALOR[CONT])
   VALORTOTALPROD[CONT] <- VALOR[CONT] * QTD[CONT]
   TOTALCOMPRA <- TOTALCOMPRA + VALORTOTALPROD[CONT]
FIMPARA
LIMPATELA
PARA CONT DE 1 ATE 5 FACA
   ESCREVA(PRODUTO[CONT], " ")
   ESCREVA(QTD[CONT], " ")
   ESCREVA(VALOR[CONT], " ")
   ESCREVA(VALORTOTALPROD[CONT], " ")
FIMPARA
ESCREVAL("VALOR TOTAL DA COMPRA", TOTALCOMPRA)

fimalgoritmo

Responder

Gostei + 0

03/12/2014

Marisiana Battistella

Nesses dois casos não vejo diferença, pois ambos os laços apenas serão executado enquanto a condição definida for verdadeira.
Pedi para que postasse os exemplos pois existe o laço de repetição DO WHILE ( FAÇA ENQUANTO )...
Vou utilizar um dos teus códigos apenas para exemplificar:
CONT <- 1

FACA
   ESCREVA("INFORME PRODUTO ", CONT, " : ")
   LEIA(PRODUTO[CONT])
   ESCREVA("INFORME PREÇO PRODUTO ", CONT, " : ")
   LEIA(PRECO[CONT])
   CONT <- CONT + 1
ENQUANTO CONT > 8;



Nesse caso o laço sempre será executado uma vez, pois a condição apenas será executada ao final de cada execução.
Responder

Gostei + 0

03/12/2014

Marisiana Battistella

Talvez esse links seja úteis para entender a diferença entre eles..
[url:descricao=Estrutura de repetição - WHILE]http://www.tiexpert.net/programacao/c/while.php[/url]

[url:descricao=Estrutura de repetição - FOR]http://www.tiexpert.net/programacao/c/for.php[/url]

[url:descricao=Estrutura de repetição - DO WHILE]http://www.tiexpert.net/programacao/c/do-while.php[/url]
Responder

Gostei + 0

03/12/2014

Gleyton Menezes

Um precisa de um contador e outro não Marisiana, vou esses exemplos em C depois. obrigado.
Responder

Gostei + 0

03/12/2014

Marisiana Battistella

Os dois tem o contador... Apenas muda a sintaxe do laço de repetição.
Responder

Gostei + 0

03/12/2014

Ronaldo Lanhellas

Existe alguma diferença significativa entre essas duas instruções?


O ENQUANTO (while) é usado quando você tem uma assertiva e deseja que o laço continue enquanto aquela assertiva for verdadeira, por outro lado o PARA (for) é utilizado em conjunto com um contador, ou seja, para situações em que você precisa iterar uma quantidade exata de vezes.
Responder

Gostei + 0

03/12/2014

Ronaldo Lanhellas

Existe alguma diferença significativa entre essas duas instruções?


O ENQUANTO (while) é usado quando você tem uma assertiva e deseja que o laço continue enquanto aquela assertiva for verdadeira, por outro lado o PARA (for) é utilizado em conjunto com um contador, ou seja, para situações em que você precisa iterar uma quantidade exata de vezes.
Responder

Gostei + 0

03/12/2014

Gleyton Menezes

Os dois tem o contador... Apenas muda a sintaxe do laço de repetição.


errei, não é o contador e sim o "inicializar" a variavel. desculpe.
Responder

Gostei + 0

03/12/2014

Gleyton Menezes

Existe alguma diferença significativa entre essas duas instruções?


O ENQUANTO (while) é usado quando você tem uma assertiva e deseja que o laço continue enquanto aquela assertiva for verdadeira, por outro lado o PARA (for) é utilizado em conjunto com um contador, ou seja, para situações em que você precisa iterar uma quantidade exata de vezes.


Não é o ENQUANTO que precisa de um contador ou uma variavel inicializavel? calma, calma...hehehe
Responder

Gostei + 0

03/12/2014

Ronaldo Lanhellas

Existe alguma diferença significativa entre essas duas instruções?


O ENQUANTO (while) é usado quando você tem uma assertiva e deseja que o laço continue enquanto aquela assertiva for verdadeira, por outro lado o PARA (for) é utilizado em conjunto com um contador, ou seja, para situações em que você precisa iterar uma quantidade exata de vezes.


Não é o ENQUANTO que precisa de um contador ou uma variavel inicializavel? calma, calma...hehehe


Bom, ambos você pode usar para o mesmo propósito, isso é fato. Porém, o ENQUANTO é mais utilizado para assertivas e não com contador, mas nada impede que você use o enquanto com um contador.
Responder

Gostei + 0

03/12/2014

Gleyton Menezes

O que mais importa a facilidade para quem está fazendo a lógica ou realmente deve-se testar e tentar com as duas opções, dependendo das perguntas, eu prefiro usar o SE, mesmo que seja mais trabalhoso.
Responder

Gostei + 0

04/12/2014

Soeuseijothaz

O que mais importa a facilidade para quem está fazendo a lógica ou realmente deve-se testar e tentar com as duas opções, dependendo das perguntas, eu prefiro usar o SE, mesmo que seja mais trabalhoso.


Só completando:

O PARA sempre vai ser executado, pois ele é declarativo,

PARA CONT DE 1 ATE 5 FACA


O ENQUANTO só será executado se atender a condição. No exemplo a seguir o contador não vai satisfazer a condição, então nem irá entrar no laço.

CONT <- 10
ENQUANTO CONT <= 8 FACA
   ESCREVA("INFORME PRODUTO ", CONT, " : ")
   LEIA(PRODUTO[CONT])
   ESCREVA("INFORME PREÇO PRODUTO ", CONT, " : ")
   LEIA(PRECO[CONT])
   CONT <- CONT + 1
FIMENQUANTO
Responder

Gostei + 0

04/12/2014

Gleyton Menezes

Não entra por conta dessa declaração?

CONT <- 10
ENQUANTO CONT <= 8 FACA
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar