Download - TD2
![Page 2: TD2](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/7.jpg)
Programme principal :TD2
![Page 8: TD2](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/8.jpg)
Spécification des sous-programmes :
…… saisir_classe(…)
…… afficher_classe(…)
…… trier_par_note(…)
…… trier_par_nom(…)
TD2
![Page 9: TD2](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/11.jpg)
Sous-programme de tri par note :
TD2
![Page 12: TD2](https://reader036.vdocuments.fr/reader036/viewer/2022083013/568163cc550346895dd50ba9/html5/thumbnails/12.jpg)
Sous-programme de tri par nom :
TD2