La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

TD3 2 IMACS Romaric GUILLERM Algo-Prog en Ada.

Présentations similaires


Présentation au sujet: "TD3 2 IMACS Romaric GUILLERM Algo-Prog en Ada."— Transcription de la présentation:

1 TD3 2 IMACS guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada

2 TD3 - Récursivité

3 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

4 Somme( ) TD3 845 8 + Somme( ) 45 4 + Somme( ) 5 5 + Somme() 5 9 17 0

5 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, …

6 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

7 TD3 Version itérative :

8 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

9 TD3 Version récursive :

10 TD3 Palindrome : Écrire un programme qui saisit un mot fourni par l'utilisateur et affiche s'il s'agit ou pas d'un palindrome.

11 TD3

12 Lidée : HHHH H..H H.HH H.HH * HHHH H.H H.HH H.HH * * 1 2 3 4 1 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 !

13 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

14 TD3


Télécharger ppt "TD3 2 IMACS Romaric GUILLERM Algo-Prog en Ada."

Présentations similaires


Annonces Google