Notes de cours. Chapitre 7. Introduction à l analyse syntaxique. Ahmed KHOUMSI. Hiver 2002 PLAN
|
|
- Florent Tristan Lavallée
- il y a 6 ans
- Total affichages :
Transcription
1 Notes de cours GEI 443 : ORGANISATION DES LANGAGES ET COMPILATION Chapitre 7 Introduction à l analyse syntaxique 1 But de l analyse syntaxique PLAN Types d erreurs dans un langage de programmation Traitement des erreurs syntaxiques Stratégies de récupération sur erreur - récupération en mode panique - récupération au niveau du syntagme - récupération par production d erreurs - récupération par correction globale Contraintes sur les grammaires pour spécifier la syntaxe - exemple de contrainte : grammaire non ambiguë - exemple de contrainte : grammaire non récursive à gauche Méthodes d analyse : - analyse descendante - analyse ascendante 2 1
2 But d un analyseur syntaxique Travail essentiel effectué : - regroupe les unités lexicales en structures grammaticales - vérifie si la syntaxe est correcte - construit un AST représentant la structure hiérarchique sur le flot des unités lexicales Résultat essentiel en sortie : - signale si la syntaxe est correcte - Un AST 3 Types d erreurs Erreurs lexicales (détectées par le scanner) tout ce qui n est pas conforme à la grammaire (régulière) définissant le vocabulaire Exemple : écriture erronée d une unité lexicale telle que un identificateur, un mot clé, un opérateur... Erreurs syntaxiques (détectées par le parser) tout ce qui n est pas conforme à la grammaire (hors-contexte) définissant la syntaxe Exemples : - expression arithmétique mal parenthésée - mot clé if sans le then correspondant - affectation sans partie droite a := ; - affectation sans partie gauche := b; C est l objet de cette partie du cours 4 2
3 Types d erreurs (suite) Erreurs sémantiques (détectées par l analyseur sémantique) Généralement, la sémantique d un langage est spécifiée d une manière informelle car une spécification formelle serait : - complexe à réaliser - et surtout trop complexe à analyser Ceci est dû au fait que la grammaire nécessaire pour spécifier la sémantique d un langage n est pas hors-contexte On détermine alors d une manière informelle, un certain nombre d erreurs sémantiques que l on désire détecter Exemples : - opérateur appliqué à un opérande incompatible - utilisation d une procédure incompatible avec sa définition (déclaration) (sur nombre ou type d arguments ) Erreurs logiques Exemple : un appel récursif infini 5 Traitement des erreurs syntaxiques En général, plus grande part du traitement des erreurs est faite par le parser. Car : - une grande partie des erreurs effectuées sont par nature syntaxiques - il existe des méthodes performantes pour détecter les erreurs syntaxiques Gestionnaire des erreurs dans un Parser - indiquer présence d erreurs de façon claire et précise (lieu, cause ) - traiter chaque erreur rapidement - ne pas ralentir de façon significative la compilation d un programme correct Dans la grande majorité des cas, les buts du gestionnaire sont facilement atteints Car une grande partie des erreurs mettent en jeu une seule unité lexicale Exemple : Une étude sur des programmes Pascal écrits par des étudiants montre que la plus grande partie des erreurs est due à l usage incorrect du point-virgule Buts du gestionnaire des erreurs deviennent difficiles à atteindre lorsque, par exemple, une erreur se produit longtemps avant sa détection. Exemple : oubli de } en langage C 6 3
4 Traitement des erreurs syntaxiques (suite) Il existe des méthodes d analyse syntaxique permettant de détecter une erreur dès que possible Exemples : Méthodes LL et méthodes LR (présentées ultérieurement) Après détection d une erreur, le gestionnaire des erreurs doit, si possible : - indiquer emplacement (dans le programme source) où erreur produite exemple : visualiser ligne erronée, avec marqueur désignant position de l erreur - donner la cause de l erreur exemples : - parenthèse fermante en plus - point-virgule manquant Nous allons maintenant présenter les stratégies de récupération sur erreur qui spécifient ce qu il faut faire après détection d erreur 7 Récupération en mode panique La plus simple à implanter, applicable dans la plupart des méthodes d analyse Pendant le déroulement de l analyse syntaxique, un ensemble d unités lexicales (symboles) de synchronisation est continuellement mis à jour Lorsque erreur détectée, on saute (ignore) tous les symboles donnés par le scanner jusqu à ce qu on rencontre un symbole de synchronisation Exemple : - À l intérieur d un bloc de (c-à-d. entre si et finsi), le symbole finsi peut être utilisée comme symbole de synchronisation - Dans une instruction d affectation, le point-virgule peut être utilisé comme symbole de synchronisation 8 4
5 Récupération en mode panique (suite) Inconvénients Partie considérable du programme peut être sautée sans vérifier sa validité Avantages - Simple - Ne boucle pas indéfiniment Récupération en mode panique adéquate lorsque des erreurs multiples dans une même instruction sont rares 9 Récupération au niveau du syntagme Lorsque erreur détectée, le parser peut effectuer des corrections locales en modifiant le préfixe du texte source restant Exemples : - remplacer une virgule par un point-virgule - détruire un point-virgule - insérer un point-virgule manquant Le choix d une correction est laissé au concepteur du compilateur Contrainte sur le choix d une correction : il faut choisir un remplacement ne conduisant pas à une boucle infinie Exemple : on peut avoir une boucle infinie, si on insère toujours quelquechose devant le symbole courant de la chaîne Inconvénient : Difficulté à gérer les situations dans lesquelles l erreur réelle s est produite avant le point de détection 10 5
6 Récupération par production d erreurs Si on a une idée précise des erreurs courantes, alors on augmente la grammaire du langage avec des règles de productions qui engendrent des constructions erronées Exemple : Soit une grammaire définie par les règles de dérivation suivantes Expr Expr Op Expr Op + Expr ( Expr ) Op - Expr - Expr Op * Expr id Op / Où : Expr et Op sont des symboles non-terminaux id + - * / ( ) sont des symboles terminaux Pour détecter une parenthèse fermante mal placée, il suffit d ajouter les règles Erreur Op ) Erreur Expr ) Lorsqu une des deux règles est utilisée par le parser, alors celui-ci exécute des action données : par exemple, envoi de message d erreur détaillé Inconvénient : Traiter grand nombre d erreurs implique nombre important de règles représentant erreurs 11 Récupération par correction globale Permet de minimiser les changements effectués Données du problème : - une grammaire G - une chaîne ξ de terminaux, syntaxiquement incorrecte Résultat : une chaîne ζ remplaçant ξ telle que - le nombre d insertions, de remplacements et de suppressions de terminaux pour passer de ξ à ζ soit minimal - la chaîne ζ est syntaxiquement correcte Inconvénient : Méthode trop coûteuse en mémoire et en temps Pour l instant, a un intérêt uniquement théorique 12 6
7 Contraintes sur grammaires Vocabulaire d un langage est spécifié par une grammaire régulière Syntaxe est spécifiée par une grammaire : - hors-contexte (non contextuelle) - qui doit satisfaire des contraintes supplémentaires qui dépendent de la méthode d analyse syntaxique adoptée 13 Premier exemple de contrainte : grammaire non ambiguë Une grammaire qui produit plus d un AST pour une phrase donnée est dite ambiguë Exemple : Condition définie par règles Inst si Expr alors Inst Inst Exemple de phrase non ambiguë : si E1 alors S1 sinon si E2 alors S2 sinon S3 L AST correspondant peut être schématisé comme suit si Expr alors Inst sinon Inst E1 S1 E2 S1 S3 14 7
8 Premier exemple de contrainte : grammaire non ambiguë (suite) Exemple de phrase ambiguë : si E1 alors si E2 alors S1 sinon S2 Premier AST correspondant (sinon associé au second si) E1 E2 S1 S2 Second AST correspondant (sinon associé au premier si) E1 S2 E2 S1 15 Premier exemple de contrainte : grammaire non ambiguë (suite) L ambiguïté peut être résolue en modifiant la grammaire comme suit Inst Inst1 Inst1 Inst2 si Expr alors Inst1 sinon Inst1 Inst2 si Expr alors Inst si Expr alors Inst1 sinon Inst2 Avec ces nouvelles règles, seul le premier AST est produit Certaines méthodes d analyse syntaxique acceptent des grammaires ambiguës. Ces méthodes utilisent des règles pour lever l ambiguïté en ne conservant qu un AST unique pour chaque phrase (c est le cas du parser généré par YACC) 16 8
9 Second exemple de contrainte : grammaire non récursive à gauche Une grammaire est récursive à gauche si elle possède une ou plusieurs règles de la forme A Aα où : A est un non-terminal α est une chaîne quelconque de symboles (terminaux ou non-terminaux) ne commençant pas par A Certaines (mais pas toutes) méthodes d analyse syntaxique ne supportent pas les grammaires récursives à gauches Suppression de la récursivité à gauche comme suit : Soit la règle A Aα1 Aα2... Aαn β1 β2... βm où : A est un non-terminal αi et βj sont des chaînes de symboles (terminaux ou non-terminaux) ne commençant pas par A Cette règle peut être remplacée par les deux règles suivantes A β1a β2a... βma A ε α1a α2a... αna 17 Second exemple de contrainte : grammaire non récursive à gauche (suite) Exemple de suppression de la récursivité à gauche A A a b où : A est un non-terminal a et b sont des terminaux Le langage engendré par cette règle est défini par l expression régulière ba* La règle ci-dessus peut être remplacée par A ba A aa ε Pour comprendre la nécessité de la non-récursivité (pour certaines méthodes), considérons un analyseur syntaxique qui, pour analyser une phrase donnée : - part du symbole de départ - parcourt la phrase à analyser de gauche à droite - décide, à la lecture de chaque symbole, de la dérivation à appliquer Si la phrase à analyser peut être obtenue après une séquence de dérivation, alors elle est jugée correcte. Sinon, on ne peut rien conclure. 18 9
10 Interprétation intuitive de la nécessité de la non-récursivité à gauche Considérons, par exemple, la phrase baa à analyser Analyse en utilisant les règles A A a et A b Premier caractère lu est b Le parser ne peut pas décider laquelle des deux règles appliquer car il ne sait pas ce qui vient après b Pour dériver la phrase à analyser, il faudrait appliquer la première règle deux fois, et ensuite la seconde règle Analyse en utilisant les règles A ba A aa et A ε - Symbole de départ est A - Première règle appliquée une fois au début, sur lecture de b Le symbole courant est ba - La seconde règle est appliquée à chaque lecture de a, donc deux fois À sa première application, le symbole courant devient baa À sa seconde application, le symbole courant devient baaa - La troisième règle est appliquée à la lecture de fin de chaîne Le symbole courant devient baa La phrase est donc correcte 19 Méthodes d analyse Soit une grammaire G définie par : Vt, Vn, S et P Soit une phrase p constituée de symbole terminaux Le but est alors de déterminer si on peut dériver p à partir de S Autrement dit, il s agit de déterminer s il existe un arbre syntaxique correspondant à la phrase p Deux approches sont généralement utilisées : - analyse descendante - analyse ascendante 20 10
11 Analyse descendante - On commence par le symbole de départ S - On applique différentes règles de l ensemble P Si on arrive à dériver p à partir de S alors p est syntaxiquement correcte Autrement dit, il s agit de construire l arbre syntaxique : - en commençant par la racine - en descendant vers les feuilles Exemple : Vt = {id, *, +} Vn = {E, T, F} S = E P = { E T, E E+T, T F, T T*F, F id } La phrase p à analyser est id + id * id Une séquence de dérivations permettant d obtenir p est la suivante E E + T T + T F + T id + T id + T * F id + F * F id + id * F id + id + id 21 Analyse ascendante On commence à partir de p et on essaye de remonter, par réductions (règles appliquées à l envers) successives, au symbole de départ S Si on arrive à obtenir S, alors p est correcte (syntaxiquement) Autrement dit, il s agit de construire l arbre syntaxique : - en commençant par les feuilles - en remontant vers la racine Exemple : on reprend le même exemple précédent Voici une séquence de réductions permettant d obtenir le symbole de départ E id + id * id F + id * id T + id * id E + id * id E + F * id E + T * id E + T * F E + T E 22 11
Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détailCours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.
Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive Cours No 3 : Identificateurs, Fonctions, Premières Structures
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étailThéorie des Langages
Théorie des Langages Analyse syntaxique descendante Claude Moulin Université de Technologie de Compiègne Printemps 2010 Sommaire 1 Principe 2 Premiers 3 Suivants 4 Analyse 5 Grammaire LL(1) Exemple : Grammaire
Plus en détailRappels Entrées -Sorties
Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
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étailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
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é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étailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailContinuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
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étailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
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é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é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étailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Plus en détailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détailCode_Aster. Procédure IMPR_RESU aux formats 'RESULTAT' et 'ASTER' 1 But
Titre : Procédure IMPR_RESU aux formats 'RESULTAT' et 'AST[...] Date : 24/04/2013 Page : 1/9 Procédure IMPR_RESU aux formats 'RESULTAT' et 'ASTER' 1 But Écrire le maillage ou les résultats d'un calcul
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailLes 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étailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailbasée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Plus en détailExpression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e
P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détailMaple: premiers calculs et premières applications
TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailCours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Plus en détail3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Plus en détailR01 Import de données
R01 Import de données A partir du package de base, R peut lire les données stockées dans des fichiers texte, à partir notamment des fonctions read.table, read.csv, read.delim, read.csv2, read.delim2, et
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é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étailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailCompilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailCOMPTABILITE SAGE LIGNE 30
COMPTABILITE SAGE LIGNE 30 Date : 25/09/2006 Auteur : Pascal VIGUIER Réf. : SAGE092006 SOMMAIRE SOMMAIRE... 1 1. MENU FICHIER... 3 1.1 1.2 AUTORISATION D ACCES... 3 A PROPOS DE VOTRE SOCIETE... 4 1.2.1
Plus en détailTP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailFiche PanaMaths Calculs avec les fonctions sous Xcas
Fiche PanaMaths Calculs avec les fonctions sous Xcas Cette fiche destinée aux élèves des classes de Terminale requiert un premier niveau de connaissance du logiciel Xcas. Définition d une fonction Fonctions
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailLe chiffre est le signe, le nombre est la valeur.
Extrait de cours de maths de 6e Chapitre 1 : Les nombres et les opérations I) Chiffre et nombre 1.1 La numération décimale En mathématique, un chiffre est un signe utilisé pour l'écriture des nombres.
Plus en détailLe modèle standard, SPE (1/8)
Le modèle standard, SPE (1/8) Rappel : notion de grammaire mentale modulaire Les composants de la grammaire : module phonologique, sémantique syntaxique Syntaxe première : elle orchestre la relation mentale
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étailCours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailIntroduction à l algorithmique et à la programmation M1102 CM n 3
Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d
Plus en détailmajuscu lettres accent voyelles paragraphe L orthographe verbe >>>, mémoire préfixe et son enseignement singulier usage écrire temps copier mot
majuscu conjugaison >>>, L orthographe singulier syllabe virgule mémoire lettres et son enseignement graphie suffixe usage accent ; écrire féminin temps voyelles mot point Renforcer l enseignement de l
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étailGrammaires d unification
Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les
Plus en détailALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Plus en détailProgrammation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Plus en détailCours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
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étailprogression premiere et terminale
progression premiere et terminale s.2 s.3 valette SEQUENCE Séance Objectif Contenu du cours Compétences Savoirs 1 1. Le bilan comportemental Identifier les objectifs de la connaissance de soi Utiliser
Plus en détailUne dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU
Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour
Plus en détailAccess et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.
Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,
Plus en détailREPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP
IFP Birkhadem Alger Rue des trois frères Djillali 1 REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE INSTITUT DE LA FORMATION PROFESSIONNELLE DE BIRKHADEM Initiation
Plus en détailAlgorithmique avec Algobox
Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions
Plus en détailCréer vos données sources avec OpenOffice, adieu Excel
Créer vos données sources avec OpenOffice, adieu Excel Par Benoît Sauvé, enseignant CFP de Verdun Vous pouvez créer vos données sources manuellements en les saisissant dans un programme comme OpenOffice
Plus en détailQu est-ce qu un résumé?
Méthodologie d analyse et de mémoire Résumer un texte Quelques astuces et techniques Licence GSINFO Département GEII IUT d Évry N. Abchiche Mimouni 1 Qu est-ce qu un résumé? Exprime de façon brève, les
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
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étailAdministration du site (Back Office)
Administration du site (Back Office) A quoi sert une interface d'administration? Une interface d'administration est une composante essentielle de l'infrastructure d'un site internet. Il s'agit d'une interface
Plus en détailPas d installations ou d équipement particuliers.
COURS MAM1010 : Niveau : Préalable : Description : Paramètres : MARKÉTING ET GESTION Débutant Aucun L élève acquiert des notions de base en gestion et en markéting et donne des indications sur les meilleures
Plus en détailEXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05
EXCEL PERFECTIONNEMENT Version 1.0 30/11/05 SERVICE INFORMATIQUE TABLE DES MATIERES 1RAPPELS...3 1.1RACCOURCIS CLAVIER & SOURIS... 3 1.2NAVIGUER DANS UNE FEUILLE ET UN CLASSEUR... 3 1.3PERSONNALISER LA
Plus en détailCours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO
Cours de Programmation en Langage Synchrone SIGNAL Bernard HOUSSAIS IRISA. Équipe ESPRESSO 24 septembre 2004 TABLE DES MATIÈRES 3 Table des matières 1 Introduction 5 1.1 La Programmation Temps Réel.........................
Plus en détailMICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
Plus en détailACCÈS SÉMANTIQUE AUX BASES DE DONNÉES DOCUMENTAIRES
ACCÈS SÉMANTIQUE AUX BASES DE DONNÉES DOCUMENTAIRES Techniques symboliques de traitement automatique du langage pour l indexation thématique et l extraction d information temporelle Thèse Défense publique
Plus en détailCRÉER UN COURS EN LIGNE
Anne DELABY CRÉER UN COURS EN LIGNE Deuxième édition, 2006, 2008 ISBN : 978-2-212-54153-3 2 Que recouvre le concept d interactivité? Dans une perspective de cours en ligne, une activité interactive est
Plus en détailTP 1 Prise en main de l environnement Unix
Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session
Plus en détailConception de circuits numériques et architecture des ordinateurs
Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique
Plus en détailCalc 2 Avancé. OpenOffice.org. Guide de formation avec exercices et cas pratiques. Philippe Moreau
OpenOffice.org Calc 2 Avancé Guide de formation avec exercices et cas pratiques Philippe Moreau Tsoft et Groupe Eyrolles, 2007, ISBN : 2-212-12036-2, ISBN 13 : 978-2-212-12036-3 4 - Plages de données 4
Plus en détailCompte-rendu de Hamma B., La préposition en français
Compte-rendu de Hamma B., La préposition en français Badreddine Hamma To cite this version: Badreddine Hamma. Compte-rendu de Hamma B., La préposition en français. Revue française de linguistique appliquée,
Plus en détailProgrammation en langage C
Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des
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é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étailCompilation. Algorithmes d'analyse syntaxique
Compilation Algorithmes d'analyse syntaxique Préliminaires Si A est un non-terminal et γ une suite de terminaux et de non-terminaux, on note : A γ si en partant de A on peut arriver à γ par dérivations
Plus en détailLangage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL
Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions
Plus en détail1 Description générale de VISFIELD
Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit
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étailCorrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Plus en détailPrésentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailChapitre 2. Eléments pour comprendre un énoncé
Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données
Plus en détailDéfinition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3
8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant
Plus en détailCompléments de documentation Scilab : affichage de texte et formatage de nombres
Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Agrégation externe Année 2002-2003 Compléments de documentation Scilab : affichage de texte et formatage de
Plus en détailUtiliser un tableau de données
Utiliser un tableau de données OBJECTIFS : - Définir une Base de Données. - Présentation : tableau de données. - Création d un tableau de données - Gestion d un tableau de données. - Trier et Filtrer des
Plus en détailGnuplot. Chapitre 3. 3.1 Lancer Gnuplot. 3.2 Options des graphes
Chapitre 3 Gnuplot Le langage C ne permet pas directement de dessiner des courbes et de tracer des plots. Il faut pour cela stocker résultats dans des fichier, et, dans un deuxième temps utiliser un autre
Plus en détail