08-09-TD-TP-langage-C-global.doc

Rassurez-vous, votre chargé de TD-TP saura très bien jouer le client RATP ;-) ...
Vous préciserez, pour chaque exercice les variables (ressources) qui vous ...

Part of the document




TD-TP 1 - Analyse des besoins


Vous n'êtes pas encore ingénieur ni même informaticien mais vous savez
réfléchir.

Etre ingénieur, c'est quoi ? Apporter une solution à un besoin.

Comprendre le besoin : nécessite la compréhension du haut niveau
Élaborer la solution : nécessite la maîtrise du bas niveau.

Entre les 2, les phases d'analyse, de conception et de test.
But de la formation : acquérir ces notions.

Commençons donc par réfléchir en français (avant le C) !!

Un client vous exprime ces attentes. Il rarement clair, rarement complet...
1. Identifiez ses attentes, faites préciser les points flous, posez des
hypothèses...
2. Déterminez les ressources qui vous seront nécessaires (charge mémoire)
3. Déterminez les traitements (actions) à exécuter et leur ordre
d'exécution (charge processeur)

Rappelez-vous, ce qui nous intéresse ici c'est : comment vous y prendriez-
vous pour...

Exercice 101

Afficher le plus petit d'une liste de 5 nombres.


Exercice 102

Vous souhaitez échanger le contenu de 2 variables en mémoire A et B.
Comment vous y prenez-vous ? (exprimez vous en français)


Exercice 103

Vous avez devant vous un verre à pied contenant du vin et un verre droit
contenant de l'eau.
But : échanger le contenu des 2 verres. Comment vous y prenez-vous ?
[pic]
Situation de départ situation d'arrivée ou résultat

Exercice 104

Vous souhaitez échanger le contenu de 2 variables en mémoire A et B.
Comment vous y prenez-vous ? (votre méthode a-t-elle changée par rapport à
l'exo 102 ?)


Exercice 105

La RATP vous demande de l'aider à améliorer le trafic de la ligne de bus
n°48.
(un peu vague, non ?) Rassurez-vous, votre chargé de TD-TP saura très bien
jouer le client RATP ;-)



TD-TP 2 - Compréhension des besoins, analyse chronologique et descendante



Analyse chronologique et descendante

Cette fois-ci, formalisons un peu notre pensée.

Rédigez l'analyse chronologique et descendante des problèmes qui vous sont
proposés. Vous ne dépasserez pas 10 étapes élémentaires dans vos analyses.
Vous préciserez, pour chaque exercice les variables (ressources) qui vous
semblent nécessaires pour stocker les informations et les éléments de
calcul en précisant leur type.
Enfin, vous réaliserez l'algorithme ou l'organigramme correspondant à votre
analyse descendante.

Les différentes étapes de votre analyse chrono-desc. doivent être reprises
comme commentaires dans votre algo.



Exercice 201


Problème : Programmer un automate distributeur de boissons

Hypothèses : On considèrera que l'automate dispose de boissons en
nombre suffisant.



Exercice 202


Problème : Programmer un automate distributeur de billets de banque

Hypothèses : A vous d'imaginer...



Exercice 203


La pâte à crêpes !


Listez les ingrédients (les ressources) et décrivez la recette
(analyse chronologique et descendante) de la pâte à crêpes.
Ecrivez l'organigramme correspondant.


Exercice 204


Problème : rechercher le minimum de 10 valeurs.

Hypothèses :


les valeurs seront entrées au clavier par l'utilisateur,
le type des valeurs est entier






TD-TP 3 - Algorithme et organigramme, traces d'exécution



Exercice 301


Problème : trier un tableau de 5 entiers.

En plus de l'analyse chrono-desc.(ACD), écrivez l'algorithme ou
l'organigramme et faites tourner votre programme à la main en listant
les ressources et en fournissant la trace d'exécution simulant
l'exécution de votre code.


Ex : nb1 nb2 nb3
4 8 2
4 2 8 la trace d'exécution montre l'évolution
des variables
2...



Exercice 302


Ecrivez l'analyse CD, un algorithme et un organigramme qui demande
deux entiers et indique lequel est le plus petit, lequel est le plus
grand.



Exercice 303


Ecrivez l'ACD, puis un algorithme et un organigramme qui demande un
entier et indique s'il est pair ou impair.



Soyez très rigoureux dans l'indentation de vos algorithmes !

L'exercice 1 du sujet suivant vous montre les erreurs potentielles
d'interprétation si l'indentation n'est pas respectée.

Rappel : en l'absence de bloc debut-fin ou {-} les boucles et les tests ne
portent que sur l'instruction qui suit immédiatement.


TD-TP 4 - Indentation, trace d'exécution, logique, opération



Exercice 401


Vous savez que la machine ne se préoccupe pas de l'indentation de vos
programmes et que cette dernière apporte un confort pour les relecteurs de
votre code. Pour vous en convaincre, voici des algorithmes écrits avec une
indentation un peu vague. Essayez de vous y retrouver et d'en comprendre
l'importance de respecter une indentation correcte dans vos programmes.

Rappelez-vous que sans bloc, la machine ne conditionne ou ne répète qu'une
seule instruction.


X,Y, et Z étant des variables numériques, on considère les deux séquences
algorithmiques S1 et S2 :

|Séquence S1 |Séquence S2 |
| | |
|DEBUT |DEBUT |
|si (X2) et Z>3 alors |si X2 et Z>3) alors |
|DEBUT |DEBUT |
|X :=1 |X :=1 |
|si (Z-Y) >0 alors |FIN |
|Z :=0 |si (Z-Y) >0 alors |
|Y :=Y+Z |DEBUT |
|FIN |Z :=0 |
|sinon |Y :=Y+Z |
|X :=2 |FIN |
|Z :=Y+Z |sinon |
|fin |DEBUT |
| |X :=2 |
| |Z :=Y+Z |
| |FIN |
| |fin |



Pour chacune des deux séquences, donner les traces d'exécution de X, Y, et
Z si l'on suppose qu'à l'état initial ces trois variables ont les valeurs :
a) X :=4 Y :=1 Z :=4
b) X :=4 Y :=5 Z :=4
c) X :=1 Y :=3 Z :=1



Exercice 402


Afin d'analyser des résultats d'examen, 4 variables permettent de décrire
l'environnement :

les variables numériques Nlv, Nf, Nm, Np qui indiquent respectivement, pour
un candidat donné :
o des notes littéraires : langue vivante (Nlv), de français (Nf)
o des notes scientifiques : mathématiques (Nm), et physique (Np).

On suppose que les notes sont calculées sur 20 et qu'elles ont toutes le
même coefficient.






Formez les expressions logiques (et seulement elles) correspondant aux
situations suivantes :

1) la moyenne des quatre notes est supérieure à 10
2) les notes de mathématiques et de français sont supérieures à la moyenne
des quatre notes
3) il y a au moins une note supérieure à 10
4) toutes les notes sont supérieures à 10
5) la moyenne (10) est obtenue pour l'un des deux types (littéraire et
scientifique)
6) la moyenne des quatre notes est supérieure ou égale à 10 et la moyenne
(10) est obtenue pour l'un des deux types




Exercice 403


Donnez l'analyse chrono-descendante et l'algorithme qui détermine le nombre
de valeurs distinctes parmi trois variables à faire saisir par
l'utilisateur. (ex : 8, 8 et 8 saisi par l'utilisateur donne 1 valeur
distincte ; 8,1,8 en donne 2 et 8,2,5 en donne 3).



Exercice 404


Résolution d'équation du second degré.

Ecrivez l'ACD et l'algorithme d'un programme calculant les solutions d'une
équation du second degré dont les coefficients sont saisis par
l'utilisateur.
Décrivez les ressources.
Faites tourner votre solution à la main sur des exemples en indiquant la
trace d'exécution listant l'évolution du contenu de chacune des ressources.
Vous penserez à tous les cas possibles.




TD-TP 5 - Composants d'un ordinateur et bases numériques



Exercice 501 Présentation de l'ordinateur



Listez les composants internes et externes d'un ordinateur. Donnez le ou
les critère(s) de performance pour chacun de ces composants (exemple :
« capacité » pour la mémoire). Précisez les unités utilisées pour mesurer
chacune de ces performances. Donnez enfin une valeur « actuelle » moyenne
pour chacune de ces mesures (Vous pourrez utiliser internet pour les
obtenir).
Vous regrouperez dans un tableau l'ensemble de ces informations.


Exercice 502 Conversion de bases


Convertissez par la méthode des puissances puis la méthode des divisions
successives les nombres suivants :

(345)10 ( ? )2

(1618)10 ( ? )2

Conversion en sens inverse :

(10110010)2 ( ? )10

(11111111)2 ( ? )10


Exercice 503


Convertissez par la méthode des puissances les nombres suivants :

10. ( ? )8

(1758)10 ( ? )8 ( ? )16

( ? )10 (654)8 ( ? )16

( ? )10 (129)8 ( ? )16

( ? )10 ( ? )8 (1A7EF)16 ( ? )7 ( ? )3





Exercice 504 Codage de l'information


Combien d'informations pouvez-vous coder sur 2 bits ? sur 8 bits ?
Quels sont les codes associés à ces informations ?
Quelles sont les valeurs numériques entières associées à ces codes ? en
signé ? en non-signé ?
Si vous souhaitez associer un code à chaque étud