Jump to content


Photo

Loop For


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

#1 Without a Nick

Without a Nick

    Sem culpa no cartório

  • Usuários
  • 2378 posts
  • Sexo:Não informado
  • Localidade:Guarulhos

Posted 09/12/2003, 16:36

Você está cansado de fazer aqueles comandos imensos e cansativos? Então, talvez um loop possa ser a solução. Existem em Javascript três tipos de loops: FOR, WHILE e DO. Vou explicar primeiramente o loop FOR, que se baseia em três comandos:

1. contador (uma variável);
2. condição (uma condição, da variável, um sinal e um valor ou outra variável);
3. início.

Um script fácil para entender isso é para pular 10 linhas. Ao invés de ficar digitando <br><br><br><br><br><br>... dez vezes, um loop resolveria isso facilmente:

<script language="javascript">
<!--
for (i=1; i<=10; i++)
document.write("<br>");
//-->
</script>


Um loop também pode interagir com outro script. Olhe um interessante que vi num livro:

<script language="javascript">
<!--
function farenheit(cel) {
faren=cel*9/5+32;
return faren;
}
//-->
</script>
<script language="javascript">
<!--
for (cel=0; cel<=100; cel+=10)
document.write(cel+"C = "+farenheit(cel)+"F<br>");
//-->
</script>


Nesse script, o loop for, foi criada a variável cel. Na condição, indicamos uma condição que retornará true, que pulará de 10 em 10.
Um loop for é executado assim: ele vai fazendo o comando, no caso document.write até ficar na condição false, que irá parar.

Tem um outro exemplo nesse livro que é muito interessante. Usando o mesmo primeiro script (de cálculo de graus farenheit a partir de c graus Celsius), criarei uma tabela que exibirá esses valores, de 0 a 100, mas mudando a cor da tabela automaticamente com os comandos de condição IF e ELSE.

<script language="javascript">
<!--
function farenheit(cel) {
faren=cel*9/5+32;
return faren;
}
//-->
</script>
<script language="javascript">
<!--
document.write("<table border=1");
for (cel=0; cel<=100; cel+=10) {
if ((cel>=0) && (cel<=19))
fundo="Blue";
else if ((cel>=20) && (cel<=25))
fundo="Orange";
else
fundo="Red";
document.write("<tr>");
document.write("<td bgcolor="+fundo+">"+cel+"</td>");
document.write("<td bgcolor="+fundo+">"+farenheit(cel)+"</td>");
document.write("</tr>");
}
document.write("</table>");
//-->
</script>


Claro que essa é apenas uma visão inicial do loop for. Espero que futuramente eu possa escrever sobre os outros loops, que não são também difíceis, mas este loop e o loop WHILE são os mais usados.

Com sinceras palestrinas,
WITHOUT A NICK

Edição feita por: Without a Nick, 09/12/2003, 16:44.


#2 Without a Nick

Without a Nick

    Sem culpa no cartório

  • Usuários
  • 2378 posts
  • Sexo:Não informado
  • Localidade:Guarulhos

Posted 21/04/2004, 14:43

Eu, como estou com os trampos adiantados, não tenho dever de casa, muito menos trabalhos escolares ( :D :lol: B) ), fiquei sem ter o que fazer. :(

Um dia, minha amiga estava cantando a música do Elefante, aquela, que a gente canta nas viagens: 1 elefante incomoda muita gente, 2 elefantes incomodam muito mais.

Pois bem, fiquei com esta música na cabeça. E, com a minha falta de tarefas, resolvi criar um script legal, para você decorar rapidinho essa música:

<title>A música do elefante...</title>
<script language="javascript">
<!--
// Ô falta do que fazer...
function elefantes() {
y=window.prompt("Digite um número.","");
if (y > 5000) {
  window.alert("Digite um número abaixo de 5000.");
  window.location.reload();
  return;
}
if (isNaN(y)) {
  window.alert("Digite um número.");
  window.location.reload();
  return;
}
else {
document.write("1 elefante incomoda muita gente.<br>");
for(i=2; i<=y; i++) {
  if (i%2==0) {
	document.write(i+" elefantes incomodam muito mais.<br>");
  }
  else {
	document.write(i+" elefantes incomodam muita gente.<br>");
  }
}
document.write("<div align='center'><a href='#top'>INÍCIO</a></div>");
}
}
//-->
</script>
<body onload="elefantes();"></body>

O script padrão é:

<script language="javascript">
<!--
function elefantes() {
document.write("1 elefante incomoda muita gente.<br>");
for(i=2; i<=1000; i++) {
  if (i%2==0) {
	document.write(i+" elefantes incomodam muito mais.<br>");
  }
  else {
	document.write(i+" elefantes incomodam muita gente.<br>");
  }
}
document.write("<div align='center'><a href='#top'>INÍCIO</a></div>");
}
//-->
</script>
<body onload="elefantes();"></body>

Espero que gravem essa música tão legal.

FUI!

:lol:


WITHOUT A NICK

#3 betocollin

betocollin

    Normal

  • Usuários
  • 103 posts
  • Sexo:Masculino
  • Localidade:Hardcore - Underground - Ska!

Posted 10/03/2005, 11:19

ei Without a Nick! você está errado cara! rsrsrsrsrs

A música do elefante eh assim

"1 elefante incomodam muita gente
2 elefantes INCOMODAM INCOMODAM MUITO MAIS
3 elefantes incomodam muita gente
4 elefantes INCOMODAM INCOMODAM INCOMODAM INCOMODAM MUITO MAIS
"

rsrs como fazer para a palavra "incomodam" ser repetida conforme o número prededente? rsrsrs

abraços

Beto

#4 Klaus

Klaus

    @ ubuntu jaunty

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

Posted 10/03/2005, 11:36

<title>A música do elefante...</title>
<script language="javascript">
<!--
// Ô falta do que fazer...
function elefantes() {
y=window.prompt("Digite um número.","");
if (y > 5000) {
window.alert("Digite um número abaixo de 5000.");
window.location.reload();
return;
}
if (isNaN(y)) {
window.alert("Digite um número.");
window.location.reload();
return;
}
else {
document.write("1 elefante incomoda muita gente.<br>");
for(i=2; i<=y; i++) {
if (i%2==0) {
document.write(i+" elefantes");
for (var x = 0; x < i; x++) {

  document.write (" incomodam");

}
document.write (" muito mais.<br>");

}
else {
document.write(i+" elefantes incomodam muita gente.<br>");
}
}
document.write("<div align='center'><a href='#top'>INÍCIO</a></div>");
}
}
//-->
</script>
<body onload="elefantes();"></body>


Klaus Paiva
Conheça também: Taperás

#5 Without a Nick

Without a Nick

    Sem culpa no cartório

  • Usuários
  • 2378 posts
  • Sexo:Não informado
  • Localidade:Guarulhos

Posted 12/03/2005, 19:04

Sempre pensei que fosse 1 "incomodam"... =P


Mas tudo bem...

Também aprendi! hehehehe




1 user(s) are reading this topic

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

IPB Skin By Virteq