Guillaume Rivière 2016 – 2017

Le logo de la CCI Bayonne Pays Basque

Programmation Procédurale en langage C

Niveau3 - Mini-programmes avec fonction (grade E)

Exercice 1 • Décomptage des nombres positifs

a) Écrire UNE FONCTION qui reçoit en paramètre le nombre N de nombres à saisir, qui demande la valeur de N nombres à l'utilisateur, puis retourne le nombre de nombres positifs saisis. Le prototype de la fonction sera le suivant :

int saisir_nombres (int N) ;

b) Écrire UN PROGRAMME qui demande 3 nombres à l'utilisateur et qui affiche combien de nombres étaient positifs et combien étaient négatifs

Remarque : le programme (b) doit bien entendu faire usage de la fonction créée au (a) pour aider à résoudre le problème.

Exemples d'exécution du programme :

Exemple pour 3 nombres
Figure 1.1
Exemple pour 3 nombres
Figure 1.2

c) Écrire UN PROGRAMME qui commence par demander à l'utilisateur d'indiquer combien de nombres il souhaite saisir, puis qui demande les nombres à l'utilisateur. Enfin, le programme affiche combien de nombres étaient positifs et combien étaient négatifs.

Remarque : le programme (c) doit bien entendu faire usage de la fonction créée au (a) pour aider à résoudre le problème.

Exemples d'exécution du programme :

Exemple pour 5 nombres
Figure 1.3
Exemple pour 7 nombres
Figure 1.4

Consulter une correction du (a)

Consulter une correction du (b)

Attention, ceci ne réponds pas au (b)

Consulter une correction du (c)

Attention, ceci ne réponds pas au (c)

Exercice 2 • Points dans le carré

a) Écrire UNE FONCTION qui permet de savoir si un point s'inscrit à l'intérieur d'un carré ABCD. Le carré est déterminé par la position de son coin supérieur gauche de coordonnées (Ax; Ay) et par la longueur L de ses côtés. Les coordonnées du point qui doit être vérifié sont données son abscisse Px et son ordonnée Py. La fonction retournera vrai si le point est strictement à l'intérieur du carré, et faux sinon. Le prototype de la fonction sera le suivant :

char dans_le_carre (double Ax, double Ay, double L, double Px, double Py) ;

b) Écrire UN PROGRAMME dans lequel l'utilisateur saisira la longueur des côtés du carré et la position du carré. Puis, le programme comptera combien des 5 points suivants sont à l'intérieur du cercle, les abscisses (points_x) et ordonnées (points_y) des 5 points à examiner étant données par les 2 tableaux suivants (que vous déclarerez au début du programme) :

double points_x[5] = { -1.6, 3.2, 6.4, 7.8, 12.6 } ;
double points_y[5] = { 2.5, 12.4, 8.8, 5.6, 11.5 } ;

Remarque : le programme (b) doit bien entendu faire usage de la fonction créée au (a) pour aider à résoudre le problème.

Exemple d'exécution du programme :

Exemple pour un carre
Figure 2.1
Illustration graphique du carre
Figure 2.2

c) Écrire UN PROGRAMME dans lequel l'utilisateur entre les coordonnées de 5 points, qui indique à chaque fois quels sont les points à l'intérieur du carré, décrit par les variables ci-dessous, et qui indique à la fin le décompte des points qui étaient dans le carré.

double Ax = 4.2 ; /* abscisse du coin superieur gauche du carre */
double Ay = 9.8 ; /* ordonnee du coin superieur gauche du carre */
double L = 5.2 ; /* largeur des cotes du carre */

Remarque : le programme (c) doit bien entendu faire usage de la fonction créée au (a) pour aider à résoudre le problème.

Exemple d'exécution du programme :

Exemple pour un carre
Figure 2.3
Illustration graphique du carre
Figure 2.4

Consulter une correction du (a)

Consulter une correction du (b)

Attention, ceci ne réponds pas au (b)

Consulter une correction du (c)

Attention, ceci ne réponds pas au (c)