recap-les-fonctions-en-algorithmique

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

Récap.

Algorithmique (Les modules les plus utilisés)


Les modules les plus utilisés en algorithmique
######################## Fonction premier #####################
fonction est_premier(n :entier) :booléen
Debut
diviseur = 2
Tanque diviseur <= (n div 2) faire
si n mod diviseur = 0 alors
retourner faux
fin si
diviseur = diviseur + 1
fin tant que
retourner vrai
fin
########################### Fonction PGCD #####################

fonction pgcd(a, b : entiers) : entier


Début
Tant que a ≠ b faire
Si a > b alors
a = a - b
Sinon
b = b - a
Fin Si
Fin Tant Que

retourner a # ou b, car ils sont égaux à ce stade


Fin
##############################Fonction PPCM ##################

fonction ppcm(a, b : entiers) : entier


Début
multiple_a = a
multiple_b = b

Tant que multiple_a ≠ multiple_b faire


Si multiple_a < multiple_b alors
multiple_a = multiple_a + a
Sinon
multiple_b = multiple_b + b
Fin Si
Fin Tant Que

retourner multiple_a # ou multiple_b, car ils sont égaux à ce stade


Fin
#######Procedure décomposition en produit de facteur premier #######

Procedure decomposition_facteurs_premiers(n : entier, @T :tab,@k :entier)


Début
diviseur = 2
k=0
Tant que n > 1 faire
si n mod diviseur = 0 alors
T[k]=diviseur
n = n div diviseur
k=k+1
sinon
diviseur = diviseur + 1
finsi
Fin Tant Que

Fin

Prof : M. Chaouch Mohamed 1


Récap. Algorithmique (Les modules les plus utilisés)

################## Fonction Factorielle ####################

fonction factorielle(n : entier) : entier


Début
résultat = 1
Pour i de 1 à n faire
résultat = résultat * i
Fin Pour
retourner résultat
Fin
########################Fonction Puissance ###################

fonction puissance(a, n : entiers) : entier


Début
résultat = 1

Pour i de 1 à n faire
résultat = résultat * a
Fin Pour

retourner résultat
Fin
######################Fonction Suite de fibonacci################

fonction fibonacci(n : entier) : entier


Début
a= 0
b= 1
Pour i de 2 à n faire
temp = a + b
a = b
b = temp
Fin Pour

retourner b
Fin
##################### Fonction Combinaison ##################

fonction combinaison(n, p : entiers) : entier


Début
si p < 0 ou p > n alors
retourner 0 # La combinaison n'est pas définie dans ces cas
fin si

résultat = 1
Pour i de 1 à p faire
résultat = résultat * (n - i + 1) / i
Fin Pour
retourner résultat
Fin

Prof : M. Chaouch Mohamed 2


Récap. Algorithmique (Les modules les plus utilisés)

######################Fonction Arrangement ###################

fonction arrangement(n, p : entiers) : entier


Début
si p < 0 ou p > n alors
retourner 0 # L'arrangement n'est pas défini dans ces cas
fin si
résultat = 1
Pour i de 0 à p-1 faire
résultat = résultat * (n - i)
Fin Pour
retourner résultat
Fin

################Triangle de pascal ##################

Procedure triangle_de_pascal(n : entier,@M :Mat) :


Début

Pour i de 0 à n-1 faire

Pour j de 0 à i faire
Si j = 0 ou j = i alors
M[i,j]=1
Sinon
M[i,j]= M[i-1,j-1] + M[i-1,j]
Fin Si
Fin Pour

Fin Pour
Fin

########################## Tri par Sélection ########################

(Supposons que le tableau est noté T et sa taille N, indice commençant de 1)


Procedure TriSelect (@ T:tab, N:entier)
debut
Pour i de 1 à N-1 faire
indicemin ← i
Pour j de i + 1 à N faire
Si T[j] <T[indicemin] alors
indicemin ← j
Finsi
FinPour
temp ← T[indicemin]
T[indicemin] ← T[i]
T[i] ← temp
FinPour
Fin

Prof : M. Chaouch Mohamed 3


Récap. Algorithmique (Les modules les plus utilisés)

########################## Tri par Bull ########################

(Supposons que le tableau est noté T et sa taille N, indice commençant de 1)


Procedure TriBulle (@ T:Tab , N: entier)

Debut

Répeter

Permut Faux

Pour i de 1 à j-1 faire

si (T[i] > T[i+1]) alors

tempT[i]

T[i] T[i+1]

T[i+1] temp

Permut vrai

Fin si

Fin pour

Jusqu’à ( Permut = Faux)

Fin

########################## Tri par insertion ########################

(Supposons que le tableau est noté T et sa taille N, indice commençant de 1)


Procedure TriInsertion (@ t:Tab, N:entier)

Début

Pour i de 2 à N faire

Min t[i]

ji

Tant que ( j>1) et (t[j-1]>min) faire

t[j] t[j-1]

j j-1

Fin Tant que

T[j] min

Fin pour

Fin

Prof : M. Chaouch Mohamed 4


Récap. Algorithmique (Les modules les plus utilisés)

###################### Recherche séquentielle ########################

Algorithme de la fonction recherche séquentielle d’un entier M dans un tableau T (Indice de début = 1):
Fonction RECHERCHE (T: tab, n:entier, M:entier): Booléen

Début

i1

Tantque (i<=n) et (T[i] ≠ M) faire

i i+1

Fin tantque

Si( i>n) alors

Retourner (faux)

Sinon

Retourner (vrai)

Finsi

Fin

###################### Recherche dichotomique ########################

Algorithme dela function recherche dichotomique d’un entier x dans un tableau T:


Fonction RECHERCHE_dicho (T: tab, N:entier, x:entier): Booléen

Début

i1

jN

répéter

m(i+j)div 2

Si( x= T[m]) alors

Retourner (vrai)

Sinon si( x<T[m]) alors

jm-1

sinon

im+1

Finsi

jusqu’à (i>j)

Retourner (faux)

Fin

Prof : M. Chaouch Mohamed 5

Vous aimerez peut-être aussi