ALGORITHMIQUE. Notes du cours FS/1/6584 Année préparatoire au master 60 en informatique ULB UMH Gilles GEERAERTS (Université Libre de Bruxelles)
|
|
- Armand Caron
- il y a 6 ans
- Total affichages :
Transcription
1 ALGORITHMIQUE A L G O R I T H M I Q U E Notes du cours FS/1/6584 Année préparatoire au master 60 en informatique ULB UMH Gilles GEERAERTS (Université Libre de Bruxelles) ANNÉE ACADÉMIQUE (2 E ÉDITION)
2 2 Le personnage en couverture est le mathématicien persan Mohamed IBN MUSSA AL- KHAWARIZMI (783? 850?) dont le nom a donné le mot français algorithme, car il en a décrit plusieurs. Le titre d un de ses ouvrages a également donné à la langue française le mot algèbre. AL-KHAWARIZMI est considéré par beaucoup comme le père de l algèbre moderne (il a d ailleurs introduit l habitude d appeller x l inconnue dans une équation). Pour autant, ses travaux ne se limitent pas à ce domaine : on lui doit d importantes contributions dans les domaines de l arithmétique, de l astronomie, ou de la géographie. Ce document a été mis en page sous LATEX 2ε.
3 Table des matières 1 Introduction Le contenu et les objectifs du cours Algorithmes, Algorithmique Les objectifs et l orientation du cours Bibliographie Préliminaires Rappels de mathématiques Sommes et produits Plancher et plafond Le pseudo-langage Types et variables Instructions Gestion de la mémoire Itération, induction, récursivité Itération et induction Raisonnement par induction Preuves de programmes Notion d invariant de boucle Un exemple de preuve par invariant Récursivité Récursivité et induction Fonctions récursives La complexité algorithmique Introduction Notion d efficacité Mesure du temps de calcul Compter le nombre d étapes La notion de grand O Intuition Définition formelle Classes de complexité algorithmique Règles de combinaison et de simplification Le cas des programmes récursifs Utilisation de l induction
4 4 TABLE DES MATIÈRES 5 Les listes Motivation : critique des tableaux Les listes simplement liées Comparaison aux tableaux Algorithmes Listes triées Les listes circulaires avec élément pré-tête Différences par rapport aux listes «simples» Algorithmes Les listes doublement liées Implémentation des listes dans les vecteurs Application Vue récursive Algorithmes Les piles et les files Les piles Implémentation dans une liste Implémentation dans un vecteur Les files Implémentation dans une liste Implémentation dans un vecteur Applications Vérification des parenthèses Évaluation d une expression en notation postfixée Les arbres Introduction Définitions Vocabulaire Cas particuliers Implémentation Application : les arbres d expressions Parcours des arbres binaires Parcours préfixé ou parcours en profondeur Parcours infixe Parcours postfixé Le parcours par niveaux ou parcours en largeur Applications des parcours Algorithmes de recherche Introduction Données stockées dans des vecteurs Recherche linéaire simple Recherche linéaire dans un vecteur trié Recherche dichotomique dans un vecteur trié Tables de hachage Données stockées dans des listes Données stockées dans des arbres Parcours simple
5 TABLE DES MATIÈRES Arbres binaires de recherche Conclusion : aux limites de l algorithmique 147
6 6 TABLE DES MATIÈRES
7 Table des figures 1.1 Une illustration du tri par sélection Une illustration de la méthodologie du cours L ordinogramme de la boucle tant que Comparaison de polynômes de degrés 3 et 4 (petite échelle) Comparaison de polynômes de degrés 3 et 4 (grande échelle) Comparaison de différentes fonctions caractérisant les principales classes de complexité algorithmique Une illustration de l exécution de Facto(k) Un exemple de liste Un exemple de suppression dans une liste simplement liée Un exemple d insertion dans une liste simplement liée Un exemple de déplacement d un élément dans une liste simplement liée Un exemple de liste circulaire avec élément pré-tête Un exemple d insertion en tête dans une liste circulaire avec élément pré-tête Une liste circulaire avec élément pré-tête vide Illustration de la recherche d une information dans une liste circulaire avec élément pré-tête Un exemple de liste doublement liée Un exemple d insertion dans une liste doublement liée Un exemple de liste implémentée dans un vecteur, et son équivalent utilisant des pointeurs Exemple de pile La pile de la Fig. 6.1 implémentée dans une liste Exemple de manipulation de file dans un vecteur Vecteur implémentant une file vu comme un vecteur circulaire Exemple d arbre Exemple d arbre La vue récursive de l arbre de la Fig Quelques illustrations du vocabulaire sur les arbres Un exemple d arbre binaire équilibré Un exemple d arbre d expression qui représente (3 + 5) Les quatre parcours d arbre classiques Illustration du parcours en largeur
8 8 TABLE DES FIGURES 8.1 Illustration de la recherche dichotomique Exemple d arbre binaire de recherche (équilibré) L ordre sur les nœuds induit par un arbre binaire de recherche Exemples d insertion dans un ABR Illustration des trois cas de suppression dans un ABR Le détachement du maximum dans un ABR Exemple d arbre dont la hauteur est en O du nombre de nœuds
9 10 TABLE DES FIGURES
10 Chapitre 1 Introduction 1.1 Le contenu et les objectifs du cours Algorithmes, Algorithmique Pour expliquer ce que sont les ordinateurs, il est de coutume de les comparer aux calculatrices de bureau, et d expliquer que, somme toute, un ordinateur n est rien d autre qu une calculatrice très perfectionnée. Il y a pourtant une différence importante entre une calculatrice capable d effectuer les quatre opérations de base et un ordinateur : c est que l ordinateur est, par définition, programmable, ce qui n est le cas que des modèles les plus évolués de calculatrices... Cette différence est fondamentale. Alors qu une calculatrice ne donne accès qu aux fonctionnalités qui sont liées à chacune de ses touches, l ordinateur offre un jeu d instructions de base très riche, dont l utilisateur peut se servir à sa guise afin d élaborer des programmes capables de résoudre des problèmes bien plus complexes que ceux traités par les instructions de base. L immense majorité du travail effectué par un professionnel de l informatique touche donc de près ou de loin à la question suivante : «Comment faire résoudre tel problème à un ordinateur?» Une part de la réponse à cette question est parfois trouvée dans l assemblage de solutions préexistantes fournies par des tierces parties. Néanmoins, tout informaticien se retrouve confronté un jour ou l autre à la nécessité de programmer une nouvelle fonctionnalité, soit pour résoudre le problème posé dans son entièreté, soit comme étape particulière d une solution globale dont certaines étapes sont déjà fournies. La tâche de l informaticien consiste alors, grosso modo à traduire des desiderata exprimés de façon plus ou moins claire et plus ou moins formelle en un programme écrit dans un langage de programmation déterminé. Un exemple de desiderata pourrait être : «Trier un tableau de nombres entiers par ordre croissant». Dans ce cas, il y aura lieu, dans un premier temps, d établir la méthode générale qui va être appliquée. Par exemple : 1. Rechercher dans tout le tableau la valeur minimale. 2. Placer cette valeur minimale en première position, et placer la valeur qui était en première position là où était la valeur minimale (en d autres mots : échanger les deux valeurs). La valeur minimale est maintenant «à sa place» 11
11 12 CHAPITRE 1. INTRODUCTION 3. Recommencer le même traitement sur la partie du tableau contenant les éléments qui ne sont pas encore à leur place, et ce, tant qu il y en a. Cette méthode est illustrée à la Fig Nous l appellerons tri par sélection, car à chaque étape nous sélectionnons l élément à placer en tête du tableau, Elle semble satisfaisante, et peut donc être traduite dans le langage de programmation choisi. Il est intéressant de remarquer que nous avons introduit une étape intermédiaire entre la compréhension du problème et sa résolution en terme de programme informatique. Cette étape a consisté en la description d une méthode générale de tri, qui exprime l essence du programme à produire, et qui aurait d ailleurs pu être traduite dans plusieurs langages de programmation différents. Cette méthode est ce que nous appelons un algorithme, c est-à-dire une suite d actions bien définies à enchaîner pour résoudre un problème. Remarquons que tout programme est, lui aussi, un algorithme. Néanmoins, nous verrons dans la suite qu il est souvent pratique d adopter une description abstraite des algorithmes qui ignore les détails d implémentation liés à un langage particulier. Ce choix, que nous ferrons dans le cadre de ce cours, nous permettra souvent de tenir des raisonnements formels et rigoureux sur l algorithme choisi. En pratique, nous exprimerons les algorithmes étudiés à l aide d un pseudo-langage de programmation, qui est décrit au Chapitre 2. La méthodologie que nous venons d esquisser est résumée à la Fig Dans ce cadre, la phase de conception de l algorithme est l étape essentielle, car c est à travers l algorithme qu on spécifie l idée du traitement à réaliser. Cela ne veut pas dire pour autant que la phase de traduction en programme est facile ou triviale : elle connaît ses problèmes spécifiques, mais nous ne les aborderons pas ici. Au contraire, nous allons nous concentrer sur l étude de l algorithmique, c est-à-dire la discipline qui étudie les algorithmes et leur conception. Pour autant, il ne faut pas confondre l algorithmique avec une liste de solutions préétablies pour chaque problème, un peu comme un bon livre de cuisine offre une recette adaptée à chaque circonstance. En effet, la méthode décrite ci-dessus peut soulever certaines questions comme : 1. Cette méthode est-elle correcte? Autrement dit, est-on sûr qu en l appliquant à n importe quel tableau, on obtiendra toujours un tableau trié? Afin de nous en convaincre le mieux possible, une preuve formelle et rigoureuse est nécessaire. Le concept de correction d un algorithme et les méthodes pour la prouver seront introduits au Chapitre La méthode utilisée consiste en la répétition d un même traitement. Est-il possible d utiliser d autres «canevas» d algorithme? Nous étudierons notamment la récursivité au Chapitre Quelle est l efficacité de la méthode utilisée? Comment peut-on la mesurer? Comment peut-on comparer deux méthodes différentes résolvant le même problème afin de sélectionner la plus efficace? Nous apporterons des réponses à ces questions au Chapitre 4. Par ailleurs, l algorithmique est étroitement liée à l étude des structures de données. Dans l exemple de cette introduction, la structure de données est précisée explicitement : c est un tableau d entiers. On peut dès lors se demander si on n aurait pas obtenu un algorithme de tri plus efficace si on avait structuré les données autrement. Par ailleurs, la structure de tableau n est pas forcément adaptée à tous les problèmes.
12 1.1. LE CONTENU ET LES OBJECTIFS DU COURS FIG. 1.1 Une illustration du tri par sélection. Les cases grisées sont celles qui sont considérées en place.
13 14 CHAPITRE 1. INTRODUCTION Français ou autre langue naturelle { Problème et desiderata Pseudo-langage { Algorithme Formulation des hypothèses et réflexion sur le problème Permet de raisonner formellement: Preuve de correction, etc... Traduction vers le langage choisi Langage de Programmation { Programme FIG. 1.2 Une illustration de la méthodologie que nous adopterons dans le cours. Dans les chapitres 5, 6 et 7 nous étudierons d autres structures de données ainsi que leurs algorithmes associés Les objectifs et l orientation du cours Ce cours adopte une approche scientifique de l algorithmique. Cela signifie qu on y enseignera des algorithmes et des structures de données de base qui permettent de résoudre des problèmes typiques, mais aussi des outils (comme la complexité, les invariants) qui permettent d analyser ces solutions, de les justifier, de mieux les comprendre, et d en élaborer de nouvelles. Ce cours fera donc appel tant à la rigueur qu à la créativité des étudiants. 1.2 Bibliographie Ce cours se base en grande partie sur les premiers chapitres du livre Foundations of Computer Science, A. Aho, J. Ullman, Computer Science Press, New York, Cet excellent ouvrage aborde différents aspects fondamentaux de l informatique, avec une approche résolument scientifique. Néanmoins, il va au-delà du contenu de ce cours car il aborde aussi les graphes ou la logique. Il en existe différentes versions dans lesquelles les algorithmes sont présentés soit en C, soit en Pascal. Une traduction française est publiée chez Dunod sous le titre Concepts fondamentaux de l informatique. L ouvrage Introduction to algorithms 2 e ed., T. Cormen, C. Leiserson, R. Rivest, C. Stein, MIT Press, 2001 est considérée par beaucoup comme la référence en matière d algorithmes. Le sujet est traité en profondeur, et, à nouveau, avec beaucoup de rigueur. Une traduction en français existe également sous le titre Introduction à l algorithmique, chez Dunod (ISBN ). D autres références sont données dans la bibliographie, à la fin du présent volume.
Les structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détail1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Plus en détailLogiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Plus en détailProgrammes des classes préparatoires aux Grandes Ecoles
Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailChapitre 7. Récurrences
Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,
Plus en détailARBRES BINAIRES DE RECHERCHE
ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d
Plus en détailSuivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)
Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être
Plus en détailExercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?
Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version
Plus en détailExercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?
Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailCorps des nombres complexes, J Paul Tsasa
Corps des nombres complexes, J Paul Tsasa One Pager Février 2013 Vol. 5 Num. 011 Copyright Laréq 2013 http://www.lareq.com Corps des Nombres Complexes Définitions, Règles de Calcul et Théorèmes «Les idiots
Plus en détailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Plus en détailIntroduction à la méthodologie de la recherche
MASTER DE RECHERCHE Relations Économiques Internationales 2006-2007 Introduction à la méthodologie de la recherche geraldine.kutas@sciences-po.org Les Etapes de la Recherche Les étapes de la démarche Etape
Plus en détailNouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires
Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge julien.jorge@univ-nantes.fr Laboratoire d Informatique de Nantes Atlantique,
Plus en détailUniversité du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.
Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailCalculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/
Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes
Plus en détailIntroduction à l étude des Corps Finis
Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailLES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Plus en détailEntraînement au concours ACM-ICPC
Entraînement au concours ACM-ICPC Concours ACM-ICPC : format et stratégies Page 1 / 16 Plan Présentation Stratégies de base Page 2 / 16 Qu est-ce que c est? ACM-ICPC : International Collegiate Programming
Plus en détailThéorèmes de Point Fixe et Applications 1
Théorèmes de Point Fixe et Applications 1 Victor Ginsburgh Université Libre de Bruxelles et CORE, Louvain-la-Neuve Janvier 1999 Published in C. Jessua, C. Labrousse et D. Vitry, eds., Dictionnaire des
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailAlgorithmique et Programmation
École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailFrancis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA
Plus en détailLES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION
LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement
Plus en détailFormation Excel, Niveau initiation, module 1 DUREE DE LA FORMATION OBJECTIFS DE LA FORMATION
Niveau initiation, module 1 Acquérir une philosophie de travail dans un tableur, Acquérir les bons réfl exes tableur, Familiarisation avec le vocabulaire, Créer, Enregistrer et présenter un tableau. Notions
Plus en détailCalculer avec Sage. Revision : 417 du 1 er juillet 2010
Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1
Plus en détailAnalyse et programmation 1
Analyse et programmation 1 Bienvenue Présentations Moi Qui suis-je? Quels sont mes domaines de compétence? Pourquoi suis-je ici? Comment me contacter : bureau C01a Par courrier électronique : francois.birling@heig-vd.ch
Plus en détailInformatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année
UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques
Plus en détailINF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies
INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH
Plus en détailMachines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailFeuille TD n 1 Exercices d algorithmique éléments de correction
Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments
Plus en détailIndications pour une progression au CM1 et au CM2
Indications pour une progression au CM1 et au CM2 Objectif 1 Construire et utiliser de nouveaux nombres, plus précis que les entiers naturels pour mesurer les grandeurs continues. Introduction : Découvrir
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailRaisonnement par récurrence Suites numériques
Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.
Plus en détailEnseignement secondaire technique
Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:
Plus en détailQuelques Algorithmes simples
Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailAlgorithmique, Structures de données et langage C
UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure
Plus en détailLe Futur de la Visualisation d Information. Jean-Daniel Fekete Projet in situ INRIA Futurs
Le Futur de la Visualisation d Information Jean-Daniel Fekete Projet in situ INRIA Futurs La visualisation d information 1.Présentation 2.Bilan 3.Perspectives Visualisation : 3 domaines Visualisation scientifique
Plus en détailExercices sur les équations du premier degré
1 Exercices sur les équations du premier degré Application des règles 1 et Résoudre dans R les équations suivantes en essayant d appliquer une méthode systématique : 1 x + = x + 9 x + = x x 1 = x + x +
Plus en détailCours de Master Recherche
Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Plus en détailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailCOMMENT FONCTIONNE GOOGLE?
COMMENT FONCTIONNE GOOGLE? MICHAEL EISERMANN RÉSUMÉ. Le point fort du moteur de recherche Google est qu il trie intelligemment ses résultats par ordre d importance. Nous expliquons ici l algorithme PageRank
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailRappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Plus en détailInitiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Plus en détailÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab
ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab notre compétence d'éditeur à votre service créée en juin 2010, Scilab enterprises propose services et support autour
Plus en détailProcessus d Informatisation
Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue
Plus en détailQuelques algorithmes simples dont l analyse n est pas si simple
Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire
Plus en détailComment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie
Partie I : Séries statistiques descriptives univariées (SSDU) A Introduction Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie et tous sont organisés selon le même
Plus en détailCritique des conditions de la durabilité: application aux indices de dév...
1 sur 5 25/10/2007 4:04 Critique des conditions de la durabilité: application aux indices de développement durable. Bruno Kestemont Mémoire de DEA Version révisée, 2004 IGEAT-ULB Sous la direction du Prof
Plus en détailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailBES WEBDEVELOPER ACTIVITÉ RÔLE
BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et
Plus en détailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Plus en détailMathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans
Mathématique et Automatique : de la boucle ouverte à la boucle fermée Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans Maitine.Bergounioux@labomath.univ-orleans.fr Plan 1. Un peu de
Plus en détailInitiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
Plus en détailGé nié Logiciél Livré Blanc
Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer
Plus en détailSciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information
Plus en détailChapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
Plus en détailSujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
Plus en détailResolution limit in community detection
Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.
Plus en détailExercices Alternatifs. Une fonction continue mais dérivable nulle part
Eercices Alternatifs Une fonction continue mais dérivable nulle part c 22 Frédéric Le Rou (copleft LDL : Licence pour Documents Libres). Sources et figures: applications-continues-non-derivables/. Version
Plus en détailExercices Alternatifs. Une fonction continue mais dérivable nulle part
Eercices Alternatifs Une fonction continue mais dérivable nulle part c 22 Frédéric Le Rou (copyleft LDL : Licence pour Documents Libres). Sources et figures: applications-continues-non-derivables/. Version
Plus en détailEteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :
MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE
Plus en détailOrganigramme / Algorigramme Dossier élève 1 SI
Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailManuel de recherche en sciences sociales
Résumé de QUIVY R; VAN CAMPENHOUDT L. 95, "Manuel de recherches en sciences sociales", Dunod Cours de TC5 du DEA GSI de l intergroupe des écoles Centrales 11/2002 Manuel de recherche en sciences sociales
Plus en détailCréer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailLa NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.
La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of
Plus en détailAlgèbre binaire et Circuits logiques (2007-2008)
Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits
Plus en détailSOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des
Plus en détailLes fonctions de hachage, un domaine à la mode
Les fonctions de hachage, un domaine à la mode JSSI 2009 Thomas Peyrin (Ingenico) 17 mars 2009 - Paris Outline Qu est-ce qu une fonction de hachage Comment construire une fonction de hachage? Les attaques
Plus en détailPrésentation du logiciel
Chapitre A Présentation du logiciel R Pré-requis et objectif La lecture du chapitre sur l installation de R dans les Annexes peut se révéler utile. Ce chapitre présente les origines, l objectif et les
Plus en détailNouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires
Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires Julien Jorge, Xavier Gandibleux Laboratoire d Informatique de Nantes Atlantique
Plus en détailINF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailAnne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Plus en détailOPTION SCIENCES BELLE-ISLE-EN-TERRE
Serge Combet Professeur Mathématiques Collège de Belle-Isle-En-Terre OPTION SCIENCES BELLE-ISLE-EN-TERRE 2011-2012 Mathématiques & Informatique Sommaire I. Introduction... 5 II. Choix des logiciels...
Plus en détailQu'est-ce que le BPM?
Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant
Plus en détailRessources pour le lycée général et technologique
éduscol Ressources pour le lycée général et technologique Terminale STMG Sciences de gestion Systèmes d information de gestion L information pour agir et décider Le thème L organisation informatisée permet
Plus en détailCorrection de l examen de la première session
de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi
Plus en détailNOM : Prénom : Date de naissance : Ecole : CM2 Palier 2
NOM : Prénom : Date de naissance : Ecole : CM2 Palier 2 Résultats aux évaluations nationales CM2 Annexe 1 Résultats de l élève Compétence validée Lire / Ecrire / Vocabulaire / Grammaire / Orthographe /
Plus en détailInitiative socialiste pour des impôts équitables Commentaires Bernard Dafflon 1
Initiative socialiste pour des impôts équitables Commentaires Bernard Dafflon 1 L initiative socialiste pour des impôts équitables soulève des discussions souvent quérulentes entre défenseurs de l initiative
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailÉditorial. Tangente ÉDUCATION. Scratch, AlgoBox, Python. Trimestriel - n 15 - janvier 2011 Numéro spécial 16 activités TICE pour le lycée
Tangente ÉDUCATION Trimestriel - n 15 - janvier 2011 Numéro spécial 16 activités TICE pour le lycée et leurs programmes dans les trois langages les plus utilisés : Scratch, AlgoBox, Python Python Éditorial
Plus en détail«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, 75008 Paris
«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie Agnès Dullin, lycée J. Racine 20 rue du Rocher, 75008 Paris OBJECTIFS 1- Niveau et insertion dans la programmation 2-
Plus en détail