nidification Se produit lorsqu'une structure de boucle est enfermée dans un autre. La boucle extérieure et la boucle intérieure peuvent être contrôlées à l'aide d'un défini ou un indéfini Condition de continuation de boucle.
- nidification des boucles définies:
Si les deux boucles sont des boucles définies, les directives suivantes s'appliquent:
- La boucle extérieure doit être contrôlée à l'aide d'une condition de continuation de boucle définie, et la boucle intérieure doit également être contrôlée à l'aide d'une condition de continuation de boucle définie.
- La boucle intérieure itérera son ensemble complet d'itérations pour chaque itération de la boucle extérieure, et la boucle extérieure itérera tout son ensemble d'itérations lorsque la boucle intérieure complète chacun de ses ensembles d'itération.
- nidification des boucles indéfinies:
Si les deux boucles sont des boucles indéfinies, les directives suivantes s'appliquent:
- Chaque boucle doit être contrôlée à l'aide d'une condition d'inconstruction de boucle indéfinie.
- L'une ou l'autre boucle peut potentiellement exécuter indéfiniment.
- Si l'une des boucles s'exécute indéfiniment et que l'autre ne le fait pas, le processus de boucle ne se terminera jamais.
- nidification d'une boucle définie et indéfinie:
Si l'une des boucles est une boucle définie et que l'autre est une boucle indéfinie, les directives qui s'appliquent aux boucles indéfinies sont utilisées.
Voici un exemple de boucles imbriquées «pour» en JavaScript pour trouver les principaux facteurs d'un nombre donné:
`` `JavaScript
fonction findprimefactors (numéro) {
// initialise un tableau vide pour stocker des facteurs premiers
Soit primeFactors =[];
// itérater tous les nombres de 2 à la racine carrée du numéro d'entrée
pour (soit i =2; i <=math.sqrt (nombre); i ++) {
// Si le numéro d'entrée est divisible par le numéro actuel sans reste
while (nombre% i ==0) {
// Ajouter le numéro actuel à la liste des facteurs premiers
primefactors.push (i);
// Divisez le numéro d'entrée par le numéro actuel
nombre / =i;
}
}
// Si le numéro d'entrée est supérieur à 1, c'est un nombre premier, alors ajoutez-le à la liste
if (nombre> 1) primefactors.push (numéro);
// Renvoie la liste des facteurs premiers
Retour PrimeFactors;
}
`` '
Dans l'exemple ci-dessus, la boucle externe «pour» itère à travers tous les nombres de 2 à la racine carrée du numéro d'entrée. Pour chaque valeur de `i ', la boucle intérieure« While »vérifie si le numéro d'entrée est divisible par` i ». Si c'est le cas, la boucle intérieure continue de diviser le nombre par `` Je 'jusqu'à ce qu'elle ne soit plus divisible, ajoutant chaque «Je» au tableau «PrimeFactors». Une fois la boucle intérieure terminée, la boucle extérieure se déplace vers la valeur suivante de `i '. Le processus se poursuit jusqu'à ce que le nombre d'entrée ne soit plus divisible par aucun nombre autre que lui-même. À ce stade, le numéro d'entrée est Prime et est ajouté au tableau «PrimeFactors». Enfin, la fonction renvoie le tableau «PrimeFactors».
Les boucles de nidification peuvent être utilisées pour résoudre divers problèmes qui nécessitent une itération sur plusieurs séquences ou structures de données. Ils vous permettent de créer des structures de contrôle complexes et d'effectuer différentes opérations en fonction des combinaisons de conditions.