• Aucun résultat trouvé

2 MinMax 5 pts. U 25’

N/A
N/A
Protected

Academic year: 2022

Partager "2 MinMax 5 pts. U 25’"

Copied!
2
0
0

Texte intégral

(1)

Auteur: Mohamed Messabihi Matière: Initiation à l’algorithmique Date: 18 Janvier 2017

Durée: 1h30

Université Abou Bakr Belkaïd - Tlemcen Faculté des Sciences 1èreAnnée MI Semestre 1

Examen final

Aucun document n'est autorisé Les solutions doivent être rédigées en C

Les appareils portables doivent être éteints et posés sur le bureau du surveillant

1 Toto & Loulou 7 pts. U 20’

Qu’affiche le programme ci-dessous :

1 int Toto(int a, int b){

2 printf("a = %d, b = %d \n", a, b);

3 a++;

4 return a+b;

5 }

6 int Loulou(int c, int d){

7 d--;

8 return c*d;

9 printf("c = %d, d = %d \n", c, d);

10 }

11 void main(){

12 int a =1, b=2, c=3, d=4;

13 b = Toto (a,b);

14 c = Loulou(c,d);

15 printf("a = %d, b = %d, c = %d, d = %d \n", a, b, c, d);

16 }

Solution

2 MinMax 5 pts. U 25’

1. Écrire deux fonctions MIN et MAX qui retournent le minimum et le maximum de deux nombres réels donnés comme paramètres.

Solution

1 double MIN(double a, double b) 2 {

3 return (a<b) ? a : b; 4 }

5 double MAX(double a, double b) 6 {

7 return (a>b) ? a : b; 8 }

1/2

(2)

2. Écrire deux autres fonctionsMIN_4etMAX_4se servant des fonctions MIN et MAX pour retourner le minimum et le maximum de quatre nombres réels passés comme paramètres.

Solution

1 double MIN_4(double a, double b, double c, double d) 2 {

3 return MIN(MIN(a,b), MIN(c,d));

4 }

5 double MAX_4(double a, double b, double c, double d) 6 {

7 return MAX(MAX(a,b), MAX(c,d));

8 }

3. Écrire un programme pour tester les deux fonctionsMIN_4etMAX_4.

Solution

1 void main() 2 {

3 double A,B,C,D;

4 printf(" Introduire 4 reels : ");

5 scanf("%lf %lf %lf %lf", &A, &B, &C, &D);

6 printf("Le minimum des 4 reels est %f \n", MIN_4( A,B,C,D));

7 printf("Le maximum des 4 reels est %f \n", MAX_4( A,B,C,D));

8 }

3 Simplification de fraction 8 pts. U 45’

Écrire une fonctionSimplicationqui reçoit deux valeurs en paramètre représentant le numé- rateur et le dénominateur d’une fraction et puis affiche une fraction équivalente simplifiée. Par exemple, si les valeurs données initialement sont 18 et 27, la fonction affichera les messages sui- vants :

La fraction initiale est : 18/27 La fraction simpliée est : 2/3

Solution

1 void Simplification_Fraction(int numerateur, int denominateur) 2 {

3 int diviseur=2;

4 printf("\ nLa fraction initiale : %d/%d\n", numerateur, denominateur);

5 while((numerateur >= diviseur) && (denominateur >= diviseur))

6 {

7 if ((numerateur % diviseur == 0) && (denominateur % diviseur == 0))

8 {

9 numerateur = numerateur / diviseur;

10 denominateur = denominateur / diviseur;

11 }

12 else

13 diviseur++;

14 }

15 printf("\ nLa fraction simplifiee : %d/%d\n", numerateur, denominateur);

16 }

« Bon courage » 2/2

Références

Documents relatifs

Méthode pour la transformation d’une série quelconque, ou du rapport entre deux séries, en une fraction continue équivalente.. Annales de Mathématiques pures et appliquées, tome

En effectuant des calculs, trouve la longueur IJ : Exercice 6 : I Pour chacune des questions ci-dessous, plusieurs réponses te sont proposées, une seule est juste.. Souligne la

Déterminer le PGCD de 252 et 120 en décomposant en facteurs premiers?. Simplifier la

[r]

– sinon, si l’étudiant a validé un minimum de 30 crédits avec au moins 10 crédits dans un semestre et 20 crédits dans l’autre, alors l’étudiant est déclaré comme admis

Écrire une fonction stringToDouble qui prend en entrée une chaine de caractère (on suppose qu’elle respecte le format ci-dessus, pas besoin donc de la vérifier) et qui renvoie un

Savoir en jeu Fractions partage, fractions décimale de dénominateur 10 ; cette séance s’inscrit dans le parcours de la construction du nombre décimal.. Objectifs

Au total, elle a déjà 3 point de retard… qu’elle doit rattraper au dernier devoir, donc elle doit avoir 10+3=13. Elle avait promis à ses parents d'avoir 12 de moyenne