Académique Documents
Professionnel Documents
Culture Documents
Exercice 1
Décomposition en modules
Un module responsable du :
Remplissage du tableau-> le module remplit le tableau et ne retourne aucune valeur-> procédure
La Détermination du plus petit élément-> le module retourne une seule valeur-> fonction
La Détermination de l’indice du plus petit élément-> le module retourne une seule valeur-> fonction
La Détermination de l’occurrence du plus petit élément-> le module retourne une seule valeur-> fonction
Analyse du programme principal
Nom : Petit_Occ_Min
S LDE OU
6 Résultat=Ecrire (" le plus petit élément est :", P, "Son premier P
indice est :", ind, "Son nombre d’occurrence est :" Occ) Occ
5 Occ← FN Occurrence (T,n,P) Ind
4 Ind← FN indice (T,n,P) N
3 P← FN petit (T,n) Saisie
2 T= PROC Saisie (T, n) Petit
1 Répéter Indice
N=donnée ("Saisir la taille du tableau :") Occurrence
Jusqu'à (n dans [5..20])
7 Fin Petit_Occ_Min
T.D.O
Objet Type/nature rôle
P Entier Contenir la valeur du plus petit élément
Occ Entier Contenir la valeur des occurrences du plus petit élément
Ind Entier Contenir la valeur des indices du plus petit élément
N Entier Contenir la taille du tableau
Saisie Procédure Procédure responsable du remplissage du tableau T
Petit Fonction Procédure responsable de la détermination du plus petit élément dans le tableau
Indice Fonction Procédure responsable de la détermination de l’indice du plus petit élément dans
le tableau
Occurrence Fonction Procédure responsable de la détermination du nombre d’occurrences du plus
petit élément dans le tableau
Algorithme du programme principal
0) Début Petit_Occ_Min
1) Répéter
N=donnée ("Saisir la taille du tableau :")
Jusqu'à (n dans [5..20])
2) PROC Saisie (T, n)
3) P← FN petit (T,n)
4) Ind← FN indice (T,n,P)
5) Occ← FN Occurrence (T,n,P)
6) Ecrire (" le plus petit élément est :", P, "Son premier indice est :", ind, "Son nombre d’occurrence
est :" Occ)
7) Fin Petit_Occ_Min
T.D.O
Objet Type/nature rôle
Afficher Procédure Responsable d’afficher le contenu d’un tableau d’entiers
Chercher_avancer Procédure Responsable de chercher les occurrences d’un élément dans un tableau, de
les remplacer par le vide et de faire avancer les éléments restants du tableau
saisieN Fonction Retourne la taille du tableau
remplirT Procédure Responsable du remplissage d’un tableau d’entiers
t Tab Contenir n entiers
n Entier Contenir la taille d’un tableau d’entiers
i entier compteur
T.D.T
Type
Tab=tableau de 20 entiers
TDO
Analyse de la procédure avancer Objet Type/nature Rôle
DEF Proc avancer (var t:tab;p,n:entier) I Entier compteur
S LDE OU
Résultat=T i
1 T= []
Pour I de p à n faire Algorithme de la procédure avancer
2 PROC permut(t[i],t[i+1]) 3) DEF Proc avancer (var t:tab;p,n:entier)
Fin chercher_avance 4) Pour I de p à n faire
PROC permut(t[i],t[i+1])
Fin pour
5) Fin avancer
T.D.O
Objet Type/nature rôle
Ph2 Chaîne de caractères Contenir la phrase renversée
Motlong Chaîne de caractères Contenir le mot le plus long dans la phrase
Phrase Chaîne de caractères Contenir une phrase
motlongF Fonction Responsable de déterminer le mot le plus long dans une phrase
renverser Fonction Responsable de renverser une phrase
Algorithme du programme principal
0) Début Traitement
1) Ecrire ("saisir une phrase:")
Lire (phrase)
2) ph2<-FN renverser(phrase)
3) motlong1<-FN motlongF(phrase)
4) Ecrire ("la phrase renversé : ", ph2, "le mot le plus long dans cette phrase :", motlong)
5) Fin Traitement
Analyse de la fonction renverser
DEF FN renverser(phrase :chaîne) :chaîne TDO
S LDE OU Objet Type/nature Rôle
Résultat= renverser Ph1 Ph1 Chaîne de caractères
4 Renverser<-ph1 J J Entier
1 [ph1<-'''', j<-long(ph),n<-long(ph)] N N Entier
Pour i=n à 1 (pas=-1) faire I I Entier
si ph[i]=" " alors mot mot Chaîne de caractères
mot<-souschaine(ph,i+1,j-i)
j<- i-1
ph1<-concat(ph1,mot, " ")
fin si
fin pour
2 [i<-1,mot<-'''']
répéter
mot<-concat(mot,ph[i])
i<-i+1
jusqu’a(ph[i]=' ')
6 Fin motlongF
T.D.O
Objet Type/nature rôle
Moyenne Réel Contenir la moyenne olympique
T Tab Tableau de n réels
N Entier Contenir la taille du tableau
P Entier Contenir le plus petit élément du tableau
G Entier Contenir le plus grand élément du tableau
Petit Fonction Responsable de déterminer le plus petit élément du tableau
Moy Fonction Responsable de calculer la moyenne olympique des éléments du tableau
Grand Fonction Responsable de déterminer le plus grand élément du tableau
Remplir Procédure Responsable du remplissage du tableau
saisieN fonction Responsable de la saisie de la taille du tableau
Algorithme du programme principal
0) Début Traitement
1) n<-FN saisieN
2) PROC remplir(t,n)
3) g<-FN grand(t,n)
4) P<-FN petit(t,n)
5) Moyenne<-FN Moy(t,n,p,g)
6) Ecrire ("la moyenne olympique des éléments du tableau :", Moyenne)
7) fin Traitement