UNIVERSITE PAUL SABATIER TOULOUSE III TP Module 3 - Langage C L2 IUP AISEM 2004
UNIVERSITE PAUL SABATIER TOULOUSE III TP Module 3 - Langage C L2 IUP AISEM 2004/2005 J.M. ENJALBERT IUP AISEM L2 TP Langage C 2004/2005 Pr´ esentation de l’environnement de travail Session de travail Les s´ eances de TP langage C se d´ eroulent sur des machines fonctionnant sous LINUX dans l’environnement graphique KDE. LINUX est un syst` eme d’exploitation multi-taches et multi-utilisateurs. Chaque utilisateur poss` ede un compte identifi´ e par un nom de login et proteg´ e par un mot de passe. Il poss` ede par ailleurs un r´ epertoire personnel (espace personnel prot´ eg´ e sur le disque). Les machines ´ etant reli´ ees en r´ eseau (local!), l’acc` es a un compte utilisateur peut se faire in- diff´ eremment ` a partir de n’importe quelle machine. La proc´ edure permettant de travailler sur son compte consiste ` a: – rentrer son nom de login ` a l’invite: login: – rentrer son mot de pasee ` a l’invite: password: (attention, il n’y a pas d’´ echo a l’´ ecran des touches actionn´ ees) – lancer l’environnement graphique en tapant: startx – ouvrir une fenˆ etre terminal en cliquant sur l’icˆ one ad´ equate. (Toutes les entr´ ees au clavier sont valid´ ees par la touche enter) En fin de s´ eance la proc´ edure ` a suivre consiste ` a: – sortir de l’environnement graphique – se d´ econnecter en frappant sur la combinaison de touche CTRL-D – arr´ eter la machine ` a l’aide de la combinaison de touches CTRL-ALT-SUPPR (3 touches). (Ne pas utiliser l’interrupteur marche/arrˆ et!) Un nom de login vous sera fourni ` a la premi` ere s´ eance de TP. Il est de la forme: l2aisem ??. Le mot de passe par d´ efaut est: jsupe2004. Vous pouvez le modifier en utilisant la commande yppasswd. Outils pour la programmation en C L’´ ecriture, la compilation, la mise au point et l’ex´ ecution d’un programme C fait appel ` a diff´ erents outils. Les instructions du programme doivent ˆ etre rentr´ ees comme du texte normal dans un fichier ` a l’aide d’un ´ editeur de texte. On parle de programme source. Le fichier contenant un programme source doit comporter l’extension .c (Ex: prog.c). Ce fichier source doit ensuite ˆ etre compil´ e pour cr´ eer un ex´ ecutable (fichier binaire) ou un fichier objet (d’extension .o). Ceci est fait en utilisant un compilateur. L’ex´ ecution du programme consiste tout simplement ` a taper son nom dans une fenˆ etre terminal. Ces outils (traitement de texte et compilateur) seront lanc´ es a partir d’une fenˆ etre terminal sous la forme de commandes. 1 IUP AISEM L2 TP Langage C 2004/2005 Edition du programme: N’importe quel ´ editeur de texte pourrait faire l’affaire. En pratique, vous utiliserez l’´ editeur de textes emacs. Pour le lancer: taper emacs & dans la fenˆ etre terminal (ou trouver la commande dans le menu g´ en´ eral). Pour cr´ eer un nouveau fichier (programme): choisir open dans le menu file et taper son nom (Ex: prog1.c). Taper le programme dans la fenˆ etre d’´ edition. Pour sauver: save dans le menu file Des outils d’´ edition (couper, coller, etc...) sont disponibles (accessibles par le menu edit ou par des raccourcis claviers). Attention: tout programme source devra ˆ etre sauv´ e en lui donnant l’extension .c, par exemple programme.c On peut aussi ´ editer un programme existant en utilisant l’item open du menu file. Compilation: Le compilateur C utilis´ e sera un compilateur GNU: gcc Pour compiler, par exemple, le programme programme.c on tapera la ligne suivante: gcc -Wall -g -o programme programme.c -lm Si tout ce passe bien, l’ex´ ecutable programme sera cr´ e´ e qui pourra ˆ etre lanc´ e en tapant simple- ment programme dans la fenˆ etre terminal. Impression des listings L’impression des listings se fait sur une imprimante connect´ ee au r´ eseau. A partir de la ligne de commande il suffit de taper la commande a2ps mon fichier.c pour sortir un listing format´ e avec entˆ ete. La commande a2ps est en fait un filtre d’impression qui traduit un texte ascii en postscript en fonction de son type. Un fichier d’extension .c est ainsi reconnu comme un source C et trait´ e en cons´ equence (commentaires en italiques, etc...). Le contrˆ ole de l’impression se fait en utilisant la commande lpq qui permet de visualiser les travaux d’impressions en attente. Chacun des travaux est associ´ e a un num´ ero qui doit ˆ etre utilis´ e pour l’enlever ´ eventuellement de la file d’impression en invoquant la commande lprm et en lui passant ce num´ ero en argument. Il est rappel´ e que l’imprimante est une ressource collective. Le respect des autres utilisateurs impose de v´ erifier que l’impression que l’on a lanc´ ee s’est bien d´ eroul´ ee et ne bloque pas l’imprimante pour une raison ou pour une autre. Le papier est par ailleurs une ressource rare qui doit donc ˆ etre utilis´ ee ` a bon escient. En pratique deux imprimantes sont reli´ ees au r´ eseau. L’une d’entre elles est d´ efinie comme imprimante par d´ efaut mais on peut acc´ eder a l’autre en pr´ ecisant son nom grace ` a l’option -P. Par exemple: a2ps -Pimp1 prog.c enverra le travail d’impression sur l’imprimante 1 (a droite en entrant) et a2ps -Pimp2 prog.c l’enverra sur l’imprimante 2. L’imprimante d´ efinie par d´ efaut d´ epend de la machine sur laquelle vous travaillez. 2 IUP AISEM L2 TP Langage C 2004/2005 S´ eance 1 (affectation, instruction if else, entr´ ees/sorties clavier/´ ecran, boucles for) 1.1 Premier programme Ecrire un programme affichant a l’´ ecran un message de bienvenue. Le compiler puis l’ex´ ecuter. 1.2 Conversion Ecrire un programme qui lit un nombre au clavier (repr´ esentant une valeur en euros) et la convertit en francs. Rappel: 1 euro =6.55957 francs. On affichera le r´ esultat avec deux chiffres apr` es la virgule. 1.3 Equation du second degr´ e 1.3.1 Le calcul des racines d’une ´ equation du second degr´ e du type ax2+bx+c = 0 se fait en calculant d’abord son discriminant ∆= b2 −4ac. Ecrire un programme permettant de calculer ∆et d’afficher sa valeur ` a l’´ ecran pour des valeurs fix´ ees de a, b et c. 1.3.2 Compl´ eter le programme pr´ ec´ edent de mani` ere ` a pouvoir rentrer les valeurs de a, b et c au clavier. Compiler et tester. 1.3.3 Calculez et afficher les solutions de l’´ equation dans le cas ou ∆> 0. (x1 = (−b + √ ∆)/2a et x2 = (−b − √ ∆)/2a ) 1.3.4 Traiter les cas ∆= 0 (1 racine double: x = −b/2a) et ∆< 0 (2 racines complexes conjugu´ ees: x1 = −b/2a+ j p ( −∆)/2a) et x2 −b/2a −j p ( −∆)/2a)). Pour les racines complexes on affichera les parties r´ eelles et imaginaires. 3 IUP AISEM L2 TP Langage C 2004/2005 1.4 Calcul de moyenne On d´ esire ´ ecrire un programme dont le rˆ ole est de calculer la moyenne de N notes rentr´ es au clavier. L’utilisateur doit fournir le nombre N de notes puis la liste des N notes ` a la suite de quoi le r´ esultat (moyenne des N notes) doit s’afficher ` a l’´ ecran. Le nombre maximal de notes est fix´ e ` a 100. Que se passe t’il si l’utilisateur rentre d’abord la valeur 0? Proposer une solution pour tenir compte de ce cas. 4 IUP AISEM L2 TP Langage C 2004/2005 S´ eance 2 (boucle for, tableaux. fonctions.) 2.1 2.1.1 Pour x variant entre xmin et xmax avec un pas de δx, calculer et afficher y = ax2 + bx + c. Les coeficients r´ eels a,b et c seront rentr´ es au clavier par l’utilisateur. On prendra par exemple xmin = −1 et xmax = 1 Le pas sera fix´ e par l’utilisateur. On affichera les valeurs de x et de y correspondantes. 2.1.2 Utilisez un tableau pour stocker les valeurs de y puis calculer ` a partir des valeurs du tableau les valeurs minimale, maximale et moyenne de y. Cr´ eer des fonctions pour calculer chacune de ces valeurs (min, max. etc...). 2.1.3 Modifier la fonction calculant le minimum de y de mani` ere ` a ce qu’elle renvoie aussi la valeur de x correspondant ` a ce minimum. 2.2 Un peu d’algorithmique: Ecrire un programme permettant de dessiner un sapin en fixant la hauteur du cˆ one, la largeur et la hauteur du tronc et le nombre de boules (dont la position est al´ eatoire). Par exemple, pour un cone de hauteur 6, un tronc de hauteur 2 et de largeur 3 et 4 boules on doit obtenir un affichage du type: * *O* ***** **O***O *****O*** *********** ||| ||| 5 IUP AISEM L2 TP Langage C 2004/2005 Pour r´ esoudre le probl` eme, il est judicieux de le d´ ecomposer en trois ´ etapes: – Dessiner le cˆ one uploads/Industriel/ tp-aisem1-pdf.pdf
Documents similaires










-
38
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 12, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.0905MB