BTS-SIO
listes de listes, matrices
Travaux pratiques
1 D´efinition
Une liste (ou vecteur) est une variable d’un ensemble de nvariables, c’est variables elles mˆemes peuvent ˆetre
des listes, on parle alors de matrices (ou de tableaux). Une liste de nnombres ais’´ecrit [a0;a1;..;an1] en
programmation la s´eparation d’´el´ements se fait avec des virgules, et les s´eparateurs de d´ecimales des points.
Une matrice `a deux dimensions (un tableau) s’´ecrit [[]; []; ...; []].
2 Exemples d’utilisation des listes de listes
Dans les fiches pr´ec´edentes nous avons d´ej`a utilis´e des listes `a une dimension (vecteur). Ici nous allons nous
concentrer sur les tableaux.
2.1 Exemple : tableau d’´evolution
Voici un tableau qui pr´esente le SMIC en France depuis 2010.
ann´ee 2010 2011 2012 2013
smic brut mensuel en euros pour 151,67h de travail 1343,77 1365,0 1398,37 1430,22
taux d’´evolution n´eant
L’id´ee est de mettre en place ce tableau T, l’utilisateur entrant chaque ann´ee la nouvelle valeur du SMIC :
Algorithm 1 ´evolution du SMIC :
Entr´ees: annee, smic
Sorties: T
annee [2010; 2011; 2012; 2013]
smic [1343,77; 1365,0; 1398,37; 1430,22]
for i= 1 to 3do
taux[i]smic[i]
smic[i1] 1
end for
T[annee;smic;taux]
S.Mirbel page 1 / 3
BTS-SIO
2.2 En Python
Saisir et tester cet algorithme.
3 Exercices
3.1 Exemple de pr´esentations des suites g´eom´etriques (ou arithm´etiques)
Le but de l’algorithme est de donner les termes d’une suite g´eom´etrique et leur cumul associ´e suivant la raison
de la suite et son premier terme.
Algorithm 2 Suite g´eom´etrique:
Entr´ees: qR(raison), uR(premier terme au rang 0), nN(nombre de termes)
Sorties: C= [[rangs]; [termes]; [cumul]]
C[[0]; [u]; [u]]
for i= 1 to ndo (le rang nest atteint)
c(i;0) i
c(i;1) c(i1;1) q
c(i;2) c(i1;2) +c(i;1)
end for
Traduire cet algorithme en Python, le tester.
S.Mirbel page 2 / 3
BTS-SIO
3.2 Couleur d’une image
On peut coder une image carr´ee de taille n×npar des couleurs (exemple de trois couleurs num´erot´ees 0 ;1 ;2)
`a l’aide d’une matrice de nombre comme suit :
on note c(i;j)un ´el´ement de la matrice, iindique les lignes, jles colonnes, (i;j)J1; nK2
iJ1; nK, c(i;i)= 1
iJ1; nK, i > j jJ1; nK, c(i;j)= 0
iJ1; nK, i < j jJ1; nK, c(i;j)= 2
Exemple : une matrice image de taille 4
1222
0122
0012
0001
Programmer en Python une telle matrice dont la taille est d´efinie par l’utilisateur.
3.3 Une autre image couleur
On peut coder une image carr´ee de taille n×npar des couleurs (exemple de trois couleurs num´erot´ees
1 ;2 ;... ;n) `a l’aide d’une matrice de nombre comme suit :
on note c(i;j)un ´el´ement de la matrice, iindique les lignes, jles colonnes, (i;j)J1; nK2
iJ1; nK, c(i;i)=n
iJ1; nK,kJ1; niK, c(i+k;i)=nk
iJ1; nK,kJ1; niK, c(i;i+k)=nk
Exemple : une matrice image de taille 4
4321
3432
2343
1234
Programmer en Python une telle matrice dont la taille est d´efinie par l’utilisateur.
3.4 Op´eration sur les matrices
Op´eration par op´eration, cr´eer les fonctions des op´erations sur les matrices (addition, multiplication par un
scalaire et multiplication de deux matrices). Attention `a prendre soin de la taille de chaque matrice pour que
l’op´eration soit r´ealisable. On pourra faire apparaˆıtre un message d’erreur au besoin.
S.Mirbel page 3 / 3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !