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

TD2

  • Upload
    nellis

  • View
    65

  • Download
    0

Embed Size (px)

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

Citation preview

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 élève : type article ! Une classe : tableau non contraint

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

- ajout/suppression d’élèves impossible(sans déclarer un autre tableau)

Page 6: TD2

Programme principal :DEBUT

nb_eleve?

Déclarer le tableau

Saisie_des_élèves(tab)

Afficher les choix possible

0 1 2 3

FINTrier_par_note(t

ab)Trier_par_nom(tab

) Afficher(tab)

TD2

Choix?

Page 7: TD2

Programme principal :TD2

Page 8: TD2

Spécification des sous-programmes :

…… saisir_classe(…)

…… afficher_classe(…)

…… trier_par_note(…)

…… trier_par_nom(…)

TD2

Page 9: TD2

Sous-programme de tri par note :

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 note d’un tableau d’élèves :

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

tableau à partir i1 On échange les positions des élèves contenus aux indices i1 et i2

Fin de la boucle pour

Sous-sous-programme de recherche de l’indice de l’élève avec la plus forte note dans un tableau d’élèves :

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 note de l’élève à la position i est plus forte que la note de l’élève à 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 note :

TD2

Page 12: TD2

Sous-programme de tri par nom :

TD2