Académique Documents
Professionnel Documents
Culture Documents
Les Procédures Et Les Fonctions - 2021
Les Procédures Et Les Fonctions - 2021
Repeter Repeter
ecrire(‘donner n’ ) ecrire(‘donner c’ )
lire(n ) lire(c )
jusqu’a ( 5<=n) and(n<20 ) jusqu’a majus(c) dans [‘A’..’Z’]
3) Remplir un tableau de taille N par des entiers 4) Remplir un tableau de taille N par des entiers
ou réel ou caractère, ou chaine sans conditions ou réel ou caractère avec condition simple
2) Trouver le rang d’une lettre dans l’alphabet par exemple pour ‘A’ ou ‘a’ le résultat R= 1
R <-- ord (majus(c)) – 64
3) Retrouver la lettre de rang R dans l’alphabet par exemple pour R=2 le résultat c=’B’
C <-- chr(r + 64)
7) Remplir une chaîne par 20 lettres 8) Remplir une chaîne par 20 lettres
minuscules au hasard minuscules au hasard distinctes
Ch<-- ’’
Ch<-- ’’
Pour I de 1 à 20 faire Pour I de 1 à 20 faire
ch <-- ch+chr( alea(26) +97)
repeter
finpour C<-- chr( alea (26) +97)
Jusqu’a pos (c,ch)=0
ch <-- ch+c
finpour
2
3) Les traitements les plus utilisés sur les ENTIERS
F🡨1 p<-- 1
Pour I de 1 à n faire Pour I de 1 à n faire
F🡨F*i p<-- p*x
finpour finpour
le traitement qui permet de calculer le pgcd de a le traitement qui permet de calculer le pgcd de a et
et b (méthode de la dsiférence) b (division euclidienne)
repeter repeter
x<-- b mod a
si a > b alors a<-- a – b b<-- a
sinon a<-- x
si b>a alors b<-- b-a jusqu’ a= 0
finsi
jusqu’a a = b
d<-- 0
Pour I de 1 à x faire
3
Pour I de 1 à x div 2 faire
le traitement qui permet de calculer la somme le traitement qui permet de vérsiier si un entier X
des diviseurs d’un entier X. est premier ou non
s<-- 0 d<-- 0
Pour I de 1 à x faire Pour I de 1 à x faire
si (x mod i)=0 alors s<-- s+i Si (x mod i)=0 alors d<-- d+1
finsi finsi
finpour finpour
si d = 2alors ecrire (‘premier’) sinon ecrire (‘non’)
finsi
le traitement qui permet d’afficher les facteurs le traitement qui permet remplir un tableau T par
premiers d’un entier N exemple pour N= 45 🡪 45= les facteurs premiers d’un entier N
3*3*5
i <-- 2 i <-- 2
convch(n,ch1 ) k<-- 0
ch <-- ch1 +’ = ’ repeter
repeter si n mod i = 0 alors
si n mod i = 0alors k<-- k+1
str(i, ch1 ) t[k] <-- i
ch <-- ch + ch1 + ‘*’ n<-- n div i
n<-- n div I
sinon
sinon i<-- i+1
i<-- i+1 finsi
finsi jusqu’à n = 1
jusqu’àl n = 1
efface(ch, long(ch),1 )
ecrire(ch )
4
U0=1 U1= 2
Pour i de 2 a n faire
U <-- U1 + 2 * U0
ecrire(U )
U0<-- U1
U1<-- U
finpour
b <-- vrai
i<-- 0
repeter
i<-- i+1
si non ((ch[i] )dans ['A'..'Z'] ) alors
b<-- faux
finsi
jusqu’a (b=faux) ou ( i= long(ch))
Pour changer la condition concernant le contenu de la chaine il suffit de modsiier l’intervaleurle par
exemple une chaine composée uniquement des lettres, des chsifres et d’espaces
si non ((ch[i] )dans['A'..'Z',’0’..’9’,’ ‘] ) alors b<-- faux
5
le traitement qui de rendre toute la chaine en majuscule. le traitement qui permet de compter le
nombre de voyelles de ch
Pour I de 1 a long(ch) do
ch[i]<-- upcase( ch[i] ) Nb<-- 0
fin pour Pour I de 1 a long(ch) do
Si majus ( ch[i] ) dans [‘A’,’O’,’I’,’Y’,’U’,’E’]
Alors nb<-- nb+ 1
finsi
Finpour
le traitement qui permet d’extraire les voyelles de ch le traitement qui permet de compter le
nombre d’apparition de ch1 dans CH
Ch1<-- ’’ nb<-- 0
Pour I de 1 a long(ch) do Pour I de 1 a long(ch) do
Si majus ( ch[i] ) dans [‘A’,’O’,’I’,’Y’,’U’,’E’] Si ch1 = sous chaine(ch,i, long(ch1)) alors
alors ch1<-- ch1+ ch[i] nb<-- nb+ 1
finsi finsi
fin pour finpour
6
Le traitement qui permet d’effacer un caractère c de ch
P<-- pos(c,ch )
Pour I de long(ch) a 1 (pas -1) faire Repeterer
Si majus (ch[i]) = majus(c) alors Si p <>0 alors
efface(ch,i,1 ) Efface (ch,p,1 )
finsi P<-- pos(c,ch )
finpour Finsi
Jusqu’à p = 0
Cette méthode tient compte des minuscules et
des majuscules
le traitement qui permet de compresser une chaine le traitement qui permet trouver la plus
CH =’1111001110000’ 🡪 ch1 = ‘41203140’ longue séquence de même lettre et la lettre
CH =’aaaaeerrrtttt’ 🡪 ch1 = ‘4a2e3r4t’ correspondante
X<-- 1
Ch1<-- ’’ Max<-- 1
Pour I de 1 a long(ch) faire c <-- ch[1]
si ch[i] = ch[i+1] alors Pour I de 1 a long(ch) faire
X<-- x+1 Si ch[i] = ch[i+1] alors
sinon X<-- x+1
sinon
convch(x,chx )
Ch1<-- ch1+chx+ch[i] si x > max alors
X<-- 1 max <-- X
finsi c<-- ch[i]
finpour
X<-- 1
finsi
finpour
EXTRAIRE les mots d’une phrase PH (la phrase est composée des mots séparés par un seul espace)
le traitement qui permet d’afficher les mots le traitement qui permet de remplir un tableau T
d’une phrase par les mots d’une phrase
7
Until ph=’’ Until ph=’’
End End
le traitement NOMBRE qui retourne le nombre le traitement MAX qui retourne la valeur maximale
d’entiers pairs par exemple de T (T est un tableau de du tableau T de taille N (même chose que MIN)
N entiers)
m<-- t[1]
nb<-- 0 pour i de 1 à n faire
pour i de 1 à n faire si t[i] > m alors m<-- t[i]
si t[i] mod 2 = 0 alors nb<-- nb+ 1 finsi
finsi finpour
finpour
le traitement qui retourne la position de la valeur le traitement qui permet de compter le nombre
maximale du tableau T de taille N (même chose que d’apparition d’un élément X dans un tableau T de
MIN) taille N
p<-- 1 F<-- 0
pour i de 1 à n faire pour i de 1 à n faire
si t[i] > t[p] alors p<-- i si T[i]=x alors
finsi F<-- F+1
finpour finsi
finpour
le traitement qui permet de versifier l’existence d’un le traitement qui retourne la 1ère position de X dans
élément X dans un tableau T de taille N un tableau T de taille N
recherche séquentielle
8
i<-- 0
i<-- 0 p <-- 0
b <-- false repeter
repeter i <-- i+1
i <-- i+1 si t[i] = x alors p<-- i
si t[i] = x alors b<-- vrai finsi
finsi until (p<>0) or (i=n )
until (b) or (i=n )
pour I de p à n -1 faire
pour ide n à p (pas -1)faire T[i] <-- t[i+1]
T[i+1] <-- t[i] finpour
finpour N <-- n - 1
T[p] <-- x
N <-- n+1
le traitement qui permet d’affiche les éléments le traitement qui permet d’affiche les
d’un tableau de taille N. éléments d’un tableau de tailla N sur la même
ligne.
Pour i de 1 à n faire Pour i de 1 à n faire
Ecrire(t[i] ) ecrire(t[i] ,’ ‘)
finpour finpour
9
10