Vous êtes sur la page 1sur 2

Algorithmique Avancée et Programmation

Série d'exercices n°2

Exercice 1

Écrire dans un nouveau projet « TP2 » un programme qui lit au clavier une suite de nombres
réels positifs ou nuls (correspondant à des notes), terminée par -1, mémorise le nombre de
valeurs entrées et calcule leur moyenne olympique, c'est à dire la moyenne des notes sans
prendre en compte la note la plus élevée ni la note la moins élevée. On n'utilisera pas de
tableau pour cet exercice. L'affichage en fin d'exécution devra être de la forme :

donnez une note (-1 pour arrêter)


donnez une note (-1 pour arrêter)
donnez une note (-1 pour arrêter)
donnez une note (-1 pour arrêter)
donnez une note (-1 pour arrêter)
donnez une note (-1 pour arrêter)
donnez une note (-1 pour arrêter)
6 notes ont été entrées. La note la plus élevée (18.0) et la note plus
basse (6.2) ont été retirées.
La moyenne olympique est : 12.75

Modifier le programme pour qu'il vérifie si la note saisie est bien inférieure à 20 et non
négative pour la prendre en compte dans le calcul final. Dans le cas contraire, le programme
précisera à l'utilisateur que la note entrée n'a pas été prise en compte. La saisie de -1 ne devra
pas provoquer cet affichage.

Exercice 2
Dans un programme Ex2.c, créer une fonction main permettant de :

- déclarer un tableau de 10 entiers ;

- l'initialiser avec 10 valeurs aléatoires entre 0 et 10.


On utilisera la fonction rand() de stdlib.h. On utilisera time(), de time.h, pour modifier le tirage à
chaque appel du programme.

Créer les fonctions suivantes (ces fonctions devront fonctionner pour n'importe quelle taille de
tableau) :

- afficher, qui affiche les éléments du tableau à l'aide d'une structure 'for' ;

- afficherPair, qui affiche les éléments pairs du tableau à l'aide d'une structure 'while' ;

- calculerMoyenne, qui retourne la moyenne des éléments du tableau ;


- trouverMin, qui retourne la valeur minimale du tableau ;

- inverserTableau, qui inverse le sens des éléments du tableau (modification du tableau passé
en paramètre).

- inverserCopieTableau, qui inverse le sens des éléments du tableau (en conservant intact le
tableau passé en paramètre).

Tester chacune de ces fonctions dans le main.

Exercice 3

1 - Ecrire une fonction permettant de trier dans l'ordre croissant les éléments d'un tableau
d'entiers passé en paramètre. Pour cela, on déplacera le maximum du tableau en sa dernière
position, puis le maximum des éléments non triés en avant-dernière position, et ainsi de suite.

Tester cette fonction.

2 - Écrire dans la fonction main une application qui simule grâce à des nombres aléatoires un
lancer de deux dés à six faces. Il existe 36 combinaisons et la somme des deux dés est
comprise entre 2 et 12 avec certaines sommes plus fréquentes que d’autres. Simuler 36 000
lancers et stocker la fréquence de chaque somme dans un tableau.

A l'aide de la fonction de tri, afficher dans l’ordre décroissant les sommes les plus
fréquemment obtenues par l'algorithme, ainsi que les fréquences correspondantes (sous forme
de pourcentage du nombre total de lancers).

Vous aimerez peut-être aussi