Introduction à l'informatique

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Introduction à l'informatique"

Transcription

1 Introduction à l'informatique DEUG Sciences et Technologie Première année Autour de la programmation Catherine Mongenet Pierre Gancarski (supports réalisés par Catherine Mongenet et Pascal Schreck) Rappels des faits Processeur : décode, exécute et enchaîne des opérations «élémentaires» Programme exécutable = suite d instructions élémentaires compréhensibles par l'architecture Format très précis et sans ambiguïté Dépend de l'architecture Langage machine Langage de programmation = ensemble d'instructions + manière de les combiner 2

2 Résolution de problème L'informatique est utilisée pour résoudre des problèmes ayant une réalité plus ou moins concrète. Visualiser des molécules Inverser une matrice Mettre en forme des textes Prévoir le temps du lendemain Ecart énorme entre les problèmes de l'utilisateur et les instructions élémentaires utilisées pour les résoudre... Utilisation de langages dits «de haut niveau» Plus faciles à appréhender que le langage machine Moins rudimentaires que le langage machine Syntaxe rigide Expressivité limitée 3 Algorithmique, programmation, compilation Problème «concret» Modélisation plus ou moins formelle (mathématique, physique, informatique...) Description d'algorithmes et de représentation de données Traduction dans un langage de programmation de haut niveau Traduction en une suite d'instructions reconnues par un processeur Modélisation Algorithmique Programmation Compilation (automatique) 4

3 Exemple Passage d'un problème concret à un algorithme Pb : Quel est le chemin le plus court entre Strasbourg et Biarritz? Modélisation : comment représenter une carte routière avec les liaisons entre villes et leurs distances? Lille Brest Bordeaux Paris Lyon Strasbourg Algorithme de recherche d'un chemin avec son coût Biarritz Toulouse Marseille Algorithme de recherche du plus court chemin Par un graphe valué 5 Exemple Passage d'un algorithme à un programme Comment implanter un graphe? Sous forme d'un tableau à deux dimensions x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 250 x 6 x x 240 x x x x x x x x

4 Exemple Passage d'un algorithme à un programme x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 250 x 6 x x 240 x x x x x x x x Distance minimale: 1150 km Itinéraire : de 2 à coût min étapes Langage de programmation Pourquoi la langue naturelle (comme le français) ne peut pas être un langage de programmation? Redondance (et contradictions possibles) Sous-entendu (en particulier emploi de pronoms) Ambiguïté grammaticale 8

5 Ambiguïté de traduction Exemple : le chauffeur ferme la porte phrase 1 ère interprétation verbe COD sujet verbe cod GN GN art nom art nom le chauffeur ferme la porte 9 Traduction Exemple : le chauffeur ferme la porte phrase 2 ème interprétation adj. sujet cod verbe sujet verbe GN Deux interprétations COD Grammaire ambiguë art nom adj le chauffeur ferme la porte Langue naturelle Langage de programmation 10

6 Langages de programmation Langage machine Niveaux de langages instructions codées en binaire, directement exécutable par la machine Langage d assemblage ou assembleur instructions écrites sous forme symbolique (mnémonique) Langage évolué (ou de haut niveau) instructions complexes qui doivent être traduites ou interprétées pour être comprises par la machine Propre à chaque type de machine Indépendant du type de machine 11 Langages Langage machine Niveaux de langages instructions codées en binaire, directement exécutable par la machine Langage d assemblage ou assembleur instructions écrites sous forme symbolique (mnémonique) Langage évolué (ou de haut niveau) instructions complexes qui doivent être traduites ou interprétées pour être comprises par la machine Nécessite une traduction réalisée automatiquement par la machine 12

7 Historique des langages de programmation Passage du bas niveau au haut niveau à cause de la «crise du logiciel» (plus on est de bas niveau, plus c'est dur à comprendre et à maintenir) pour «briser» une certaine hégémonie des informaticiens (exemple du langage Cobol) pour développer plus vite : presque sans programmer (outils de prototypage,...) rendu possible grâce aux progrès de la compilation/optimisation 13 Historique des langages de programmation Fortran (FORmula TRANslator), 1954 Calcul scientifique Fortran 77, Fortran 90 Langages évolués Cobol (Common Business Oriented Language), 1959, HPF pour machines parallèles Applications de gestion, manipulation de fichiers Basic (Beginner s All-purpose Symbolic Instruction Code), 1964 Langage rudimentaire, à but didactique Succès sur les premiers micro-ordinateurs 14

8 Historique des langages de programmation Pascal (N. Wirth), 1971 C (Kernighan et Ritchie), 1972 Langages évolués Algol (AlGorithmic Oriented Language), 60 puis 68 Concepts de programmation structurée structures de blocs structures de contrôle : if-then-else, while-do procédures, récursivité Langage orienté programmation système Lié au développement de Unix 15 Historique des langages de programmation Langages évolués Ada (J. Ichbiah), 1979 Appel d offre du Dépt Défense US Concepts de Pascal + temps réel, parallélisme, généricité, gestion des exceptions. C++ (B. Stroustrup), 1985 Concepts de C + notion de classe, héritage entre classes. Java (J. Gosling), 1995 Dérivé de C++ avec nb. librairies garantissant la portabilité Adapté aux applications Internet 16

9 Styles de programmation Style impératif Programmation impérative ou procédurale Variable = abstraction de la notion de case mémoire Affectation = action qui modifie la valeur d une variable Programme = suite d instructions Programmation orientée objet Structuration des programmes autour des objets manipulés Smalltalk, Eiffel, C++, Ada 95, Java 17 Styles de programmation Style déclaratif Programmation fonctionnelle Programme = ensemble de fonctions LISP (LISt Processing) (J. Mc Carthy), 1959 Manipulation de listes, avec qq. opérateurs de base ML et ses dialectes : SML, Caml Programmation logique Assertions de faits + mécanisme d inférence Prolog (PROgrammation LOGique) (A. Colmerauer), 1972 Utilisés en IA 18

10 Programmation impérative Structures de contrôle Conditionnelles Itératives if x > y then res := x else res := y for i := 1 to n do sum := sum + i while i<n do s := s + i; i := i+1 end Procédures et fonctions Structures de données Variables entières, réelles, caractères Tableaux A[10] désigne un tableau à 10 éléments A[1], A[2],, A[10] 19 Programmation impérative Module Type abstrait de données Objet + opérations de manipulation de ces objets Exemple : Objet : pile Opérations : empiler, dépiler, pilevide Fonctionne comme une boite noire : Implantation cachée 20

11 Exemple de programme (algo + code) Problème : calculer la somme des 10 premiers entiers s : variable dans laquelle on calcule la somme A chaque étape, on ajoute à s une valeur, successivement 1, puis 2, puis 3 jusqu à 10 Itération var i, s : integer; s := 0; for i = 1 to 10 do begin end; s := s + i; variable s variable i Exemple de programme (assembleur) var i, s : integer; s := 0; for i = 1 to 10 do begin end; s := s + i; lab1 : load R1, #0 load R2, #1 add R1, R2, R1 inc R2 add R2, #1,R2 leq R2, #10, lab1 Reg. R1 contient la valeur de s Reg. R2 contient la valeur de i 22

12 Traduction : interpréteurs et compilateurs Deux types de mécanismes Interpréteur Traduction et exécution en une seule étape Chaque instruction est analysée, convertie en langage machine et exécutée immédiatement. Traducteur ou compilateur Traduction et exécution en deux étapes Programme source Programme objet en langage machine Exécution 23 Traduction : interpréteurs et compilateurs Deux types de mécanismes Interpréteur Traduction et exécution en une seule étape Chaque instruction est analysée, convertie en langage machine et exécutée immédiatement. Traducteur ou compilateur Traduction et exécution en deux étapes Langages compilés : Pascal, C, C++ 24

13 Exemple de grammaire Grammaire pour l affectation de variables (s := a s + i b ) c ) A id := E E E + T T T T F F F (E) id id A E A = affectation E = Expression T = Terme F = Facteur id = identificateur E T F id T F id T F id s := a + b c 25 Étapes de compilation Prog. source Analyse lexicale sum := x + 3 val Analyse syntaxique id 1 := id id 3 Table des symboles Analyse sémantique := := id 1 id id 2 id sum x real real inttoreal 3 id 3 id 3 Arbre syntaxique val real Prog. objet 26

14 Étapes de compilation Prog. source Analyse lexicale := id 1 + Analyse syntaxique id 2 inttoreal id 3 3 Table des symboles Analyse sémantique Génération de code intermédiaire temp1 = inttoreal (3) temp2 = temp1 id3 temp3 = id2 + temp2 id1 = temp3 temp1 = 3.0 id3 id1 = id2 + temp1 1load sum id3, R1real mulf #3.0, R1, R1 2load xid2, R2real 3addf val R2, R1, real R1 store R1, id1 4 Optimisation de code Génération de code objet Prog. objet 27 Développement d un programme Éditeur de texte Programme source Sous-programmes de librairie Compilateur Programme objet Éditeur de liens Programme objet Chargeur Programme exécutable Exécution Sous-programmes traduit séparément Débogueur 28

Langages de haut niveau

Langages de haut niveau Langages de haut niveau Introduction Un assembleur est un programme traduisant en code machine un programme écrit à l'aide des mnémoniques Les langages d'assemblage représentent une deuxième génération

Plus en détail

Abstraction: introduction. Abstraction et liaison dans les langages de programmation. Abstraction: principe. Abstraction: terminologie. N.

Abstraction: introduction. Abstraction et liaison dans les langages de programmation. Abstraction: principe. Abstraction: terminologie. N. Abstraction et liaison dans les langages de programmation LIN2: Paradigmes de programmation N. Hameurlain Abstraction: introduction L'importance de l abstraction découle de sa capacité de cacher les détails

Plus en détail

Chapitre I. Introduction à la programmation

Chapitre I. Introduction à la programmation Chapitre I Introduction à la programmation Objectif du cours Comprendre ce qu est l algorithmique. Fournir des éléments de bases intervenants en programmation quel que soit le langage employé Variables

Plus en détail

Conférence d introduction à la programmation et aux langages de programmation. C. Dubois

Conférence d introduction à la programmation et aux langages de programmation. C. Dubois Conférence d introduction à la programmation et aux langages de programmation C. Dubois Pl an - Pro g ram m ati o n et D év el o p p em en t d e l o g i ci el - L es l an g ag es (u n p eti t h i sto ri

Plus en détail

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri Types et langages de programmation Algorithmique et Programmation Unisciel/K.Zampieri 1 Généalogie partielle des langages de programmation FORTRAN BASIC PL/1 PROLOG ALGOL60 COBOL C PASCAL ADA MODULA-2

Plus en détail

Sommaire. Introduction à la compilation. Notion de compilation. Notion de compilation. Notion de compilation. Notion de compilation

Sommaire. Introduction à la compilation. Notion de compilation. Notion de compilation. Notion de compilation. Notion de compilation Introduction à la compilation A. DARGHAM Faculté des Sciences Oujda Sommaire Environnement d un compilateur Schéma global d un compilateur Caractéristiques d un bon compilateur Définition Un compilateur

Plus en détail

Cours No 1 : Introduction

Cours No 1 : Introduction Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive 1 Généralités sur le cours Cours No 1 : Introduction Notes

Plus en détail

Niveaux de description

Niveaux de description Chapitre 1 Niveaux de description Olivier Raynaud Université Blaise Pascal Base conceptuelle d un ordinateur Extrait de [Tis] La mémoire La mémoire est divisée en parties physiques appelées mots (par exemple

Plus en détail

Programma'on. Histoire Et Philosophie

Programma'on. Histoire Et Philosophie Programma'on Histoire Et Philosophie Les années 40 Les premiers langages de programma'on apparaissent avant les années 40. Ce ne sont cependant que des instruc'ons primaires. Il faut plus d une dizaine

Plus en détail

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8)

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8) Architecture des Ordinateurs Partie III : Liens avec le système d exploitation 2. Génération de code David Simplot simplot@fil.univ-lille1.fr Objectifs Voir la génération de code ainsi que les mécanismes

Plus en détail

5.2. Introduction à la programmation en assembleur et en langage machine

5.2. Introduction à la programmation en assembleur et en langage machine 5. Couche conventionnelle. Introduction à la programmation en assembleur et en langage machine. Instructions - types, formats, champs; types d'adressage et utilisation des registres. Branchements, sauts

Plus en détail

De l ordinateur au langage C

De l ordinateur au langage C De l ordinateur au langage C II1 - Cours 2 J. Villemejane - julien.villemejane@u-pec.fr IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Année universitaire 2012-2013 1/10 Plan du cours

Plus en détail

CH.1 INTRODUCTION. Traduction ch1 1

CH.1 INTRODUCTION. Traduction ch1 1 CH.1 INTRODUCTION 1.1 Les compilateurs 1.2 L'analyse de la source 1.3 Les phases d'un compilateur 1.4 Les cousins du compilateur 1.5 Le regroupement des phases 1.6 Les outils logiciels de compilation Traduction

Plus en détail

Cours de Compilation

Cours de Compilation Université Mohammed V - Agdal Faculté des sciences Département d'informatique Cours de Compilation SMI - S5 Prof. M.D. RAHMANI mrahmani@fsr.ac.ma 1 Plan du cours I. Généralités sur les compilateurs. II.

Plus en détail

Introduction à la programmation orientée objet. Éric Pruvost

Introduction à la programmation orientée objet. Éric Pruvost Introduction à la programmation orientée objet Éric Pruvost Les années 50 Avant l objet Les années 50 50 Les quatre principaux langages 1956 1958 1958 1959 FORTRAN LISP ALGOL COBOL scientifique lambda-calcul

Plus en détail

Notions Générales. Séance 1. Année universitaire 2015/2016 Semestre 1

Notions Générales. Séance 1. Année universitaire 2015/2016 Semestre 1 Notions Générales Séance 1 Année universitaire 2015/2016 Semestre 1 1 Ordinateur et programmation L orientation universitaire, l inscription, la réservation d un billet d avion, sont des opérations de

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

Quelques notions d'algorithmique

Quelques notions d'algorithmique Quelques notions d'algorithmique I- Généralités Un algorithme est une suite finie d'instructions permettant la résolution systématique d'un problème donné. Un algorithme peut-être décrit en langage «naturel»,

Plus en détail

Algorithmique - Programmation 1. Cours 1

Algorithmique - Programmation 1. Cours 1 Algorithmique - Programmation 1 Cours 1 Université Henri Poincaré CESS Epinal Automne 2008 1/ 24 Plan Introduction Introduction A propos d AP1 Quelques concepts de base Premiers pas avec Caml Le branchement

Plus en détail

LES LANGAGES DE PROGRAMMATION

LES LANGAGES DE PROGRAMMATION LES LANGAGES DE PROGRAMMATION 27 LES LANGAGES DE PROGRAMMATION CHAPITRE 2 OBJECTIFS DÉFINIR ET PRÉCISER LE RÔLE DES LANGAGES DE PROGRAMMATION DANS L EXPLOITATION DES ORDI- NATEURS. CARACTÉRISER CES LANGAGES

Plus en détail

Évaluation et implémentation des langages

É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étail

Introduction au langage Ada

Introduction au langage Ada Séance 2 Introduction au langage Ada Objectifs : Pourquoi Ada? Évolution des langages de programmation Particularités d'ada Structure d un programme Ada. 2008 Ingénierie du logiciel avec Ada N.KERZAZI

Plus en détail

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique 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.intro.univ-tours.fr/~antoine/ UFR Sciences et Techniques

Plus en détail

Introduction au langage C

Introduction au langage C Organisation du cours Introduction au langage C Premier cours Notions générales Aurélien Max aurelien.max@limsi.fr 12 séances de cours de 1h: mercredi 16-17h, salle A203 12 séances de TD de 1h: mercredi

Plus en détail

Bertrand Meyer. UConception et programmation orientées objet. T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t

Bertrand Meyer. UConception et programmation orientées objet. T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t UConception et programmation orientées objet Bertrand Meyer T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t Groupe Eyrolles, 2000, pour le texte de la présente édition en langue française.

Plus en détail

INTRODUCTION AUX LANGAGES...

INTRODUCTION AUX LANGAGES... C Ch 1 Introduction I. INTRODUCTION AUX LANGAGES... 1 A. NOTION DE PROGRAMME... 1 B. LANGAGES DE PROGRAMMATION... 1 C. FAMILLES DE LANGAGES DE PROGRAMMATION... 2 1. Générations de langages... 2 2. Paradigmes

Plus en détail

Algorithmique et Programmation I

Algorithmique et Programmation I Algorithmique et Programmation I Séance 1 Notions Générales Année universitaire 2006/2007 Semestre 1 1 Bienvenue Séances: o Cours: Notions théoriques o Travaux Dirigés (TD): Exercices o Travaux Pratiques

Plus en détail

Chap. 2. Langages et automates

Chap. 2. Langages et automates Chapitre 2. Langages et automates 1. Quelques définitions et description d un langage. 2. Les expressions régulières. 3. Les automates fini déterministes et non-déterministes. 4. Construction automatique

Plus en détail

Algorithmique P2. Tables et Hachage Ulg, 2009-2010 R.Dumont

Algorithmique P2. Tables et Hachage Ulg, 2009-2010 R.Dumont Algorithmique P2 Tables et Hachage Ulg, 2009-2010 R.Dumont Tables Table = Ensemble d'entrées. Entrées = Couples de type (clef, information) Tables - Représentation Par tableau Entrée = (indice, données)

Plus en détail

Introduction à la programmation avec Java

Introduction à la programmation avec Java Introduction à la programmation avec Java UFR Sciences de Nice Licence Math-Info 2006-2007 Module L1I1 Frédéric MALLET Jean-Paul ROY Ressources sur le langage Java Conception objet en Java avec BlueJ :

Plus en détail

Chapitre I Langages de programmation et langage C

Chapitre I Langages de programmation et langage C Chapitre I Langages de programmation et langage C un chapitre où l on situe le langage C dans la très nombreuse famille des langages de programmation et où l on écrit son premier programme dans ce langage.

Plus en détail

2. Architecture materielle Objectifs Comprendre l'architecture d'un ordinateur

2. Architecture materielle Objectifs Comprendre l'architecture d'un ordinateur A. de la formation Fournir aux étudiants l ensemble des connaissances leur permettant de: Concevoir, réaliser et mettre en œuvre des systèmes d'informations Evaluer le coup d un système et participer à

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction Jean Privat Université du Québec à Montréal INF7330 Construction de logiciels Diplôme d études supérieures spécialisées en systèmes embarqués Automne 2012 Jean Privat (UQAM) 01

Plus en détail

Principes de la Programmation Objets

Principes de la Programmation Objets Principes de la Programmation Objets 1. La programmation procédurale La programmation procédurale (C, Pascal, Basic, ) est constituée d une suite d instructions (souvent réunies en fonctions) exécutées

Plus en détail

1.) Les concepts de base. 2

1.) Les concepts de base. 2 1.) Les concepts de base. 2 1.1.) Algorithmes. 2 1.2.) Programmes. 3 1.3.) Les langages de bas niveau. 3 1.4.) Les différentes catégories de langages évolués. 5 1.4.1.) Les langages procéduraux. 5 1.4.1.1.)

Plus en détail

III. Traduction des langages de «haut niveau»

III. Traduction des langages de «haut niveau» Introduction aux systèmes Informatiques: L interface Matériel Logiciel (A3-2015/2016) Léon Mugwaneza Polytech Marseille/Dépt. Informatique (bureau A118) leon.mugwaneza@univ-amu.fr III. Traduction des langages

Plus en détail

Cours de. Algorithmique. et langages du Web. Jean-Yves Ramel. Licence 1 PeipBiologie Groupe 7 & 8. ramel@univ-tours.fr Bureau 206 DI PolytechTours

Cours de. Algorithmique. et langages du Web. Jean-Yves Ramel. Licence 1 PeipBiologie Groupe 7 & 8. ramel@univ-tours.fr Bureau 206 DI PolytechTours Cours de Algorithmique et langages du Web Jean-Yves Ramel Licence 1 PeipBiologie Groupe 7 & 8 ramel@univ-tours.fr Bureau 206 DI PolytechTours Organisation de la partie Algorithmique 17 séances de 2 heures

Plus en détail

Introduction à la compilation

Introduction à la compilation Introduction à la compilation Polytech Paris-Sud 4 ème année Département Informatique Frédéric VOISIN Sommaire LANGAGES DE PROGRAMMATION ET TRADUCTEURS 3 LA STRUCTURE GENERALE D UN COMPILATEUR 9 L ANALYSE

Plus en détail

III - PROGRAMMATION EN ASSEMBLEUR

III - PROGRAMMATION EN ASSEMBLEUR III - PROGRAMMATION EN ASSEMBLEUR 3.1 Introduction à la programmation en assembleur Pour programmer un ordinateur on utilise généralement des langages dits évolués ou de haut niveau : C, C++, Java, Basic,

Plus en détail

Descriptif de module. Page Denis Prêtre. 10 septembre 2015

Descriptif de module. Page Denis Prêtre. 10 septembre 2015 RS430.100.15. 1/7 La description de module définit les conditions cadres du déroulement de l enseignement des matières du module. Filière(s) Informatique (INF) Option - Public Plein temps s Niveau d études

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION EN JAVA

ALGORITHMIQUE ET PROGRAMMATION EN JAVA ALGORITHMIQUE ET PROGRAMMATION EN JAVA Cours et exercices corrigés Vincent Granet Maître de conférences à l ESINA, l école supérieure d ingénieurs de l université de Nice-Sophia Antipolis 3 e édition Illustration

Plus en détail

Les tableaux (ou vecteurs) (1/3) Cours numéro 3: Programmation impérative LI213 Types et Structures de données. Les tableaux (3/3) Les tableaux (2/3)

Les tableaux (ou vecteurs) (1/3) Cours numéro 3: Programmation impérative LI213 Types et Structures de données. Les tableaux (3/3) Les tableaux (2/3) Les tableaux (ou vecteurs) (1/3) Le type tableau est une des réponses à la question : LI213 Types et Structures de données Licence d Informatique Université Paris 6 comment agréger un très grand nombre

Plus en détail

Bases de données avancées. cours 1 : introduction

Bases de données avancées. cours 1 : introduction Bases de données avancées cours 1 : introduction Plan Objectifs du cours Bases de données : utilisation Système de Gestion de Bases de données (SGBD) Architecture d un SGBD Ingénierie des bases de données

Plus en détail

Fiche de révisions - Algorithmique

Fiche de révisions - Algorithmique Fiche de révisions - Algorithmique Rédigé par : Jimmy Paquereau 1. Généralités Algorithme : un algorithme est la description d une procédure à suivre afin de résoudre un problème donné. Il n est pas nécessairement

Plus en détail

Introduction à l algorithmique et à la. de programmation.

Introduction à l algorithmique et à la. de programmation. Introduction 2006/4/16 11:53 page 1 #1 Introduction à l algorithmique et à la programmation Jean-Éric Pin Cette section de l encyclopédie est consacrée à trois outils fondamentaux de l informatique : l

Plus en détail

Avant-propos. 1. Introduction

Avant-propos. 1. Introduction Avant-propos Les sections ou sous-sections marquées d un astérisque (*) ne font pas partie de la matière du cours IFT1969. Elles sont destinées à définir complètement le langage C (ANSI-C99) et à en préciser

Plus en détail

USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation. CTD : Variables et types de données

USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation. CTD : Variables et types de données USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation 1 Motivation 1.1 Un problème CTD : Variables et types de données État initial : Tas 1 un nombre quelconque de cartes, les autres tas

Plus en détail

EXPRESSION DES BESOINS

EXPRESSION DES BESOINS 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étail

Introduction au langage python

Introduction au langage python Introduction au langage python Gauthier Picard SMA/G2I/ENS Mines Saint-Etienne gauthierpicard@emsefr Introduction au langage python Gauthier Picard 1 / 36 Sommaire 1 Les bases de Python 2 Fonctions et

Plus en détail

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S MP deuxième années PREAMBULE Sommaire I. Contexte de la réforme de l informatique en C.P.G.E II. Objectifs de la formation III. Moyens

Plus en détail

Algorithmes & Programmes

Algorithmes & Programmes Dans cette partie, nous allons prendre un algorithme simple et le traduire en un ensemble de programmes dans des langages différents. Ceci nous montrera les différences entre divers langages de programmation,

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE 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étail

INSPECTEUR DES DOUANES ET DES DROITS INDIRECTS «SPECIALITE TRAITEMENT AUTOMATISE DE L'INFORMATION PROGRAMMEUR SYSTEME D'INFORMATION (PSE)» EXTERNE

INSPECTEUR DES DOUANES ET DES DROITS INDIRECTS «SPECIALITE TRAITEMENT AUTOMATISE DE L'INFORMATION PROGRAMMEUR SYSTEME D'INFORMATION (PSE)» EXTERNE INSPECTEUR DES DOUANES ET DES DROITS INDIRECTS «SPECIALITE TRAITEMENT AUTOMATISE DE L'INFORMATION PROGRAMMEUR SYSTEME D'INFORMATION (PSE)» EXTERNE I Épreuves écrites d admissibilité PROGRAMME DES EPREUVES

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 5 : Structures de données linéaires Benjamin Wack 2015-2016 1 / 37 La dernière fois Logique de Hoare Dichotomie Aujourd hui Type Abstrait de Données

Plus en détail

Licence Domaine Sciences, Technologies, Santé Mention Informatique Parcours type Informatique ou MIAGE ou Biologie et Santé

Licence Domaine Sciences, Technologies, Santé Mention Informatique Parcours type Informatique ou MIAGE ou Biologie et Santé Licence Domaine Sciences, Technologies, Santé Mention Informatique Parcours type Informatique ou MIAGE ou Biologie et Santé Objectifs Former en 3 ans des étudiants : *ayant acquis les connaissances fondamentales

Plus en détail

Programme de la Discipline Informatique Premier cycle INSA de Lyon 2014-2015

Programme de la Discipline Informatique Premier cycle INSA de Lyon 2014-2015 Programme de la Discipline Informatique Premier cycle INSA de Lyon 2014-2015 Programme Info PCC 2014-2015 - 1 - Avril 2014 PCC1A au premier semestre : Prise en main et fonctionnement de l ordinateur Postes

Plus en détail

SE202 : déroulement du cours et bases de compilation. Samuel Tardieu Année scolaire 2015/2016

SE202 : déroulement du cours et bases de compilation. Samuel Tardieu Année scolaire 2015/2016 SE202 : déroulement du cours et bases de compilation Samuel Tardieu Année scolaire 2015/2016 1/44 Samuel Tardieu Année scolaire 2015/2016 Organisation du cours 2/44 Samuel Tardieu Année scolaire 2015/2016

Plus en détail

Programmation Répartie - Langage C

Programmation Répartie - Langage C frederic.guinand@univ-lehavre.fr IUT Le Havre Plan les bases quelques rappels de langage C les structures de contrôle conditionnelles les structures de contrôle itératives les tableaux les pointeurs les

Plus en détail

Python langage de programmation

Python langage de programmation Initiation à la programmation avec Python langage de programmation Valérie Bellynck (2009), d après un diaporama d Alain Bozzi (2008), lui-même venant de celui de Bob Cordeau (2008) 1 Langage de Programmation

Plus en détail

introduction à la conception Orientée Objet

introduction à la conception Orientée Objet 1 introduction à la conception Orientée Objet IUP GEII 2ème année marcel@univ-tours.fr http://www.blois.univ-tours.fr/ marcel 2 plan cours 1. motivations génie logiciel 2. concepts et techniques orientés

Plus en détail

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

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 É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étail

Exercices dirigés séance n 1- corrigé

Exercices dirigés séance n 1- corrigé Exercices dirigés séance n 1- corrigé Exercice 1 : compilation, analyse d un programme On définit le langage simplifié suivant au moyen de règles BNF : ::=

Plus en détail

Introduction à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Introduction à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Introduction à l assembleur ARM: variables et accès mémoire GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Rappel: cycle d instructions Que fait le microprocesseur? 1.

Plus en détail

INTRODUCTION AUX LANGAGES...

INTRODUCTION AUX LANGAGES... C/C++/ Ch 1 Introduction I. INTRODUCTION AUX LANGAGES... 1 A. NOTION DE PROGRAMME... 1 B. LANGAGES DE PROGRAMMATION... 2 C. FAMILLES DE LANGAGES DE PROGRAMMATION... 2 1. Générations de langages... 2 2.

Plus en détail

Visual Basic T. EL AZZAOUI. toufik.elazzaoui@student.emi.ac.ma 2015-2016

Visual Basic T. EL AZZAOUI. toufik.elazzaoui@student.emi.ac.ma 2015-2016 Visual Basic T. EL AZZAOUI toufik.elazzaoui@student.emi.ac.ma 2015-2016 Plan: - La programmation - Langage de programmation - Langage BASIC / Langage Visual Basic. - L environnement de développement de

Plus en détail

Projet (partie graphes)

Projet (partie graphes) Projet (partie graphes) G. Richomme gwenael.richomme@univ-montp3.fr Université Paul Valéry Montpellier 3 Licence AES parcours Misahs cours 2013-2014 1 Objectifs et MCC Objectifs : construire une (mini-)application

Plus en détail

Programmation objet en Java.

Programmation objet en Java. Programmation objet en Java. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/7/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/7/ Cours Exercices Slide 1 1. Classes,

Plus en détail

Java : Programmation Impérative

Java : Programmation Impérative 1 Java : Programmation Impérative Résumé du cours précédent (I11) Paradigme impératif Algorithmique simple Découpage fonctionnel Qu est-ce qu un programme informatique? / un langage de programmation? /

Plus en détail

De l ordinateur au processus : rôle d un système

De l ordinateur au processus : rôle d un système De l ordinateur au processus : rôle d un système Introduction aux systèmes d exploitation Gaël Thomas Présentation du cours Contexte du cours : Introduire notre objet d étude : les systèmes d exploitation

Plus en détail

Les outils de développement en langage C++

Les outils de développement en langage C++ Les outils de développement en langage C++ Sommaire Les étapes de réalisation d'un exécutable Le pré processeur La création d'un exécutable Les étapes de réalisation d'un exécutable Traitement des fichiers

Plus en détail

Université Bordeaux 1. Année 2014-2015, Licence semestre 1

Université Bordeaux 1. Année 2014-2015, Licence semestre 1 Initiation à l'informatique (MI-1003) Université Bordeaux 1 Année 2014-2015, Licence semestre 1 Initiation à l informatique (MI-1003) Plan du cours 1. Présentation et organisation 2. Algorithmes 3. Programmes

Plus en détail

Introduction au Logiciel GAMS (General Algebraic Modeling System)

Introduction au Logiciel GAMS (General Algebraic Modeling System) Introduction au Logiciel GAMS (General Algebraic Modeling System) J.-M. Reneaume SOMMAIRE A. INTRODUCTION... 1 B. DESCRIPTION DU MODELE... 3 1. Structure générale du modèle... 3 a) Structure du fichier

Plus en détail

Activité Intitulé de l'activité Volume horaire

Activité Intitulé de l'activité Volume horaire Informations de l'unité d'enseignement Implantation Cursus de IPL Bachelier en informatique de gestion Fonctionnement des ordinateurs I1070 Cycle 1 Bloc 1 Quadrimestre 1 Pondération 6 Nombre de crédits

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Dé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étail

Introduction à Fortran 90

Introduction à Fortran 90 Introduction à Fortran 90 Nicolas Kielbasiewicz 19 mars 2008 Fortran pour FORmula TRANslator est comme son nom l indique dédié au calcul scientifique car très performant de ce point de vue. Fortran 77

Plus en détail

Introduction au langage C

Introduction 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étail

Les procédures. Chapitre 7

Les procédures. Chapitre 7 Les procédures Chapitre 7 1 Intérêt Créer une instruction nouvelle qui deviendra une primitive pour le programmeur Structurer le texte source du programme et améliorer sa lisibilité Factoriser l'écriture

Plus en détail

FSAB 1402 - Suggestions de lecture

FSAB 1402 - Suggestions de lecture FSAB 1402 - Suggestions de lecture 2006 Concepts, techniques and models of computer programming Cours 1 - Intro Chapitre 1 (sections 1.1, 1.2, 1.3, pages 1-3) Introduction aux concepts de base Chapitre

Plus en détail

Ioannis Parissis UFR IMA Laboratoire LIG. Test logiciel

Ioannis Parissis UFR IMA Laboratoire LIG. Test logiciel Test logiciel Objectif et plan du du cours Présenter les concepts de base sur le test logiciel Introduire des techniques simples pour construire des tests A partir de la spécification informelle du programme

Plus en détail

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1 CHAPITRE 1 FOURNIR À L'UTILISATEUR UNE MACHINE VIRTUELLE ET UN ENVIRONNEMENT D'EXÉCUTION DE PROGRAMMES Plan ENVIRONNEMENT DE TRAVAIL ADAPTÉ AU BESOIN DE L'UTILISATEUR Fonctions de l'environnement d'exécution

Plus en détail

UML 1ère partie. Référence: http://uml.developpez.com/lp/cours/uml_free_fr_cours.html UML

UML 1ère partie. Référence: http://uml.developpez.com/lp/cours/uml_free_fr_cours.html UML UML UML 1ère partie Référence: http://uml.developpez.com/lp/cours/uml_free_fr_cours.html LOG2000 Éléments du génie logiciel 2002 Bayomock André-Claude PLAN Définition et historique Vue générale A quoi

Plus en détail

Module d informatique. Programmation et algorithmique

Module d informatique. Programmation et algorithmique Module d informatique Programmation et algorithmique Avant propos Informatique L informatique à l ENSMM Première année (semestre bleu) Programmation et algorithmique (C) Deuxième année (semestre vert,

Plus en détail

Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques

Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques Les informations traitées par l ordinateur (nombres, instructions,

Plus en détail

Apprendre à programmer

Apprendre à programmer Christophe Dabancourt Apprendre à programmer Algorithmes et conception objet 2 e édition Groupe Eyrolles, 2008, ISBN : 978-2-212-12350-0 Table des matières Avant-propos.................................................

Plus en détail

C.P.G.E - Meknès Langage Python 3 Haouati Abdelali

C.P.G.E - Meknès Langage Python 3 Haouati Abdelali 3. Langage Python 3 2 a. Introduction Présentation du langage Python : Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans l imposer) une approche modulaire et orientée objet

Plus en détail

Paradigme de programmation Impératif

Paradigme de programmation Impératif Paradigme de programmation Impératif La programmation impérative est caractérisée par, la programmation avec un état et des commandes qui modifient l état : Programmation impérative Procédurale = Programmation

Plus en détail

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Unité Systèmes d'information CM : 45h - TD : 60h - TP : 12h - Coeff 2 Systèmes de Gestion de Bases de Données Modéliser

Plus en détail

Notions de langage machine

Notions de langage machine Notions de langage machine 18 décembre 2009 Rappels et introduction Architecture de Van Neumann : Processeur = UC + UAL Mémoire interne au processeur = les registres (soit seulement l accumulateur, soit

Plus en détail

Introduction à l'informatique

Introduction à l'informatique Introduction à l'informatique Notions élémentaires 01 : Ordinateur, programme, langage, Jacques Bapst jacques.bapst@hefr.ch Informatique / Ordinateur Le mot "Informatique" a été créé (vers 1960) à partir

Plus en détail

Cours C++ Lorsque je lance Dev C++, il apparaître l'écran ci-contre.

Cours C++ Lorsque je lance Dev C++, il apparaître l'écran ci-contre. Cours C++ Définition : Le langage C est un langage de programmation inventé par MM. Kernighan et Ritchie au début des années 70. Au début des années 90, Bjarne Stroustrup fait évoluer le langage vers le

Plus en détail

Les Outils. 1)Scanners.

Les Outils. 1)Scanners. Les Outils. 1)Scanners. Une série de programmes analyseurs forment les outils d analyse. Chacun traite un langage spécifique. L objectif est de : décomposer un langage particulier ; reconstituer les éléments,

Plus en détail

Procédures et fonctions

Procédures et fonctions Chapitre 5 Procédures et fonctions 5.1 Introduction Considérons le programme suivant, dont le but est d inverser les éléments d un tableau : public class InversionTableau1 { int t[]= {8, 2, 1, 23; Terminal.ecrireStringln("Tableau

Plus en détail

Construction formelle de logiciels

Construction formelle de logiciels Construction formelle de logiciels La méthode B J. Christian Attiogbé Novembre 2008, maj 11/2009, 10/2010 J. Christian Attiogbé (Novembre 2008, maj 11/2009, Construction 10/2010) formelle de logiciels

Plus en détail

SLPC 0809 : Devoir de maison. Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions

SLPC 0809 : Devoir de maison. Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions SLPC 0809 : Devoir de maison Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions On considère dans cet exercice la liaison dynamique pour les variables. Introduction

Plus en détail

Algorithmique - Programmation 1. Cours 10

Algorithmique - Programmation 1. Cours 10 Algorithmique - Programmation 1 Cours 10 Université Henri Poincaré CESS Epinal Automne 2008 1/ 25 Plan Caml fonctionnel vs impératif Caml fonctionnel vs impératif Le type unit Données mutables Les structures

Plus en détail

Compilation. Introduction à la compilation. Termes Phases d'un compilateur Importance des grammaires Méthodes d'analyse. Termes. Termes.

Compilation. Introduction à la compilation. Termes Phases d'un compilateur Importance des grammaires Méthodes d'analyse. Termes. Termes. Compilation Enseignants : Stéphane Talbot Miguel Tomasena Volume horaire : 10.5 C / 12 TD / 12 TP langage source Traduction langage cible Contenu : Introduction à la compilation Analyse Lexicale Analyse

Plus en détail

Javascript : les bases du langage

Javascript : les bases du langage Javascript : les bases du langage Technologies du Web 1 Jean-Christophe Routier Licence 1 SESI Université Lille 1 Université Lille 1 - Licence 1 SESI Technologies du Web 1 1 Javascript présentation partielle,

Plus en détail

Introduction. Qu est-ce qu un algorithme?

Introduction. Qu est-ce qu un algorithme? Introduction Ce livre a pour objectif de proposer une approche pédagogique de l algorithmique. Il est structuré en deux grandes parties, la conception d algorithmes et l étude d algorithmes existants.

Plus en détail

CHAPITRE 3 : Types de base, Opérateurs et Expressions

CHAPITRE 3 : Types de base, Opérateurs et Expressions CHAPITRE 3 : Types de base, Opérateurs et Expressions 1. Types simples Un type définit l'ensemble des valeurs que peut prendre une variable, le nombre d'octets à réserver en mémoire et les opérateurs que

Plus en détail