Cours Algorithmique et Analyse : Introduction Mathieu Roche Jérôme Azé Fondé sur le polycopié...
-
Upload
filibert-cheron -
Category
Documents
-
view
116 -
download
12
Transcript of Cours Algorithmique et Analyse : Introduction Mathieu Roche Jérôme Azé Fondé sur le polycopié...
Cours Algorithmique et Analyse :
Introduction
Mathieu RocheJérôme Azé
Fondé sur le polycopié de J.P Chevillard
2003 - 2004 Université Paris-Sud
Filière : C4 - DU
Cours Algo - C4-DU 2
1. Langage
Un langage doit servir d’interface entre le raisonnement humain et la machine
Spécificités d’un langage informatique– Non ambiguïté– Lisibilité– Simplicité
Cours Algo - C4-DU 3
1. Langage Spécificités d’un langage
informatique (suite)– Conformité avec habitudes intellectuelles– Souplesse– Cohérence– Abstraction– Expressivité– Modularité– Encapsulation
Cours Algo - C4-DU 4
2. Structures de données : les types de données
Objets atomiques– Numériques (réels et entiers)– Logiques (ou booléennes)– Textuels– Types définis (par exemple,
énumérations)– Adresses ou pointeurs
EXEMPLES…
Cours Algo - C4-DU 5
2. Structures de données : les types de données
Objets « poly-atomiques »– objets composés
• tableaux• agrégats (structures)
EXEMPLES…
– collection d’objets• linéaires : listes, files, piles• ramifiées : arbres, graphes• informes : tas
EXEMPLES…
Cours Algo - C4-DU 6
2. Structures de données : les données
Caractéristiques des données :– Désignateur (identificateur ou
pointeur)
– Type
– Statut (entrée, sortie, locale, globale, etc.)
– Rôle
Cours Algo - C4-DU 7
3. Structures de Contrôle
Structures de base :– Séquence
– Choix
– Répétition
Cours Algo - C4-DU 8
3. Structures de Contrôle : Exécution séquentielle
Action 1
Action 2
Action n
.
.
.
Cours Algo - C4-DU 9
3. Structures de Contrôle : Exécution alternative et
conditionnelle
Action F Action V
conditionfausse vraie
Exécution alternative
Action V
condition
fausse
vraie
Exécution conditionnelle
Cours Algo - C4-DU 10
3. Structures de Contrôle : Exécution à choix multiples
Action c_1
Action c_2
Action c_n
.
.
.
Cas 1
Cas 2
Cas n
.
.
.
Choisir selon le cas
Structure
« case »
de Pascal
EXEMPLE…
Cours Algo - C4-DU 11
3. Structures de Contrôle : Exécution répétitive ou boucle
Répéter tant que (Condition logique)
Action
Cours Algo - C4-DU 12
3. Structures de Contrôle : Exécution de sous programmes
Action 2
Appel de SP
Action 1
Appel de SP
Sous programme SP
Action SP_1
Action SP_n
.
.
.
Retourner au Programme appelant
Cours Algo - C4-DU 13
4. Notations algorithmiques
Les commentaires Ecrire les commentaires en même temps
ou mieux avant le reste du programme (jamais après !).
– Exemples : /* … */ , { }, …
Cours Algo - C4-DU 14
4. Notations algorithmiques Les déclarations
– variables numériques : x, y, z ;
– variable textuelle : nom_d_etudiants ;
– variables tableau numérique indice [1..15] : x, y, z ;
– constante : PI = 3.14 ;
Cours Algo - C4-DU 15
4. Notations algorithmiques Les déclarations
– type : fiche_étud = agrégat_denom, prenom : textuel ; /* type des composantes */age : numérique ;
fin_agrégat fiche_étud
– variable p : pointeur_sur fiche_étud ;
– variable lauréat, candidat : fiche_étud ;
Remarque : pour désigner un champ d’un agrégat on utilisera la notation nom(candidat)
– type énumérés : type état_de_file = (vide, pleine, normale)
Cours Algo - C4-DU 16
4. Notations algorithmiques Les instructions exécutables et de contrôle
– Affectation : <--• Exemple affectation de pointeurs : pA <-- pB
– Les choix (exécution conditionnelle, alternative) :
si condition _logique alors action « vraie » sinon /* clause optionnelle */ action « fausse » fin_si
EXEMPLE…
Cours Algo - C4-DU 17
4. Notations algorithmiques
Les instructions exécutables et de contrôle
– Les choix (exemple de construction à choix multiples) :
si condition _logique_1 alors action_1 sinon_si condition _logique_2 /* clause optionnelle */ action_2 sinon_si condition _logique_3 /* clause optionnelle */ action_3 … fin_si
Cours Algo - C4-DU 18
4. Notations algorithmiques
Les instructions exécutables et de contrôle
– Les boucles : 3 types de boucles (Attention : notations légèrement différentes du polycopié de J.P. Chevillard)
tant que (condition_logique) faire action
fin_tant_que
répéter action
jusqu’à_ce_que (condition_logique)
Remarque : boucle « répéter » équivalente à la boucle « tant que » mais les actions sont exécutées au moins une fois
EXEMPLE…
Cours Algo - C4-DU 19
4. Notations algorithmiques
Les instructions exécutables et de contrôle
– Les boucles : 3 types de boucles (suite)
pour (compteur) variant_de départ à fin action
fin_pour
Remarque : utiliser lorsque l’on connaît exactement le nombre d´itérations à effectuer.
EXEMPLE…
Cours Algo - C4-DU 20
4. Notations algorithmiques
Les instructions exécutables et de contrôle : les sous-programmes
– La communication des donnée est spécifiée par une liste d’arguments
– Les arguments d’un sous programme servent à • Passer des informations du programme appelant vers le sous
programme (argument d’Entrée)
• Renvoyer des informations du sous-programme vers le programme appelant (argument de Sortie)
• Passer des informations du programme appelat vers le sous-programme, informations que celui-ci modifie et retourne modifiées au programme appelant (argument d’Entrée/Sortie)
EXEMPLES…
Cours Algo - C4-DU 21
4. Notations algorithmiques
Deux types de sous-progammes : les procédures et les fonctions.
Seules les fonctions renvoient un résultat Attention : différences selon les langages
EXEMPLES …
Le cas de la récursion sera traité ultérieurement
Cours Algo - C4-DU 22
Annexe : bibliographie
Polycopié des cours de J.P. Chevillard
Types de données et algorithmes, Christine Froidevaux, Marie-Claude Gaudel et Michèle Soria McGraw-Hill, Collection Informatique,1990.
…