https://manuais.iessanclemente.net/index.php?title=Estruturas_de_control&feed=atom&action=historyEstruturas de control - Historial de revisiones2024-03-28T19:30:41ZHistorial de revisiones de esta página en el wikiMediaWiki 1.36.2https://manuais.iessanclemente.net/index.php?title=Estruturas_de_control&diff=9998&oldid=prevVieites: /* FOR */2009-03-08T00:24:49Z<p><span dir="auto"><span class="autocomment">FOR</span></span></p>
<p><b>Página nueva</b></p><div>As estruturas de control permiten modificar o fluxo de execución básico do ''script''. Tamén nos permiten que certas partes do ''script'' non teñan que executarse sempre.<br />
<br />
== Sentencias Condicionais ==<br />
Con estas sentencias seremos capaces de tomar unha decisión baseándonos nunha expresión e facer que o programa elixa entre dous camiños de execución diferentes.<br />
<br />
=== IF ===<br />
A sintaxe da sentencia ''if'' é a seguinte:<br />
<source lang="javascript"><br />
if (condición) {<br />
[sentencias]<br />
}<br />
</source><br />
<br />
A condición debe ser unha expresión lóxica:<br />
:* Se o resultado de avaliala é certa, a sentencia executarase, e continuarase coa execución do programa.<br />
:* Se o resultado é falso, ''JavaScript'' ignora as sentencias e continuarase coa execución do ''script''.<br />
<br />
* '''Exemplo con ''if'':''' Empregar a sentencia ''if'' para saber cal é o maior de dous números. <br />
<source lang="javascript"><br />
<html><br />
<head><br />
<title>Estruturas de control</title><br />
</head><br />
<body><br />
<center><br />
<script language="javascript"><br />
<!--ocúltase a información para os navegadores antigos<br />
var dato1=15;<br />
var dato2=8;<br />
document.write("<h3>O maior de ");<br />
document.write(+dato1+" e "+dato2+" é:</h3>");<br />
if (dato1>dato2) {<br />
document.write("<h1>"+dato1+"</h1>");<br />
}<br />
if (dato2>dato1) {<br />
document.write("<h1>"+dato2+"</h1>");<br />
}<br />
document.write("<h3>¡Comparación feita!</h3>");<br />
//final do comentario--><br />
</script><br />
</center><br />
</body><br />
</html><br />
</source><br />
<br />
=== IF...ELSE ===<br />
As veces, a utilización da sentencia if en solitario non é suficiente, porque se precisa executar certas sentencias cando a expresión condicional non se cumpra. Para poder facer isto, engadimos un bloque else ó bloque if, a sintaxe quedará deste xeito:<br />
<source lang="javascript"><br />
if (condición) {<br />
[sentencias]<br />
} else {<br />
[sentencias]<br />
}<br />
</source><br />
<br />
* '''Exemplo ''if...else'':''' Empregar a sentencia ''if...else'' para saber cal é o maior de dous números. <br />
<source lang="javascript"><br />
<html><br />
<head><br />
<title>Estruturas de control</title><br />
</head><br />
<body><br />
<center><br />
<script language="javascript"><br />
<!--ocúltase a información para os navegadores antigos<br />
var dato1=15;<br />
var dato2=8;<br />
document.write("<h3>O maior de ");<br />
document.write(+dato1+" e "+dato2+" é:</h3>");<br />
if (dato1>dato2) {<br />
document.write("<h1>"+dato1+"</h1>");<br />
} else {<br />
document.write("<h1>"+dato2+"</h1>");<br />
}<br />
document.write("<h3>¡Comparación feita!</h3>");<br />
//final do comentario--><br />
</script><br />
</center><br />
</body><br />
</html><br />
</source><br />
<br />
== Bucles ==<br />
A utilización de bucles dentro dun ''script'' serve para moitos propósitos: para contar, para percorrer estruturas de tipo ''array'',...<br />
<br />
=== FOR ===<br />
O bucle ''for'' ten a seguinte sintaxe:<br />
<source lang="javascript"><br />
for([exp_inicialización];[exp_condición];[exp_bucle]){<br />
[sentencias]<br />
}<br />
</source><br />
<br />
As tres expresión cerradas entre corchetes existentes no paréntese, son opcionais, pero é preciso escribir os caracteres punto e coma (;) aínda que estas se omitan.<br />
:* '''''exp_inicialización'':''' Utilízase para inicializar e declarar a variable de contador do bucle.<br />
:* '''''exp_condición'':''' Define a condición que debe cumprirse para que continúe contando.<br />
:* '''''exp_bucle'':''' Incrementa ou decrementa a variable empregada como contador do bucle.<br />
<br />
* '''Exemplo ''for'' 1:''' Facer un ''script'' que imprima os números pares comprendidos entre 1 e 100.<br />
<source lang="javascript"><br />
<html><br />
<head><br />
<title>Estruturas de control</title><br />
</head><br />
<body><br />
<center><br />
<script language="javascript"><br />
<!--ocúltase a información para os navegadores antigos<br />
document.write("<h3>Números pares entre 1 e 100...</h3>");<br />
for (i=2; i<=100; i=i+2) {<br />
document.write(i+", ");<br />
}<br />
document.write("<h3>¡Feito!</h3>");<br />
//final do comentario--><br />
</script><br />
</center><br />
</body><br />
</html><br />
</source> <br />
<br />
* '''Exemplo ''for'' 2:''' Mellorar o programa anterior para que poña os do 1 ó 9 nunha liña, os do 10 ó 19 na seguinte liña, os do 20 ó 29 noutra,...<br />
: Para facelo empregar o '''operador ''módulo'' (%),''' con este operador, tal e como sabemos, descubrimos se un número é múltiplo de outro observando se o módulo de ambos números é 0.<br />
<source lang="javascript"><br />
<html><br />
<head><br />
<title>Estruturas de control</title><br />
</head><br />
<body><br />
<center><br />
<script language="javascript"><br />
<!--ocúltase a información para os navegadores antigos<br />
document.write("<h3>Números pares entre 1 e 100...</h3>");<br />
for (i=2; i<=100; i=i+2) {<br />
if (i%10==0) {document.write("<br />"+i+", ");}<br />
else {document.write(i+", ");<br />
}<br />
}<br />
document.write("<h3>¡Feito!</h3>");<br />
//final do comentario--><br />
</script><br />
</center><br />
</body><br />
</html><br />
</source><br />
<br />
As sentencias for tamén se poden aniñar, mira o seguinte exemplo que o demostra:<br />
<br />
* '''Exemplo ''for'' 3:''' Fai un programa que mostre o valor que se obtén ó sumarlle a un número todos os valores comprendidos entre el mesmo e o 0 (por exemplo do número 5: 5+4+3+2+1=15, debería mostrar '''5 : 15''').<br />
<source lang="javascript"><br />
<html><br />
<head><br />
<title>Estruturas de control</title><br />
</head><br />
<body><br />
<center><br />
<script language="javascript"><br />
<!--ocúltase a información para os navegadores antigos<br />
var dato=5;<br />
var suma=0;<br />
document.write("<h3>Sumatorio dun número: </h3>");<br />
for (i=1; i<=dato; i=i+1) {<br />
suma=suma+i;<br />
}<br />
document.write("<h3>"+dato+" : "+suma+"</h3>");<br />
document.write("<h3>¡Feito!</h3>");<br />
//final do comentario--><br />
</script><br />
</center><br />
</body><br />
</html><br />
</source><br />
<br />
* '''Exemplo ''for'' 4:''' Reforma o exemplo anterior para que faga ese sumatorio para todos os números comprendidos entre o 0 e ese número (por exemplo, se pos un 5 que faga o sumatorio dende o número 0 ata o número 5).<br />
<source lang="javascript"><br />
<html><br />
<head><br />
<title>Estruturas de control</title><br />
</head><br />
<body><br />
<center><br />
<script language="javascript"><br />
<!--ocúltase a información para os navegadores antigos<br />
var dato=20;<br />
var suma=0;<br />
document.write("<h3>Sumatorio dun número: </h3>");<br />
for (j=0; j<=dato; j=j+1) {<br />
for (i=0; i<=j; i=i+1) {<br />
suma=suma+i;<br />
}<br />
document.write("<h3>"+j+" : "+suma+"</h3>");<br />
suma=0;<br />
}<br />
document.write("<h3>¡Feito!</h3>");<br />
//final do comentario--><br />
</script><br />
</center><br />
</body><br />
</html><br />
</source><br />
<br />
* '''Exemplo ''for'' 5:''' Facer un script para que mostre en pantalla a táboa de multiplicar dun número dado como dato, debe de mostralo en formato táboa.<br />
<source lang="javascript"><br />
<html><br />
<head><br />
<title>Estruturas de control</title><br />
</head><br />
<body><br />
<center><br />
<script language="javascript"><br />
<!--ocúltase a información para os navegadores antigos<br />
var dato=8;<br />
var suma=0;<br />
document.write("<table border='2' align='center' cellpadding='0' cellspacing='0'>");<br />
document.write("<h3>Táboa de multiplicar dun número en formato táboa: </h3>");<br />
for (i=0; i<=9; i=i+1) {<br />
multi=dato*i;<br />
document.write("<tr> <td>"+dato+" X "+i+" = </td><br />
<td>"+multi+"</td></tr>");<br />
}<br />
document.write("</table>");<br />
document.write("<h3>¡Feito!</h3>");<br />
//final do comentario--><br />
</script><br />
</center><br />
</body><br />
</html><br />
</source><br />
<br />
* '''Exemplo FOR_6:''' Modifica o script anterior para que pida o número do que queres facer a táboa de multiplicar (emprega a función de JavaScript [[prompt()]]).<br />
<br />
=== FOR...IN ===<br />
Este bucle utilízase para executar un conxunto de sentencias sobre cada unha das propiedades dun obxecto. Produce unha iteración ó través de todas as propiedades dun obxecto.<br />
Para utilizalo, por tanto, fai falla coñecer o modelo de obxectos de JavaScript.<br />
<br />
Este bucle ten a seguinte sintaxe:<br />
for (var propiedade in obxecto) {<br />
&nbsp;&nbsp;[sentencias]<br />
}<br />
<br />
* '''Exemplo FOR...IN_1:'''</div>Vieites