Notes de cours. Vocabulaire de LSP
|
|
- Agnès Roberge
- il y a 7 ans
- Total affichages :
Transcription
1 Notes de cours GEI 443 : ORGANISATION DES LANGAGES ET COMPILATION Chapitre 5 Introduction au langage LSP 1 Vocabulaire de LSP Vocabulaire = ensemble des terminaux acceptés Vocabulaire vérifié lors de l analyse lexicale Terminaux (ou unités lexicales) acceptés sont (rappel, voir chapitre 2 pages 40-43) : - identificateur (id) constitué d une première lettre suivie de lettres et de chiffres (ici le _ considéré comme une lettre) - nombre entier (nb) constitué de plusieurs chiffres - chaine (ch) est une séquence de caractères placée entre guillemets - booléen (bo) peut être un des deux mots clé vrai ou faux - opérateurs - non (unaires) - * + / & =!= < <= > >= et ou.. (binaires) - affectation := - mots clé const var proc entier chaine bool lect ecrit si alors sinon finsi tantque faire fintq finproc - autres ( ) [ ] % : ;, 2 1
2 Syntaxe du langage LSP Syntaxe de LSP définie par une grammaire hors-contexte Grammaire : G = (Vt, Vn, S, P) Vt = { id, nb, ch, bo, -, *, +, /, &, =,!=, <, <=, >, >=, non, et, ou,.., :=, (, ), [, ], %, :, ;,,, const, var, proc, entier, chaine, bool, lect, ecrit, si, alors, sinon, finsi, tantque, faire, fintq, finproc } Vn = { Programme, Decl, Proc, Seq, Val, Type, Expr, Instr, Oper, Facteur } S = Programme Parties de LSP qui dépendent du contexte étudiées lors de l analyse sémantique Par la suite, nous utiliserons les métasymboles suivants : α β choix entre α et β [α ] 0 ou 1 occurrence de α {α } 0, 1 ou plusieurs occurrences de α 3 P = { Programme { Decl Proc } Seq FDF Proc proc id [ (id : Type {, id : Type } ) ] [ : Type ] RET { Decl } Seq finproc id RET Decl const id : Type := Val {, id : Type := Val } ; RET Val var id : Type [ := Val ] {, id : Type [ := Val ] } ; RET bo nb ch Type entier chaine bool Seq [ RET ] { Instr [ RET ] } Instr id ( [ Expr {, Expr } ] ) ; id := Expr ; lect id {, id } ; ecrit Expr {, Expr } ; si Expr alors Seq [ sinon Seq ] finsi RET tantque Expr faire Seq fintq RET Expr Expr Oper Expr Facteur Facteur id id ( [ Expr {, Expr } ] ) id [ Expr [.. Expr ] ] - Facteur non Facteur ( Expr ) Val Oper =!= < <= >= > + - * / & ou et } 4 2
3 Règle de production : Programme { Decl Proc } Seq FDF Un programme est constitué de : 1. Une suite de composants Decl et Proc, où : chaque composant peut être : - une suite de déclarations de constantes ou - une suite de déclarations de variables ou - une déclaration de procédure (Proc) Decl 2. Une suite Seq d instructions 3. Le caractère Fin de fichier (FDF) 5 Règles de production : Decl Type Val const id : Type := Val {, id : Type := Val } ; RET entier chaine bool bo nb ch Dans une déclaration de constantes, on a dans l ordre : - le mot-clé const - une séquence de composants séparés par des virgules - un point-virgule suivi d un retour à la ligne Chaque composant (qui représente une déclaration de constante) est constitué de : - le nom de la constante - le symbole : - le type de la constante qui peut être entier, chaine ou bool - le symbole d affectation := - la valeur (booléen ou entier ou chaîne) que l on affecte à la constante Exemple : Déclaration de trois constantes const accel : entier := 12, message : chaine := Bonjour\n, correct : bool := vrai; 6 3
4 Règle de production : Decl var id : Type [ := Val ] {, id : Type [ := Val ] } ; RET Dans une déclaration de variables, on a dans l ordre : - le mot-clé var - une séquence de composants séparés par des virgules - un point-virgule suivi d un retour à la ligne Chaque composant, qui représente une déclaration de variable, est constitué de : - le nom de la variable - le symbole : - le type de la variable, qui peut être entier, chaine ou bool - si la variable est initialisée lors de sa déclaration - le symbole := - la valeur que l on affecte à la variable Exemple : Déclaration de trois variables var vit : entier := 0, message : chaine, termine : bool; 7 Règles de production : Proc proc id [ (id : Type {, id : Type } ) ] [ : Type ] RET { Decl } Seq finproc id RET Dorénavant, procédure signifiera procédure ou fonction Dans une déclaration (et définition) de procédure, on a dans l ordre : - le mot-clé proc suivi du nom de la procédure - si la procédure possède des arguments - parenthèse ouverte - séquence de déclarations d arguments séparées par des virgules - parenthèse fermée - s il s agit d une fonction (et non d une procédure), alors on a ensuite - le symbole : - le type de la valeur retournée (Type) - un retour à la ligne (RET) - une suite (pouvant être vide) de déclarations de variables et de constantes (locales) - une suite (pouvant être vide) d instructions (Seq, voir page 4) - le mot clé finproc suivi du nom de la procédure et d un retour à la ligne 8 4
5 Règle de production définissant une procédure (suite) Une déclaration d argument est constituée de : - le nom de l argument - le symbole : - le type de l argument Lorsqu il s agit d une fonction alors : - une variable locale appelée resultat est automatiquement (et implicitement) définie comme ayant le type de la valeur retournée par la fonction - la fonction retourne la valeur de la variable resultat - on n a pas le droit de déclarer une variable ou constante locale s appelant resultat 9 Exemples de définition de procédure Exemple 1 : proc addition ( x : entier, y : entier ) : entier resultat := x + y ; finproc addition Exemple 2 : proc affiche ( message : chaine ) const Max : entier := 50; si (long(message) <= Max) alors ecrit message \n ; sinon ecrit Message trop long \n ; finsi finproc affiche 10 5
6 Portée des variables Variables et constantes déclarées à l extérieur d une procédure ont portée globale. Elles peuvent être utilisées dans tout le programme. Variables et constantes déclarées à l intérieur d une procédure ont portée locale, c-à-d. connues uniquement à l intérieur de la procédure où elles ont été déclarées. Valeur affectée à une variable est perdue lorsqu on sort de la procédure. Variable ou constante locale à procédure donnée peut avoir même nom N que : - variable ou constante locale à une autre procédure - variable ou constante globale Lorsqu on est à l intérieur d une procédure où N a été (localement) déclaré, alors N désigne la variable ou constante locale à cette procédure Lorsqu on est à l extérieur de toute procédure ou à l intérieur d une procédure où N n a pas été déclaré, alors N désigne une variable globale 11 Règle de production définissant le symbole non-terminal Expr Corps procédures et programme principal constitués de séquences d instructions. Avant de présenter les instructions, il est nécessaire de présenter les expressions définies par le symbole Expr Une expression peut être (règle Expr Expr Oper Expr Facteur ) : - un facteur ou - deux expressions séparées par un opérateur Il est donc nécessaire de présenter les facteurs 12 6
7 Règle de production définissant le symbole non-terminal Facteur Un facteur peut être (voir règles Facteur..., page 4) : - un identificateur qui représente le nom d une variable ou constante (id) - un identificateur suivi d une séquence d expressions séparées par des virgules. La séquence est mise entre parenthèses (obligatoires même si séquence vide) L identificateur représente un nom de fonction (et non de procédure) Les expressions entre parenthèses représentent les arguments de la fonction Ce facteur représente la valeur retournée par un appel de fonction - un identificateur suivi d une séquence d expressions séparées par le symbole.. Séquence constituée de un ou deux éléments est mise entre crochets L identificateur représente un nom de variable de type chaîne de caractères Les expressions entre crochets représentent des positions dans la chaine Ce facteur représente une sous-chaîne : - de la chaîne représentée par l identificateur - dont le début et la fin sont définis par les deux positions Lorsqu une seule position est définie, il s agit d une sous-chaîne de longueur 1 Exemples : S[3] S[2.. 5] S[2.. x+3] 13 Règle de production définissant symbole non-terminal Facteur (suite) Un facteur peut aussi être : - un facteur précédé du symbole - (correct lorsque facteur représente un entier) - un facteur précédé du symbole non (correct lorsque facteur représente un booléen) - une expression entre parenthèses - une valeur booléenne (un des deux mots vrai et faux) - une valeur entière - une chaîne de caractères entre guillemets 14 7
8 Règle de production définissant un opérateur Les opérateurs (qui sont utilisés dans les expressions) sont les suivants : = égalité (a = b)!= inégalité (a!= b) < inférieur (a < b) <= inférieur ou égal (a <= b) >= supérieur ou égal (a >= b) > supérieur (a > b) + addition (a + b) - soustraction (a - b) * multiplication (a * b) / division (a / b) & modulo (a & b) ou et Opérations booléennes 15 Définition des instructions Appel de procédure: Instr id ( [ Expr {, Expr } ] ) ; - identificateur qui représente nom de procédure (et pas d une fonction) - parenthèse ouverte - séquence d expressions séparées par des virgules ces expressions représentent les arguments de la procédure la séquence peut être vide (mais les parenthèses sont obligatoires) - parenthèse fermée - point-virgule Remarque : - même syntaxe que pour l appel de fonction (avec un point-virgule en plus) - appel de fonction est une expression, appel de procédure est une instruction Affectation: Instr id := Expr ; - identificateur qui représente variable à laquelle on affecte une valeur - symbole := - expression dont la valeur est affectée à la variable 16 8
9 Définition des instructions (suite) Lecture de l entrée standard : Instr lect id {, id } ; - mot clé lect - séquence d identificateurs séparés par des virgules - séquence contient au moins un élément - identificateurs représentent variables auxquelles on veut affecter des valeurs qui sont récupérées à partir de l entrée standard - point-virgule Écriture sur la sortie standard : Instr ecrit Expr {, Expr } ; - mot clé ecrit - séquence d expressions séparées par des virgules - séquence contient au moins un élément - les valeurs des expressions sont envoyées sur la sortie standard - point-virgule Remarque : un identificateur est un cas particulier d expression 17 Définition des instructions (suite) Condition : Instr si Expr alors Seq [ sinon Seq ] finsi RET - mot clé si - expression ayant une valeur booléenne - mot clé alors - séquence d instructions (exécutées lorsque l expression booléenne est vraie) - optionnellement - mot clé sinon - séquence d instructions (exécutées lorsque l expression booléenne est fausse) - mot clé finsi suivi d un retour à la ligne Répétition : Instr tantque Expr faire Seq fintq RET - mot clé tantque - expression ayant une valeur booléenne - mot clé faire - séquence d instructions (exécutées tant que l expression booléenne est vraie) - mot clé fintq suivi d un retour à la ligne 18 9
10 Exemple de programme var FoisUtilisee; % variable globale incrémentée à chaque exécution de Superpose % % Fonction Superpose retourne position d une sous-chaîne dans une chaîne Si SousCh est une sous-chaîne de Ch alors la fonction retourne l entier i tel que SousCh[k] = Ch[k+i] pour tout k tel que 0 <= k < m, m = longueur de SousCh % proc Superpose(SousCh : chaine, Ch : chaine) : entier var P : entier := 1; % variable locale % resultat := 0; tantque ((P+long(SousCh) <= long(ch)) et (resultat = 0)) faire si (Ch[P.. P + long(sousch) - 1] = SousCh) alors resultat := P; finsi P := P+1; fintq FoisUtilisée := FoisUtilisée + 1; finproc Superpose 19 Exemple de programme (suite) % Programme principal % var C : chaine, S : chaine, R : entier; FoisUtilisee := 0; ecrit Entrer une chaine : ; lect C; tantque (C!= ) faire % tant que chaine non vide % ecrit Entrer une sous-chaine : ; lect S; R := Superpose(S,C); si (R = 0) alors ecrit S, n est pas dans, C,.\n ; sinon ecrit Superposition en, R,.\n ; finsi ecrit Entrer une autre chaine : ; lect C; fintq ecrit Nombre de superpositions effectué est, FoisUtilisee,.\n ; 20 10
11 Quelques considérations sémantiques Tableau ci-dessous représente compatibilités entre les types et les opérateurs Type Opérateurs permis entier / & * + - =!= < <= > >= chaine + =!= < <= > >= bool non et ou =!= 21 Quelques considérations sémantiques (suite) Les trois types autorisés sont : - entier valeurs signées codées en complément à 2 sur 4 octets donc la valeur N d un entier est telle que : -231 <= N <= bool valeurs de ce type peuvent être vrai ou faux - chaine valeurs de ce type peuvent être des chaînes de caractères entre guillemets chaque caractère est codé en ASCII (sur un octet) les codes ASCII supportés sont : 32 à 127 \n (retour à la ligne) et \t (tabulation) Soit C une chaîne de caractères de longueur m C[i] désigne le (i)ème caractère (C[1] est le premier caratère) C[i.. j] désigne la sous-chaîne commençant en C[i] et finissant en C[j] C[i.. i] = C[i] C[1.. m] = C 22 11
12 Quelques considérations sémantiques (suite) Affectation : valeur affectée à une variable ou constante doit être de même type que celle-ci Exemples : Déclarations : const a : entier := 23; var b : bool := vrai, c : chaine := bonjour\n ; var u : bool, v : chaine, w : entier; Instructions : u := (non b) ou u; v := v + c; w := a + 3; 23 Quelques considérations sémantiques (suite) Lecture identificateurs qui suivent le mot clé lect peuvent être de type entier ou chaine Écriture expressions qui suivent le mot clé ecrit peuvent être de type entier ou chaine Variable resultat - implicitement déclarée dans une fonction - contient la valeur retournée par la fonction - on ne peut donc pas déclarer une variable resultat dans une fonction Procédure et fonction débute par mot clé proc suivi du nom de la procédure se termine par mot clé finproc suivi du nom de la procédure - on ne peut donc pas déclarer une variable resultat dans une fonction Structures de condition et de répétition Une expression qui suit un des deux mots clé si et tantque doit être booléenne 24 12
Algorithmique 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 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é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étailChap 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é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é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é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é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étailCours d Informatique
Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1
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é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é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é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é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é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é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é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étailLangage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289
Langage C Patrick Corde Patrick.Corde@idris.fr 22 juin 2015 Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Table des matières I 1 Présentation du langage C Historique Intérêts
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
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é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étailChap III : Les tableaux
Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction
Plus en détailSUPPORT DE COURS. Langage C
Dpt Informatique 2010-2011 SUPPORT DE COURS Langage C Semestre 1 par : «CaDePe» Marie-Françoise Canut Marianne de Michiel André Péninou Table des Matières 1 Généralités...8 1.1 Introduction aux langages
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étailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
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étailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
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é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é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étailLes structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
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é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é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étailNotes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon
Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon 13 janvier 2015 2 Table des matières Organisation générale du cours 7 1 Notions générales d algorithmique et de programmation
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
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é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étailInformatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
Plus en détailLe langage C. Introduction, guide de reference
Le langage C Introduction, guide de reference Ce document est une présentation du langage de programmation C, de sa syntaxe et de ses spécificités. Il est destiné essentiellement à servir de mémo-guide
Plus en détailLogiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats
Plus en détailPlan du cours 2014-2015. Cours théoriques. 29 septembre 2014
numériques et Institut d Astrophysique et de Géophysique (Bât. B5c) Bureau 0/13 email:.@ulg.ac.be Tél.: 04-3669771 29 septembre 2014 Plan du cours 2014-2015 Cours théoriques 16-09-2014 numériques pour
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
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étailProgrammation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire
Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...
Plus en détailCréation et Gestion des tables
Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5
Plus en détailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
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étailLangage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
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étailFactorisation Factoriser en utilisant un facteur commun Fiche méthode
Factorisation Factoriser en utilisant un facteur commun Fiche méthode Rappel : Distributivité simple Soient les nombres, et. On a : Factoriser, c est transformer une somme ou une différence de termes en
Plus en détailClaude Delannoy. 3 e édition C++
Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.
Plus en détailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailLes chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
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étailINF 321 : mémento de la syntaxe de Java
INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2
Plus en détail1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux
Plus en détailAlgorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)
Algorithmes et Programmes Introduction à l informatiquel! Vie d'un programme! Algorithme! Programmation : le langage! Exécution et test des programmes Chapitre : Algorithmes et Programmes 2 Cycle de vie
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
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étailURECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2
Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont
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é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étailEES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot
EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot Permet la résolution de systèmes d équations algébriques, non linéaires Contient différentes bases de données thermodynamiques.
Plus en détailProgrammation Classique en langage C
DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric
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étailComplexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation
Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul
Plus en détailCours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan
Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre
Plus en détail2 Comment fonctionne un ordinateur, dans les grandes lignes
Programmation 1 Cours n 1 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot Les notes de cours et les feuilles de TD sont disponibles (avec un peu de retard par rapport au déroulement du cours)
Plus en détailBTS IRIS Cours et Travaux Pratiques. Programmation C. A. Lebret, TSIRIS, Lycée Diderot, 1995/06. en conformité avec le référentiel du BTS IRIS
BTS IRIS Cours et Travaux Pratiques Programmation C A. Lebret, TSIRIS, Lycée Diderot, 1995/06 en conformité avec le référentiel du BTS IRIS Activité Codage et Réalisation Tâches T3.3, T3.4 et T3.5 Temps
Plus en détaileduscol Ressources pour la voie professionnelle Français Ressources pour les classes préparatoires au baccalauréat professionnel
eduscol Ressources pour la voie professionnelle Ressources pour les classes préparatoires au baccalauréat professionnel Français Présentation des programmes 2009 du baccalauréat professionnel Ces documents
Plus en détailCalcul Formel et Numérique, Partie I
Calcul Formel et Numérique N.Vandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations
Plus en détail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Plus en détailArchitecture des Systèmes d Information Architecture des Systèmes d Information
Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau
Plus en détailLe prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
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étailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailAdama MBODJI MBODJ.SYSTEM
MBODJ.SYSTEM Tableaux & vecteurs Algorithmes de tris Chaînes de caractères Listes linéaires Piles & Files Arbres Fichiers Je dédie cet ouvrage à mon père Souleymane MBODJI 2 Dédicace... 2 Sommaire... 3
Plus en détailAssembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96
Assembleur i8086 Philippe Preux IUT Informatique du Littoral Année universitaire 95 96 1 Avertissement Ce document décrit le langage d assemblage étudié et utilisé dans le cadre des TP d architecture.
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
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étailTP : Gestion d une image au format PGM
TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples
Plus en détailUSTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :
USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.
Plus en détail4. Les structures de données statiques
4. Les structures de données statiques 4.1 Tableaux à une dimension 4.1.1 Introduction Imaginons que dans un programme, nous ayons besoin simultanément de 25 valeurs (par exemple, des notes pour calculer
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é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étailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailManuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com
Manuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com 1. Eléments communs... 7 1.1. Les variables... 7 1.1.1. Les variables booléennes... 7 1.1.2. Les variables numériques...
Plus en détailEXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
Plus en détailMachines virtuelles fonctionnelles (suite) Compilation ML Java
Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles
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étailAnalyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
Plus en détailINITIATION A LA PROGRAMMATION
2004-2005 Université Paris Dauphine IUP Génie Mathématique et Informatique INITIATION A LA PROGRAMMATION PROCEDURALE, A L'ALGORITHMIQUE ET AUX STRUCTURES DE DONNEES PAR LE LANGAGE C Maude Manouvrier La
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étailAlgorithmes et programmation en Pascal. Cours
Algorithmes et programmation en Pascal Faculté des Sciences de Luminy Edouard Thiel Cours Deug 1 Mass MA Module de 75 heures 1997 à 2004 2 Algorithmes et programmation en Pascal Edouard Thiel Table des
Plus en détailCOMPARAISONDESLANGAGESC, C++, JAVA ET
REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY
Plus en détailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
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étail