Vous êtes sur la page 1sur 10

Les traitements les plus utilisés

1) La saisie et le contrôle des données


1) Saisir un entier ou un real avec une condition 2) Saisir un caractère avec une condition par
par exemple 5<=N<20 exemple une lettre

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

Pour i de 1 à n faire Pour i de 1 à n faire


ecrire(‘donner t[‘,i,’]’ ) repeter
lire(t[i] ) ecrire(‘donner t[‘,i,’]’ )
finpour lire(t[i] )
jusqu’a conditions
finpour

2) Bon à savoir sur les caractères


1) Convertir une lettre majuscule en minuscule
C <-- chr(ord(c ) 32)

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)

4) Savoir si c’est une lettre


majus ( c ) dans [‘A’..’Z’]

5) Savoir si c’est une voyelle


majus ( c ) dans [‘A’,’O’,’I’,’Y’,’U’,’E’]

6) Savoir si c’est une consonne


(majus ( c ) dans[‘A’..’Z’] ) et( non( majus ( c ) dans [‘A’,’O’,’I’,’Y’,’U’,’E’] ))
Ou bien
majus ( c ) dans [‘A’..’Z’] - [‘A’,’O’,’I’,’Y’,’U’,’E’]

7) Savoir si c’est un chsifre


C dans [‘0’..’9’]

8) Savoir si c’est un symbole 


non ( majus ( c ) dans [‘A’..’Z’, ‘0’..’9’] )
1
3) La fonction alea

Remarque : il faut utiliser la fonction alea si on vous demande de choisir aléatoirement ou


automatiquement ou au hasard une ou plusieurs valeureurs.

1) Choisir un entier X au hasard entre les


valeureurs a et b
X <-- alea (N) 🡪 X ϵ [ 0..N-1] X <-- alea (b – a + 1) + a
Exemple choisir dans X un entier au hasard de
X <-- alea 🡪 X est reel entre 0 et deux chsifres [10..99]
0 .99999 X <-- alea (99 – 10+ 1) + 10
🡪 X <-- alea (90) + 10

2) Remplir un tableau par N entier 3) Choisir une lettre majuscule au hasard


strictement positsis inférieur à 100
C <-- chr( alea (26) +65) 
Pour I de 1 à n faire
T[i] <-- alea(99) + 1 4) Choisir une lettre minuscule au hasard

C <-- chr( alea (26) +97) 

5) Remplir un tableau par N lettres 6) Remplir un tableau par N lettres


majuscules au hasard majuscules au hasard

Pour I de 1 à n faire Pour I de 1 à n faire


T[i] <-- chr(alea (26) +65)  T[i] <-- chr( alea (26) +97) 

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

le traitement qui permet de calculer N ! le traitement qui permet de calculer XN

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

le traitement qui permet de calculer le nombre


des diviseurs d’un entier X.

d<-- 0
Pour I de 1 à x faire

Si (x mod i)=0 alors d<-- d+1


finsi
Finpour

si on n’a uniquement besoin de nombre de


diviseurs sauf lui-même il suffit de remplacer x par
x div 2

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 de calculer la somme des chsifres d’un entier N.


avec chaine avec DIV et MOD
convch (n,ch) s<-- 0
s<-- 0 repeter
ppour I de 1 à long (ch) faire d <-- n mod 10
valeureur( ch[i],d,e ) s<-- s+ d
s<-- s+d n <-- n div 10
finpour jusqu’a n = 0

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 )

Soit la suite u0=1 u1= 2 Un = Un-1 + 2* Un-2 avec n>2

le traitement AFFICHE permet d’afficher les n


termes de la suite

4
U0=1  U1= 2 
Pour i de 2 a n faire
U <-- U1 + 2 * U0
ecrire(U )
U0<-- U1
U1<-- U
finpour

4) Les traitements les plus utilisés sur les chaines


le traitement qui permet de versifier si chaine composées uniquement par des lettres par exemple

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

le traitement qui permet d’inverser une chaine


1ère méthode 2ème méthode 3ème méthode
l<-- length(ch )
ch1<-- '' Pour I de 1 a l div 2 do
ch1<-- '' Pour I de 1 a long(ch) do c<-- ch[i]
Pour I de long(ch) a 1 (pas -1) ch[i] <-- ch[l-i +1]
faire ch1<-- ch[i]+ch1 ch[l-i +1] <-- c
ch1<-- ch1 + ch[i] finpour finpour
finpour

le traitement qui permet de vérsiier si la chaine est un palindrome (comme RADAR)


ère
méthode 2ème méthode
ch1<-- '' l<-- long(ch )
Pour I de long(ch) a 1 (pas -1) faire b<-- vrai
ch1<-- ch1 + ch[i] repeter
finpour i<-- i+1
si ch = ch1 alors b<-- vrai sinon b <-- faux si majus(ch[i]) <> upcase(ch[l – i+1] ) alors
finsi b<-- faux
Cette fonction n’est valeurable que si la chaine finsi
est en majuscule ou minuscule until (b= faux) ou( i >= l div 2 )

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

Mot <-- ’’  Mot <-- ’’  Ph <-- ph+’ ‘  k <-- 0 


Ph <-- ph+’ ‘  Repeter
Repeter P <-- pos(‘ ‘,ch) 
P <-- pos(‘ ‘,ch)  Mot <-- sous-chaine(ph, 1, p-1) 
Mot <-- sous-chaine(ph, 1, p-1)  K <-- k+1 
Ecrire(mot)  T[k] <-- mot 
Efface(ph,1,p)  Efface(ph,1,p) 

7
Until ph=’’ Until ph=’’
End End

On peut au lieu d’afficher les mots faire un autre


traitement sur ces mots

5) Les traitements les plus utilisées sur les tableaux


le traitement qui retourne la somme des éléments de le traitement qui retourne la somme des éléments
T (T est un tableau de N valeurs numériques) positifs de T (T est un tableau de N valeurs
numériques)
s<-- 0
pour i de 1 à n faire s<-- 0
s<-- s+ t[i] pour i de 1 à n faire
finpour si t[i] >= 0 alors s<-- s+ t[i]
finpour

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 )

le traitement qui permet d’insérer X dans un le traitement qui permet de supprimer du


tableau T de taille N à la position P tableau T de taille N l’élément de la position P

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

le traitement qui permet d’affiche X éléments Soit T un tableau trié


par ligne d’un tableau de tailla N sur la même le traitement qui permet d’affiche éléments
ligne. ksi ksi sur la même ligne.

Pour i de 1 à n faire ecrire(t[1],' ' )


Si i mod x = 0 Ecrireln(t[i]) sinon Pour i de 2 à n faire
ecrire(t[i],’ ‘ )
finpour Si t[i] <> t[i-1] alors
Ecrireln
finsi
ecrire(t[i],' ' )
finpour

9
10

Vous aimerez peut-être aussi