230 likes | 364 Views
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
E N D
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 EXEMPLES… 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
Action 1 Action 2 . . . Action n 3. Structures de Contrôle : Exécution séquentielle Cours Algo - C4-DU
vraie condition condition vraie fausse fausse Action V Action F Action V Exécution alternative Exécution conditionnelle 3. Structures de Contrôle : Exécution alternative et conditionnelle Cours Algo - C4-DU
Choisir selon le cas Cas 1 Action c_1 Cas 2 Action c_2 . . . . . . Action c_n Cas n 3. Structures de Contrôle : Exécution à choix multiples Structure « case » de Pascal • EXEMPLE… Cours Algo - C4-DU
Répéter tant que (Condition logique) Action 3. Structures de Contrôle : Exécution répétitive ou boucle Cours Algo - C4-DU
Sous programme SP Action 1 Action SP_1 Appel de SP . . . Action SP_n Appel de SP Retourner au Programme appelant Action 2 3. Structures de Contrôle : Exécution de sous programmes 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 notationnom(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 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
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 SoriaMcGraw-Hill, Collection Informatique,1990. … Cours Algo - C4-DU