Pages

vendredi 7 février 2014

Exercices corrigés en algorithmique : Les sous programmes (les procédures et fonctions)

Exercice 1 :

Ecrire un sous programme qui reçoit un nombre réel, comme paramètre, teste s’il est négatif, positif ou nul et affiche le résultat à l’écran.
Prévoir un algorithme appelant ce sous programme.

Correction exercice 1 :

Procedure  signe(a :réel)();
Debut
                Si a>0 alors
                               Ecrire (‘le nombre est positif’)
                Sinon
                          Si a<0 alors
                                               Ecrire (‘le nombre est negatif’)
                          Sinon
                                               Ecrire (‘le nombre est nul’) ;
                          Finsi
                Finsi
fin

Algorithme determination signe ;
Var
                X : réel ;
Debut
                Ecrire(‘Entrer un nombre réel ‘) ;
                Lire(x) ;
                Signe(X)() ;
fin

Exercice 2 :

Ecrire un sous programme permettant de calculer la surface d’un trapèze.
Prévoir un algorithme appelant ce sous programme.
N.B :
                           S= (Gb+Pb)*h/2
                             Avec :
                                               Gb : grande base du trapèze
                                               Pb : petite base du trapèze
                                               h :  la hauteur du trapèze

Correction exercice 2 :

Fonction surface (Gb,Pb,h :réel)( ) :réel;
Var
                S : réel ;
Debut
                S <-- (Gb+Pb)*h/2 ;
                Retour (S) ;
fin

Algorithme surface_trapeze;
Var
                X,Y,Z,T : réel ;
Debut
                Ecrire(‘Entrer  la grande base : ‘) ;
                Lire(X) ;
                Ecrire(‘Entrer  la petite base : ‘) ;
                Lire(Y) ;
                Ecrire(‘Entrer  la hauteur: ‘) ;
                Lire(Z) ;
                T  <--  surface(X ,Y,Z)() ;
                Ecrire(‘la surface de ce trapèze est :’,T) ;
fin

Exercice 3 :

On désire effectuer des opérations arithmétiques usuelles sur les nombres réels.
Ecrire un algorithme contenant les sous programmes suivants :
-Une procédure saisie d’un nombre réel,
-Une procédure affichage d’un nombre réel,
-Une procédure somme de deux nombres réels,
-Une procédure différence de deux nombre réels,
-Une procédure rapport de deux nombres réels,
-Une fonction racine carrée d’un nombre réel,
-Une fonction  carrée d’un nombre réel,
-Une procédure menu de gestion de toutes ces opérations.

Correction exercice 3 :

-   Procédure saisie :

Procedure saisie ()( A :réel) ;
Debut
                Ecrire(‘entrer un nombre reel :’);
                Lire(A) ;
fin

- Procédure affichge :

Procedure affichage (A :réel)( ) ;
Debut
                Ecrire(‘le resultat est :’,A);
fin

- Procédure somme :

Procedure somme (A ,B:réel)(S :réel ) ;
Debut
                S ß<--  A+B ;
fin

- Procédure différence :

Procedure difference (A ,B:réel)( D :réel) ;
Debut
                D <--  A-B ;
fin

- Procédure produit :

Procedure produit (A ,B:réel)( P :réel) ;
Debut
                P <--  A*B ;
fin

- Procédure rapport:

Procedure produit (A ,B:réel)( R :réel) ;
Debut
                R <--  A/B ;
fin

-Fonction  inverse:

Fonction inverse (A :réel)( ) : réel;
Var
                I : réel ;
Debut
                I <-- 1/A;
                Retour (I) ;
fin

- Fonction racine carrée :

Fonction racine (A :réel)( ) : réel;
Var
                R : réel ;
Debut
                R<-- sqrt(A);
                Retour (R) ;
fin

-Fonction  carrée :

Fonction carree (A :réel)( ) : réel;
Var
                C : réel ;
Debut
                C<-- A*A ;
                Retour (C) ;
fin

- Procédure menu  :

Procedure menu()( ) ;
Var
                Choix : Caractère ;
Debut
            Ecrire(‘*************** Menu ****************’);
Ecrire(‘ 1   ********** **Somme ***************’);
Ecrire(‘2 *************Différence**************’);
Ecrire(‘3 ************* Produit****************’);
Ecrire(‘4 ************* Rapport ***************’);
Ecrire(‘5 ************* Inverse ****************’);
Ecrire(‘6 ************ Racine carrée ************’);
Ecrire(‘7 ************ * carrée ****************’);
Ecrire(‘8 ************** Quitter ***************’);
Ecrire(‘*************************************’);
            Ecrire(‘entre votre choix :’) ;
Lire(choix) ;
           Cas choix
‘1’ :        saisie()(X) ;
                saisie()(Y) ;
                somme(X,Y)(Z) ;
                affichage(Z)() ;
‘2’ :        saisie()(X) ;
                saisie()(Y) ;
                difference (X,Y)(Z) ;
                affichage(Z)() ;
‘3’ :        saisie()(X) ;
                saisie()(Y) ;
                produit (X,Y)(Z) ;
                affichage(Z)() ;
 ‘4’ :       saisie()(X) ;
                saisie()(Y) ;
                si Y=0 alors
                               Ecrire(‘calcul impossible !! ‘)
                Sinon
                               rapport(X,Y)(Z) ;
                               affichage(Z)() ;
                Finsi
‘5’ :        saisie()(X) ;
                si X=0 alors
                               Ecrire(‘calcul impossible !! ‘)
                Sinon
                               Z <--  inverse (X)() ;
                               affichage(Z)() ;
                Finsi
‘6’ :        saisie()(X) ;
                si X<0 alors
                               Ecrire(‘calcul impossible !! ‘)
                Sinon
                               Z <--  racine (X)() ;
                               affichage(Z)() ;
                Finsi
‘7’ :        saisie()(X) ;
                Z <--  carree(X)() ;
                affichage(Z)() ;
‘8’ :        Ecrire (‘A bien tôt ‘) ;
Sinon
Ecrire (‘votre choix est mauvais ‘) ;
      Fincas ;
Fin

-   Algorithme  permettant d’appeler cette procédure menu de gestion de toutes les opérations :

Algorithme calculs_réels;
Var
                X,Y,Z : réel ;
Debut
                Tantque (3<4) (*boucle infinie*)
                               Menu()() ;
                Fintantque
fin


Aucun commentaire:

Enregistrer un commentaire

Partenaires

Computers Blogs

Contactez-nous

Nom

E-mail *

Message *

Tous droits resérvés-www.exercices-corriges.com Seo Blogger Templates