Universit´ e du Littoral Cˆ ote d’Opale Ann´ ee universitaire 2011–2012
Licence 2` eme ann´ ee Informatique
Calcul Formel & Courbes et Surfaces
Dur´ ee : 2 h le lundi 14 mai
Documents et calculatrices de l’ULCO autoris´ es
Les deux parties du devoir seront trait´ ees sur des copies diff´ erentes.
Calcul Formel
Exercice 1 (10 points). Supposons que nous ayons une classe (ou structure) Matrice permettant de repr´ esenter les matrices carr´ ees ` a coefficients dans Z (les entiers sont repr´ esent´ es par le type int). Les fonctions utiles sont:
• Matrice M(n) qui cr´ ee une matrice de taille n × n;
• M[i][j] qui acc` ede au coefficient ` a la position (i, j) de la matrice M, les indices commen¸ cant ` a 1;
• M.taille qui retourne la taille de M.
Une matrice carr´ ee A = (a
i,j) de taille n × n est dite sym´ etrique si a
i,jest ´ egale ` a a
j,ipour tous les couples (i, j) de {1, ..., n}
2.
– 1) Parmi les matrices suivantes, lesquelles sont sym´ etriques :
A
1= 1 2
2 1
, A
2= 1 2
0 1
, A
3=
1 1 −1
0 1 0
−1 0 1
, A
4=
2 −1 1
−1 1 2
1 2 −1
– 2) Ecrire en pseudo-langage ou en C++ une fonction est sym´ etrique(Matrice A) qui retourne true si A est sym´ etrique et false sinon.
Soit A = (a
i,j) une matrice carr´ ee, la matrice transpos´ ee de A, not´ ee
tA est la matrice
tA = (a
j,i).
Exemple :
A
5=
2 1 3 3 2 1 1 3 2
et
tA
5=
2 3 1 1 2 3 3 1 2
– 3) Calculer la transpos´ ee des matrices A
1, A
2, A
3et A
4.
– 4) Ecrire en pseudo-langage ou en C++ une fonction transposee(Matrice A) qui retourne la trans- pos´ ee de la matrice A.
On dit qu’une matrice carr´ ee A est un carr´ e magique si les sommes des coefficients sur chaque ligne et chaque colonne sont ´ egales.
– 5) Trouver les trois carr´ es magiques parmi A
1, A
2, A
3, A
4et A
5.
– 6) Ecrire en pseudo-langage ou en C++ les fonctions int somme ligne(Matrice A,int i) et int somme colonne(Matrice A,int j) qui retourne respectivement la somme des coefficients de la ligne i de A et la somme des coefficients de la colonne j de A.
– 7) Ecrire en pseudo-langage ou en C++ une fonction est carr´ e magique(Matrice A) qui retourne
true si A est un carr´ e magique et false sinon.
Exercice 2 (10 points). Les ´ el´ ements de F
n2pourront ˆ etre not´ es sous forme de n-uplets ou de vecteurs colonnes. Soit ϕ le code correcteur d´ efini par
ϕ : F
22→ F
52(b
1, b
2) 7→ (b
1, b
2, b
1+ b
2, b
2, b
1) – 1) Quel est le param` etre du code ϕ?
– 2) Quelle est l’image du code ϕ.
– 3) Quelle est la distance minimale de ϕ?
– 4) Quelles sont les capacit´ es de d´ etection et de correction pour ϕ ? – 5) Le code ϕ est-il lin´ eaire ? syst´ ematique ?
– 6) Le code ϕ est-il MDS ?
– 7) Donner la matrice g´ en´ eratrice de ϕ.
– 8) Donner une matrice de contrˆ ole pour ϕ.
– 9) Calculer la table de d´ ecodage de ϕ.
– 10) D´ ecoder le mot 01010.
Courbe et Surfaces
Exercice 3 (10 points). Dans cette exercice, on se propose d’adapter l’algorithme de Bresenham au cas d’un cercle. On note C
Rle cercle de centre O = (0, 0) et de rayon R. Comme pour la version vue en cours on divise l’espace en octant. On se contentera de tracer la partie du cercle se trouvant dans le second octant :
1 2 3 4
6 7
5 8
L’´ equation cart´ esienne de C
Rest F
R(x, y) = x
2+ y
2− R
2. Un point M = (x
M, y
M) appartient alors ` a C
Rsi et seulement si F
R(x
M, y
M) = 0.
– 1) Quelle est le signe de F
R(x
M, y
M) pour un point M = (x
M, y
M) se trouvant ` a l’int´ erieur du cercle C
R. On pourra consid´ erer que le signe est le mˆ eme pour tous les points ` a l’int´ erieur du cercle de C
Ret calculer la valeur de F
Ren un point particulier.
Supposons que l’on trace dans le sens des aiguilles d’une montre la portion du cercle C
Rse trouvant dans le deuxi` eme octant. L’algorithme de Bresenham consiste alors ` a allumer successivement des points P
0, P
1, P
2, .... On note (x
i, y
i) les coordonn´ ees du point P
i.
– 2) Apr` es avoir allum´ e le point P
iquels sont les deux pixels possibles parmi N, N E, E, SE, S, SO, O et N O pour P
i+1? Faire un dessin peut ˆ etre tr` es utile.
NE
S SE SO O
NO N
Pi
E