Vous êtes sur la page 1sur 2

L2 mention Sciences du Vivant Universit e Louis Pasteur

Programmation 3 2007/08

Examen
01 septembre 2008 dur ee : 1 heure 30
Tous les documents et dispositifs electroniques sont interdits. Les r eponses devront etre correctement justi ees. Une attention particuli` ere sera port ee ` a la clart e du texte, la propret e de la copie, lorthographe et la grammaire.

Exercice 1
On dispose dun tableau de taille xe de notes ( echelonn ees de 0 ` a 20 par demi-points : 0, 0.5, 1, . . . , 19.5, 20), que lon souhaite trier par ordre d ecroissant. En compl etant le sch ema ci-dessous (discuter notamment la repr esentation des notes par le type char), proposer une fonction ayant en param` etre deux tableaux (lun pour le tableau ` a trier, lautre pour le r esultat), et triant les notes en comptant, pour chaque valeur de note entre 0 et 20 le nombre doccurrences de son apparition dans le tableau. #define N ... // taille des tableaux de notes

typedef char Tab N; // definition du type des tableaux de notes void tri(Tab T_in, Tab T_out){ /* fonction de tri : T_out contient la version triee de T_in */ ... }

Exercice 2
On souhaite trier un tableau de taille xe contenant des valeurs r eelles. Pour ce faire, on se base sur la structure de donn ees suivante. #define N ... typedef struct tab{ unsigned int S; float T[N] } Tab; // taille maximale des tableaux

// taille effective du tableau // elements du tableau

N.B. : On suppose que tout tableau correctement d eni contient S el ements (S N) dans ses S premi` eres cases. 1. Pourquoi ne peut-on pas sappuyer sur une approche similaire ` a celle de lexercice 1 ? 2. D enir une fonction renvoyant le premier el ement dun tableau (contenant au moins un el ement). 3. D enir une fonction renvoyant, ` a partir dun tableau (contenant au moins un el ement), un tableau priv e de son premier el ement. 4. D enir une fonction renvoyant, ` a partir dun tableau, un tableau contenant tous les el ements inf erieurs ou egaux ` a une valeur donn ee en param` etre de la fonction. 5. D enir une fonction renvoyant, ` a partir dun tableau, un tableau contenant tous les el ements strictement sup erieurs ` a une valeur donn ee en param` etre de la fonction. 6. D enir une fonction renvoyant, ` a partir de deux tableaux et dune valeur r eelle, un tableau obtenu par concat enation du premier tableau, de la valeur r eelle, puis du second tableau. N.B. : On supposera que la somme des tailles eectives des deux tableaux ( S ) est strictement inf erieure ` a N. 7. En utilisant les fonctions pr ec edentes, d enir une fonction permettant de trier un tableau.