l'analyse descendante via pseudo-code EX N1 Soit la suite dfnie par : Le premier terme U 0 est un entier donn qui dpasse 1. Le terme U n est gal la somme des carrs des chifres de Cette suite est soit priodique ou stationnaire (constante. !ta"lir les anal#ses puis les algorithmes permettant d$a%cher les termes de la suite si elle est constante ou les termes de la priode si la suite est priodique. Solution Solution Analyse &sultat ' (roc )%che ((*+*, ((*+*,'-+0*,-0.U0. &pter ++/1 ,-+.0n SCC(,-+11. (0n &echerche(,-+.*0*+11*, 2usqu$ (,-+.'1 ou ((3'0 U0'- . &pter U0'4onne(54onner un entier 31 5 2usqu$ U031 Le tableau de dclaration des nouveaux types Type ,a" ' ,a"leau de 61 7ntiers {les cases sont numrotes partir de 0} Le tableau de dclaration des objets globaux 8"9et ,#pe:+atu re &;le ( 7ntier <<. + 7ntier <<. U0 7ntier <<. , ,a" <<. 1 SCC 0onction <<. &echerc he 0onction <<. Algorithme 0 4"ut 7=1 1 &pter !crire(54onner un entier 31 5 Lire(U0 2usqu$ U031 6 +0* ,-0.U0 &pter ++/1 ,-+.0n SCC(,-+11. (0n &echerche(,-+.*0*+1 1*, 2usqu$a (,-+.'1 ou ((3'0 > (roc )%che((*+*, ? 0in 7=1 Analyse de la fonction !! "#ersion itrative$ Analyse &sultat' SCC SCCS S'-S0. &pter SS/Carr(+ mod 10 + + di@ 10 2usqu$ + '0 Le tableau de dclaration des objets locaux 8"9 et ,#pe:+atu re &;le S 7ntier <<. Algorithme 0 4eA 0n SCC(+:7ntier:7ntier 1 S0 &pter SS/Carr(+ mod 10 ++ di@ 10 2usqu$ + ' 0 6 SCCS 2 > 0in SCC Analyse de la fonction !! "#ersion %cursive$ Analyse &sultat' - . Si +'0 )lors SCC0 Sinon SCC0n SCC(+ di@10/ Carr(+ mod 10 0in Si Algorithme 0 4eA 0n SCC(+:7ntier:7ntier 1 Si +'0 )lors SCC0 Sinon SCC0n SCC(+ di@ 10/ Carr(+ mod 10 0in Si 6 0in SCC Analyse de la fonction %echerche "#ersion &trative$ Analyse &sultat' &echerche &echerche'- . Si ,-B.'C )lors &echerche B Sinon &echerche 11 0in Si B' - B411 . &pter BB/1 2usqu$ (,-B.'C ou(B'0 Le tableau de dclaration des objets locaux 8"9 et ,#pe:+atu re &;le B 7ntier <<. Algorithme 0 4eA 0n &echerche(C*4*0:7ntierD ,:,a"7ntier 1 B411 3 &pter BB/1 2usqu$ (,-B.'C ou(B'0 6 Si ,-B.'C )lors &echerche B Sinon &echerche 11 0in Si > 0in &echerche Analyse de la fonction %echerche "#ersion %cursive$ Analyse &sultat' - . Si ,-4.'C )lors &echerche 4 Sinon Si 430 )lors &echerche 11 Sinon &echerche 0n &echerche(C*4/1*0*, 0in Si Algorithme 0 4eA 0n &echerche(C*4*0:7ntierD ,:,a"7ntier 1 Si ,-4.'C )lors &echerche 4 Sinon Si 430 )lors &echerche 11 Sinon &echerche 0n &echerche(C*4/1*0*, 0in Si 6 0in &echerche Analyse de la procdure A'che Analyse &sultat' - . Si ,-+.'1 )lors (our B de 0 + 0aire !crire(,-B. 0in (our Sinon (our B de ( + Aaire !crire(,-B. 0in (our 0in si 4 Le tableau de dclaration des objets locaux 8"9 et ,#pe:+atu re &;le B 7ntier <<. Algorithme 0 4eA (roc )%che((*+:7ntierD ,:,a" 1 Si ,-+.'1 )lors (our B de 0 + 0aire !crire(,-B. 0in (our Sinon (our B de ( + Aaire !crire(,-B. 0in (our 0in si 6 0in )%che EX N( !ta"lir les anal#ses et les algorithmes permettant de dterminer les deu= entiers ) et E qui reprsentent respecti@ement le numrateur et le dnominateur de la somme des + Aractions d$entiers. Exemple: Solution Solution Analyse &sultat' !crire(5La somme est ' 5*)*5:5*E ()*E'(roc Somme(+*+um*4en*)*E +'- . &pter + ' donne (5+ ' 5 2usqu$ + dans-1..F0. (+um*4en'(roc Lecture(+*+um*4en Le tableau de dclaration des nouveaux types Type ,a" ' ,a"leau de F0 5 7ntiers Le tableau de dclaration des objets globaux )bje t *ype+Nat ure %,l e ) 7ntier <<. E 7ntier <<. + 7ntier <<. +um ,a" <<. 4en ,a" <<. Lectu re (rocdure <<. Som me (rocdure <<. Algorithme 0 4"ut 7=? 1 &pter !crire(5+ ' 5* Lire(+ 2usqu$ + dans -1..F0. 6 (roc Lecture(+*+um*4en > (roc somme(+*+um*4en*)*E ? !crire(5La somme est ' 5*)*5:5*E F 0in 7=? Analyse de la procdure Lecture )nal#se &sultat' (+um*4en (+um*4en ' - . (our B de 1 + Aaire +um-B.'4onne (5+um-5*B*5.'5 &pter 4en-B.'4onne (54en-5*B*5.'5 2usqu$ 4en-B.G30 C0n (HC4()"s(+um-B.*)"s(4en-B. +um-B.+um-B. di@ C 4en-B.4en-B. di@ C 0in (our Le tableau de dclaration des objets locaux 6 )bj et *ype+Nat ure %,l e B 7ntier <<. (HC 4 0onction <<. Algorithme 0 4eA (roc Lecture(+:7ntierD Iar +um*4en: ,a" 1 (our B de 1 + Aaire !crire(5+um-5*B*5.'5* Lire(+um-B. &pter !crire(54en-5*B*5.'5* Lire(4en-B. 2usqu$ 4en-B.G30 C0n (HC4()"s(+um-B.*)"s(4en-B. +um-B.+um-B. di@ C 4en-B.4en-B. di@ C 0in (our 6 0in Lecture Analyse de la procdure omme )nal#se &sultat' ()*E ()*E ' -)0* E1 . (our B de 1 + Aaire ))J4en-B./EJ+um-B. EEJ4en-B. C0n (HC4()"s()*)"s(E )) di@ C EE di@ C 0in (our Le tableau de dclaration des objets locaux )bj et *ype+Nat ure %,l e B 7ntier <<. (HC 4 0onction <<. Algorithme 0 4eA (roc Somme (+:7ntierD +um*4en:,a"D Iar 7 )*E:7ntier 1 )0* E1 (our B de 1 + Aaire ))J4en-B./EJ+um-B. EEJ4en-B. C0n (HC4()"s()*)"s(E )) di@ C EE di@ C 0in (our 60in Somme Analyse de la procdure -.!/ Analyse &sultat' - . Si E ' 0 )lors (HC4 ) Sinon (HC4 0n (HC4(E* ) mod E 0in Si Algorithme 0 4eA 0n (HC4()*E:7ntier:7ntier 1) Si E ' 0 )lors (HC4 ) Sinon (HC4 0n (HC4(E* ) mod E 0in Si 6 0in (HC4 EX N0 !ta"lir les anal#ses et les algorithmes permettant de con@ertir un nom"re romain & @ers son qui@alent ara"e ). Exemples: % A 5KKKCCBC5 >06 L 54CCCLBI5 MF? 5KCKLCCIBB B5 1LN M 5KKC5 601 0 Solution Solution Analyse 8 &sultat'!crire() )0n con@ar(& &'4onne(5Saisir un nom"re romain 5 Le tableau de dclaration des objets globaux )bje t *ype+Nat ure %,l e ) 7ntier <<. & Chaine <<. Con@ ar 0onction <<. Algorithme 0 4"ut 7=O 1 !crire(5Saisir un nom"re romain Lire(& 6 )0n con@ar(& > !crire() ? 0in 7=O Analyse de la fonction !onvar version &trative Analyse &sultat ' Con@ar Con@arS S'-S0n Chifre(&-Long(&.. (our B de 1 Long(& 11 0aire Si 0n Chifre(&-B.G0n Chifre(&-B/1. )lors SS10n Chifre(&-B. sinon SS/0n Chifre(&-B. 0in Si 0in (our Le tableau de dclaration des objets locaux )bje t *ype+Nat ure %,l e B 7ntier <<. S 7ntier <<. 9 Chifr e 0onction <<. Algorithme 0 4eA 0n Con@ar(&:Chaine:7ntier 1 S0n Chifre(&-Long(&. (our B de 1 Long(& 11 0aire Si 0n Chifre(&-B.G0n Chifre(&-B/1. )lors SS10n Chifre(&-B. Sinon SS/0n Chifre(&-B. 0in Si 0in (our 6 Con@arS > 0in Con@ar Analyse de la fonction !onvar version %cursive Analyse &sultat ' - . Si Long(& '0 )lors Con@ar0 sinon Si Long(& '1 )lors Con@ar0n Chifre(&-1. Sinon Si 0n Chifre(&-1.G0n Chifre(&-6. )lors Con@ar 0n Con@ar(Souchaine(&*6* Long(&1110n Chifre(&-1. Sinon Con@ar 0n Con@ar(Souchaine(&*6* Long(&11/0n Chifre(&-1. 0in Si Le tableau de dclaration des objets locaux )bje t *ype+Nat ure %,l e Chifr e 0onction <<. Algorithme 0 4eA 0n Con@ar(&:Chaine:7ntier 1 Si Long(& '0 )lors Con@ar0 sinon Si Long(& '1 )lors Con@ar0n Chifre(&-1. Sinon Si 0n Chifre(&-1.G0n Chifre(&-6. )lors Con@ar 0n Con@ar(Souchaine(&*6* Long(&1110n Chifre(&-1. 10 Sinon Con@ar 0n Con@ar(Souchaine(&*6* Long(&11/0n Chifre(&-1. 0in Si 6 0in Con@ar Analyse de la fonction !hi1re Analyse &sultat ' Chifre Chifre+ + '- . Selon Ka9us(C 0aire 5B5: +1 5I5:+F 5C5:+10 5L5:+F0 5C5:+100 545:+F00 5K5:+1000 0in Selon EX N2 Soit une entreprise qui comporte un nom"re fni dPemplo#s D Chaque emplo# est caractris par un code (+umrotation automatique* un nom* un salaire* une catgorie (1161> ou ?* un se=e et une anciennet. !ta"lir un algorithme qui permet la cration dPun fchier contenant les emplo#s* la saisie des emplo#s (cette saisie se termine par un salaire nul qui ne doit pas Qtre tenu en compte* puis augmenter les salaire par un montant qui est gale au dou"le de lPanciennet enfn crer un fchier comportant les hommes dans lPordre dcroissant des catgories et a%cher les rsultats calculs. Solution Solution Analyse &sultat'(roc )%che(0A (roc )%che(R 0A' (roc )ugmenter(0 0'(roc Saisie(0 R'(roc Rommes(0A*R Le tableau de dclaration des nouveaux types Type 11 7mplo#e'7nregistreme nt Code: Kot Cat* )nc: 8ctet +om: chaine->0. Sal: &el Se=e: CaractSre 0in 7mplo#e 7ntreprise' 0ichier d$emplo#e Le tableau de dclaration des objets globaux 8"9et ,#pe:+atu re &;le 0 7ntreprise <<. R 7ntreprise <<. )%che (rocdure <<. )ugmentat ion (rocdure <<. Saisie (rocdure <<. Rommes (rocdure <<. Analyse de la procdure saisie Analyse &sultat'0 0 ' -)ssocier(0*5c:Templo#es.dat5* recrer(A* B0. &pter BB/1 7.codeB 7.+om'donne (5<<<.5 &pter 7.Sal'donne(5<<<5 2usqu$ 7.Sal3'0 &pter 7.cat'donne(5<<<5 2usqu$ 7.Cat dans-1..?. &pter 7.se=e'donne(5<<<5 2usqu$ 7.se=e dans-505*5A5*5R5*5h5. 12 &pter 7.)nc'donne(5<<<5 2usqu$ 7.)nc 3'0 Si 7.Sal30 )lors !crire(0*7 0in Si 2usqu$ 7.Sal'0 Le tableau de dclaration des objets locaux )bj et *ype+Nat ure %,l e 7 7mplo#e <<. Algorithme 3$ 4eA (roc saisie(@ar A:7ntreprise 1$ )ssocier(0*5c:Templo#es.dat5* recrer(A* B0 &pter BB/1 7.codeB 7.+om'donne (5<<<.5 &pter 7.Sal'donne(5<<<5 2usqu$ 7.Sal3'0 &pter 7.cat'donne(5<<<5 2usqu$ 7.Cat dans-1..?. &pter 7.se=e'donne(5<<<5 2usqu$ 7.se=et dans-505*5A5*5R5*5h5. &pter 7.)nc'donne(5<<<5 2usqu$ 7.)nc 3'0 Si 7.Sal30 )lors !crire(0*7 0in Si 2usqu$ 7.Sal'0 ($ 4ermer"f$ 1 0$ 0in saisie Analyse de la procdure Augmentation 1 Pour scuriser les donnes d'un fichier, il est recommand de fermer le fichier ar!s tout traitement" 13 Analyse &sultat'0 0 ' -8u@rir(0 . (our B de 0 ,ailleUfchier(011 0aire Lire(0*7 7.sal7.sal/6J7.)nc (ointer(0*B !crire(0*7 0in (our Le tableau de dclaration des objets locaux )bj et *ype+Nat ure %,l e 7 7mplo#e <<. B 7ntier <<. Algorithme 0 470 (roc )ugmentation(Iar 0:7ntreprise 1 8u@rir(0 (our B de 0 ,ailleUfchier(011 0aire Lire(0*7 7.sal7.sal/6J7.)nc (ointer(0*B !crire(0*7 0in (our ($ 4ermer"4$ > 0in )ugmentation Analyse de la procdure 5ommes Analyse &sultat'R R ' -)ssocier(R*5c:Thommes.dat5* recrer(R . (our B de ? 10aire 8u@rir(0 (our V de 0 ,ailleUfchier(011 0aire Lire(0*7 Si 7.cat'B )lors !crire(R*B 0insi 14 0in (our 0in (our Le tableau de dclaration des objets locaux )bj et *ype+Nat ure %,l e 7 7mplo#e <<. B 7ntier <<. V 7ntier <<. Algorithme 0 4eA (roc Rommes(Iar 0*R:7ntreprise 1 )ssocier(R*5c:Thommes.dat5* recrer(R (our B de ? 1 0aire 8u@rir(0 (our V de 0 ,ailleUfchier(011 0aire Lire(0*7 Si 7.cat'B )lors !crire(R*B 0insi 0in (our 0in (our ($ 4ermer"4$ 0$ 4ermer"5$ ? 0in Rommes Analyse de la procdure A'che Analyse &sultat' -8u@rir(0. (our V de 0 ,ailleUfchier(011 0aire Lire(0*7 )@ec 7 0aire !crire(Code:>* +om:>0* Sal:M:>* Se=e:>* )nc:>* Cat:> 0in a@ec 0in (our Le tableau de dclaration des objets locaux 15 )bj et *ype+Nat ure %,l e 7 7mplo#e <<. V 7ntier <<. Algorithme 0 4eA (roc )%che(Iar 0:7ntreprise 1 8u@rir(0 (our V de 0 ,ailleUfchier(011 0aire Lire(0*7 )@ec 7 0aire !crire(Code:>* +om:>0* Sal:M:>* Se=e:>* )nc:>* Cat:> 0in a@ec 0in (our ($ 4ermer"4$ > 0in )%che 16