Cours Algorithmique et Analyse : Introduction Mathieu Roche Jérôme Azé Fondé sur le polycopié de J.P Chevillard 2003 - 2004 Université Paris-Sud Filière : C4 - DU
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
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
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
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 Cours Algo - C4-DU
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
3. Structures de Contrôle Structures de base : Séquence Choix Répétition Cours Algo - C4-DU
3. Structures de Contrôle : Exécution séquentielle Action 1 Action 2 Action n . Cours Algo - C4-DU
3. Structures de Contrôle : Exécution alternative et conditionnelle Action V condition fausse vraie Exécution conditionnelle Action F Action V condition fausse vraie Exécution alternative Cours Algo - C4-DU
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
3. Structures de Contrôle : Exécution répétitive ou boucle Répéter tant que (Condition logique) Action Cours Algo - C4-DU
3. Structures de Contrôle : Exécution de sous programmes Sous programme SP Action SP_1 Action SP_n . Retourner au Programme appelant Action 2 Appel de SP Action 1 Cours Algo - C4-DU
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
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
4. Notations algorithmiques Les déclarations type : fiche_étud = agrégat_de nom, 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
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
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
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 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
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
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
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
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. … Cours Algo - C4-DU