Lycée pilote de sousse Prof Mme Mansour Hana
Résumé des principaux modules standards
1- Saisie d’un entier (réel) avec condition : c’est une procédure DEFPROC SAISIE( Var N : réel)
Résultat= N N=[ ]répéter
N=donnée ("donner la valeur de N : ") jusqu'à <condition>
2- Saisie d’un tableau avec condition : c’est une procédure DEFPROC SAISIE( Var T : Tab ; N :entier)
Résultat= T
T=[ ]Pour i de 1 à N faire [ ]répéter
T[i]=donnée (" T[",i, "]= ") jusqu'à <condition>
Fin pour
3- Affichage d’un tableau avec condition : c’est une procédure DEFPROC AFFICHE( var T : tab, N :entier)
Résultat= solution
solution=[ ]Pour i de 1 à N faire [ ]Si <condition> alors Ecrire("T[",i, "]=",T[i]) Fin si
Fin pour
4- Somme (Moyenne) des éléments d’un Tableau : c’est une fonction DEFFN SOMME ( T : tab, N :entier) :Type résultat(ex réel)
Résultat= SOMMES
S=[ S0]Pour i de 1 à N faire SS+T[i]
Fin pour
5) Recherche d’un élément x dans un tableau T à partir d’une position P : c’est une fonction La fonction retourne la 1ere position de x s’il existe et 0 dans le cas contraire
DEFFN CHERCHE(T :TAB, x :Type, P,N :entier) :entier Résultat= CHERCHER
R=[R0,iP] Répéter Ii+1
[ ] Si T[i]=x alors Ri Fin si
Jusqu'à (R<>0) ou (i=N)
Page 1 sur 4
MOY
MOYS/
N
Lycée pilote de sousse Prof Mme Mansour Hana
6- Fréquence d’un élément x dans un tableau T: c’est une fonction DEFFN FREQ(T :Tab, x :Type, N:entier) :entier
Résultat= FREQF
F=[ F0]Pour i de 1 à N faire [ ] Si T[i]=x alors FF+1 Fin Si Fin pour
7- Fréquence des dix chiffres (0..9) dans un tableau T contenant N chiffres (0..9) : c’est une procédure car on aura un tableau comme résultat
DEFPROC FREQUENCE (T :Tab, Var R:Tab1, N:entier) Résultat= R
R= pour i de 0 à 9 faire Pour i de 1 à N faire R[i]0 R[T[i]] R[T[i]]+1 Fin Pour Fin Pour
8- Fréquence des Lettres majuscules dans un tableau T contenant Lettres majuscules : c’est une procédure car on aura un tableau comme résultat
DEFPROC FREQUENCE (T :Tab, Var R:Tab1, N:entier) Résultat= R
R= pour K de "A" à "Z" faire Pour i de 1 à N faire R[K]0 R[T[i]] R[T[i]]+1 Fin Pour Fin Pour
9- Saisie d’une chaîne avec condition : c’est une procédure
exemple : chaîne formée par des lettres et des espaces (de même pour une chaîne formée par des chiffres ) DEFPROC LECTURE ( Var CH :chaine)
Résultat= ch Ch=[ ] Répéter
Ch=donnée("introduire une chaine ") [i0] Répéter
i i+1
testmajus(ch[i])dans ["A".."Z", " "]
jusqu’a (test=faux) ou (I=long(ch)) jusqu’à test=vrai
10- Conversion d’une chaîne majuscule en minuscule: c’est fonction DEFFN MINUS( CH :chaine) :chaine
Résultat= MINUSch1
Ch1=[ ] pour i de 1 à long(ch) faire Ch1[i]CHR(ORD(ch[i])+32) Fin pour
11-Fonction qui permet de tester si un Nombre est premier : Def FN Premier(n : integer) : boolean
Résultat : Premier Premier ok
Ok = [j 2 ;ok Vrai] TANT QUE (ok = Vrai) et (j<=n div 2) faire [ ] Si N mod j = 0 alors
Page 2 sur 4
Lycée pilote de sousse Prof Mme Mansour Hana
ok faux FinSi
j j+1 FIN TANTQUE Fin FN Premier
Objets Types
Ok J
Booleen Entier
On pourra utiliser une fonction qui calcule la somme des diviseurs de n si cette somme est égale à 2 alors n est premier.
12-Fonction qui permet de tester si un mot est palindrome ou non Def FN Palindrome(ch : chaîne) : boolean
Résultat : Palindrome Premier ok
Ok = [i 1;ok Vrai] Répéter
[ ] Si Ch[i] <>ch[long(ch) – i + 1] Alors ok Faux
Sinon ii+1 FinSi
Jusqu’à (ok = faux) ou (i>(long(ch) div 2))
Objets Types
Ok I
Booleen Entier
13-Inversion des éléments d’un tableau (même principe pour inverser les caractères d’une chaîne ch : remplacer n par long(ch)) :
Def Proc Inversion(var T :tab ;n : integer) Résultat : T
T= [ ] Pour i de 1 to (n div 2) faire Ox T[i]
T[i]T[n- i +1]
T[n – I + 1] ox Fin Pour
Fin PROC Inversion
14- Lecture d’un tableau d’entiers sans dédoublement :
Principe : lecture de la case du tableau et tester son contenu avec ceux qui précédent.(on pourra utiliser la fonction présence ou occurrence)
Def Proc Saisie(var T : chaîne ; N : entier) Résultat : T
T = [T[1] = Donnée(’Donner T[ 1] = ‘) ] Pour i de 2 à n faire
Répéter
T[i] = Donnée(’Donner T[ ’,i,’] = ‘) [j1 ; okvrai] Répéter
[]Si T[i]=T[j] then ok faux Sinon
J j+1 FinSi Jusqu’à (ok = faux) ou (j=i)
Page 3 sur 4
Lycée pilote de sousse Prof Mme Mansour Hana
Jusqu’à (Ok = vrai) FIN POUR
T.D.O.
15- Rotation de K éléments dans un tableau A (le résultat est récupéré dans un tableau B):
Def Proc pivoter (Var A,B:TAB;k,n:entier);
Résultat = B
B=[ ] pour i de 1à n faire [ ] si ((i - k) >= 1) alors B[i - k] := A[i]
sinon
B[n - k + i] := A[i];
Finsi Finpour
T.D.O.
16- Rotation dans un tableau à droite de K éléments dans le même tableau T : Def Proc pivoter (Var T:TAB;k,n:entier);
Résultat = T B=[r0] Répéter R :=r+1
[xt[n] ] pour i de n à 1 faire T[i]t[i-1]
FinPour T[1] x
Jusqu’à R = k T.D.O.
17- Suppression d’un case à la position p d’un tableau : Def Proc supression( var t : tab ; var n : entier ; p : entier) ; Résultat = t,n
T = [ ] pour de p à n faire T[i] t[i+1]
Fin pour N n-1 T.D.O.
18- Insertion d’un élément x dans la position p dans un tableau T de taille N : Def Proc insertion( var t : tab ; var n : entier ; x : ………. ; p : entier)
Résultat = T, N
T ,N= [N N+1] Pour i de n à P faire T[i] T[i-1]
Finpour T[p] x T.D.O.
Page 4 sur 4