ALGORITHMES LANGAGES ALGORITHMIQUE. Qu'est-ce qu'un algorithme ? Un algorithme est une méthode décrite pas à pas pour « faire quelque chose ». Hors des.

Slides:



Advertisements
Présentations similaires
Cours de Langage C Récursivité. Objectifs de la séance 11 Connaître la récursivité. Mesurer un temps d’exécution. 2.
Advertisements

Introduction à la notion de fonction 1. Organisation et gestion de données, fonctions 1.1. Notion de fonction ● Déterminer l'image d'un nombre par une.
Géométrie Différentielle – Cubiques d'Hermite Introduction aux courbes paramétriques et à la géométrie différentielle.
NF04 - Automne - UTC1 Version 09/2006 (E.L.) Cours 5-a Problèmes scalaires instationnaires d’ordre 1 en temps Domaines d’application Notions de schémas.
Exploitation de mesures scientifiques.
Algorithmique et programmation
CEMTEC Comment scénariser l’éclairage d’un escalier ?
Cycle 3 Cycle 4 Pilotage du robot mBot Site scratch :
Information, Communication, Calcul
Un Algorithme , c'est Quoi ?
« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils.
Algorithme et programmation
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
ICMS’2014 Modélisation de la machine asynchrone double étoile
Algorithmique AU El harchaoui noureddine
Algorithmique demander jeu du pendu.
Initiation aux bases de données et à la programmation événementielle
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Communication, Calcul
L’Instruction de Test Alternatif
LA QUALITE LE PRODUIT EST TOUJOURS UN SUPPORT DE SERVICES
Javadoc et débogueur Semaine 03 Version A16.
Les Instructions – Organigramme
Le DNB.
Activités algorithmiques
Analyse du bulletin officiel Structuration des sujets,
Réunion du mardi 20 septembre 2016
Semaine #4 INF130 par Frédérick Henri.
Tableau de bord des risques
Science du traitement rationnel de l'information
Le programme Le programme est construit autour de quatre notions fondamentales : Représentation de l’information Algorithmique Langages Architecture.
Stabilité des porteurs horizontaux (Poutres)
Animation Programmer avec Scratch
PROGRAMMATION ET ENSEIGNEMENT
Exercice PHP DEUST TMIC
Réseaux de neurones appliqués à la reconnaissance de caractères
من إعداد الأساتذة بوزاوية حميد و عيسى محمد
Exercice : le jeu. Vous devez concevoir l’algorithme permettant de jouer avec votre calculatrice : elle détermine au hasard un nombre caché entier entre.
Chapitre 3 : Caractéristiques de tendance centrale
Une nécessaire coordination entre la technologie et les mathématiques
Programme financé par l’Union européenne
A l’aide du triangle pédagogique de Jean Houssaye
Présentation des nouveaux programmes de Technologie Mai 2008
Cours de physique générale II Ph 12
B.Shishedjiev - Informatique
Méthodologie de la dissertation
Animation Magistère Fractions et décimaux présentiel 2
Université de la méditerranée
Présentation 4 : Sondage stratifié
Présentation 9 : Calcul de précision des estimateurs complexes
MATHÉMATIQUES FINANCIÈRES I
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
PRO1026 Programmation et enseignement
Numérique et Sciences Informatiques
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Tris Simples/Rapides.
PROGRAMMATION ET ENSEIGNEMENT
UE Perception, Attention & Psychophysique
Chapitre 12 : Notion de fonction
Chapter 11: Récursivité Java Software Solutions Second Edition
Les différents types de calcul en lien avec les numérations orale et écrite Nathalie Pfaff Professeure agrégée de mathématiques à l’ESPE de l’académie.
Présentation des nouveaux programmes de mathématiques de première des séries technologiques Jessica Parsis.
Numérique et Sciences Informatiques
Enseignement de Spécialité (EdS) classes de Première et Terminale
Pour en moduler l’ouverture et la complexité
Python Nicolas THIBAULT
Type Tableau Partie 1 : Vecteurs
spécialité mathématiques Première
Dérivation – Fonctions cosinus et sinus
Transcription de la présentation:

ALGORITHMES LANGAGES ALGORITHMIQUE

Qu'est-ce qu'un algorithme ? Un algorithme est une méthode décrite pas à pas pour « faire quelque chose ». Hors des mathématiques, les algorithmes sont partout :

Les algorithmes sont un élément constitutif des mathématiques.

Le développement de l'informatique permet de donner leur pleine puissance aux algorithmes. Pour le calcul numérique : Méthode de Newton f(x) ≈ f(x 0 ) + f '(x 0 )(x-x 0 ) x n+1 = x n – f(x n )/f'(x n ) I= 0 : 1Approximation de la racine carrée de 2 (Héron d'Alexandrie) i= 1 : 1.5 i= 2 : i= 3 : i= 4 : i= 5 : i= 6 : i= 7 : √2= Pour la résolution de problèmes complexes : Programmation linéaire de contraintes 1. Si x est le nombre d'objets A et y le nombre d'objets B, les contraintes sont: 2. Polygone des Contraintes: On a représenté, les droites d'équations (D1) : (3x +7y =56) et (D2) : (5x + 3y = 50) ainsi que les droites (D) et (D '), (D) correspondant à (54x + 45y = 300), (D ') correspondant au bénéfice maximum. Cette dernière droite passe par le point d'intersection de (D1) et (D2) qui est le point L(7 ; 5). 3. Le bénéfice journalier de l'entreprise est donné, en fonction de x et y, par: B(x ; y) = 54x + 45y. Le bénéfice maximum est obtenu par x = 7 et y = 5. Il est alors égal à 603. Pour la résolution de problèmes complexes : Equations différentielles, méthode des éléments finis Deux contraintes, ce n'est pas beaucoup ! Pour explorer de nouveaux domaines mathématiques : L'ensemble de Mandelbrot et courbes fractales z n+1 = z n ² + c

Les ingrédients d'un algorithme Un algorithme est une succession d'instructions dont le type est très limité : - une entrée/sortie Demander une donnée à l'utilisateur Lire une donnée en mémoire Afficher une donnée pour l'utilisateur Enregistrer une donnée en mémoire - une affectation Modifier la valeur affectée à une variable Nom = « Toto » X = 4 Y = X + 2 X = 10 ATTENTION : les variables utilisées dans un algorithme ne sont pas utilisées au sens mathématique usuel de ce terme. Une variable ne change pas d'état tant qu'elle n'est pas affectée ou réaffectée. Dans l'exemple X=4, Y=X+2, X=10, la lecture de la variable Y donnera 6 et non 12. Cela engendre deux problèmes : - erreurs d'appréciation de ce que réalise l'algorithme - erreurs d'initialisation de variables - un test Exécution conditionnelle d'instructions Si (condition) Alors (instructions) Sinon (instructions) - facultatif Si ( Z² = X²+Y²) Alors Afficher « Le triangle est rectangle » Les expressions Z² et X²+Y² sont évaluées, comparées et « oubliées ». Il ne s'agit pas d'une affectation. Le symbole « = » des mathématiques est en général remplacé par deux symboles différents dans les langages de codage des algorithmes ( ← ou := ou ==...) Donc : travailler avec les élèves sur la notion de variable dans un algorithme

Les ingrédients d'un algorithme Un algorithme est une succession d'instructions dont le type est très limité : - une entrée/sortie - une affectation - un test - une boucle Répéter des instructions tant qu'une condition est remplie. Tant que (condition) (instructions) Tant que (X<1000) X = 2 * X On évalue la condition (X<1000). Si elle est vraie, on affecte la valeur de 2X à X. On évalue la condition (X<1000). Si elle est vraie, on affecte la valeur de 2X à X... ATTENTION : les boucles sont souvent responsables de la non terminaison d'un algorithme. Si la valeur -3 est affectée à la variable X, L'exemple Tant que (X<1000), X = 2X, aboutit à une non terminaison. La plupart des langages permettent l'utilisation de plusieurs types de boucles : TANT QUEJUSQU'A BOUCLE ITERATIVE Tant que (condition)Répéter (instructions)Pour (variable variant de (instructions)Jusqu'à (condition)valeur1 à valeur2) (instructions) Les instructions ne sont effectuées que si la condition est vérifiée Les instructions sont effectuées au moins une fois La variable est automatiquement incrémentée

Les ingrédients d'un algorithme Un algorithme est une succession d'instructions dont le type est très limité : - une entrée/sortie - une affectation - un test - une boucle A ces briques élémentaires s'ajoutent dans des algorithmes évolués les notions de fonction et de récursivité. Fonction : Demander Num et Den s=PGCD(Num,Den) Num=Num/s Den=Den/s Afficher Num et Den Appel d'une fonction PGCD définie ailleurs Récursivité : Fonction puissance(a, n) début si n = 0 Alors retourner 1 Sinon retourner puissance(a, n-1) * a fin La fonction puissance fait appel à elle même

L'algorithmique L'algorithmique est l'étude des algorithmes pour eux-mêmes. Elle tente de répondre à des questions telles que : - peut-on certifier qu'un algorithme donné est « fini » et « correct » ? C'est à dire : prouver la terminaison de l'algorithme et fait-il réellement ce que l'on voulait (indépendamment de « la méthode choisie pour résoudre le problème est-elle correcte ? ») On utilise pour cela des méta-langages réécrivant l'algorithme sous une forme purement mathématique. → Cela est clairement hors de propos dans nos cours. Elle tente de répondre à des questions telles que : - quelle est la « complexité » d'un algorithme donné ? L'efficacité d'un algorithme est étudiée en fonction de la taille n des données selon deux critères : - Le temps d'exécution (nombre d'instructions nécessaires) On parle d'algorithme en temps linéaire (de l'ordre de n) ou polynomial ou encore exponentiel (à éviter !) - L'espace mémoire utilisé. → La compréhension d'algorithmes fournis et la recherche d'améliorations constitue une étude intuitive de ces concepts.

Des articles de vulgarisation sur la culture informatique : La revue en ligne INTERSTICES de l'INRIA Le site d'INTERSTICES Une variété de sujets : Les ingrédients des algorithmesLes ingrédients des algorithmes P, NP, comprendre la complexitéP, NP, comprendre la complexité Qu'est-un qu'un algorithme ?Qu'est-un qu'un algorithme ? Du programme au langage machineDu programme au langage machine Informatique et mathématiques, une revue d'ouvragesInformatique et mathématiques, une revue d'ouvrages Résoudre le mini-rubikRésoudre le mini-rubik En podcast : A propos de l'enseignement de l'informatique Scilab, à propos du calcul numérique Des connaissances approfondies sur la science informatique Accès aux coursAccès aux cours de l'Ecole Polytechnique Un exempleUn exemple

Deux ouvrages papier * Introduction à l'algorithmique, T. Cormen, C. Leiserson, R. Rivest, C. Stein 3ème édition, Dunod * Histoire d'algorithmes Du caillou à la puce. Jean-Luc Chabert Belin 2010.

Principales structures de données Les types de variables Les structures : liste, tableau, arbre