1
Spécifications de Problèmes
2
Plan
•Définition
•Motivation
•Qualités attendues
•Types de formalismes
•Rappels du cours de programmation
•Spécifications structurées
–Exemple
–Niveaux d'abstraction
3
COMMENT
procedure CalculerMax(t,max)
max=t[1];
For i:=1 to Length(t) do
if t[i]>max then max:=t[i]
QUOI
- On reçoit un tableau d'entiers t
- On calcule max
- A la fin de l'exécution du programme,
max est aussi grand que tous les élément
du tableau t
Spécification:
Définition
•Petit Larousse: "Spécifier quelque chose, c'est le déterminer,
l'exprimer de manière précise"
•Spécification
= description d'un problème (informatique) à résoudre ou résolu
•Dire QUOI (le problème) sans dire COMMENT (une solution)
–Solution = algorithme dans un langage de programmation
–Problème = indépendant de la façon de le résoudre et du langage de
programmation
•Exemple: CalculerMax(t,max):
4
Spécification:
Motivation
•Une spécification permet de
–Décrire ce que fait un programme existant de
manière plus abstraite pour
•le comprendre ou l'expliquer
•le refaire ou le changer
–Imaginer plusieurs solutions à un problème
–Communiquer le problème à quelqu'un qui va le
résoudre
–Dériver méthodiquement une solution (par
invariant)
–Vérifier (voir prouver) que la solution résoud le
problème
–...
5
Spécification: Qualités Attendues
•Précise, non-ambiguë
–que veut dire aussi grand ?
= ou > ou >= ?
•Complète
–quid si t est vide?
•Minimale (pas d'info superflue)
–pas de redondance
–pas d'éléments de solution
•Cohérente (pas de
contradictions)
•Claire et compréhensible
–simple
–structurée
QUOI
- On reçoit un tableau d'entiers t
- On calcule max
- A la fin de l'exécution du
programme, max est aussi grand
que tous les élément du tableau t
Qualités parfois
complémentaires
ou contradictoires !
1 / 30 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!