TD3 2 IMACS Romaric GUILLERM Algo-Prog en Ada
TD3 - Récursivité
TD3 Arbre dappel pour n=3 et p=2 : Combinaison(3,2) Combinaison(2,2)Combinaison(2,1) Combinaison(1,1)Combinaison(1,0) Resu=1 Resu=2 Resu=3
Somme( ) TD Somme( ) Somme( ) Somme()
TD3 Rappel sur le type « String » : Cest un tableau non-contraint de caractères Type String is array(Positive range <>) of Character; On a accès aux attributs : first, last, length, …
TD3 Version itérative : Si le mot a une longueur de 0 ou 1 alors on retourne « true » Sinon : On calcul la demi longueur du mot : demi Pour i de 0 à demi-1 Si les caractères aux positions motfirst+i et motlast-i sont différents alors on retourne « false » Fin du si Fin de la boucle pour On retourne « true » si on na encore rien retourné Fin du si
TD3 Version itérative :
TD3 Version récursive : Si le mot a un longueur de 0 ou 1 alors on retourne « true » Sinon : Si les caractères en début et en fin du mot sont différents alors on retourne « false » Sinon : On retourne le résultat de la détermination de palindrome sur le mot privé de ses premier et dernier caractères Fin du si
TD3 Version récursive :
TD3 Palindrome : Écrire un programme qui saisit un mot fourni par l'utilisateur et affiche s'il s'agit ou pas d'un palindrome.
TD3
Lidée : HHHH H..H H.HH H.HH * HHHH H.H H.HH H.HH * * HHHH HH H.HH H.HH * * 1 false 2 HHHH HH H.HH H.HH * * HHHH HH H.HH H.HH * * 3 4 HHHH HH H.HH H.HH * * 2 true HHHH H.H H.HH H.HH * * 1 false HHHH H.H HHH H.HH * * 2 true HHHH H.H HHH H.HH * * * A afficher !
TD3 Algorithme : Si la position donnée est différente de ". " alors : on retourne « false » Sinon si la position donnée se trouve sur un bord du labyrinthe alors : on marque cette position de " * " on affiche le labyrinthe on retourne « true » Sinon on marque la position courrante P avec " * " on cherche la sortie à partir de la case située à lest de P Si on na pas trouver de sortie alors : on cherche la sortie à partir de la case située au sud de P Si on na pas trouver de sortie alors : on cherche la sortie à partir de la case située à louest de P Si on na pas trouver de sortie alors : on chercher la sortie à partie de la case située au nord de P Fin du si on retourne le résultat de notre recherche dans les différentes directions Fin du si
TD3