You are on page 1of 12
Section : 4ST Matiére : Algorithme & Programmation fe Exercice N°1 :(2 Soit l'algorithme de la fonctionyiné retourner Sinon SI_nmod2=0 ALORS retourner (Inconnu (N div 2) + SINON retourner (Inconnu (N div 2) +"1") FINS! "o") Finsi Travail demandé = 1) Déterminer le type retourné de la fonction Inconnu. 2) Donner la trace d'exécution de la fonction Inconnu pour N=12: 1\4 Exercice N°2 :(3 Pts) Soit la suite U définie par ; Uy =x; U,;=y,avecxety tiers positifs Uy, =UnrtUn2, 9S! ‘ir Uy = Wa mies Travail demandé = 1. Calculer les termes U; et 2. Endéduire l'ordre de nce de cette suite. 3. fare regen \dule qui permet de calculer le terme U,,. Exerci : (3 Pts) En al é éaire, le premier élément non nul de chaque ligne dans une matrice 1 x=3 et y=2. échel¥gne®, s’appelle le pivot. Et on appelle une matrice échelonnée si: x e nombre de 0 au début de chaque ligne est strictement croissant quand on & passe d'une ligne a la suivante, jusqu’a ce qu'il reste éventuellement plus que N des 0. * Tous les éléments d’une colonne sous un élément pivot sont nuls. Exemple : eee me os @5 130 -19| |8)5 13 0 19 0000 0(\7 43 Cet 2) jo OM 2 0000000 mse | joo om s 00060 0000000 oe oe o ae oH Matrice non échelonnée ye Travail demandé = = . 1. Ecrire un algorithme d’un module Pivot (A, i, m) qui permet de retourner Vindice du premier élément non nul dans une ligne i, si la ligne ne contient que des 0, |'indice retourné est le nombre de colonnes. 2. En utilisant le module Pivot(A,,m), écrire un algorithme d’un module Echelon(A,n,m) qui permet de verifier si une matrice A de n lignes et m colonnes est échelonnée ou non. Exercice N°4 :(4 Pts) Un nombre $ de SMIH est un nombre composé dont ie des chiffres est laméme que celle des chiffres de ses facteurs premier; nt les répétitions de facteurs. Exemple: 636 est un nombre de SMITI orcs sont 2: 2° 3% 53. La somme des chiffres de 636 est 15 pt c ‘dfs chiffres des facteurs est égale a 15 Nombre composé : Entier naturel! wha luit de deux nombres premiers ou plus Travail demandé : 1. Ecrire une fonction hiffre (N : Entier) : Entier, qui permet de calculer lasomme de lun entier N. 2. Ecrire upé. MITH (N = Entier) : chaine, qui permet de verifier si un Entier she gvronre de SMITH. NB ; cett Son retourne une chaine vide si N n’est pas SMITH sinon elle composition en facteur premiers. One 12 mod 2=0 n Ya traiter Ie condition Sinon)->N=1> "1" (on va traiter le condition Sinon) >N=0> "1" OF ion d’arrét) & Lecture dune chaine Binaire chee de cette fonction est :"1100" aire Popération inverse le résultat en base 2 vers 10 est 12 car : Ne QPS) TFO*2)AI=12 Ex2 : (les algorithmes récurrentes) Un =Up1+Uy2, siUy pair fo =x; U,=y,avec x et y deux entiers positifs Uy = |Un-1 — Un-2| +2, sinon 1) Pour Calculer les termes U3 et U4 avec x=3 et y=2 dot U0=3 Ul=2 U2=|U0+UI| +2 =|342}4+2=7 U3=|U2+U1| =742=9 ‘Ud=|U3+U2| +2 = [94742218 2) Pour déterminer ordre de récurrence de la suite est de 2, car chaque terme de la suite dépend des deux termes précédents. 3) Fonction calcul_Suite(x,y,n :entier) zentier Début Si (n=0) Alors @ Retourner (x) A Sinon Si (n=1) Alors Retourner(y) Sinon Sifcal Ge mod 2-0 Alors SNe Seta ptcoenieiici ores 2 in Si oOo Bini < Ex3 : (Algébre linéaire avec les Matrices) net oi 2 0 49 0 9 0-9) ls wo ae oo ez 0% 12 a(t 32 o000 0a J 33 oo0a a goo0000 60) o008 0 oo0c0 ee 1 + Matrce non échelonnée | Fonction Pivot(A :Mat,,mzentier) :entier Début Pour j de 0 m-1 Faire Si(A[ij] <> O)Alors Retourner( j) Fin Si Fin pour Retourner(m) Fin 2)Fonction Echelon(A :Mat,n,m :entier) :Booléen Début Test Vial & Pour ide 0 a n-t Faire @ PEPivot(A,im) ‘Si (P=m) Alors Retourner(Test) @ Fin Si Pour j ire > m) ou (Pj<=P) Alors ‘Test Faux Retourner (Test) Ex : (Nombre de Smith ou Nombre Rigolo) Un nombre $ de SMIH est un nombre composé dont la somme des chiffres est la méme que celle des chiffres de ses facteurs premiers, incluant les répétitions de facteurs. Exemple: 636 est un nombre de SMITH, ces facteurs sont 2 * 2 * 3 * 53. La somme des chiffres de 636 est 15 et celle des chiffres des facteurs est égale 2 15 Nombre composé : Entier naturel qui est le produit de deux nombres premiers ou plus 1) Fonction SommeChiffre(N :entier) :entier Début seo Ch€conveh(N) Pour i de 0 a long(Ch)-1 Faire Si(Chfi] dans [°0”..°9”] Alors S€S+valeur(Ch{i]) Fin Si Fin Pour Retourner(S) Fin 2)Fonction Smith(N :entier) :Chaine & Début & Test €Vrai @ Pr€Fact_Premier(N) A Si (SommeChifire(N) < > Retourner(***) Sinon. Retqur Fin St < So ion Fact_Premier(x :entier) :Chaine & Or Ns Tantque (x <> 1)Faire eC hiffre(Pr) )Alors Si(x mod d= 0) Alors ‘ChE Chtconveh(d+" * x€xdivd Sinon dedtt Fin Si Fin tq Retourner( Sous_chaine(Ch,0,long(Ch)-1) ) Fin Début Ouvrir(“*ListeSmith.txt”,G,"w7Z @ Pour i de D aF Faire A Si( long( Smith(i) )>0delors Ch€ com seus raya mass Fin Po AS pee KX s algorithmes d’arithmétiques (convertion entre les Bases) suppose qu’on a un fichier binaire, intitulé «nombre.bat », déja saisie par n NO scenes Chaque enregistrement est définie par: + unnombre x, de type chaine, * et la base b dans laquelle x est définie. On veut convertir chaque nombre du fichier « nombre.bat » a la base 10, et de stocker le résultat dans un fichier texte, sous la forme : (x)b=(nb)10. 3)Procédure Générer(@G :Fichier_texte,D,F 2 Procédure Coder(@F :Fiche,@G :Fichier_texte) Début Ouvrir(“nombre.dat”,F,"rb”) Ouvrir(result.tst”,G,"w”) ‘Tantque (Non(Fin_Fichier(F)) )Faire Lire(Ge) Res€"("teaxt”)"+conveh(e.b)+”="+conveh( Cony_base_10(eaye.b) +710" Eerire_nl(G,Res) FinTq Fermer(F) Fermer(G) Fin Fonction Cony_base_10(x :chaine,b :entier) :entier Début Dec€0 & Pour i de 0 a long(x)-1 Faire @ Si (estnum(x[i]) )Alors. Dec€Dec*b-+valeur([ Sinon Deena Fin Si iN Fin Pour *S Retourne] Fin < stage+Matrice iple : Si le texte & coder ="La volonté trouve des moyens”. La longueur de ce texte est égale 4 28. On Tui ajoute 2 espaces pour que sa Jongueur devienne multiple de 3_ La chaine devient “La volonté trouve des moyens ", Sa Jongueur devient donc 30. En appliquant les étapes ci-dessus évoquées, on obtient = t]= v T ° t e|_ ie rlefe Te Le texte crypté devient donc : “Lvoérvd ysaon oeeme Ittu son”, atet= En effet :1e mot 1 est : “Lvoérvd ys" ms le mot 2 est : “aon oeeme” Fe mot 3 est: Ittuson’” viele $ Debut Ouvrir(’FileL.txt”.B"r") & i ‘Ouvrir(*File2.txt”,G,"w") @ Pour ide 14k Faire Lire(R,Ch) ‘Tamtque(long(Ch)mod aire che w + Procédure Coder(@F :Fichier_Texte@G mae sentier) Fin tq cpa CS »_nl(G,Res) & fermer(F) N Fermer(G) Fin Procédure Codagel(M :Mai,ch :chaine,n :entier) Debut keo Pouride 0a n-1 Faire Pour j de 0.42 Faire MUi,i]@ch[k] kek Fin Pour ‘Fin Pour Fin Fonction Codage(M :Mat,n :entier) :Chaine Début ———— Kor Pour j de 0 4 n-1 Faire ResRest MU] G nea we a7). & Re) nw

You might also like