Licence Informatique 1
eannée
Algorithmique et Programmation
Travaux Dirigés n° 1 - Tableaux et enregistrements
1- Astronomie
On veut manipuler dans un programme des données concernant les étoiles. Une étoile a un nom, une position (3 réels correspondant à deux angles en degrés et une distance en années- lumière), une magnitude (nombre réel).
1.1 Écrire un type enregistrement pour représenter les étoiles dans le programme.
1.2 Écrire un programme de test qui initialise un tableau de 10000 étoiles avec pour chacune un nom arbitraire (par exemple eto_0, eto_1, etc), des positions aléatoires (la distance maximale d’une étoile à la Terre est de 45 milliards d’années-lumière) et une magnitude de 1.0.
1.3 Écrire une fonction qui prend un tableau d’étoiles en paramètre et renvoie le nombre d’étoiles situées à plus de 10 milliards d’années-lumière.
On veut aussi représenter les constellations, dont chacune a un nom, et contient un certain nombres d’étoiles.
1.4 Écrire un type enregistrement pour représenter les constellations dans le programme. Le programme doit aussi initialiser une constellation Ornithorynque qui contient les 3 premières étoiles créées.
1.5 Écrire une fonction qui prend en entrée un tableau de constellations et renvoie le nombre moyen d’étoiles par constellation.
2- Gestion des notes
2.1 On veut pouvoir gérer les notes de partiels et d'examen pour tous les étudiants. Définir un type de données Note permettant de stocker le numéro d'étudiant (entier), la note de partiel et la note d'examen de l'étudiant (réels). Puis écrire une fonction qui prend en entrée un tableau de Note et inverse l’ordre des éléments dans le tableau.
2.2 Écrire une fonction qui prend en entrée un tableau de Note et renvoie l'écart entre la plus petite et la plus grande des moyennes (partiel+examen)/2.
2.3 On veut maintenant pouvoir gérer les notes des étudiants sur le semestre. Pour cela, on stocke dans un tableau les tableaux de Note correspondant aux différents modules (on a donc un tableau de tableaux de Note). Écrire une fonction qui prend en entrée un tel tableau et le numéro d'un étudiant et renvoie la moyenne de l'étudiant sur le semestre.