Académique Documents
Professionnel Documents
Culture Documents
Début
aff (1)
Fin
Début
aff_inv (10)
Fin
_______________________________________
Solution2 :
Algorithme affichage_inverse
Procédure aff_inv (i : entier)
Début
si(i<=10)
Alors aff_inv (i+1)
ecrire(i)
Fsi
Fin
Début
aff_inv (1)
Fin
Exercice 2 :
Guess(3,1)=1+2+2+3=8
Exercice 3:
Fonction PGCD (X : entier, Y :entier) :entier
Début
si ( X%Y=0 ) alors PGCD Y
sinon PGCD PGCD(Y, X%Y)
finsi
Fin
Exercice 4:
EX4.1
Ecrire un programme qui demande un entier n positif et teste si ce nombre est un multiple de 5 (sans
utiliser les opérateurs /, mod ).
Algorithme Multiple_5
var
n : entier
Fonction M_5 (x : entier) : booléen
début
si (x=0) alors M_5 vrai
sinon si (x<5) alors M_5 faux
sinon M_5 M_5 (x-5)
finsi
finsi
Fin
début
Répéter
Lire(n)
Jusqu’à (n>=0)
Si (M_5 (n)= vrai) alors écrire (n, « est multiple de 5 »)
sinon écrire (n, « n’est pas multiple de 5 »)
finsi
Fin
Exercice 5
Exercice 6
Fonction Fibonacci (n : entier) : entier
Début
si (n=0) ou (n=1) alors Fibonacci 1
sinon Fibonacci Fibonacci(n-1) +Fibonacci(n-2)
finsi
Fin
Exercice 7
Début
Nsaisie()
syracuse(n,0)
fin
Exercice 9
procédure Conv_décimal_binaire (n : entier)
Début
Si (n/2> 0)
Alors
Conv_décimal_binaire (n/2)
fsi
Ecrire (n%2)
Fin
Exercice 10
Algorithme Tableau
Const
MAX=10 /* Taille maximale du tableau */
Type
tab : Tableau [1 .. MAX] d’entiers
Var
T : tab
i : entier
Var
n :entier
Début
Répéter
Ecrire ( « donnez la taille du tableau» )
Lire(n)
Jusqu’à (n>=1 et n<= MAX)
Lecture_ligne n
Fin
/*Première méthode*/
Procédure Remplir (var T : tab, n: entier, i : entier)
Début
Si (i<=n)
Alors
Ecrire (Donnez un entier)
Lire(T[i])
Remplir (T, i+1)
Fsi
Fin
/*Appel dans l’algorithme principal : Remplir(T,n,1)
On commence par le remplissage de la première case du tableau T[1]*/
/*Deuxième méthode*/
Procédure Remplir (var T : tab, n : entier)
Début
Si (n>=1)
Alors
Ecrire (Donnez un entier)
Lire(T[n])
Remplir (T, n-1)
Fsi
Fin
Fsi
Fin
Procédure Permuter (var T : Tab, i: entier,j : entier)
Var
aux : entier
Début
aux T[i]
T[i] T[j]
T[j] aux
Fin
Fin
Début
Si ( i>n )
Alors
Recherche -1 /* L’élément n’existe pas*/
Sinon
Si( T[i]=val )
alors
recherche i
Sinon
recherche recherche (T, n, i+1, Val)
fsi
fsi
Fin
/*Ecrire une fonction récursive de recherche dichotomique d'un élément dans un tableau d'entiers
de taille n ordonné par ordre croissant. */
Fonction Rech_Dichot (Tab : tableau d’entier, ind_deb, ind_fin, Val : entier) : entier
Var
Mil : entier
Début
Finsi
Finsi
Fin
/* Corps de l’algorithme*
Début
nLecture_n()
/*Première méthode*/
Remplir (T, n, 1)
/*Deuxième méthode*/
Remplir (T, n)
Afficher(T, n, 1)
Afficher_inverse (T, n, 1)
Ecrire (« La somme du tableau est :», Somme_tab (T, n))
Ecrire (« Le MAX du tableau est :», Max_Tab (T, n))
Si (Tab_Tri (T, n) =VRAI)
Alors
Écrire (« Tableau trié »)
Sinon
Écrire (« Tableau non trié »)
Fsi
Ecrire (« Donnez la valeur recherché »)
Lire(VAL)
FIN
Exercice 11 :
Fonction card_inter(A : tab, n : entier, i : entier, B : tab , m :entier , j : entier ) : entier
Début
Si ( i≤n et j≤m )
si (A[i] =B[j])
alors card_inter 1+ card_inter(A , n , i +1, B , m , j+1 )
sinon si(A[i]<B[j])
alors card_inter card_inter(A,n,i+1,B,m,j);
sinon card_inter card_inter(A,n,i,B,m,j+1);
fsi
fsi
Sinon
card_inter 0
Fin
Exercice 12 :
Fonction palin(T : tab, n : entier, i : entier ) : booleen
Début
Si(i<=n div 2)
alors
si(T[i] ≠T[n-i+1])
alors
palinFAUX
sinon
palinpalin(T,n,i+1)
fsi
fsi
palinVRAI
Fin