Programación de dardos: bucles
A veces, ciertas instrucciones requieren una ejecución repetida. Los bucles son una forma ideal de hacer lo mismo. Un bucle representa un conjunto de instrucciones que deben repetirse. En el contexto de un bucle, una repetición se denominaiteration.
La siguiente figura ilustra la clasificación de bucles:
Comencemos la discusión con Definite Loops. Un bucle cuyo número de iteraciones es definido / fijo se denominadefinite loop.
No Señor | Bucle y descripción |
---|---|
1 | en bucle los forloop es una implementación de un loop definido. El bucle for ejecuta el bloque de código durante un número específico de veces. Se puede utilizar para iterar sobre un conjunto fijo de valores, como una matriz. |
2 | para ... en bucle El bucle for ... in se utiliza para recorrer las propiedades de un objeto. |
Continuando, analicemos ahora los bucles indefinidos. Un ciclo indefinido se utiliza cuando el número de iteraciones en un ciclo es indeterminado o desconocido. Los bucles indefinidos se pueden implementar usando -
No Señor | Bucle y descripción |
---|---|
1 | while Loop El ciclo while ejecuta las instrucciones cada vez que la condición especificada se evalúa como verdadera. En otras palabras, el bucle evalúa la condición antes de que se ejecute el bloque de código. |
2 | hacer ... while Loop El bucle do… while es similar al bucle while excepto que el bucle do ... while no evalúa la condición por primera vez que se ejecuta. |
Pasemos ahora y discutamos el Loop Control Statements de Dart.
No Señor | Declaración de control y descripción |
---|---|
1 | declaración de rotura los breakLa declaración se usa para quitar el control de una construcción. Utilizandobreaken un ciclo hace que el programa salga del ciclo. A continuación se muestra un ejemplo debreak declaración. |
2 | Continuar declaración los continue declaración omite las declaraciones subsiguientes en la iteración actual y lleva el control al comienzo del ciclo. |
Uso de etiquetas para controlar el flujo
UN labeles simplemente un identificador seguido de dos puntos (:) que se aplica a una declaración o un bloque de código. Se puede usar una etiqueta conbreak y continue para controlar el flujo con mayor precisión.
No se permiten saltos de línea entre ‘continue’ o ‘break’declaración y su nombre de etiqueta. Además, no debería haber ninguna otra declaración entre un nombre de etiqueta y un bucle asociado.
Ejemplo: etiqueta con rotura
void main() {
outerloop: // This is the label name
for (var i = 0; i < 5; i++) {
print("Innerloop: ${i}");
innerloop:
for (var j = 0; j < 5; j++) {
if (j > 3 ) break ;
// Quit the innermost loop
if (i == 2) break innerloop;
// Do the same thing
if (i == 4) break outerloop;
// Quit the outer loop
print("Innerloop: ${j}");
}
}
}
El seguimiento output se muestra en la ejecución exitosa del código anterior.
Innerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 2
Innerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 4
Ejemplo: etiqueta con continuar
void main() {
outerloop: // This is the label name
for (var i = 0; i < 3; i++) {
print("Outerloop:${i}");
for (var j = 0; j < 5; j++) {
if (j == 3){
continue outerloop;
}
print("Innerloop:${j}");
}
}
}
La siguiente salida se muestra en la ejecución exitosa del código anterior.
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2