****************
** Solution **
****************
Question 1. : Algorithme
Algorithme Minimum3Fonct
Début /* Début de l’algorithme */
/* Définition de la fonction min( ) */
Fonction min(Entier x, Entier y, Entier z) : Entier /* La fonction possède 3 paramètres entiers */
/* Elle retourne une valeur entière */
{ /* Début du bloc de la fonction min( ) */
Variable A : Entier; /* Variable qui va représenter le minimum à calculer */
/* Calcul de A par affectation initiale et comparaisons successives */
A x; // On suppose que le minimum est x.
si y > A alors A y finsi; // Le nouveau minimum devient y.
si z > A alors A z finsi; // Le nouveau minimum devient z.
/* Retourner le résultat de la fonction */
Retourner A ;
} /* Fin du bloc de la fonction min( )*/
/* Fin de définition de la fonction min( ) */
/* Définition du bloc principal de l’algorithme */
/* Déclaration des variables */
Variable x, y, z : Entier;
Variable m : Entier;
/* Lecture à partir du clavier des trois variables x, y et z */
Afficher Entrez respectivement les variables x, y, z (toutes de type entier) ;
Lire x ;
Lire y ;
Lire z ;
/* Calcul de m par appel à la fonction min( ) */
m min(x,y,z);
/* Affichage */
Afficher x : , Afficher x ; Afficher <<SAUT DE LIGNE>> ;
Afficher y : , Afficher y ; Afficher <<SAUT DE LIGNE>> ;
Afficher z : , Afficher z ; Afficher <<SAUT DE LIGNE>> ;
Afficher Le minimum est : ; Afficher m ; Afficher <<SAUT DE LIGNE>> ;
Fin /* Fin de l’algorithme */
Question 2. : Traduction en langage C
Programme Minimum3Fonct.c
#include <stdio.h>
int min(int x, int y, int z)
{
int A;
A = x;
if (y<A) A=y;
if (z<A) A=z;
return A;
}
main( ) {
// Déclaration des variables
int x, y, z ; // Déclaration des variables
int m ; // Variable qui représente le minimum
// Lecture des variables
printf("S.V.P, entrez 3 entiers x, y et z :\n");
scanf("%d%d%d",&x,&y,&z);
// Calcul du minimum par appel à la fonction min()
// et affectation du résultat à la variable m