Fiche algorithme : les séquences exercice n°10.

 

 

PLAN.

Phase 0 : Énoncé (spécifications). 1

Phase 1 : Étape de réflexion (conception abstraite). 1

Phase 2 : L'algorithme associé à son lexique (conception concrète). 1

Phase 3 : Programmation (codification). 2

Langage C en mode console avec DevC++. 2

Langage C++ en mode console avec DevC++. 3

Phase 4 : jeux d’essai (tests) 3

 

 

Phase 0 : Énoncé (spécifications).

       On veut calculer la surface et le périmètre d’un carré.

 

Phase 1 : Étape de réflexion (conception abstraite).

A partir de l'énoncé on doit définir les flux entrants (les données du problème), les flux sortants (les résultats du problème), et le moyen de passer des uns aux autres.

 

On détermine aisément les résultats ils font parties de l’énoncé (la surface et le périmètre d’un carré), ce qui n’est pas le cas des données.

On va donc mettre en place un calcul permettant de déterminer le résultat (de façon simple) ce qui fera apparaître par décomposition fonctionnelle les données indispensables.

 

Résultat

     Le périmètre du carré                     PERI

     La surface du carré                          SURF

Traitement

     PERI = 4 * COTE

     SURF = COTE²

Données

     Avec

     La longueur du coté du carré            COTE

 

Phase 2 : L'algorithme associé à son lexique (conception concrète).

Lexique

     Variables

     COTE           (réel)                          La longueur du coté du carré

     PERI             (réel)                          Le périmètre du carré

     SURF            (réel)                          La surface du carré

     Fonction intrinsèque

     Fonction CARRE (donnée X (réel)) résultat (réel)

     Ä retourne la valeur du carré de X

Début

     Lire(COTE)

     PERI ç 4 * COTE

     SURF ç Carré(COTE)

     Ecrire(PERI,SURF)

Fin

 

Phase 3 : Programmation (codification).

On peut désormais choisir un langage de programmation cible, et traduire le précédent algorithme pour en obtenir le programme correspondant …

 

Langage C en mode console avec DevC++.

#include <stdio.h>

#include <math.h>

 

/* déclaration des variables */

float COTE,PERI,SURF;

char BIDON;

 

int main()

{ /* acquisition des données*/

  printf("Entrer la longueur du coté du carré (en mètres)\n") ;

  scanf("%f",&COTE) ;

 

  /* traitement*/

  PERI = 4 * COTE;

  SURF = pow(COTE,2);  /* pow est une fonction de la bibliothèque math.h */

 

  /* restitution des résultats*/

  printf("\nLe périmètre est\n%10.2f mètres\n", PERI) ;

  printf("\nLa surface est\n%10.2f mètres carrés\n", SURF) ;

 

 /* pause et terminaison de programme */

      printf("\n\n\n");

      printf("fermer la fenetre pour quiter le programme") ;

 

      scanf(" %c",&BIDON);

      return 0;

 

}

 

Langage C++ en mode console avec DevC++.

#include <iostream.h>

#include <stdlib.h>

#include <math.h>

 

/* déclaration des variables */

float COTE,PERI,SURF;

 

int main()

{ /* acquisition des données*/

  cout << "Entrer la longueur du coté du carré (en mètres)\n" ;

  cin >> COTE ;

 

 

  /* traitement*/

  PERI = 4 * COTE;

  SURF = pow(COTE,2);  /* pow est une fonction de la bibliothèque math.h */

 

  /* restitution des résultats*/

  cout << '\n'

       << "Le périmètre est \n"

       << PERI

       << " mètres\n";

  cout << "\n"

       << "La surface est\n"

       << SURF

       << " mètres carrés\n";

 

  /* pause et terminaison de programme */

      cout << "\n\n\n";

 

      system("PAUSE");

      return 0;

}

 

Phase 4 : jeux d’essai (tests)

Rappel : Une application n'est définitivement valide qu'après avoir subi une phase de tests par l'intermédiaire d'un choix judicieux de jeux d’essai (échantillon de données correspondants à la réalité du problème à traiter).