M1SIIO Année universitaire 2016-2017 Janvier 2017 Session 1 - Semestre 1 Programmation Cours de Eric Andonoff Durée : 1h30. Aucun document autorisé. SUJET : Exercice 1 (12 points) Soit un tableau t représentant une liste de valeurs réelles comprises entre 0 et 20. Le nombre n de valeurs du tableau est connu et est strictement positif. Ecrivez, pour chaque besoin énuméré ci-dessous, un algorithme ou une fonction VB qui l’implémente : 1. calculer le minimum min des valeurs ti du tableau 2. calculer le maximum max des valeurs ti du tableau 3. calculer la moyenne m des valeurs ti du tableau (m est la somme des valeurs ti, pour i allant de 1 à n, divisée par n : m=(∑i=1..n ti) / n) 4. calculer la variance v des valeurs ti du tableau (v = (∑i=1..n (ti-m)2)/n) On vous demande maintenant de considérer la structure de données et les données suivantes pour décrire les notes obtenues par un étudiant dans les trois matières considérées ci-dessous : Type ListeMat Tableau (1..3) : Texte Const tMat : ListMat = (‘VB, ‘Oracle’, ‘HTML’) Type ListeNotes Tableau(1..4) : Réel Variable tVB : ListeNotes, tOracle : ListeNotes, tHTML : ListeNotes Le tableau tMat contient le nom des matières pour lesquelles les notes de l’étudiant sont conservées, tandis que les notes qu’il a obtenues dans ces matières sont conservées dans les tableaux tVB (notes dans la matière VB), tOracle (notes dans la matière Oracle) et tHTML (notes dans la matière HTML). Notez que 4 notes sont conservées dans chacune de ces matières. En vous basant sur cette structure de données écrivez, pour chaque besoin ci-dessous, un algorithme ou une procédure VB qui l’implémente : 5. calculer la variance des notes de l’étudiant pour une matière mat considérée calculer la moyenne des moyennes de l’étudiant Page 1 sur 2 Exercice 2 (8 points) Ecrire un algorithme ou une procédure VB qui trie une suite de n (strictement positif) nombres entiers (compris entre 0 et 20) dans l’ordre croissant des nombres. Le principe du tri est le suivant : l’algorithme effectue un parcours complet du tableau en comparant les couples d'éléments successifs. Lorsque deux éléments successifs ne sont pas dans l'ordre croissant, ils sont échangés. Ce parcours complet du tableau se répète si au moins un échange a été effectué, sinon le tri est terminé. Exemple : soit le tableau de 5 valeurs numériques suivant (5 1 4 2 8). Les 3 parcours suivants sont nécessaires pour trier ce tableau et identifier que le tri est terminé. premier parcours ( 5 1 4 2 8 ) ( 1 5 4 2 8 ) échange du 5 et du 1 ( 1 5 4 2 8 ) ( 1 4 5 2 8 ) échange du 4 et du 5 ( 1 4 5 2 8 ) ( 1 4 2 5 8 ) échange du 2 et du 5 (14258) (14258) 3 échanges effectués donc deuxième parcours (14258) (14258) ( 1 4 2 5 8 ) ( 1 2 4 5 8 ) échange du 2 et du 4 (12458) (12458) (12458) (12458) 1 échange effectué donc troisième parcours (12458) (12458) (12458) (12458) (12458) (12458) (12458) (12458) pas d’échanges effectués donc arrêt du tri. Page 2 sur 2