|
DEUG TI 2ème annéeInformatique Industrielle IISession de Juin 2001 |
Durée : 1h30. Cours, notes personnelles et documents distribués en cours autorisés.
Question 1 : On désire traiter des fonctions polynomiales d'une variable (par exemple : f(x)=4x5+2x3+8, ou g(x)=x100+1). Comment peut-on représenter en mémoire de telles fonctions ? On donnera plusieurs solutions, en précisant pour chacune ses avantages et inconvénients. On pourra accompagner ses explications de schémas. Le but est bien de stocker les informations définissant la fonction, et pas sa valeur pour un x donné.
Dans cette question vous ne donnerez que des explications en (bon) français, des déclarations, mais aucune instruction, encore moins un programme !
Pour la suite du problème, on choisit de représenter les fonctions à l'aide d'un entier représentant l'ordre maximal de la fonction, et un tableau regroupant les coefficients. L'exemple f(x) précédent serait stocké ainsi :
5 |
4 |
0 |
2 |
0 |
0 |
8 |
5 |
4 |
3 |
2 |
1 |
0 |
Question 2 : Donnez les déclarations globales nécessaires pour déclarer de tels polynômes. On suppose qu'on ne dépassera jamais l'ordre 100. Ecrivez un sous-programme effectuant la saisie d'un polynôme (qui demande son ordre et ses coefficients). Les variables correspondant aux valeurs saisies (ou leur adresse) seront passées en arguments de cette fonction (donc n'auront pas nécessairement le même nom que dans le programme appelant).
Question 3 : Ecrivez un sous-programme (fonction retournant "void") permettant d'afficher les coefficients d'un polynôme (toujours en passant les différentes valeurs en arguments, donc sans aucune variable globale).
Faites un programme principal (main) qui servirait à vérifier si tout ce qu'on a écrit jusqu'à présent fonctionne : vous y déclarez deux polynômes, puis vous appelez deux fois les sous-programmes de saisie et d'affichage (inutile de faire des boucles).
Question 4 : Ajoutez au programme précédent le calcul de la somme et du produit des deux polynômes. Vous pouvez inclure les instructions dans "main" ou (si vous êtes très perfectionniste) mettre en place des fonctions ou sous-programmes, mais ce n'est pas obligatoire.
Question 5 : Créez une fonction effectuant l'évaluation d'un tel polynôme, pour un x donné (évaluer signifie calculer f(x)). Cette fonction recevra en argument, en plus des valeurs définissant le polynôme, la valeur de x. Elle retournera la valeur calculée (donc f(x)). On calculera la puissance Nième de x en multipliant par x la puissance N-1ième.
Remarques : vous pouvez traiter les questions dans le désordre (mais numérotez-les). Si les fonctions ne vous inspirent pas, vous pouvez tout écrire dans le programme principal "main", mais la note sera plus faible. Comme vous l'avez peut-être remarqué, il faut vous dépêcher !
Barème (non précisé le jour de l'examen) : 3 - 6 - 5 - 5 - 4
pour retourner au sommaire des sujets d'examen, cliquez ici
Patrick TRAU, ULP - IPST juin 2001