DissertationsEnLigne.com - Dissertations gratuites, mémoires, discours et notes de recherche
Recherche

TP Algorithmique et C

Dissertations Gratuits : TP Algorithmique et C. Rechercher de 53 000+ Dissertation Gratuites et Mémoires
Page 1 sur 13

` l’aide d’un ´diteur de texte. On parle de programme source. Le fichier contenant un programme e source doit comporter l’extension .c (Ex: prog.c). 3

IUP AISEM/ICM L3

TP Algorithmique et C

2004/2005

Ce fichier source doit ensuite ˆtre compil´ pour cr´er un ex´cutable (fichier binaire) ou un fichier e e e e objet (d’extension .o). Ceci est fait en utilisant un compilateur. L’ex´cution du programme consiste tout simplement a taper son nom dans une fenˆtre terminal. e ` e Ces outils (traitement de texte et compilateur) seront lanc´s a partir d’une fenˆtre terminal sous e e la forme de commandes.

Edition du programme:

N’importe quel ´diteur de texte pourrait faire l’affaire. En pratique, vous utiliserez l’´diteur de e e textes emacs. Pour le lancer: taper emacs & dans la fenˆtre terminal (ou trouver la commande dans le menu e g´n´ral). e e Pour cr´er un nouveau fichier (programme): choisir open dans le menu file et taper son nom e (Ex: prog1.c). Taper le programme dans la fenˆtre d’´dition. Pour sauver: save dans le menu file e e Des outils d’´dition (couper, coller, etc...) sont disponibles (accessibles par le menu edit ou par des e raccourcis claviers). Attention: tout programme source devra ˆtre sauv´ en lui donnant l’extension .c, par exemple e e programme.c On peut aussi ´diter un programme existant en utilisant l’item open du menu file. e

Compilation:

Le compilateur C utilis´ sera un compilateur GNU: gcc e 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´cutable programme sera cr´´ qui pourra ˆtre lanc´ en tapant simplement e ee e e programme dans la fenˆtre terminal. e

Impression des listings

L’impression des listings se fait sur une imprimante connect´e au r´seau. A partir de la ligne de e e commande il suffit de taper la commande a2ps mon fichier.c pour sortir un listing format´ avec e entˆte. La commande a2ps est en fait un filtre d’impression qui traduit un texte ascii en postscript e en fonction de son type. Un fichier d’extension .c est ainsi reconnu comme un source C et trait´ en e cons´quence (commentaires en italiques, etc...). e Le contrˆle de l’impression se fait en utilisant la commande lpq qui permet de visualiser les o travaux d’impressions en attente. Chacun des travaux est associ´ a un num´ro qui doit ˆtre utilis´ e e e e pour l’enlever ´ventuellement de la file d’impression en invoquant la commande lprm et en lui e passant ce num´ro en argument. e Il est rappel´ que l’imprimante est une ressource collective. Le respect des autres utilisateurs e e e e e impose de v´rifier que l’impression que l’on a lanc´e s’est bien d´roul´e et ne bloque pas l’imprimante pour une raison ou pour une autre. Le papier est par ailleurs une ressource rare qui doit donc ˆtre e utilis´e a bon escient. e ` En pratique deux imprimantes sont reli´es au r´seau. L’une d’entre elles est d´finie comme e e e imprimante par d´faut mais on peut acc´der a l’autre en pr´cisant son nom grace a l’option -P. e e e ` 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´finie par d´faut e e d´pend de la machine sur laquelle vous travaillez. e

4

IUP AISEM/ICM L3

TP Algorithmique et C

2004/2005

S´ance 1 e

Manipulation de polynomes

Objectif

L’objectif du TP est de cr´er une biblioth`que de fonctions C permettant de manipuler des e e polynomes a coefficients r´els. On souhaite ´crire des fonctions permettant de: ` e e e – saisir un polynome (degr´ et valeurs des coefficients). – l’afficher a l’´cran. ` e – calculer sa valeur en un point. – calculer le polynome d´riv´. e e – additionner deux polynomes. – multiplier deux polynomes. – etc...

1.1

Repr´sentation d’un polynome e

Un polynome est caract´ris´ par son degr´ N et par N+1 coefficients. On choisira pour le e e e repr´senter d’utiliser une structure compos´e de deux menbres: e e – un entier pour son degr´ e – un pointeur vers un tableau de r´els pour ses coefficients e Le tableau sera allou´ dynamiquement en fonction du degr´ du polynome. e e Ecrire la structure permettant de repr´senter un polynome. e Ecrire un premier programme utilisant cette structure et initialisant (par exemple) le polynome: 3x2 − 4x + 2

1.2

Affichage d’un polynome

Ecrire une fonction prenant en param`tre un polynome (tel que d´finie a la question pr´c´dente) e e ` e e et l’affichant a l’´cran sous la forme (par exemple) 1 : ` e 3.00 x^2 -4.00 x^1 2.00 x^0 Tester cette fonction.

1. On pourra am´liorer la pr´sentation mais sans y consacrer trop de temps! e e

5

IUP AISEM/ICM L3

TP Algorithmique et C

2004/2005

1.3

Compilation s´par´e e e

Les fonctions de manipulation des polynomes ´tant suppos´es pouvoir ˆtre utilis´es a partir de e e e e ` e e e e diff´rents programmes, on souhaite regrouper ces fonctions dans un fichier source s´par´ accompagn´ d’un fichier d’entˆtes. e Le fichier d’entˆte (d’extension .h) doit contenir la d´finition de la structure et les d´clarations e e e des fonctions externes pouvant ˆtre appel´es. e e e e Le fichier source associ´ doit, lui, contenir les d´finitions des fonctions de manipulation. A partir du programme pr´c´dent, ´crire: e e e – le fichier contenant les d´finitions des fonctions (une seule pour l’instant). e – le fichier d’entˆtes contenant la d´finition de la structure. e e – le fichier contenant le programme principal (fonction main). Compiler et v´rifier le bon fonctionnement. e

1.4

Calcul de la valeur d’un polynome en x

Ecrire une fonction prenant en param`tre un polynome et une valeur r´elle x et renvoyant la e e valeur du polynome P (x). Comme toutes les fonctions a ´crire dans la suite du TP, cette fonction `e devra ˆtre d´finie dans le fichier de fonctions et d´clar´e dans le fichier d’entˆte. e e e e e Tester le bon fonctionnement de cette fonction dans le programme principal en utilisant le premier polynome pris en exemple et en calculant et affichant P (x) en diff´rents points. e

1.5

Cr´ation d’un polynome (Allocation m´moire) e e

Pour simplifier l’´criture des fonctions qui suivent, ´crire une fonction renvoyant un polynome e e (c.a.d. une structure d´finissant le polynome). Cette fonction aura en param`tre un entier contenant e e le degr´ du polynome et devra effectuer l’allocation dynamique du tableau contenant les coefficients. e On affectera au membre contenant le degr´ du polynome la valeur pass´ en param`tre (degr´). Par e e e e contre les coeficients du polynome ne seront pas affect´s. e Tester cette fonction sur l’exemple de la premi`re question en remplacant l’allocation dynamique e par l’appel de la fonction.

1.6

Saisie d’un polynome au clavier

e On souhaite disposer d’une fonction permetant de saisir au clavier les donn´es d’un polynome. La fonction a ´crire doit renvoyer un polynome. Elle ne n´cessite pas de param`tre. `e e e Elle est charg´e de: e – saisir au clavier le degr´ du polynome, e e e e – le cr´er en utilisant la fonction de la question pr´c´dente, – saisir les coefficients au clavier et les stocker dans le tableau, – retourner le polynome. Tester la fonction dans le programme principal. 6

IUP AISEM/ICM L3

TP Algorithmique et C

2004/2005

1.7

Calcul du polynome d´riv´ e e

La d´riv´e d’un polynome est un polynome de degr´ strictement inf´rieur. e e e e Ecrire (et tester) une fonction prenant en param`tre un polynome et renvoyant le polynome e d´riv´. e e

1.8

Somme de deux polynomes

La somme de deux polynomes est un polynome dont le degr´ est celui du polynome de plus haut e degr´. e Ecrire (et tester) une fonction prenant en param`tre deux polynomes et renvoyant le polynome e somme.

1.9

Produit de deux polynomes

Le

...

Télécharger au format  txt (19.3 Kb)   pdf (182.1 Kb)   docx (14.4 Kb)  
Voir 12 pages de plus »
Uniquement disponible sur DissertationsEnLigne.com