Introduction à l’algorithmique

Slides:



Advertisements
Présentations similaires
Algorithmes et structures de données (avancées) Cours 1+2
Advertisements

Introduction au Langage C,C++
Initiation à la programmation et algorithmique cours 4
L’algorithmique, les séquences.
Le langage Z Pr ZEGOUR DJAMEL EDDINE
Algorithmes et structures de données
Algorithmes et structures de données Cours 2
Spécification et qualité du logiciel
Sensibilisation à l’Algorithmique
Introduction à l’Algorithmique
Sensibilisation à l’Algorithmique et structure de données
Calculs de complexité d'algorithmes
Algorithmique et évaluation
La logique algorithmique
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Algorithmique Résume.
INTRODUCTION.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
Les bases de l’Algorithmique
Semaine #1 INF155 par Frédérick Henri.
Conception et analyse des algorithmes
Initiation à la programmation et algorithmique
Python La structure alternative
Partie 1 Etude de l'existant
Les bases algorithmiques
Démarche de résolution de problèmes
Algorithmique et Programmation
Les éléments de base de l’algorithmique
Algorithmes Branch & Bound
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
ALGORITHMIQUE en classe de seconde
Algorithmique et Programmation
Introduction à la programmation (Java)
Base de programmation Script unity en c#.
Introduction à l’algorithmique
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
Efficacité des algorithmes
Algorithmique et structure de données
L’essentiel du langage C
Python Fonction et procédure
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Institut de Formation aux Métiers de l’industrie Automobile.
D.E ZEGOUR Ecole Supérieure d’Informatique
INTRODUCTION.
ALGORITHMIQUE ET PROGRAMMATION C
Algorithmes et Programmation
Un survol du language C.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Algorithmique : Introduction
Introduction et Généralités sur l’Algorithmique
Initiation à l’Algorithmique
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Module 3 : Algorithme et Programmation
1 Algorithmique, cours 3 Septembre Les fonctions 1. Motivation 2. Définitions 3. Utilisation des fonctions 4. Déclaration des fonctions 5. Liens.
Scripts et fonctions Instructions de contrôle
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Principes et variables
Seconde 8 Module 7 M. FELT 03/11/ Module 7: Algorithmique #2  Objectifs:  AlgoBox.  Définition d’un algorithme.  Affectation de variable. 
Introduction à L’Algorithmique
Algorithmique et programmation
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau.
Les bases de l’Algorithmique
Transcription de la présentation:

Introduction à l’algorithmique Lycée Louis Vincent SEANCE 1 Introduction à l’algorithmique Lundi 9 septembre 2013

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

Algorithmique 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 Lundi 9 septembre 2013

Algorithmique 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. … Lundi 9 septembre 2013

Conception des algorithmes Difficulté du problème ? Comment le résoudre ? Quelle démarche utiliser ? La résolution du problème => Algorithme Lundi 9 septembre 2013

Questions relatives aux algorithmes 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. Lundi 9 septembre 2013

Complexité d’un algorithme 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. Lundi 9 septembre 2013

Critères de qualité Un algorithme doit être : Lisible De haut niveau 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 Lundi 9 septembre 2013

Formalisme Règles d’écriture Entête. Corps. 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. Lundi 9 septembre 2013

Exemple 1 : 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 Identifiants des variables en entrée et en sortie Type de la variable Affectation Lundi 9 septembre 2013

Variables 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 Lundi 9 septembre 2013

Types de données 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 " " Lundi 9 septembre 2013

Types de données et opérateurs Type des opérandes Opérateurs disponibles Type de résultat Booléen non, et, ou, =, ≠ Entier +, ―, *, div, mod / Réel =, ≠, >, <, ≥, ≤ +, ―, *, / Caractère Chaîne caractères + Chaîne = Lundi 9 septembre 2013

Instructions séquentielles 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 Lundi 9 septembre 2013

Instructions séquentielles Instructions d’entrée/sortie : 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, … clavier Sortie standard = Le but est d’afficher les valeurs des variables Syntaxe : écrire (valeur1, valeur2, …) Ou encore : écrire valeur1, valeur2, … écran Lundi 9 septembre 2013

Exemple 3 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 Lundi 9 septembre 2013

Instructions conditionnels 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 finsi Deuxième partie de l’instruction optionnelle : Lundi 9 septembre 2013

Exemple 4 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 Lundi 9 septembre 2013