CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Invariant de boucle ?

krkrp5
krkrp5
Niveau 10
20 octobre 2016 à 05:51:05

:salut: quelqu'un pourrait t'il m'expliquer ce qu'est un invariant de boucles, c'est assez flou ? :merci: voici un bout de mon code

<?php
$A= array('31','41','59','26','41','58','100','5','20','1150','15','2880');
$v = '41';

RECHERCHE($A, $v);
function RECHERCHE($A,$v){
	//debut
	for( $i = 0; $i<count($A); $i++){
		
		if($A[$i] == $v){
			//fin
		  echo "le nombre v = $A[$i] a été trouvé à l'index i = $i<br>";
		}else{
                  echo null;
             }
       }

}

		 			 

Je sais juste que ça permet de vérifier que l'algo est bon, mais c'est très abstrait, je pige pas trop [[sticker:p/1lmk]]

PS: désolé pour l'indentation du code.

Message édité le 20 octobre 2016 à 05:56:03 par krkrp5
godrik
godrik
Niveau 30
20 octobre 2016 à 17:38:15

Un invariant de boucle est une propriete qui est vrai pour ta boucle au debut de chaque iteration de la boucle. (en fait, il y a plusieurs definition pour une propriete vrai au debut d'une iteration, et a la fin d'une iteration. Et les gens utilisnet l'un ou l'autre en fonction des besoins locaux.)

Si tu prends un boucle simple
sum=0;
for (i=0; i<N; ++i)
sum += A[i];

L'invariant de boucle est qu'au debut de l'iteration i, sum vaut la somme de toutes les entree de A qui ont un indice plus petit que i. (Et si ca t'interesse, tu peux ecrire la preuve que l'invariant est correcte par recurrence.)

krkrp5
krkrp5
Niveau 10
20 octobre 2016 à 17:52:37

:merci: beaucoup mais alors dans mon code "count($A)" ne peut-'il pas être considéré comme invariant ?

godrik
godrik
Niveau 30
20 octobre 2016 à 19:35:52

non, un invariant c'est une propriete. C'est quelquechose qui est toujours vrai au debut d'une iteration de la boucle.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware