Page 1 sur 2
M1SIIO Année universitaire 2016-2017
Janvier 2017
Session 1 - Semestre 1
Programmation
Cours de Eric Andonoff
Durée : 1h30. Aucun d
ocument 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 t
i
du tableau
2. calculer le maximum max des valeurs t
i
du tableau
3. calculer la moyenne m des valeurs t
i
du tableau (m est la somme des valeurs
t
i
, pour i allant de 1 à n, divisée par n : m=(
i=1..n
t
i
) / n)
4. calculer la variance v des valeurs t
i
du tableau (v = (
i=1..n
(t
i
-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 2 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
( 1 4 2 5 8 ) ( 1 4 2 5 8 )
3 échanges effectués donc deuxième parcours
( 1 4 2 5 8 ) ( 1 4 2 5 8 )
( 1 4 2 5 8 ) ( 1 2 4 5 8 ) échange du 2 et du 4
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
1 échange effectué donc troisième parcours
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
pas d’échanges effectués donc arrêt du tri.
1 / 2 100%