Next: Les langages de programmation
Up: Introduction
Previous: Qu'est-ce qu'un programme?
Enoncé (flou) |
|
|
|
 |
Analyse |
|
|
|
Mod. données |
+ |
Algorithme |
|
|
|
|
|
 |
Codage |
|
|
|
|
|
|
 |
Mise au point |
|
|
Solution |
|
- Analyse
- définition précise du problème, choix du modèle
des données, choix de la méthode de resolution.
- Codage
- Traduction en langage de programmation.
- Mise au point
- passage sur machine avec tests et correction
d'erreurs.
Une méthode d'Analyse de Problèmes (première ébauche)
- 1.
- Déterminer le problème à résoudre:
- (a)
- quelles sont les entrées et quelle est leur nature?
- (b)
- quelles sont les sorties pour chaque cas des entrées?
- 2.
- Déterminer la méthode:
- (a)
- comment modéliser les données
(d'entrée, sortie, intermédiares)?
- (b)
- quelles sont les sous-tâches?
- (c)
- exprimer sous-forme d'algorithme la manière
d'obtenir le résultat final à partir des résultats
des sous-tâches.
- (d)
- détailler les sous-tâches.
- 3.
- Correction, complétude et lisibilite
- (a)
- A-t-on bien prevu tous les cas des entrées et sorties?
- (b)
- Obtient-on dans chaque cas ce que l'on voulait calculer?
- (c)
- Avons nous introduit suffisamment d'abstraction dans l'algorithme?
- (d)
- Notre algorithme est-il comprehensible par quelqu'un d'autre?
Exemple 1:
Enoncé du problème:
Calculer la somme des carrés de deux nombre entiers donnés.
Analyse:
- 1.
- Déterminer le problème à résoudre:
- (a)
- les entrées et leur nature
deux nombres entiers x,y
- (b)
- les sorties pour chaque cas des entrées
un entier z tel que
z= x2 + y2
- 2.
- Déterminer la méthode:
- (a)
- modélisation des données: x,y, z modélisés par des entiers.
- (b)
- les sous-calculs
- (c)
- l'algorithme
- 1.
- calculer a = x2
- 2.
- calculer b = y2
- 3.
- calculer z = a + b
- 4.
- le résultat final est z
- (d)
- L'algorithme est-il assez détaillé? Souvent,
les langages de programmation ne possèdent pas
d'opération d'exponentiation.
Détail des sous-calculs:
Données + algorithme:
- Données:
entrées: |
x,y nombres entiers |
sortie: |
z nombre entier. |
- Algorithme:
- 1.
- calculer a = x*x
- 2.
- calculer b = y*x
- 3.
- calculer z = a + b
- 4.
- le résultat final est z
Un codage possible en Ada
with Ada.Text_IO; with Ada.Integer_Text_IO;
use Ada.Text_IO; use Ada.Integer_Text_IO;
procedure somme_carre1 is
x: constant integer :=3;
y: constant integer :=4;
a,b,z: integer;
begin
a:= x*x;
b:= y*y;
z:= a+b;
put("Le resultat final est ");
put(z);
end
Next: Les langages de programmation
Up: Introduction
Previous: Qu'est-ce qu'un programme?
Maria-Viginia Aponte
2001-11-21