IntroductIon à l’algorIthmIque
Sommaire
• Introduction
• Définitions
• Méthode Informatique de Résolution d’un problème
• Pseudo-langage algorithmique
– Les données
– Les entrées/sorties
– Les constantes et les variables
– Les instructions
– Les types d’opérateurs
– Les procédures et les fonctions
• Conclusion
Introduction
Compilateur
Programme
(langage
machine)
Chargeur
Memoire
Memoire
Instruction Périphérique de
Données
Périphérique d’entré sortie
(clavier, sourie, (écran, imprimante,
microphone, etc.) hauts parleurs,
etc.)
CPU
#include <stdio.h>
Réalisation du
Traduction RESULTAT
modèle
• Problème • Schéma de • Programme
• Modèle résolution • Algorithme • Données
• Exemple
– Soit N=3815,
– Résultat h=1, m=3, s=35
Spécification
• Précondition:
– Spécification des données avant l’exécution du
programme
• Post condition:
– Spécification des données après l’exécution du
programme
• Pourquoi?
Une mauvaise spécification
• La spécification décrit-elle réellement ce que le
programme est supposé calculer?
• Exemple
– Soit N = 3815
– La solution h=1, m=3, s=35 correspond à la
spécification (1*3600 + 3*60 + 35 = 3815)
– Mais les solutions h=0, m=30, s=2015 et
h=0, m=0 and s=3815 correspondent aussi à la
spécification.
Alors qu’est ce qui ne va pas?
Une bonne spécification
• Précondition: N ≥ 0
• Un Autre algorithme:
– s = N mod 60
– x = N / 60
– m = x mod 60
– h = x / 60
void main() {
int N, h, m, s ;
printf(“> Programme Décomposer\n");
scanf("%d" , &N);
h = N / 3600;
m = (N % 3600) / 60;
s = N % 60;
printf(" %d heures %d minutes et %d seconds",h,m,s);
}
Exécution
> Programme Décomposer Temps
3815
1 heures, 3 minutes and 35 secondes