Académique Documents
Professionnel Documents
Culture Documents
Lentier T[2] = 14 a 7 lments qui lui sont inferieurs ou gaux (3, 14, 0,
9, 5, 8 et 4) il sera plac dans la position 7 du tableau Res.
Questions :
1- Analyser le problme en le dcomposant en modules et dduire un
algorithme du programme principal.
2- Analyser chacun des modules proposs.
Analyse du Programme Principal
Rsultat = Affiche Tableau tri
[]Pour i de 1 N faire
Ecrire("RES[",i, "]= ",RES[i])
RES=PROC Trier(N,T,RES)
(N,T)= PROC Lecture(N,T)
Tableau de dclaration de Nouveaux Types
Types
TAB = Tableau de 50 entiers
Tableau de dclaration des Objets
Objet
Type/Nature
Rle
N
Entier
Dimension du tableau.
T
Tab
Tableau dentiers.
RES
Tab
Tableau tri
i
entier
compteur
Trier
procdure
Permet de trier le tableau T dans RES
Lecture
Procdure
Permet la saisie contrle de N et le
remplissage du tableau T avec contrle.
Analyse de la procdure Lecture :
1
Problme 2.Bac2009.
On se On se propose d'crire un programme permettant de remplir deux tableaux
V1 et V2 respectivement par N et M entiers (avec N et M deux entiers de
l'intervalle [2..20] et les lments de V1 et V2 sont saisis dans un ordre
strictement croissant), puis de fusionner les lments de ces deux tableaux dans
un tableau V3 en liminant les redondances et en gardant l'ordre croissant des
lments. Enfin, le programme affichera les lments du tableau V3. Exemple :
Si N =5, M = 7 et les lments des deux tableaux V1 et V2 sont:
Nom = Distinct
Rsultat = Proc Afficher (K, V3)
(K, V3) = Proc Fusion (N, M, V1, V2, K, V3)
(N, V1) = Proc Saisie (N, V1)
(M, V2) = Proc Saisie (M, V2)
Fin Distinct
Tableau de dclaration des nouveaux types
Type
Tabd =Tableau de 20 entiers
Tabr = Tableau de 40 entiers
T.D.O.G
Nom
Type
Rle
K
Entier
Longueur du tableau final V3
N
Entier
Longueur du tableau V1
M
Entier
Longueur du tableau V2
V1
Tabd
Tableau donn
V2
Tabd
Tableau donn
V3
Tabr
Tableau final
Afficher
Procdure
Affiche le tableau final
Saisie
Procdure
Saisie dun tableau et sa longueur
Fusion
Procdure
Fusionne V1 et V2 dans V3 sans
redondance
DEF PROC Saisie (var Nb : entier ; var T :Tabd)
Rsultat = Nb, T
Nb = [ ] Rpter
Nb = donne
Jusqu Nb dans [2..20]
T= [ T[1] = donne]
Pour i de 2 Nb faire
Rpter
T[i]=donne
Jusqu T[i] > T[i-1]
Fin pour
Fin Saisie
T.D.O.L
Nom Type
Rle
i
Entier
Compteur
DEF PROC Fusion (N, M : Entier ; V1, V2 : Tabd ; Var K : Entier ; Var V3 :
Tabr)
Rsultat = K, V3
(K,V3)=[i1, j 1, K 0]Rpter
K K+1
Si V1[i]<V2[j] alors
V3[K] V1[i]
i i+1
Sinon Si V1[i]=V2[j] alors
V3[K] V1[i]
i i+1
j j+1
Sinon
4
V3[K] V2[j]
j j+1
FinSi
FinSi
Jusqu (i>N) ou (j>M)
Si j>M Alors
Pour c de i N faire
K K+1
V3[K] V1[c]
Fin pour
Sinon
Pour c de j M faire
K K+1
V3[K] V2[c]
Fin Pour
FinSi
Fin Fusion
Nom
i
j
c
T.D.O.L
Type
Rle
Entier
compteur
Entier
compteur
Entier
compteur
T.D.O.L
Type
Rle
Entier
compteu
r
Les algorithmes
Programme Principal
0) Dbut Distinct
1) Proc Saisie (N, V1)
2) Proc Saisie (M, V2)
3) Proc Fusion (N, M, V1, V2, K, V3)
4) Proc Afficher (K, V3)
5) Fin Distinct
Procdure Saisie
0) DEF PROC saisie (Var Nb : Entier ; Var T :Tabd)
1) Rpter
Lire (Nb)
Jusqu Nb dans [2..20]
2) lire(T[1])
3) Pour i de 2 Nb faire
Rpter
Lire (T[i])
5
Problme 3.Bac2008.
On se propose dcrire un programme qui permet de saisir une chane non vide
de 100 caractres au maximum et qui dtermine et affiche les informations
suivantes :
Le nombre total de caractres dans la chane
le nombre doccurrences de chaque lettre alphabtique figurant dans la chane
(sans distinction entre minuscule et majuscule)
le nombre total de caractres non alphabtiques.
N.B. On suppose que les lettres accentues ne sont pas considres comme des
lettres alphabtiques.
6
Problme 4.Bac2005.
Le conseil scientifique dune institution est form de m membres avec 10 m
20 et m impair. Pour dcider de lachat de micro-ordinateurs, les membres du
conseil effectuent un vote. Cette opration est informatise. Chacun des
membres exprime son avis par la saisie dun seul caractre qui peut tre :
F ou f pour Favorable,
D ou d pour Dfavorable,
N ou n pour Neutre.
On vous demande dcrire un programme qui affichera la dcision prendre par
le conseil sachant quelle est:
Reporte si le pourcentage des neutres est strictement suprieur 50 %, sinon
elle est
Accepte si le pourcentage des favorables est strictement suprieur celui des
dfavorables et Refuse dans le cas contraire.
N.B. Votre programme devra faire des saisies contrles suivant les indications
cites prcdemment.
Questions :
1- Analyser ce problme en le dcomposant en modules.
2- Analyser le programme principal ainsi que chacun des modules envisags.
3- En dduire les algorithmes correspondants.
10
11
12
Problme 5.Bac2006.
Soient deux tableaux T1 et T2 contenant chacun n lments distincts deux
deux (2<n<100). On appelle intersection de T1 et T2 lensemble des lments
communs ces deux tableaux. On se propose dcrire un programme qui range
les lments de lintersection des deux tableaux dans un tableau INTER puis
affiche les trois tableaux T1, T2 et INTER.
Questions :
1- Analyser ce problme en le dcomposant en modules.
2- Analyser chacun des modules proposs.
3- Dduire un algorithme du programme principal ainsi que ceux des
modules.
13
14