Documente Academic
Documente Profesional
Documente Cultură
Classe : 4
me
SI
Exemple 1 :
M=8;n=8
a. Solution itrative
Analyse de la fonction PGCD : Rsultat = PGCD Algorithme de la fonction PGCD : 0- Dbut fonction PGCD (a, b : entier) : entier
Traitement : PGCD a 1- Tant que a b Faire Tant que a b Faire Si a > b alors a a b Si a > b alors a a b Sinon b b - a Sinon b b - a Fin Si Fin Tant que la plus grande valeur sera remplace par la diffrence jusqu a=b 2- PGCD a 3- Fin PGCD
page-1/9-
Classe : 4
me
SI
b. Solution rcursive
Algorithme Rcursif de la fonction PGCD : 0- Dbut fonction PGCD (a, b : entier) : entier 1- Si a = b alors PGCD a Sinon Si a > b Alors PGCD FN PGCD (a-b, b) Sinon PGCD FN PGCD (a, b-a) Fin Si Fin Si 2- Fin PGCD
3. Mthode 2 PGCD (m, n) = PGCD (n, m mod n) jusqu n =0 do PGCD = m Exemple 1: M = 35 ; n = 20 Exemple 2 : M=8;n=8 PGCD (8, 8) = PGCD (8, 0) = 8
PGCD (35, 20) = PGCD (20, 15) = PGCD (15, 5) = PGCD (5, 0) = 5
a. Solution itrative :
0. Dbut fonction Calcul_PGCD (m, n: entier) : entier 1. Rpter R M mod N M N N R Jusqu (N = 0) 2. Calcul_PGCD M 3. Fin Calcul_PGCD
b. Solution rcursive
function pgcd(m, n: integer): Integer; begin if (n=0) then pgcd := m else pgcd := pgcd (n, m mod n) ; end;
Image2 1. Prsentation Arrangement de P lments parmi N : Cest le nombre de permutations ordonnes possibles de P lments parmi N. Exemple avec {a, b, c} : A(2,3) = 6 {a, b}, {b, a}, {a, c}, {c, a}, {b, c}, {c, b}
page-2/9-
Classe : 4
me
SI
Combinaison de P lments parmi N : Cest le nombre de permutations sans ordre possibles de P lments parmi N. Exemple avec {a, b, c} : C(2,3) = 3 {a, b}, {a, c}, {b, c} 2. Calcul de larrangement Un arrangement de P lments dun ensemble E N lments est un p-uplet dlments distincts de E. Le nombre darrangements de P lments de lensemble E est reprsent par la notation suivante : Image1 N et P sont des entiers qui vrifient la condition suivante : 1 P N Activit : Proposez une analyse, puis dduisez les algorithmes correspondants au problme permettant de chercher puis dafficher larrangement de deux entiers donns N et P, avec (1 P N).
Analyse du PP Rsultat = Ecrire (" A ( ", n, ",", p, ")=", FN Arrange (n, p)) Traitement : La fonction arrange permet de rechercher larrangement. La saisie de n et p sera la tache de la procdure saisie. Analyse de la fonction Arrange: Rsultat =Arrange
Algorithme du PP 0123Dbut arrangement Proc saisie (n, p) Ecrire (" A ( ", n,",", p,")=", FN Arrange (n, p)); Fin Arrangement
Algorithme de la fonction Arrange : 0- Dbut fonction arrange (n, p : entier) : entier 1- a 1 Pour I de n (n-p+1) (pas = -1) faire a a*i Fin Pour 2- Arrange a
Traitement : Arrange a 3- Fin arrange [a 1] Pour i de n (n-p+1) (pas = -1) faire aa*i Fin pour
page-3/9-
Classe : 4
me
SI
3. Calcul de la combinaison Une combinaison de P lments dun ensemble E de N lments est une partie de E forme par P lments. Le nombre de combinaison de P lments de lensemble E est reprsent par la notation suivante : image3 N et P sont des entiers qui vrifient la condition suivante : 0 P N Activit : Proposez une analyse, puis dduisez les algorithmes correspondants au problme permettant de chercher puis dafficher la combinaison de deux entiers donns n et p, avec (0 P N). Solution Itrative Analyse du PP Rsultat = Ecrire (" C ( ", n,",", p,")=", FN Comb (n, p)) Traitement : La fonction Comb permet de rechercher la combinaison de n et p. La saisie de n et p sera la tache de la procdure saisie. Analyse de la fonction Comb: Rsultat = Comb Traitement : Comb FN Fact(n) / (FN Fact(p) * FN Fact(n-p)) Algorithme du PP 0123Dbut Combinaison Proc saisie (n, p) Ecrire (" C ( ", n,",", p,")=", FN Comb (n, p)); Fin Combinaison
Algorithme de la fonction Comb : 0- Dbut fonction Comb (n, p : entier) : rel 1- Comb FN Fact(n) / (FN Fact(p) * FN Fact(n-p)) 2- Fin Comb
Solution Rcursive Daprs vos connaissances en Mathmatiques, vous pouvez dgager la relation suivante : Image4 Analyse de la fonction Comb: Algorithme de la fonction Comb :
Rsultat = Comb 0- Dbut fonction Comb (n, p : entier) : rel Traitement : 1- Si (p=0) ou (p = n) alors Comb 1 Si (p=0) ou (p = n) alors Comb 1 Sinon Sinon Comb Fn Comb (n-1, p) + Fn Comb (n-1, p) Comb Fn Comb (n-1, p) + Fn Comb (n-1, p) Finsi 2- Fin Comb
page-4/9-
Classe : 4
me
SI
3. Divisibilit par 4 : Un entier est divisible par 4 si le nombre compos des deux derniers chiffres est divisible par 4. Exemple : 5243 nest pas divisible par 4 car 43 nest pas divisible par 4 7224 est divisible par 4 car 24 est divisible par 4.
page-5/9-
Classe : 4
me
SI
Activit : Ecrire une analyse modulaire permettant de vrifier si un entier n est divisible par 4 en utilisant la rgle de divisibilit prcdente et dduire les algorithmes correspondants. Analyse du PP Rsultat = Ecrire (n, FN Div_4(n)) Algorithme du PP
0. Dbut Divpar4 1. Ecrire ("Entrer n :") Traitement : Lire (n) 2. Ecrire ("L'entier ", n, Div_4(n)) La fonction Div_4 permet de dterminer 3. Fin Divpar4 si un entier n est divisible par 4. La saisie de n sera faite dans le PP. Algorithme de la fonction Div_4 : Analyse de la fonction Div_4: Rsultat = Div_4 Traitement : Si d mod 4 = 0 Alors div_4"est divisible par 4" Sinon div_4" n'est pas divisible par 4" Fin si Valeur (ch1, d, er) ch1 sous chaine (ch, long (ch)-1,2) Convch(n,ch); 0. 1. 2. 3. 4. Dbut fonction Div_4 (n : entier) : Chaine Convch(n,ch); ch1 sous chaine (ch, long (ch)-1,2) Valeur (ch1, d, er) Si d mod 4 = 0 Alors div_4"est divisible par 4" Sinon div_4" n'est pas divisible par 4" Fin si 5. Fin Div_4
4. Divisibilit par 5: Un entier est divisible par 5 si son chiffre des units est gal 0 ou 5. Exemple : 5243 nest pas divisible par 5 car 3 {0,5} 72240 est divisible par 5 car 0 {0,5} Activit : Ecrire une analyse modulaire permettant de vrifier si un entier n est divisible par 5 en utilisant la rgle de divisibilit prcdente et dduire les algorithmes. 0. 1. 2. 3. 4. 5. Algorithme de la fonction Div_5 Dbut Fonction div_5 (n : entier) : chane Convch(n,ch) ch1 "'' Ch1 sous chaine (ch,long(ch),1) Valeur (ch1, u, er) Si u dans [0,5] Alors div_5 " est divisible par 5" Sinon div_5" n'est pas divisible par 5" Fin si Fin Div_5
6.
page-6/9-
Classe : 4
me
SI
5. Autre rgles de divisibilit : Un entier est divisible par 2 si son chiffre des units est divisible par 2. Un entier est divisible par 9 si la somme de ses chiffres est divisible par 9. Un entier est divisible par 10 si son chiffre des units est gal 0. Un entier est divisible par 25 si le nombre compos des deux derniers chiffres est divisible par 25.
4. Conversion dun nombre Hexadcimal en Binaire : Activit Ecrire une analyse modulaire puis les algorithmes permettant de convertir un nombre hexadcimal en binaire. Image6
Profs: MSEKNI Dalila, SFAR Hayet & BAFFOUN Rim page-7/9-
Classe : 4
me
SI
Solution Algorithmique Algorithme PP 0. 1. 2. 3. Dbut Hexa_Binaire Proc Saisie (ch) Ecrire ("(", ch,") 16= (", binaire (ch),") 2") Fin Algorithme de la fonction Binaire 0. Fonction Binaire (Ch: chaine):chaine 1. chb "" Pour I de 1 long (ch) Faire Chbchb+Bin_chiffre (ch[i]) Fin Pour 2. Tant que chb [1] =" 0" Faire Efface (chb, 1,1) Fin Tantque 3. Binaire chb en 4. Fin Binaire Algorithme Binaire Chiffre 0. fonction bin_chiffre(c:caractre):chaine 1. Si c dans ["0".."9"] Alors valeur (ch, n, er) Sinon N ord(c)-55 Finsi 2. ch "0000", i 4 repeter R n mod 2 Convch(R,ch1) ch[i] ch1[1] N N div 2 I i-1 Jusqu n=0 3. bin_chiffre ch 4. Fin bin_chiffre
Algorithme de saisie
0. Procdure saisie (var ch: chaine) 1. Repeter Ecrire ("Donner un nombre Hexadcimal: ") Lire (ch) I 1, b Vrai Repeter Si ch[i] dans ["0".."9","A".."F"] Alors II+1 Sinon B faux Finsi Jusqu (b=Faux) ou (i>long (ch)) Jusqu b; 2. Fin saisie
5. Conversion dun nombre octal en dcimal: Activit Ecrire une analyse modulaire puis les algorithmes permettant de convertir un nombre de la base 8 en base 10.
Image7
page-8/9-
Classe : 4
me
SI
Solution Algorithmique Algorithme PP 0. 1. 2. 3. Dbut Octal_Decimal Proc Saisie(N) Ecrire ("(", N,") 8= (", Fn Decimal(N),")10") Fin Octal_Decimal. Algorithme de la procedure saisie 0. fonction Dcimal (N:entier long):entier long 1. Convch(N,ch) 2. s0 Pour I de 1 long (ch) Faire valeur (ch[i],NB,er) S S+Nb*puissance(long(ch)-i) Fin Pour 3. Decimal S 4. Fin Decimal Algorithme de la procedure saisie 0. fonction puissance (x:entier): entier long 1. p 1 pour i de 1 x Faire p p*8 Fin Pour 2. puissance p 3. Fin puissance
Algorithme de la procedure saisie 0. Procdure saisie (var N:entier long) 1. Rpter Ecrire ("Donner un nombre en binaire: ") Lire(N) Convch(N, ch) I 1 , b Vrai Rpter Si ch[i] dans ["0".."7"] Alors II+1 Sinon B faux Fin si Jusqu (b=Faux) ou (i>long (ch)) Jusqu b 2. Fin saisie
6. Conversion dun nombre Binaire en Octal : Activit Ecrire une analyse modulaire puis les algorithmes permettant de convertir un nombre de la base 2 en base 8. Image8 Solution Algorithmique Algorithme PP 0. Debut Octal_decimal 1. Proc Saisie (ch) 2. Ecrire ("(", ch, ") 2= (", Octal (ch), ") 8") 3. Fin Octal_decimal Algorithme fonction Octal 0. fonction Octal (ch: chane):entier long 1. Tant que long (ch) mod 3 <> 0 Faire ch "0"+ch Fin Tantque 2. ch2 ''; l long (ch) 3. repeter Algorithme Procedure saisie ch1 sous-chaine(ch,l-2,3) 0. Procedure saisie(var ch : chaine) s0 1. Rpter Pour I de 1 to long(ch1) faire Ecrire ("Donner un nombre en binaire: ") Valeur (ch1[i],NB,er) Lire (ch) S S+Nb*puissance(long(ch1)-i) 2. I1 btrue Fin Pour Repeter Convch(S, ch1) Si ch[i] dans ["0","1"] Alors i i+1 ch2 ch1+ch2 Sinon bfaux ll-3 Jusqu (non(b)) ou (i>long (ch)) Jusqu (l = 0) Jusqu b 4. valeur (ch2, S, er) 3. Fin saisie 5. Octal S 6. Fin Octal
page-9/9-