Cours+series - TAB 1dim - 14-15
Cours+series - TAB 1dim - 14-15
Cours+series - TAB 1dim - 14-15
II. Dclaration
1 re mthode
<Nom_tableau> : tableau [<borne_inf> ..
<borne_sup>] de type des lments
Exemples
Les dclarations suivantes en langage algorithmique,
var
T1 : tableau [1..25] dentier
T2 : tableau [1..99] de rel
T3 : tableau [1..10] de boolen
T4 : tableau [1..24] de chane
III.
2eme mthode
Type <nom_type>= Tableau[bi..bs] de
<type_des_elements>
Dclaration dune variable tableau :
<Nom_var > :<nom_type>
Exemples
Les dclarations suivantes en langage algorithmique,
Type tab =tableau [1..100] dentier
Var T:tab
IPEI El Manar
Exercice N1 :
La distance de Hamming entre deux tableaux de mme taille est le nombre de positions ou les
deux tableaux diffrent. Par exemple, la distance de Hamming entre [0 1 0 0] et [1 1 0 1 ]
gale 2. Ecrire une fonction qui calcule la distance de Hamming entre deux tableaux donns
(vous pouvez supposer que les deux tableaux sont de mme taille).
Exercice N2 :
crire une procdure algorithme nomme suit_trie qui partir dun tableau dentiers t de
taille N, affiche le nombre de sous-squences croissantes de ce tableau, ainsi que les indices
de dbut et de fin de la plus grande sous-squence.
Exemple : soit t un tableau de 15 lments : [1, 2, 5, 3, 12, 25, 13, 8, 4, 7, 24, 28, 32, 11, 14 ]
Les squences strictement croissantes sont :
[ 1, 2, 5] [ 3, 12, 25 ] [13 ] [8] [4, 7, 24, 28, 32 ] [ 11, 14 ]
Le nombre de sous-squence est : 6 et la plus grande sous-squence est : [ 4, 7, 24, 28, 32 ]
Exercice N3 :
Soit n un entier non nul et T un tableau une ligne de taille N. On dit que T est un
drangement, si T est form en utilisant exactement une fois chaque entier de 1 n de tel sorte
que lentier i ne soit pas en position i.
1. Ecrire une fonction derangement qui teste si un tableau est un drangement, si cest le cas
elle retourne VRAI.
2. Soit T un drangement, on veut construire un tableau P (de mme taille que T) de la faon
suivante : si lentier j apparait la position i dans le tableau T alors on met la valeur i la
position j du tableau P.
Exemple : si T = [5 3 1 2 4] alors P = [3 4 2 5 1]
Ecrire alors la procdure Indice qui construit ce tableau P partir de la donne du tableau T.
Exercice N4:
Soient les suites U et V dfinies par :
U 1 1
V1 3
U 2 5
V2 4
U V U
V (V V ) U
; n 3
; n 3
n 1
n
n 1
n
n 1
n2
n2
On se propose de calculer et afficher n termes des deux suites U et V tel que n est une donne
compris entre 1 et 1000.
Lide consiste utiliser deux tableaux T1 et T2 une dimension stockant respectivement les
n termes de ces deux suites.
Ecrire une procdure nomm SUITE permettant de calculer et afficher les n termes de
deux suites U et V.
IPEI El Manar
Exercice N5 :
Considrons un tableau T de bits (entiers valant 0 ou 1) de type TAB, cest une alternance de
groupes de 1 conscutifs et de groupes de 0 conscutifs.
On cherche dterminer la longueur maximale dun groupe constitu uniquement dlments
nuls.
Ecrire une fonction algorithmique nomme grpe_nul_maxi qui prend en entre le tableau T et
son dimension n et qui retourne la longueur du plus long groupe dlments nuls de T.
Exemple :
Si
T= 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1
Alors la fonction doit retourner la valeur 6.
Exercice N6 :
On suppose avoir effectu les dclarations suivantes :
CONSTANTE NMAX=100
TYPE
TAB=TABLEAU [1..NMAX] DE REEL
Etant donn un nuage de N points, dfinis par leur coordonnes X et Y stockes dans deux
tableaux une dimension, on veut dterminer les coefficients a et b de la droite dite droite
des moindres carres exprims comme suit :
i 1
N
i 1
N
i 1
N
i 1
i 1
N . X [i ].Y [i ] X [i ]. Y [i ]
N . X [i ]. X [i ] X [i ]. X [i ]
i 1
Y [i] a. X [i]
i 1
i 1
Exercice N7 :
On suppose avoir effectu les dclarations suivantes :
CONSTANTE NMAX=100
TYPE
TAB=TABLEAU [-1..NMAX] DES ENTIERS
On se propose de dfinir partir dun tableau T un polynme P de degr n, fonction de x,
dvelopp selon les puissances croissantes de x en utilisant la dfinition suivante :
n
T 1 degr de P et P x T i xi
i 0
Exemple :
T:
4
-1
5
0
9
1
2
2
-1
3
3
4
Exercice N8 :
Soit le type suivant :
TYPE TAB=tableau [0..100] dentier
1) Ecrire une fonction algorithmique SOMME qui retourne la valeur de la somme
n 1
suivante :
T .T
i 0
n 1i
IPEI El Manar
n Ck .Cn1k Si n
k 0
C 1
Si n 0
0
Exercice N9 :
Dans un pays, N parties politiques ont prsent leur liste de candidats aux lections (listes
lectorales numrotes de 1 N). Ces lections ont vu la participation de M votants, chacun
inscrit un numro de liste dans un bulletin de vote saisi dans un tableau de votes V de taille M.
V[i] = j signifie que le vote i (1 i < M) est partie pour la liste j (1 j N).
Un vote blanc ou annul nest pas considr vote valide et V[i]=0.
Exemple de 25 votants sur 6 listes :
i
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Les rsultats des listes sont stockes dans un tableau P de taille N+1 o P[i]=j signifie que le
nombre de votes valides obtenus par la liste i est j.
P[0] contient le total des votes blancs ou annuls.
Exemple : Les rsultats de lexemple prcdent :
0
1
2
3
4
5
6
I
1
4
5
1
6
3
P
5
Le problme consiste aider la commission dorganisation des lections appliquer les rgles
lectorales pour dcompter les rsultats, nommer le gagnant majoritaire ou prvoir la coalition
de listes idale.
Une liste obtenant plus de 50% des voix valides est considre majoritaire et dsigne
vainqueur des lections. De lexemple prcdent, la liste qui obtient au moins 11 voix valides
gagnera les lections.
1. Dfinir le type du tableau rsultat P.
2. Ecrire la procdure scores qui remplit le tableau P des rsultats des listes et les votes
blancs.
3. Ecrire la fonction nbVoix qui retourne le nombre de voix valides des lections.
4. Ecrire la fonction gagnant qui retourne le gagnant majoritaire sil existe sinon -1.
Aprs dcompte des voix, on limine de V les voix non valides en prservant lordre des
votes.
Exemple : V prcdent devient :
i
10
11
12
13
14
15
16
17
18
19
20
5. Ecrire la procdure purger qui ralise llimination des voix non valides de V.
6. Si V est tri (ex. tri dcroissant), crire la fonction gagnant2 qui retourne le gagnant
majoritaire.