Forum Liberty Basic France
• Index
Dans certain algorithmes NP-Complet à complexité exponentielle, on peut avoir besoin d'utiliser un nombre inconnu de boucles imbriqués les une dans les autres.
Cet algorithme permet de simuler le comportement de "nbDim" boucle for imbriqués les unes dans les autres.
La partie "initialisation" permet de préparer les variables utile à cette simulation.
La partie "exécution" permet de simuler ces boucles.
Code VB :
Cet algorithme permet de simuler le comportement de "nbDim" boucle for imbriqués les unes dans les autres.
La partie "initialisation" permet de préparer les variables utile à cette simulation.
La partie "exécution" permet de simuler ces boucles.
Code VB :
' Pour exécuter X boucles FOR imbriquées '**************** Configuration ********************* nbDim = 4 ' Nombre de boucle for dim taille(nbDim) nbElt = 1 ' Initialisé à 1 obligatoirement for i = 0 to nbDim-1 taille(i) = int(rnd(0) * 5)+1 ' On défini aléatoirement le nombre de fois que la boucle for sera exécuter print "Boucle for numéro ";i;" de 0 à ";taille(i)-1 ' Revient à faire FOR x = 0 TO taille(i)-1 next for i = 0 to nbDim-1 nbElt = nbElt * taille(i) ' Calcul le nombre total d'exécution des boucles (taille(0) * taille(1) * ... * taille(nbDim-1) next print print "Les ";nbDim;" boucles inbriqués équivauent à ";nbElt;" passages" print '******************** Exécution *************************** for nb = 0 to nbElt-1 produit = 1 for i = 0 to nbDim-1 ' On calcule les différents indices dans le tableau indice( indice(i) =int(nb/produit mod taille(nbDim-i-1)) produit = produit * taille(nbDim-i-1) print indice(i); " "; next print 'Code à l'intérieur des boucles imbriquées next 'Le code précédent est equivalent au code suivant : 'FOR indice(0) = 0 TO taille(0) ' FOR indice(1) = 0 TO taille(1) ' FOR indice(2) = 0 TO taille(2) ' FOR indice(3) = 0 TO taille(3) ' 'Code à l'intérieur des boucles imbriquées ' NEXT ' NEXT ' NEXT 'NEXT
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie