TD2

12
TD2 2 IMACS [email protected] Romaric GUILLERM Algo-Prog en Ada

description

Algo-Prog e n Ada. TD2. 2 IMACS. Romaric GUILLERM. [email protected]. BILAN du TD1. Une démarche : Structures de données Prog . principal + spéc . des sous- prog . Sous-programmes Tableau contraint :. définition. déclaration. attributs. BILAN du TD1. in. out. procédure. in out. - PowerPoint PPT Presentation

Transcript of TD2

Page 1: TD2

TD22 IMACS

[email protected] GUILLERM

Algo-Progen Ada

Page 2: TD2

BILAN du TD1 Une démarche :

1. Structures de données2. Prog. principal + spéc. des sous-prog.3. Sous-programmes

Tableau contraint :définition

déclaration

attributs

Page 3: TD2

BILAN du TD1 Différents sous-programmes :

Procédure

Fonction

Quelques algorithmes simples avec l’utilisation de boucles pour parcourir un tableau

procédure

in out

in out

Page 4: TD2

TD2 Suivi de la même démarche que dans le TD1

:

1. Structures de données définir les constantes, types et sous-types.

2. Programme principal, avec spécification des sous-programmes

3. Sous-programmes

Page 5: TD2

TD2 Structure de données :

Un ami : type article ! « Listes » d’amis : tableau non

contraint

Inconvénients : - on doit connaître le nombre d’amis à l’avance

- ajout/suppression d’amis impossible(sans déclarer un autre tableau)

Page 6: TD2

Programme principal :DEBUT

Qui êtes vous?

On récupère le nombre d’amis

On récupère les amis

Afficher les choix possible

0 1 2 3

FINTrier_par_popularité(

tab)Trier_par_nom(tab

) Afficher(tab)

TD2

Choix?

On déclarer le tableau tab

Page 7: TD2

Programme principal :TD2

Page 8: TD2

Spécification des sous-programmes :

…… recuperer_amis(…)

…… afficher_amis(…)

…… trier_par_popularite(…)

…… trier_par_nom(…)

TD2

Page 9: TD2

Sous-programme de tri par popularité :

TD2

5 3 7 6I = 1 :

1 2 3 4 7 3 5 6

1 2 3 4

7 3 5 6I = 2 :

1 2 3 4 7 6 5 3

1 2 3 4

7 6 5 3I = 3 :

1 2 3 4 7 6 5 3

1 2 3 4

Page 10: TD2

Sous-programme de tri par popularité d’un tableau d’amis :

Pour chaque indice i1 du tableau (sauf pour l’indice de la dernière case) On cherche l’indice i2 de l’ami qui a la plus forte popularité dans le reste du

tableau à partir i1 On échange les positions des amis contenus aux indices i1 et i2

Fin de la boucle pour

Sous-sous-programme de recherche de l’indice de l’ami avec la plus forte popularité dans un tableau d’amis :

On initialise i_max à l’indice de la première case Pour chaque indice i du tableau (sauf pour l’indice de la première case)

Si la popularité de l’ami à la position i est plus forte que la popularité de l’ami à la position i_max alors : On actualise i_max avec la valeur de i

Fin du si Fin de la boucle pour On retourne i_max comme résultat

TD2

Page 11: TD2

Sous-programme de tri par popularité :

TD2

Page 12: TD2

Sous-programme de tri par nom :

TD2