1 / 18

SEANCE 1

SEANCE 1. Introduction à l’algorithmique. Introduction à l’algorithmique : Concepts de base. Notion de variables. Instructions séquentielles. Instructions conditionnelles. Contenu de la séance 1:. Lundi 9 septembre 2013. Une définition:

nuala
Download Presentation

SEANCE 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEANCE 1 Introduction à l’algorithmique Lundi 9 septembre 2013

  2. Introduction à l’algorithmique : • Concepts de base. • Notion de variables. • Instructions séquentielles. • Instructions conditionnelles. Contenu de la séance 1: Lundi 9 septembre 2013

  3. Une définition: Méthode opérationnelle qui permet de résoudre systématiquement toutes les demandes d’un problème donné. • L’énoncé du problème doit spécifier les relations entre les données en entrée et le résultat en sortie. Algorithmique = science des algorithmes Algorithmique

  4. Des algorithmes dans la vie de tous les jours. • Recette de cuisine. • Exemples de problèmes pouvant être résolus par des algorithmes: • Recherche du PGCD de deux nombres entiers. • Déterminer, si elles existent, les racines d’un polynôme. • Tris. • Analyse de séquences d’ADN. • Recherche de vols au meilleur rapport temps de vol – prix entre deux villes. • … Algorithmique

  5. Difficulté du problème ? • Comment le résoudre ? • Quelle démarche utiliser ? La résolution du problème => Algorithme Conception des algorithmes

  6. Les sorties correspondent-elles à la solution du problème posé ? • Preuve de l’algorithme. • Combien de calculs élémentaires doit-on faire pour produire la sortie ? • Complexité en temps de l’algorithme. Questions relatives aux algorithmes

  7. La mesure intrinsèque de la complexité de l’algorithme est indépendante de son implémentation sur machine. • Permet la comparaison entre différents algorithmes pour un même problème. • Différentes mesures : • Complexité en espace. • Complexité en temps. • Comptage des opérations élémentaires. Complexité d’un algorithme

  8. Un algorithme doit être : • Lisible • Compréhensible par tous. • De haut niveau • Doit pouvoir être traduit dans n’importe quel langage de programmation. • Concis et structuré • Ne doit pas dépasser une page (sinon on le découpe en sous-problème). • Correct • Efficace Critères de qualité

  9. Règles d’écriture • Entête. • Nom de l’algorithme. • Rôle. • Données en Entrée. • Données en Sortie. • Déclarations : données locales à l’algorithme. • Corps. • Mot clé Début. • Instructions en pseudo code indentées. • Mot clé Fin. Formalisme

  10. Ecrire un algorithme qui additionne deux nombres a et b et donne le résultat dans un troisième entier c. Nom : addDeuxEntiers Rôle : Additionner deux entiers a et b et placer le résultat dans c Entrée : a, b : Entier Sortie : c : entier Déclaration : - Début c  a + b Fin Type de la variable Identifiants des variables en entrée et en sortie Exemple 1 : Affectation

  11. Une variable est une entité qui possède : • Un identifiant • Suite de caractères qui permet de nommer les choses. • Commence en générale par une minuscule. • Une valeur • Elle peut évoluer au fil de l’algorithme. • Un type de donnée • Caractérise l’ensemble des valeurs que peut prendre la variable et les opérations qui peuvent être effectuées. • Entier, Réel, Caractère, Chaîne, Booléen ... Notation : Identifiant de la variable : type de la variable Variables

  12. Types simples de cardinalité finie : • Booléen : 2 valeurs possibles VRAI ou FAUX • Intervalle : valeurs entières définies dans un intervalle par exemple 1 .. 12 • Enuméré : valeurs explicites par exemple du lundi au dimanche • Caractère: entouré par de simples côtes ‘’ • Types simples dont la cardinalité n’est pas finie : • Entier : valeurs dans  • Réel : valeurs dans Y • Chaîne de caractère : suite de caractères entourée de double côtes"" Types de données

  13. Types de données et opérateurs

  14. Instruction d’affectation : • Elle a pour but de modifier la valeur de la variable • Sa syntaxe est : identifiant variable  nouvelle valeur ex : c  a + b Ne pas confondre l’affectation  avec l’opérateur d’égalité = Exemple 2 : Ecrire algorithme qui, à partir du rayon d’un cercle, donne sa surface. Nom : aireDisque Rôle : Calculer l’aire d’un disque à partir du rayon de celui-ci Entrée : valRayon : Réel Sortie : valAire : Réel Déclaration : pi : réel Début pi  3.14159 valAire  pi * valRayon * valRayon Fin Instructions séquentielles

  15. Instructions d’entrée/sortie : clavier • Entrée standard = • Le but est d’affecter des valeurs à des variables (valeurs provenant du périphérique d’entrée standard) • Syntaxe : lire (valeur1, valeur2, …) Ou encore : lire valeur1, valeur2, … écran • Sortie standard = • Le but est d’afficher les valeurs des variables • Syntaxe : écrire (valeur1, valeur2, …) Ou encore : écrire valeur1, valeur2, … Instructions séquentielles

  16. Ecrire un algorithme qui permet de saisir la valeur du rayon d’un cercle et qui affiche la surface de ce cercle. Nom : aireDisque Rôle : Calculer l’aire d’un disque à partir du rayon de celui-ci Entrée : Sortie : Déclaration : pi : réel valRayon: Réel valAire : Réel Début écrire (" Donner la valeur du rayon ") lire (valRayon) pi  3.14159 valAire  pi * valRayon * valRayon écrire (" L’aire du disque est :",valAire) Fin Exemple 3

  17. L’instruction si … alors … sinon … conditionne l’exécution d‘instructions à la valeur d’une expression booléenne. • Sa syntaxe est : si expression booléenne alors suite d’instructions sinon suite d’instructions finsi • Deuxième partie de l’instruction optionnelle : si expression booléenne alors suite d’instructions finsi Instructions conditionnels

  18. Ecrire un algorithme qui permet de donner la valeur absolue d’un nombre entier. Nom : abs Rôle : Calculer la valeur absolue d’un entier Entrée : unEntier : Entier Sortie : laValeurAbsolue : Entier Déclaration : - Début si unEntier ≥ 0 alors laValeurAbsolue unEntier sinon laValeurAbsolue  - unEntier finsi Fin Exemple 4

More Related