Techniques et outils de programmation Cahier de TD et de début de

Techniquesetoutilsdeprogrammation
CahierdeTDetdedébutdeTP
L12020(2015‐16)
TDn°1
Entrées/sorties,variables,types,déclarations,affectations,expressions
Exo1Affichage
Concevoirunalgorithmequiaffichelemessage'HelloWorld!'
Exo2Déclarationd'unevariable,affectationinitiale(initilisation)
Concevoirunalgorithmequiinitialiseunevariableentièreà5.
Exo3Affichageetsaisie
Concevoirunalgorithmequidemandesonnomàl'utilisateur,parexemple‘John’,puislui
affichelemessage'BonjourJohn,commentallezvous?'
Exo4Évaluationd'uneexpressionetaffectationdurésultat
Concevoirunalgorithmequiinitialisedeuxvariablesentièresxetyàl’aidedelasaisie
utilisateurpuisquiaffichelerésultatduproduitsouslaforme,parexempleavecx=2ety=
3,‘2x3=6’.Dansunepremièreversion,utiliserunevariableintermédiairezpourstockerle
résultatavantdel'afficher.Dansuneseconde,sepasserdelavariablez.
Exo5Affectationsuccessives(changementsd'étatd'unevariable)
Concevoirunalgorithmequiinitialisedeuxvariablesentièresnetp2puisafficheles6
premièrespuissancesde2successivessouslaformesuivante:
0)1
1)2
2)4
3)8
4)16
5)32
Achaqueétapedevotrealgorithme,vousdevezréutilisezlesvaleursprécédentesdenet
p2pourdéterminerleursvaleurssuivantes.
Ex6Transposition
Explorertouteslesmanièresdetransposerlesvaleursdedeuxvariables(demêmetype).
Concevoirunetechniquederotationdesvaleurssurunesériede5variables.
Ex7Synthèse
Concevoirunalgorithmequiafficheles10premierstermesdelasuitedeFibonaccien
n’utilisantpourcelaquedeuxvariables.
©PlatypusS.A.S.201516
TechniquesetoutilsdeprogrammationenC
CahierdeTDetdedébutdeTP
L12020(2015‐16)
TDn°2
Branchementsconditionnels,expressiondeconditions
Objectifspédagogiques:
● Branchementsimples
● Branchementsimbriqués
● Conditionscomplexes
● Synthèse
CeTDestàcompléterchezsoienlangagealgorithmique.
LatraductionenCseraeffectuéeaudébutdelaséancedeTPsuivante.
Branchementssimples
Exo1Pair/impair
Concevoirunalgorithmequiprendenparamètreunentieretquiaffichelavaleurdecet
entiersuiviedutexte‘estpair’sil’entierestpairetdutexte‘estimpair’sinon.
Exo2Supérieur/inférieur
Concevoirunalgorithmequiprendenparamètreunentierx,demandeàl’utilisateurde
saisirunentierypuisindiqueparunmessagesiyestsupérieurouinférieuràx.
Branchementsimbriqués
Exo3Intervalle
Concevoirunalgorithmequiprendenparamètredeuxentiersaetb,s’arrêteavecun
messaged’erreursia>b,etdemandesinonàl’utilisateurdesaisirunentierypuisindique
parunmessagesiyestdansl’intervalle[a,b]ounon.
Exo4Âgeetsexe
Concevoirunalgorithmequidemandeàl’utilisateursonnom,sonannéedenaissanceet
sonsexe(0:Mou1:F)puisquiafficheunmessagequisaluel’utilisateur,indiquesonâge,
enutilisantlapremièrepersonnesil’utilisateuramoinsde16ans,latroisièmesinon,enfin
s’ilest‘homme’(‘garçon’simoinsde16ans)ou‘femme’(‘fille’simoinsde16ans).
Exemples:
● BonjourBertand,tuas5ansettuesungarçon.
● BonjourJasmine,tuas15ansettuesunefille.
● BonjourPierre,vousavez50ansetvousêtesunhomme.
● Bonjoursophie,vousavez16ansetvousêtesunefemme.
©PlatypusS.A.S.201516
Conditionscomplexes
Exo5Conjonction
Concevoirunalgorithmequidemandeàl’utilisateurtroisentiersx,yetz,etquiretourne
vraisix=y=zetfauxsinon.
Ex6Disjonction
Concevoirunalgorithmequidemandeàl’utilisateurtroisentiersx,yetz,etquiretourne
vraisideuxaumoinsdestroisvariablessontégales,etfauxsinon.
Ex7Exclusivité
Concevoirunalgorithmequidemandeàl’utilisateurtroisentiersx,yetz,etquiretourne
vraisideuxestseulementdeuxdestroisvariablessontégales,etfauxsinon.
Synthèse
Exo8Calculatrice
Concevoirunalgorithmequidemandeàl’utilisateurdeuxentiersxety,lesopérandes,et
uncaractèreop,l’opérateuràchoisirparmi‘x’,‘/’,‘+’,‘’.Suivantl’opérateureffectuerpuis
afficherl’opération,parexemple‘2x3=6’.Sil’opérateurest‘/’etyvaut0,nepaseffectuer
l’opérationetafficherlemessaged’erreur‘Divisionpar0!’.
Exo9Jeudelavie
Soituncarrécomposéde3x3cellulesquipeuventêtrevivantesoumortes.Onnomme
les8cellulesdebordparlespointscardinaux.Parexemple,lacelluleswestlacellule
situéeausudouest,lacelluleeecellequiestpleinest.Lacellulecentraleestnomméec.
Larègledujeudelaviestipulequ’àlagénérationsuivante:
● sicestmorteetentouréepar3cellulesvivantes,alorselledevientvivante.
● sicestvivanteellesurvitssielleestentouréede2ou3cellulesvivantes.
Concevoirunalgorithmequiprendenparamètrenw,nn,ne,ee,se,ss,sw,ww,c,neuf
booléens,chacunvraisilacellulecorrespondanteestvivante,fauxsinon,etquiretourneun
booléenindiquantsilacellulecentraleestvivanteoumorteàlagénérationsuivante.
Exo10Résolutiond’équationsduseconddegré
Concevoirunalgorithmequisaisitdescoefficientsréelsa,betcd’unpolynômeP[X]=
aX
2
+bX+cpuisquiaffichelesracinesréellesoucomplexesdel’équationP[X]=0.
Lesplusmotivéspourrontrépéterl’exerciceavecleséquationsdedegré3.
©PlatypusS.A.S.201516
Techniques et outils de programmation en C
Cahier de TD et de début de TP
L1 2020 (2015-16)
TD n°3
Répétitions avec les boucles ttq et ftq
Objectifspédagogiques:
● Applicationsdesbouclessimples
● Synthèse
CeTDestàcompléterchezsoienlangagealgorithmique.
LatraductionenCseraeffectuéeaudébutdelaséancedeTPsuivante.
Applications des boucles simples
Boucle principale d’un programme
Ex 1 Menu principal d’un programme
Concevoirunalgorithmequi:
1. afficheunmenucomportantleschoixa,b,cproposésàl’utilisateur
2. suivantlechoixdel’utilisateur:
a. affiche‘HelloWorld!’etreparten1
b. affiche‘Howareyou?’etreparten1
c. termineleprogramme
d. choixincorrect:afficheunmessaged’erreuretreparten1
Lemenuàafficherestlesuivant:
a. ExecuteHelloWorld
b. ExecuteHowAreYou
c. Quit
Calcul d’une suite de valeurs
Ex 2 Suite de Fibonacci
Reprendrel’exercicedesynthèse7duTD1pourcalculeretafficherlespremierstermesde
lasuitedeFibonacci
jusqu’àunrangsaisiparl’utilisateur.
Calcul itératif avec critère de convergence
Ex 3 Calcul de PI
SuivantlaformuledeLeibniz,cidessus,concevoirunalgorithmeitératifquipermet(en
théorie,leTPétudieracequ’ilsepasseenpratique)decalculerpi
avecuneprécisione
fixéeparl’utilisateur.
©PlatypusS.A.S.201516
Dessiner en 2D
Ex 4 Dessins 2D
Dessinerundamierdetaillen
xn
dontchaquecelluleestconstituéedep
xp
pixels
représentésparuncaractère,lecaractèreblancpourlenoir,etlecaractère‘*’pourleblanc.
Dessiner,enblancsurfondnoir:
1. undamiersimple(chaquepixelalterneencouleuravecsesvoisinsdirects)
2. unesériedelignesdiagonalesmontantesàraisond’unesurtrois
3. unesériedeligneshorizontales,àraisond’unesurd’unesurtrois
4. unesériecadresconcentriques,enpartantdelarangéedespixelsdebord,età
raisond’uncadretoutesles3rangéesinternes
5. défi:tracerunespirale
Exercices de synthèse
Ex 5 Interaction utilisateur
Demanderàl'utilisateurdesaisirdesnombrespositifsounulsetlessommeràmesurequ'il
lessaisit.Quandl'utilisateursaisitunnombrenégatif,l'algorithmesetermineaprèsavoir
affichélasommedesnombrespositifsprécédents.Silapremièresaisiedel’utilisateurest
unnombrenégatif,leprogrammeretourne0.
Ex 6 Suite de Syracuse
Pourrappel,lasuitedeSyracuse
estlasuitequicalculechaque(nouveau)termeàpartirdu
précédent,endivisantcedernierpar2s’ilestpair,etenlemultipliantpar3etenluiajoutant
1s’ilestimpair.
ConcevoiretréaliserunprogrammequigénèrelasuitedeSyracusedetermeinitialun
entierstrictementpositif
saisiparl’utilisateur,etquis’arrêtequandestgénérélepremier
termedevaleur1.Chaquetermedelasuiteestaffichésurunenouvelleligne,souslaforme
suivante‘s(‘+n
+‘)=‘+s
n
,oùn
estlerangd’itérationets
n
letermederangn
(leterme
initialsaisiparl’utilisateurests
0
etdoitêtrelepremiertermeaffiché,demêmequeledernier
termevalant1).
Enoption,vouspouvezpermettreàl’utilisateurdegénérerautantdesuitesdeSyracuse
qu’illesouhaite.LasuitedeSyracusedetermeinitial27estspécialementintéressante.
©PlatypusS.A.S.201516
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !