Jump to content


Photo

Dúvidas Com Estruturas De Controle


  • Faça o login para participar
6 replies to this topic

#1 LEXCAMARGOS

LEXCAMARGOS

    <!-- ALEX -->

  • Usuários
  • 69 posts
  • Sexo:Não informado
  • Localidade:Um fim de mundo em Minas Gerais
  • Interesses:HTML | SCRIPT | CSS | PHP | ASP | Design.

Posted 25/03/2004, 02:55

Salve galera;

Qual a vantagem e lógico desvantagens de se utilizar do..while em ves de while?
E também em relação a velocida na execução do código qual dos metodos é executado com mais velocidade, levando em conta um sistema com um número grande de laços:
<?php
/* exemplo 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* exemplo 2 */

for ($i = 1;; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* exemplo 3 */

$i = 1;
for (;; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* exemplo 4 */

for ($i = 1; $i <= 10; echo $i, $i++);
?>

Sabe-se que é possível chegar ao mesmo resultado tanto com for quanto com while, em relação a velocida e asvantagens e desvantagens, qual dessas duas estruturas são mais recomendáveis?
*// And you fears subside
*// And shandows still remain
*// I know that you cam love me
*// When there's no one left to blame
*// So never mind the darkness
*// We still can find a way
*// Cause nothing'lasts forever
*// Even could november rain
*// NOVENBER RAIN - GUNS N´ ROSES
<!-- WebDevelope -->
<!-- lex_galo@hotmail.com -->

#2 thalesalan

thalesalan
  • Visitantes

Posted 25/03/2004, 05:47

Qual a vantagem e lógico desvantagens de se utilizar do..while em ves de while?

while em ves de while???

#3 LEXCAMARGOS

LEXCAMARGOS

    <!-- ALEX -->

  • Usuários
  • 69 posts
  • Sexo:Não informado
  • Localidade:Um fim de mundo em Minas Gerais
  • Interesses:HTML | SCRIPT | CSS | PHP | ASP | Design.

Posted 25/03/2004, 07:19

Qual a vantagem e lógico desvantagens de se utilizar do..while em ves de while?

while em ves de while???

Bom acho que não fui bem claro.

Esplicando:
do..while
<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>
while
<?php
$i = 0;
while ($i > 0);  {
  echo $i;
}
?>

*// And you fears subside
*// And shandows still remain
*// I know that you cam love me
*// When there's no one left to blame
*// So never mind the darkness
*// We still can find a way
*// Cause nothing'lasts forever
*// Even could november rain
*// NOVENBER RAIN - GUNS N´ ROSES
<!-- WebDevelope -->
<!-- lex_galo@hotmail.com -->

#4 thiagorsl

thiagorsl
  • Visitantes

Posted 25/03/2004, 12:21

Acho que while e do while são praticamente as mesmas coisas mas pode ser que um vez ou outra um não subsitua o outro prefiro o while pois é mais simples de se usar e perceber os erros sendo assim fica mais faicl trabalhar com ele

#5 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 25/03/2004, 17:59

o do...while faz a repetiçao no final do código
e o while no início

é isso... o resultado vai sair igual :)

flw
Site: GustavoPaes.net

^ Rumo ao Topo ^

#6 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 25/03/2004, 18:47

Olá! :yes:

While => A verificação é feita no ínicio do laço, dessa forma, se o resultado retornar false, nenhuma ação é executada.

Do... While => A verificação é feita ao final do laço, dessa forma, se o resultado retornar false, logo no primeiro laço, um resultado pelo menos será retornado (ao contrário do while, que pode não retornar nada).

Pelo que me lembro é isso.
Klaus Paiva
Conheça também: Taperás

#7 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 25/03/2004, 22:20

Exato Kalus.

O do...while é executado ao menos uma vez, enquanto o while... pode não ser executado.

A diferença é esta. =)

Quanto à velocidade de execução, o do e o while são iguais...
O for é melhor quando contém os 3 itens e o quarto o terceiro da lista) dentro do seu laço. Sua diferença de velocidade é mínima, mas você pode estimar e averiguar isto usando a função microtime().

Simule um laço de repetição das 4 formas que vc quis... e depois, dê alert (usando JS) no tmepo de execução. Compare os tempos. A partir daí, vc obtém o resultado o que vc queria.
Sugestão: Simule com laços grandes, de 1000 a 10000 repetições para que o teste seja mais preciso.


[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq