Sie sind auf Seite 1von 16

Algorithmique / Programmation structure

TD-TP 1 Analyse des besoins


Vous ntes pas encore ingnieur ni mme informaticien mais vous savez rflchir. Etre ingnieur, cest quoi ? Apporter une solution "ompren#re le !esoin $ %la!orer la solution $ un !esoin.

ncessite la comprhension #u haut niveau ncessite la ma&trise #u !as niveau.

Entre les ', les phases d'analyse, #e conception et #e test. (ut #e la formation $ acqurir ces notions. Commenons donc par rflchir en franais (avant le C !! )n client vous e*prime ces attentes. +l rarement clair, rarement complet, -. +#entifiez ses attentes, faites prciser les points flous, posez #es h.poth/ses, '. 0terminez les ressources qui vous seront ncessaires 1charge mmoire2 3. 0terminez les traitements 1actions2 e*cuter et leur or#re #e*cution 1charge processeur2 "appele#-vo$s% ce &$i no$s intresse ici c'est ( comment vo$s y prendrie#-vo$s po$r) *+ercice 1,1 Afficher le plus petit #4une liste #e 5 nom!res. *+ercice 1,Vous souhaitez changer le contenu #e ' varia!les en mmoire A et (. "omment vous . prenez6 vous ? 1e*primez vous en fran7ais2 *+ercice 1,. Vous avez #evant vous un verre pie# contenant #u vin et un verre #roit contenant #e leau. (ut $ changer le contenu #es ' verres. "omment vous . prenez6vous ?

8ituation #e #part

situation #arrive ou rsultat

*+ercice 1,/ Vous souhaitez changer le contenu #e ' varia!les en mmoire A et (. "omment vous . prenez6 vous ? 1votre mtho#e a6t6elle change par rapport le*o -9' ?2 *+ercice 1,0 :a ;A<P vous #eman#e #e lai#er amliorer le trafic #e la ligne #e !us n=>?. (un peu vague, non ?) Rassurez-vous, votre charg de TD-TP saura trs bien jouer le client R TP !-)

Frdric Ravaut

Algorithmique / Programmation structure

TD-TP - Comprhension des besoins% analyse chronolo1i&$e et descendante Analyse chronolo1i&$e et descendante
"ette fois6ci, formalisons un peu notre pense. ;#igez lanal.se chronologique et #escen#ante #es pro!l/mes qui vous sont proposs. Vous ne #passerez pas -9 tapes lmentaires #ans vos anal.ses. Vous prciserez, pour chaque e*ercice les varia!les 1ressources2 qui vous sem!lent ncessaires pour stoc@er les informations et les lments #e calcul en prcisant leur t.pe. Enfin, vous raliserez lalgorithme ou lorganigramme correspon#ant votre anal.se #escen#ante. 2es diffrentes tapes de votre analyse chrono-desc3 doivent 4tre reprises comme commentaires dans votre al1o3

*+ercice -,1 Probl5me $ Programmer un automate #istri!uteur #e !oissons 6ypoth5ses $ An consi#/rera que lautomate #ispose #e !oissons en nom!re suffisant. *+ercice -,Probl5me $ Programmer un automate #istri!uteur #e !illets #e !anque 6ypoth5ses $ A vous #imaginer, *+ercice -,. 2a p7te 8 cr4pes ! :istez les ingr#ients 1les ressources2 et #crivez la recette 1anal.se chronologique et #escen#ante2 #e la pBte crpes. Ecrivez lorganigramme correspon#ant. *+ercice -,/ Probl5me $ rechercher le minimum #e -9 valeurs. 6ypoth5ses $ les valeurs seront entres au clavier par lutilisateur, le t.pe #es valeurs est entier

Frdric Ravaut

Algorithmique / Programmation structure

TD-TP . Al1orithme et or1ani1ramme% traces d'e+c$tion


*+ercice .,1 Probl5me $ trier un ta!leau #e 5 entiers. En plus #e lanal.se chrono6#esc.1A"02, crivez lalgorithme ou lorganigramme et faites tourner votre programme la main en listant les ressources et en fournissant la trace d'e+c$tion simulant le*cution #e votre co#e. E* $ n!> > ', n!' ? ' n!3 ' ?

la trace #e*cution montre lvolution #es varia!les

*+ercice .,Ecrivez lanal.se "0, un algorithme et $n or1ani1ramme qui #eman#e #eu* entiers et in#ique lequel est le plus petit, lequel est le plus gran#.

*+ercice .,. Ecrivez lA"0, puis un algorithme et un organigramme qui #eman#e un entier et in#ique sil est pair ou impair.

9oye# tr5s ri1o$re$+ dans l'indentation de vos al1orithmes ! 2'e+ercice 1 d$ s$:et s$ivant vo$s montre les erre$rs potentielles d'interprtation si l'indentation n'est pas respecte3 "appel ( en l'absence de bloc deb$t-fin o$ ;-< les bo$cles et les tests ne portent &$e s$r l'instr$ction &$i s$it immdiatement3

Frdric Ravaut

Algorithmique / Programmation structure

TD-TP / =ndentation% trace d'e+c$tion% lo1i&$e% opration


*+ercice /,1 Vous savez que la machine ne se proccupe pas #e lin#entation #e vos programmes et que cette #erni/re apporte un confort pour les relecteurs #e votre co#e. Pour vous en convaincre, voici #es algorithmes crits avec une indentation $n pe$ va1$e. Essa.ez #e vous . retrouver et #en compren#re limportance #e respecter une in#entation correcte #ans vos programmes. "appele#-vo$s &$e sans bloc% la machine ne conditionne o$ ne rp5te &$'$ne se$le instr$ction3 C,D, et E tant #es varia!les numriques, on consi#/re les #eu* squences algorithmiques 8- et 8' $ 8quence 80E()< 8+ 1CF5 A) DG'2 E< EG3 A:A;8 0E()< C $H8+ 1E6D2 G9 A:A;8 E $H9 D $HDIE J+K
8+KAK

8quence 8' 0E()< 8+ CF5 A) 1DG' E< EG32 A:A;8 0E()< C $HJ+K 8+ 1E6D2 G9 A:A;8 0E()< E $H9 D $HDIE J+K
8+KAK

C $H' E $HDIE
J+K

0E()< C $H' E $HDIE J+K


J+K

Pour chacune #es #eu* squences, #onner les traces #e*cution #e C, D, et E si lon suppose qu ltat initial ces trois varia!les ont les valeurs $ a2 C $H> D $HE $H> !2 C $H> D $H5 E $H> c2 C $HD $H3 E $H-

*+ercice /,Afin #anal.ser #es rsultats #e*amen, > varia!les permettent #e #crire lenvironnement $ les varia!les numriques Klv, Kf, Km, Kp qui in#iquent respectivement, pour un can#i#at #onn $ o #es notes littraires $ langue vivante 1Klv2, #e fran7ais 1Kf2 o #es notes scientifiques $ mathmatiques 1Km2, et ph.sique 1Kp2. An suppose que les notes sont calcules sur '9 et quelles ont toutes le mme coefficient.

Frdric Ravaut

Algorithmique / Programmation structure

Jormez les e*pressions logiques 1et seulement elles2 correspon#ant au* situations suivantes $ -2 '2 32 >2 52 L2 la mo.enne #es quatre notes est suprieure -9 les notes #e mathmatiques et #e fran7ais sont suprieures la mo.enne #es quatre notes il . a au moins une note suprieure -9 toutes les notes sont suprieures -9 la mo.enne 1-92 est o!tenue pour lun #es #eu* t.pes 1littraire et scientifique2 la mo.enne #es quatre notes est suprieure ou gale -9 et la mo.enne 1-92 est o!tenue pour lun #es #eu* t.pes

*+ercice /,. 0onnez lanal.se chrono6#escen#ante et lalgorithme qui #termine le nom!re #e valeurs #istinctes parmi trois varia!les faire saisir par lutilisateur. 1e* $ ?, ? et ? saisi par lutilisateur #onne - valeur #istincte M ?,-,? en #onne ' et ?,',5 en #onne 32.

*+ercice /,/ ;solution #quation #u secon# #egr. Ecrivez lA"0 et lalgorithme #un programme calculant les solutions #une quation #u secon# #egr #ont les coefficients sont saisis par lutilisateur. 0crivez les ressources. Jaites tourner votre solution la main sur #es e*emples en in#iquant la trace #e*cution listant lvolution #u contenu #e chacune #es ressources. Vous penserez tous les cas possi!les.

Frdric Ravaut

Algorithmique / Programmation structure

TD-TP 0 Composants d'$n ordinate$r et bases n$mri&$es


*+ercice 0,1 Prsentation de l'ordinate$r

:istez les composants internes et e*ternes #un or#inateur. 0onnez le ou les crit/re1s2 #e performance pour chacun #e ces composants 1e*emple $ N capacit O pour la mmoire2. Prcisez les units utilises pour mesurer chacune #e ces performances. 0onnez enfin une valeur N actuelle O mo.enne pour chacune #e ces mesures 1Vous pourrez utiliser internet pour les o!tenir2. Vous regrouperez #ans un ta!leau lensem!le #e ces informations.

*+ercice 0,-

Conversion de bases

"onvertissez par la mtho#e #es puissances puis la mtho#e #es #ivisions successives les nom!res suivants $ 13>52-9 1-L-?2-9 "onversion en sens inverse $ 1-9--99-92' 1--------2' *+ercice 0,. "onvertissez par la mtho#e #es puissances les nom!res suivants $ 13>5.-9 1-P5?2-9 1 ? 2-9 1 ? 2-9 1 ? 2-9 1 ? 2? 1 ? 2? 1L5>2? 1-'Q2? 1 ? 2? 1 ? 2-L 1 ? 2-L 1 ? 2-L 1-APEJ2-L 1 ? 2P 1 ? 23 1 ? 2-9 1 ? 2-9 1 ? 2' 1 ? 2'

*+ercice 0,/

Coda1e de l'information

"om!ien #informations pouvez6vous co#er sur ' !its ? sur ? !its ? Ruels sont les co#es associs ces informations ? Ruelles sont les valeurs numriques enti/res associes ces co#es ? en sign ? en non6sign ? 8i vous souhaitez associer un co#e chaque tu#iant #e lE"E 1environ ->992, com!ien #e !its avez6 vous !esoin ? #octets ?

Frdric Ravaut

Algorithmique / Programmation structure

TD-TP > *nvironnement et Premiers pro1rammes


?oici enfin vos premiers pas en C !!

@aAtrise#-vo$s le co$rs B
*+ercice >,1 o o o o "om!ien . a t6il #e t.pes scalaires en " et quels sont6ils ? Ru4est ce qui les #iffrencie ? 0onner leur plage #e valeurs. Par #faut sont6ils signs ou non signs ?

*+ercice >,Ruel t.pe choisir pour co#er les nom!res $ o >5.?PL o 5L.9 o PP o L59Q?P o 3'PLQ o 63'PL5 o >5999QQQL

*+ercice >,. 8oit #ans un programme les #clarations suivantes $ int 9t, ti, p9M freste floatM #ou!le #iv6totalM float tata, t'3>5, char c, cc $ short ErrS, SES, +n#iquez, e*pliquez et corrigez les erreurs. Passons maintenant 8 l'crit$re de pro1rammes)

Dco$verte de l'environnement
:e !log informatique $ :es tutoriau*, les pol.s, les suTets #e <06<P :e forum 1e*emple #e topic $ Vista lE"E2 :e rseau et votre compte sur E $ :a cration #e rpertoire #e travail sur E $ 1- rpertoire par proTet2

Frdric Ravaut

Algorithmique / Programmation structure

Dco$verte d$ compilate$r
Code ClocDs ! Vous le trouverez en cliquant sur DmarrerETo$s les pro1rammeEDveloppements "omme son nom lin#ique, cest un compilateur " tout fait a#apt la #couverte #u langage.

"e compilateur a t choisi pour sa gratuit et ses performances. Vous pouvez vous le procurez sur +nternet et linstaller sur vos or#inateurs personnels. "est 2* compilateur #e rfrence pour toutes vos programmations, proTets comme e*amen. Vous #evez par consquent vous assurez que le travail que vous ren#ez fonctionne sous cet environnement #ans les salles machine #e lE"E ou sur lor#inateur personnel que vous apporterez lors #es soutenances. 8ous "o#e(loc@s, un pro:et permet la compilation spare #e plusieurs fichiers so$rces 3c et plusieurs fichiers biblioth5&$es 3h. Pour crer un proTet, vous ferez $ 6 fichier/nouveau proTet 6 proTet console 6 en " Attention UU Attention UU

Vous enregistrerez ce proTet sous le nom #e votre choi* 1 e+plicite !! , #ans un rpertoire diffrent po$r cha&$e e+ercice que vous crerez #ans votre espace #isque rseau sur # ( )ne fois cr, un clic #roit sur le nom #u proTet #ans la fentre #e gauche vous permettra #e supprimer ou #aTouter #es fichiers #ans votre proTet. Je vous conseille de crer vos diffrents rpertoires de travail sur Z : avant douvrir CodeBlocks et en leur donnant galement un nom explicite vous permettant den retrouver facilement le contenu si vous avez besoin de rutiliser des morceaux de code par la suite. En cas #e pro!l/me #e fonctionnement #e votre compte utilisateur ou #e votre machine, vous pouvez vous a#resser lquipe s.st/me en envo.ant un e6mail $ esVece.fr

Premi5re compilation et notion de F template G (mod5le


*+ercice >,/ "rez un nouveau proTet sous "o#e(loc@s, #onnez un nom e*plicite au proTet,.puis un rpertoire #e sauvegar#e sur E $ :ancer la compilation #u template 1mo#/le #e main par #faut2 pour vrifier la configuration correcte #e votre machine.

Frdric Ravaut

Algorithmique / Programmation structure

Pro1rammation
*+ercice >,0 Premier pro1ramme $niversel en C &$e to$t no$vea$ pro1ramme$r se doit d'avoir r$ssi !!! -. Programmez laffichage #u cl/!re N (onTour le Won#e UUU O en aToutant #ans le template, printf1N (onTour le mon#e UUU O2M // sil n. est pas #T U

'. Afficher ensuite Xce que vous voulezX en mo#ifiant la fonction printf12 3. ;ecommencer en mo#ifiant quelque chose chaque fois, par e*emple $ 6 aTouter Yn la fin #u message, Yt au milieu, #es accents Z , , /, etc.

*+ercice >,> ;ecommencez le*cution #u programme prc#ent en supprimant certaines parties #u programme pour voir les #iffrents messages #erreur que vous o!tien#rez. 6 enlevez le M 6 enlevez le premier guillemet 6 enlevez le secon# guillemet 1sans remettre le premier2 6 enlevez une accola#e 6 enlevez le f #e printf 6 remplacez un guillemet par une quote [ 1apostrophe2 6 cumulez plusieurs #es erreurs prc#entes 0ans quels cas . a t6il un message #4erreur et quel est6il ?

*+ercice >,H Ecrivez lanal.se #escen#ante, lalgorithme, lorganigramme puis le programme " qui permet lutilisateur #e saisir une valeur enti/re #ans une varia!le i puis qui affiche i, iII et IIi.

*+ercice >,I 0ans un programme, #clarer un char et lui affecter une valeur choisie au hasar#. Afficher la valeur entre en utilisant les #eu* formats \# et \c, qu4est ce que 7a #onne ? ;essa.er en #eman#ant cette fois une valeur comprise entre QP et -''. Rue remarquez6vous ? Ruelles valeurs permettent #4afficher les caract/res ], V, ^, _ ?

Frdric Ravaut

Algorithmique / Programmation structure

*+ercice >,J "orrigez les erreurs que vous reprez #ans le co#e ci6#essous puis compilez le co#e pour vrifier que vous les aviez !ien toutes #tectes. #includ <stdio.h> Int main() { / declaration des ressources int essai==0 ; int a trouver ; // initialisation (en dur) de la valeur !ue le "oueur doit rechercher a#trouver = $% ; // &oucle de "eu 'hile (essai <>a trouver) { (rint) (* entre+ votre valeur) scan) (* ,) -. essai) ; i) (essai = 0) (rint (* /n0aleur nulle interdite/n -) ; i) (essai > a trouver) (rint) (* /n1ro( 2rand 3/n -) ; else (rint) (* /n1ro( (etit) ; 4 (int) (* /n/n5ravo 33/n -) ; return 0 ; 4

*+ercice >11 Ecrivez lanal.se #escen#ante, lalgorithme, lorganigramme puis le programme " qui permet #e convertir caract/re par caract/re, #es minuscules en maTuscules. "haque caract/re est saisi par lutilisateur puis converti. Vous ntes pas autoris ici utiliser les fonctions pr#finies #u " comme N toupper O. Vous #evez !aser votre raisonnement sur le co#age #e linformation #ans la ta!le #interprtation smantique A8"++ 1sans entrer #e valeur en #ur2 et sur le #calage Win/WaT. *+ercice >1En vous effor7ant nouveau #tre in#pen#ant #es co#es #e la ta!le A8"++, crivez lanal.se #escen#ante, lalgorithme ou lorganigramme puis le programme " permettant #e #terminer si le caract/re entr par lutilisateur est un chiffre, une lettre maTuscule, une lettre minuscule ou autre chose, Apr/s anal.se, vous afficherez lcran la nature #u caract/re saisi.

*+ercice >1. Ecrivez lanal.se #escen#ante, lalgorithme ou lorganigramme permettant #e #terminer si une valeur saisie par lutilisateur est paire ou non. )n multiple #e 5 ?

Frdric Ravaut

Algorithmique / Programmation structure

*+ercice >1/ Ecrivez lanal.se #escen#ante, lalgorithme ou lorganigramme puis le programme " permettant #e #composer un nom!re saisi par lutilisateur en unit6#izaine6centaine6millier,.. E*emple #e rsultat afficher$

Kom!re saisi $ -'P -'P se #compose en $ P units ' #izaines - centaine

Frdric Ravaut

Algorithmique / Programmation structure

TD-TP H Co$cle et test


*+ercice H,1 -. Ecrivez lalgorithme permettant #e saisir puis afficher un ta!leau #e -9 nom!res entiers. '. Ecrivez lanal.se #escen#ante puis lalgorithme et lorganigramme #e la recherche #u minimum et #u ma*imum #e ce ta!leau. 3. Ecrivez lanal.se #escen#ante puis lalgorithme et lorganigramme #u tri en or#re croissant #e ce ta!leau.

*+ercice H,Ecrire un programme " qui convertit un entier naturel en chiffres romains, en utilisant lancienne notation a##itive. E*emple $ > 1 ++++2, Q 1 V++++2, Q99 1 0""""2 ;appelons les lments #e !ase $ + $ -, V $5, C $ -9, : $ 59, " $ -99, 0 $ 599, W $ -999.

*+ercice H,. 8imulation #pargne. Vous pargnez une somme #e 39` tous les ' #e chaque mois sur un compte vous rapportant 9.3\ mensuel, avec #es intrts calculs tous les 39 Tours, le premier #e chaque mois. :es intrts se cumulent. Ecrivez lanal.se #escen#ante, lalgorithme o$ lorganigramme permettant #afficher le sol#e #e votre pargne au !out #un nom!re #e mois saisi par lutilisateur.

*+ercice H,/ Ecrire un programme " qui propose lutilisateur #e #essiner lcran certaines figures composes #toiles. :es figures seront proposes par un menu 1triangle, carr, sa!lier,2. :a hauteur #e la figure sera saisie par lutilisateur. E*emple $ hauteurH> ]]]]]]] ]]]]] ]]] ] ] ]]] ]]]]] ]]]]]]]

] ]]] ]]]]] ]]]]]]]

]]]] ]]]] ]]]] ]]]]

Frdric Ravaut

Algorithmique / Programmation structure

TD-TP I =ma1e% histo1ramme et binarisation


:o!Tectif #e ce <P est #e manipuler le ta!leau #e valeurs correspon#ant chaque point 1appel P+CE:2 #une image. Vous ne manipulerez pas une vraie image M na.ant pas #outil #e visualisation #es images en mo#e console, vous ne pourrez manipuler que #es nom!res sans visualiser le rsultat #e vos traitements.

*+ercice I,1 Ecrire un programme remplissant alatoirement un ta!leau #eu* #imensions 1matrice2 #e -9 lignes et '9 colonnes avec #es valeurs comprises entre 9 et '55 1!ornes comprises2. Afficher cette matrice lcran en respectant laspect rectangulaire #e la matrice.

*+ercice I,"omme #ans le*ercice sur les statistiques #es notes #u <06<P L !is, lhistogramme #une image tu#ie la rpartition statistique #e chaque valeur #e niveau #e gris #ans une image. 8on principe consiste, #ans un ta!leau histogramme #e '5L cases #e t.pe entier, compter com!ien limage contient #e pi*els #e niveau #e gris 9 et stoc@er cette valeur #ans la case 9 #u ta!leau histogramme, puis com!ien limage contient #e pi*els #e valeur - ranger #ans la case -, ainsi #e suite Tusqu compter le nom!re #e pi*els '55. Attention !! +l . a une mtho#e #e calcul rapi#e et une mtho#e tr/s lente. ;flchissez U "omplter le programme prc#ent pour quil calcule lhistogramme #e limage apr/s son remplissage alatoire. Affichez cet histogramme #e mani/re lisi!le lcran.

*+ercice I,. :a !inarisation #une image consiste, dans $ne ima1e secondaire afin de ne pas modifier l'ima1e ori1inale, mettre 9 tous les pi*els #e limage originale infrieurs une valeur seuil entre par lutilisateur M et mettre '55 tous les pi*els #e limage originale suprieurs ou gau* cette valeur seuil. "omplter nouveau le programme prc#ent pour . inclure la !inarisation et affichez la valeur #es pi*els #e limage !inarise en respectant laspect #e limage.

Frdric Ravaut

Algorithmique / Programmation structure

TDETP nKJ - ChaAnes de caract5res


"appels ( :es cha&nes #e caract/res sont #es ta!leau* #e caract/res #ont la particularit est #avoir, #ans la case utile le caract/re [Y9 qui marque la fin #e la cha&ne. "e caract/re spcifique #u langage " nest pas pris en compte par la fonction strlen12 mais #oit tre pris en compte lorsque vous #clarez votre cha&ne #e caract/res en aToutant - la taille N utile O #e la cha&ne.

*+ercice J,1 Ecrivez un programme " affichant un menu utilisateur proposant $ #e saisir une cha&ne #e caract/res #e convertir la cha&ne saisie en maTuscules 1vous ne mo#ifierez que les caract/res minuscules et ne toucherez pas au* autres #e convertir la cha&ne saisie en minuscules #e comparer ' cha&nes saisir 1utilisez strcmp2 #e compter la longueur #4une cha&ne #e concatner ' cha&nes #ans la premi/re 1attention au* #!or#ements2 #e cr.pter une cha&ne en appliquant un #calage circulaire #ont la valeur est entre par lutilisateur #e #cr.pter une cha&ne #e caract/re cr.pte en appliquant un #calage circulaire inverse partir #une valeur entre par lutilisateur.

"haque fonctionnalit sera gre #ans un sous6programme. Vous !lin#erez votre programme pour garantir que vous travaillez sur #es cha&nes non vi#es et re#eman#erez la saisie #ans le cas contraire. Vous ferez attention au* #!or#ements #e ta!leau.

Frdric Ravaut

Algorithmique / Programmation structure

TD-TP 1, PAC @AL


Rappels : "a progra##ation vne#entielle di$$re de la progra##ation s%uentielle classi%ue& u lieu d'e(cuter des instructions en s%uences les unes aprs les autres selon un ordre prdter#in par l'criture de votre code, vous allez prvoir des bouts de code adapt ) chacune des actions autorises ) l'utilisateur et vous #ettre en attente d'vne#ents& "ors%u'un vne#ent autoris sera dtect, vous anal*serez cet vne#ent pour en dter#iner la nature et e(cuter le #orceau de code correspondant ) l'action souhaite par l'utilisateur& *+ercice 1,,1 Ecrivez un programme " affichant un C qui part #u !or# gauche #e lcran et qui se #place se$l Tusquau !or# #roit, avant #e #ispara&tre. En mmoire, le C sera stoc@ #ans une matrice #e caract/res ' #imensions -9 lignes * '9 colonnes. :a position initiale #u C est alatoire. :affichage #e chaque tape #u #placement #u C correspon# laffichage complet #e la matrice. 1)tilisez la fonction clrscr12 pour netto.er lcran et viter le #placement #iagonal2

*+ercice 1,,Amliorez le programme prc#ent pour que le C rapparaisse gauche lorsquil est sorti #roite.

*+ercice 1,,. Wo#ifiez encore ce programme pour que lutilisateur puisse cette fois changer la #irection #e #placement #u C en utilisant les touches ', >, L et ? #u pav numrique 1 U Assurez6vous que le verrouillage numrique #u pav soit actif2. 1Vous pourrez, votre guise, choisir #autres touches2. :e C rappara&tra en haut ou en !as, gauche ou #roite, loppos #e sa sortie #e lcran. *+ercice 1,,/ AToutez une !or#ure votre ca#re #e Teu pour o!server leffet stro!oscopique lcran.

Frdric Ravaut

Algorithmique / Programmation structure

*+ercice 1,,0 Amliorez votre programme en . integrant la fonction goto*.1*,.2 ci6#essous qui utilise elle6mme #es fonctions #e positionnement #u curseur lcran qui se trouvent #ans la !i!lioth/que ain#oas.h 1un petit coup #e google pour compren#re comment marche cette fonction2. "ette fonction emm/ne le curseur la position *,. lcran , le coin haut gauche tant en -,-. Vous pouvez alors . afficher le caract/re #e votre choi*. void gotoxy( int x, int y ) { COORD mycoord; mycoord.X mycoord.Y ); + (s#ns ou,lier ,ien s-r d.inclure /indo/s.0) = x; = y;

SetConsoleCursor osition( !etStd"#ndle( S$D%O&$ &$%"'(D)* ), mycoord

*+ercice 1,,> Wo#ifiez encore une fois votre programme pour faire appara&tre alatoirement #es o!Tets #ans le terrain #e Teu et augmenter un score chaque fois que lutilisateur N mange O lo!Tet. 1Alatoire $ N sran#1time1K)::22 M O appeler une fois au #!ut #u programme puis N ran#12\* M O chaque fois que vous avez !esoin #un entier entre 9 et *6-, !ornes comprises. Vous ferez attention au* #!or#ements mmoire. Vous ferez vali#er chaque tape par votre charg #e <0/<P.

Frdric Ravaut

Das könnte Ihnen auch gefallen