Chapitre 1 Introduction

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Chapitre 1 Introduction"

Transcription

1 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 Introduction INF7330 Automne / 33

2 Construction de logiciels Objectifs du cours Mettre-à-jour les connaissances en construction de logiciel Savoir programmer en C avancé Savoir utiliser des outils liés au développement de logiciels Difficultés du cours Programmation Ligne de commande Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

3 Plan 1 Construction de logiciels 2 Chaîne d exécution 3 Le langage C 4 Compiler en C 5 Écriture de programmes en C Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

4 Plan 1 Construction de logiciels 2 Chaîne d exécution 3 Le langage C 4 Compiler en C 5 Écriture de programmes en C Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

5 Exécution d un programme Données Idée Code source Exécution Programmeur «Écriture» «Traitement» Ordinateur Résultats Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

6 Composantes Programmeur Être humain qui développe des logiciels Langage de programmation Notation artificielle destinée à exprimer des algorithmes et produire des programmes Programme Ensemble d instructions (ou de règles) exécutable par un ordinateur Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

7 Programmation Processus itératif Spécification et conception Édition du code source Compilation Tests, déboguage et profilage Coordination avec le reste de l équipe et les utilisateurs Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

8 Qualité logicielle Génie logiciel Science de l ingénieur destinée à produire mieux des logiciels mieux Critères Correction (capacité fonctionnelle) Robustesse (fiabilité) Maintenabilité Portabilité Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

9 Styles de programmation Nombreux paradigmes et variations Impérative (structurée, procédurale) Fonctionnelle Orienté objet (à classe, à prototype) Déclarative (logique, contraintes, règles) Etc. Langages Chaque langage est plus-ou-moins adapté/dédié à un/plusieurs paradigmes Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

10 Plan 1 Construction de logiciels 2 Chaîne d exécution 3 Le langage C 4 Compiler en C 5 Écriture de programmes en C Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

11 Compilateur Programme qui transforme du code source en du code exécutable par une machine La compilation à lieu avant l exécution FOR A = 1 TO 9 B = B + A NEXT A Code source Compilateur Exécutable Données Exécutable Résultats Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

12 Compilateurs Compilateurs traditionnels C Java Compilateurs source-à-source Préprocesseur Générateurs de code Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

13 Interpréteur Programme qui prends un programme en entrée et l exécute directement Souvent interactifs Souvent réflexifs Code source FOR A = 1 TO 9 B = B + A NEXT A Interpréteur Résultats Données Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

14 Interpréteurs Interpréteurs traditionnels Ruby Shells Machines virtuelles Java Émulateurs Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

15 Plan 1 Construction de logiciels 2 Chaîne d exécution 3 Le langage C 4 Compiler en C 5 Écriture de programmes en C Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

16 Historique du langage C 1972 : Début du langage C (Ritchie et Kernighan) 1978 The C Programming Language, (Kernighan et Ritchie) : C K&R 1989 Normalisation ANSI : C89 (ou C ANSI) 1999 Normalisation ISO : C Mise-à-jour : C11 (ou C1x) Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

17 Caractéristiques du langage C Langage compilé Statiquement typé «Relativement» fortement typé «Haut» niveau Gestion manuelle de la mémoire Rapide Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

18 Popularité du langage C Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

19 Utilisation du langage C Toujours autant utilisé Proche du système (système d exploitation & matériel) «Relativement» portable Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

20 Programmation impérative Ordres Séquences d instructions Effets de bords État du système pris en compte et modifiable Affectation Entrée/sorties Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

21 Mon premier programme en C Fichier hello.c #include <s t d i o. h> / This program p r i n t s H e l l o world / i n t main ( i n t argc, char argv ) { p r i n t f ( " H e l l o world \n " ) ; return 0 ; } Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

22 Plan 1 Construction de logiciels 2 Chaîne d exécution 3 Le langage C 4 Compiler en C 5 Écriture de programmes en C Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

23 Compiler le programme Utiliser un compilateur (gcc) $ gcc o h e l l o h e l l o. c $. / h e l l o H e l l o world Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

24 Travail du compilateur Objectif général Traduire le programme C en le même programme mais exécutable $ ls l hello.c hello Programmes valides programmes corrects Le compilateur ne compile pas les programmes écrits en C invalide Les erreurs rapportées servent à rendre le programme valide Attention : un programme qui compile n est pas nécessairement un programme correct Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

25 Diagnostiques du compilateur Demander au compilateur de l aide Options W et Wall Liste des endroits où le C est valide mais louche Utiliser un outil de diagnostique statique $ splint hello.c Va plus loin qu un compilateur Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

26 Compilateur C *.h fichier.c *.o préprocesseur compilateur C éditeur de liens assembleur fichier.o programme.exe Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

27 Compilateur C Préprocesseur Traite les directives (lignes qui commencent par #) gcc E hello.c less Compilateur (vrai) Traduit le C en assembleur gcc S hello.c ; vi hello. s Assembleur Transforme l assembleur en code machine gcc c hello.c ; ls l hello.o Éditeur de liens Réunit les fichier.o (et d autres) pour former un exécutable Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

28 Compilation (vraie) Plusieurs façon de traduire En fonction des compilateur, des versions, des plate-formes, des options d optimisation, l assembleur généré est différent $ gcc S o h e l l o 1. s h e l l o. c $ gcc O2 S o h e l l o 2. s h e l l o. c $ c l a n g S o h e l l o 3. s h e l l o. c $ l s l h e l l o 1. s h e l l o 2. s h e l l o 3. s Toutes traduisent le même programme Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

29 Plan 1 Construction de logiciels 2 Chaîne d exécution 3 Le langage C 4 Compiler en C 5 Écriture de programmes en C Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

30 Convention d écriture Une seule instruction par ligne Utiliser des identificateur significatifs (pour un programmeur C) Indenter le code Mise-en page uniforme Toujours commenter mais commenter efficacement Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

31 Séparateurs et commentaires Les caractères espace, tabulation et retour-chariot séparent les entités lexicales Les commentaires sont délimités par / et / Le point-virgule termine une instruction ou une déclaration. La virgule sépare les éléments d une liste (dont les paramètres). Les accolades délimitent les blocs ou les listes d initialisation Les crochets servent aux tableaux Les parenthèses servent : à la priorité ; aux appels de fonction ; à la coercition. Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

32 Identificateurs Séquence de lettres, chiffres et de soulignés (symbole _) Le premier caractère est une lettre ou un souligné Sensible à la case (majuscule/minuscule) Attention : les identificateurs trop long peuvent être coupés Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

33 Mots réservés auto, auto, break, case, char, const, continue, default, do, double, else, enum, extern return, float, for, goto, if, int, long, register, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while Jean Privat (UQAM) 01 Introduction INF7330 Automne / 33

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

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

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

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

Langage C. E. Boucharé

Langage C. E. Boucharé Langage C E. Boucharé Table des Matières Introduction.............................................................................. 1 Chapitre 1. Les types de données de C....................................................

Plus en détail

Système et Programmation (en C)

Système et Programmation (en C) Système et Programmation (en C) ENSTA - TC 1ère année François Pessaux U2IS 2015-2016 francois.pessaux @ ensta-paristech.fr Introduction François Pessaux IN102 Système et Programmation (en C) 2/31 But

Plus en détail

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

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

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

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

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

Normes de programmation en langage C++

Normes de programmation en langage C++ Normes de programmation en langage C++ Bakhtouchi Abdelghani EMP, Bordj El Bahri bakhtouchi@yahoo.fr ANNEE: 2009/2010 Sommaire 1. Introduction.. 1 2. Présentation.. 1 2.1. Format des fichiers source. 1

Plus en détail

INF 2005 Programmation orientée objet avec C++ Texte 2

INF 2005 Programmation orientée objet avec C++ Texte 2 INF 2005 Programmation orientée objet avec C++ Texte 2 1. Mots clés du langage C++ et premiers pas... 2 1.1 Les mots clés du langage C++... 2 1.2 Familiarisation avec le langage... 3 2. Les entrées-sorties...

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

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

Le langage C. 70's Début du langage C (Ritchie et Kernighan), Origine liée au système UNIX (90% écrit en C)

Le langage C. 70's Début du langage C (Ritchie et Kernighan), Origine liée au système UNIX (90% écrit en C) Le langage C 70's Début du langage C (Ritchie et Kernighan), Origine liée au système UNIX (90% écrit en C) 1978 ``The C Programming Language``, (Kernighan et Ritchie), --> on fait référence à cette première

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

Procédure. Introduction au langage C. Cours 3. Procédures. Retour au PGCD PGCD / 2. Version 2. Comment calculer le PGCD de trois nombres?

Procédure. Introduction au langage C. Cours 3. Procédures. Retour au PGCD PGCD / 2. Version 2. Comment calculer le PGCD de trois nombres? Cours C-3 1 Cours C-3 2 Procédure Introduction au langage C Cours 3 Procédures Jean-Jacques Girardot / Marc Roelens Septembre 2007 Construction du langage qui permet de désigner par un nom une portion

Plus en détail

1. 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. 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étail

Chapitre 1 Introduction aux compilateurs (et aux interpréteurs)

Chapitre 1 Introduction aux compilateurs (et aux interpréteurs) Chapitre 1 Introduction aux compilateurs (et aux interpréteurs) Jean Privat Université du Québec à Montréal INF5000 Théorie et construction des compilateurs Automne 2013 Jean Privat (UQAM) 01 Introduction

Plus en détail

Décomposition d'un programme C

Décomposition d'un programme C Décomposition d'un programme C Un programme C est composé de plusieurs blocs. Chacun d'entre eux ayant un rôle particulier dans une ou plusieurs phases de la compilation ou de l'exécution: Exemple : Inclusions

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

BAT 4 Polytech Nice. Cours Environnement Logiciel puis Internet, Services et Réseaux en BAT4. Vérification des effectifs, Appel Sur EDT

BAT 4 Polytech Nice. Cours Environnement Logiciel puis Internet, Services et Réseaux en BAT4. Vérification des effectifs, Appel Sur EDT BAT 4 Polytech Nice Cours Environnement Logiciel puis Internet, Services et Réseaux en BAT4 Vérification des effectifs, Appel Sur EDT Une consigne : prenez des notes pendant les cours! Les supports ne

Plus en détail

1 Notions de base 1.1 Structure d'un programme

1 Notions de base 1.1 Structure d'un programme 1 Notions de base 1.1 Structure d'un programme Le langage C++ contient le langage C : tout programme écrit en C à la norme ANSI doit pouvoir être compilé par un compilateur C++. C++ fait la diérence entre

Plus en détail

PROGRAMMATION EN LANGAGE C

PROGRAMMATION EN LANGAGE C 2014/2015 Florence Levé - Université de Picardie Jules Verne 1 PROGRAMMATION EN LANGAGE C Licence Informatique 2 ème année 2014/2015 Florence Levé - Université de Picardie Jules Verne 2 Présentation du

Plus en détail

INF145 Programmation avancée et langage C MOTS RÉSERVÉS ET INSTRUCTIONS AU PRÉPROCESSEUR

INF145 Programmation avancée et langage C MOTS RÉSERVÉS ET INSTRUCTIONS AU PRÉPROCESSEUR Université du Québec (UQ) École de technologie supérieure Service des enseignements généraux Local B-2500-396-8938 Site Internet : http://www.seg.etsmtl.ca/inf115/ INF145 Programmation avancée et langage

Plus en détail

BAT 4 Polytech Nice. Le langage C#: Concepts fondamentaux. BAT 4 Introduction programmation C# page 1

BAT 4 Polytech Nice. Le langage C#: Concepts fondamentaux. BAT 4 Introduction programmation C# page 1 BAT 4 Polytech Nice Le langage C#: Concepts fondamentaux BAT 4 Introduction programmation C# page 1 Le langage C#: Plan Plan de séance Comprendre les éléments fondamentaux Types primitifs Variables Constantes

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

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

Règles d'écriture des programmes DIVERS. Copyright 2003 Exood4 Studios, Tous droits réservés www.exood4.com

Règles d'écriture des programmes DIVERS. Copyright 2003 Exood4 Studios, Tous droits réservés www.exood4.com Règles d'écriture des programmes DIVERS Copyright 2003 Exood4 Studios, Tous droits réservés www.exood4.com Table des matières 1 Les conventions d'écriture... 3 1.1 "Notation Hongroise" (Hungarian notation)...3

Plus en détail

Aide Mémoire - langage C

Aide Mémoire - langage C Université du Luxembourg 2005 2006 Aide Mémoire - langage C 1 Directives de préprocesseur inclusion de fichiers pour un fichier système : #include pour un fichier du répertoire courant

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

Plus en détail

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte:

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte: PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, Tableaux, opérateurs Entrées sorties de base Structures de contrôle Algorithmes de recherche Algorithmes de

Plus en détail

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

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

Cours d informatique. 1 ère année 2014 2015

Cours d informatique. 1 ère année 2014 2015 Cours d informatique en Langage C è 1 ère année 2014 2015 L informatique à l IOGS 1A : Langage C : apprentissage d un langage de programmation structuré 3 séances Matlab : analyse numérique 2A : Langage

Plus en détail

Algorithmique et programmation : les bases (C) Corrigé

Algorithmique et programmation : les bases (C) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours C, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage C des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Fascicule de Génie Electrique (Terminale S option SI)

Fascicule de Génie Electrique (Terminale S option SI) Le langage C Ressource Centre d intérêt CI10 : Traitement de Thématique I11 - Les systèmes numériques : Mise en œuvre d un microcontrôleur avec des composants logiciels réutilisables. 1 Les constantes

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

C Facile. Le langage C. louen@via.ecp.fr. Mardi 15 décembre 2009. Centrale Réseaux. C Facile. Valentin Roussellet (p2010) - louen@via.ecp.

C Facile. Le langage C. louen@via.ecp.fr. Mardi 15 décembre 2009. Centrale Réseaux. C Facile. Valentin Roussellet (p2010) - louen@via.ecp. Le langage C Centrale Réseaux Mardi 15 décembre 2009 Sommaire C quoi? Le C est un langage de programmation créé en 1974, pour écrire le système d exploitation UNIX. Depuis,il est devenu (avec ses variantes),

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

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

Le langage C. 70's Début du langage C (Ritchie et Kernighan), Origine liée au système UNIX (90% écrit en C)

Le langage C. 70's Début du langage C (Ritchie et Kernighan), Origine liée au système UNIX (90% écrit en C) Le langage C 70's Début du langage C (Ritchie et Kernighan), Origine liée au système UNIX (90% écrit en C) 1978 ``The C Programming Language``, (Kernighan et Ritchie), --> on fait référence à cette première

Plus en détail

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage I. Stockage de l information en C Ce chapitre rappelle brièvement et complète certaines notions de base vues en première année

Plus en détail

3 Lien entre pointeurs et tableaux.

3 Lien entre pointeurs et tableaux. programme sont dit dynamiques. On se limite ici aux tableaux statiques à une seule dimension, analogue aux vecteurs manipulés en mathématiques. Ils se déclarent sous la forme : type_d_élément variable_tableau[taille];

Plus en détail

Programmation en Langage C/C++ par Sylvain Ferey. pour le Forum des Programmeurs Francophones

Programmation en Langage C/C++ par Sylvain Ferey. pour le Forum des Programmeurs Francophones Programmation en Langage C/C++ par Sylvain Ferey pour le Tables des matières Introduction... 5 Réalisation de notre premier programme C... 6 Les types du C / C++... 9 Le type caractère...9 Un signe de

Plus en détail

Informatique II : Cours de programmation (C++) INTRODUCTION

Informatique II : Cours de programmation (C++) INTRODUCTION Informatique II : Cours de () INTRODUCTION Haroud Laboratoire d Intelligence Artificielle Faculté I&C Informatique II Cours 1 : Introduction 1 / 65 Objectifs du d aujourd hui Présenter le Objectifs («Quoi?»)

Plus en détail

3 Pseudo-code et algorithmes 26

3 Pseudo-code et algorithmes 26 TABLE DES MATIÈRES 1 Introduction à la programmation 1 1.1 Programme et langage de programmation 2 1.2 Étapes du développement des programmes 2 1.3 Notion d'algorithme 6 2 Notions de base 9 2.1 Constantes

Plus en détail

IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot

IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot ESIEE 2011 2012 IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot PARTIE 1: LES FONCTIONS ET LES POINTEURS fichier fonctions.h #ifndef _FONCTION_H_ #define _FONCTION_H_ #include

Plus en détail

Le langage C. Université d Aix-Marseille Faculté des Sciences. Henri Garreta Département d Informatique & LIF

Le langage C. Université d Aix-Marseille Faculté des Sciences. Henri Garreta Département d Informatique & LIF Université d Aix-Marseille Faculté des Sciences Le langage C Licences Maths & Informatique Master Mathématiques Master CCI Henri Garreta Département d Informatique & LIF TABLE DES MATIÈRES TABLE DES MATIÈRES

Plus en détail

Abrégé de programmation en Langage C

Abrégé de programmation en Langage C Abrégé de programmation en Langage C Denis Robilliard version 2010 Laboratoire d Informatique du Littoral Université du Littoral-Côte d'opale Table des matières I Introduction 2 1 Origines..................................................

Plus en détail

Cours Langage C/C++ - Première partie

Cours Langage C/C++ - Première partie Cours Langage C/C++ - Première partie Thierry Vaira BTS IRIS Avignon tvaira@free.fr v0.2 Historique (1/3) Introduction En 1970, Ken Thompson, créa un nouveau langage : Le B, descendant du BCPL (Basic Combined

Plus en détail

3ETI, Entrainement Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Entrainement Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (entrainement) durée 1h20 Tous documents et calculatrices autorisés. Le sujet comporte 5 pages Le temps approximatif ainsi que le barème

Plus en détail

Programmation procédurale

Programmation procédurale IUT IUT A Lyon 1 Informatique Programmation procédurale du du C-ANSI C au au C++ C++ ~ A. A. P. P. ~ Année Année 2003 2003 ~2004 ~2004 U C L B Université LYON I ~ IUT-A Département Informatique ~ A.P.

Plus en détail

Cours de programmation C

Cours de programmation C Cours de programmation C B. Gentou - Université Paris 7 - M1 ISIFAR I. Introduction 1. BREF HISTORIQUE Le langage C a été créé par Denis Richtie en 1972 avec pour objectif l'écriture du système d'exploitation

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

LE LANGAGA C POUR L EMBARQUE

LE LANGAGA C POUR L EMBARQUE ENSEIRB-MATMECA LE LANGAGA C POUR L EMBARQUE Patrice KADIONIK http://kadionik.vvv.enseirb-matmeca.fr/ D après le cours originel de M. Touraïvane, Maître de Conférence à l ESIL pk/enseirb/2005 v1.0-1 -

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC (CORRECTION) durée 3 heures environ page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance

Plus en détail

Série d exercices. o Cas 2 : gcc o nomexecutable c nomsource.c. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c

Série d exercices. o Cas 2 : gcc o nomexecutable c nomsource.c. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c Langage Impératif 1 TP 1 du 11 octobre 2010 Série d exercices Rappels rapides : - Un programme C s écrit toujours dans un fichier d extension.c (en minuscule!! sinon ce serait compilé comme du C++). Ce

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 7 de cours/td Université Paris-Diderot Objectifs: Savoir écrire un programme en entier (structure du programme avec une procédure main et des déclarations de fonctions,

Plus en détail

Éléments de programmation C++

Éléments de programmation C++ Université du Québec École de technologie supérieure Département de génie de la production automatisée GPA789 Analyse et Conception orientées objet Éléments de programmation C++ Professeur: Tony Wong,

Plus en détail

GELE5343 Chapitre 2 : Révision de la programmation en C

GELE5343 Chapitre 2 : Révision de la programmation en C GELE5343 Chapitre 2 : Révision de la programmation en C Gabriel Cormier, Ph.D., ing. Université de Moncton Hiver 2013 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver 2013 1 / 49 Introduction Contenu 1

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

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

Examen. Les processus. Examen : systèmes d exploitation L3, parcours informatique, 2004-2005

Examen. Les processus. Examen : systèmes d exploitation L3, parcours informatique, 2004-2005 Mercredi 5 janvier 2005 Durée : 3 heures Documents autorisés Examen : systèmes d exploitation L3, parcours informatique, 2004-2005 Corrigé préliminaire et partiel. Examen Les valeurs de retour des primitives

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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

Traduction des arbres programmatiques en C

Traduction des arbres programmatiques en C Traduction des arbres programmatiques en C Table des matières 1 Premier exemple : helloworld.c 1 2 Méthode de programmation 2 3 Déclaration de variables 2 4 Structures de contrôle 3 5 Opérateurs C 5 6

Plus en détail

Bases de la programmation : Cours de C. IUT de Villetaneuse.

Bases de la programmation : Cours de C. IUT de Villetaneuse. Bases de la programmation : Cours de C 1ère année IUT de Villetaneuse. Hanène Azzag, Frédérique Bassino, Bouchaïb Khafif, François Lévy,Mustapha Lebbah 28 février 2012 IUT de Villetaneuse 2 Table des matières

Plus en détail

Programmation C++ Le langage impératif. Stéphane Vialette. 12 novembre 2012. LIGM, Université Paris-Est Marne-la-Vallée

Programmation C++ Le langage impératif. Stéphane Vialette. 12 novembre 2012. LIGM, Université Paris-Est Marne-la-Vallée Programmation C++ Le langage impératif Stéphane Vialette LIGM, Université Paris-Est Marne-la-Vallée 12 novembre 2012 Stéphane Vialette (LIGM UPEMLV) Programmation C++ 12 novembre 2012 1 / 67 C++ : chronologie

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

Examen de Compilation

Examen de Compilation Examen de Compilation Licence Informatique 3 3 Mai 2013 Le sujet est composé de 4 exercices indépendants. Aucun document n est autorisé. Durée de l épreuve : 0x78 minutes. La note finale tiendra trés largement

Plus en détail

Master Informatique Fondamentale - M1 Compilation

Master Informatique Fondamentale - M1 Compilation Master Informatique Fondamentale - M1 Compilation Systèmes de types Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr perso.ens-lyon.fr/paul.feautrier 8 février 2007 1 / 20 Système de types Un type

Plus en détail

Programmation Impérative. Le langage C. Structure d un programme

Programmation Impérative. Le langage C. Structure d un programme Programmation Impérative Le langage C Objectifs - Apprentissage programmation C - Structuration en fonctions et modules. - Implémenter différentes structures de données simples : les tableaux, les listes.

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Généralités Composants élémentaires d'un programme Instructions simples. JL Damoiseaux - Dpt R&T

Généralités Composants élémentaires d'un programme Instructions simples. JL Damoiseaux - Dpt R&T JAVA - I Généralités Composants élémentaires d'un programme Instructions simples 2 JAVA? Un langage de programmation (orienté objets) Une architecture basée sur une Machine Virtuelle Un ensemble très important

Plus en détail

COURSC 1. Langage C. Support de cours. Patrick Corde. Messagerie : corde@idris.fr

COURSC 1. Langage C. Support de cours. Patrick Corde. Messagerie : corde@idris.fr COURSC 1 Langage C Support de cours Messagerie : corde@idris.fr Liste des transparents 2 1 Présentation du langage C......... 7 1.1 Historique................ 8 1.2 Intérêts du langage............ 10 1.3

Plus en détail

L3 Info & Miage. TP-Projet SGF

L3 Info & Miage. TP-Projet SGF TP-Projet SGF 1. Introduction L objectif de ce mini-projet est de réaliser un Système de Gestion de Fichiers simplifié capable de gérer des accès à des fichiers séquentiels de type flot. L idée est ici

Plus en détail

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

SYNTAXE du LANGAGE C

SYNTAXE du LANGAGE C SYNTAXE du LANGAGE C FICHIERS SOURCES *.cpp fichiers principaux Vos programmes. *.h fichiers d en-tête Ne pas mettre de code dans les en-tḙtes. DIRECTIVES Pas de ; après une directive. #include

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

L utilitaire "make" et son inséparable Makefile

L utilitaire make et son inséparable Makefile L utilitaire "make" et son inséparable Makefile Compilation et exécution Programme source Analyse lexicale (scaning) Optimisation du code Programme abstrait (optimisé) Génération du code Séquence d unités

Plus en détail

Une courte introduction à C++ Karl Tombre École des Mines de Nancy

Une courte introduction à C++ Karl Tombre École des Mines de Nancy Une courte introduction à C++ Karl Tombre École des Mines de Nancy Version 1.0 Octobre 1999 1 Un peu d histoire Le langage C++ a deux grands ancêtres : Simula, dont la première version a été conçue en

Plus en détail

1. Eléments de base du langage C

1. Eléments de base du langage C 1 1. Eléments de base du langage C Généralités Programme et sous-programme Fonction C Structure d un programme C Vocabulaire de base et syntaxe Exemples 2 Généralités Crée en 1972 par D. Ritchie pour écrire

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

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

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

Introduction. Chapitre 1. 1.1 Pourquoi Java?

Introduction. Chapitre 1. 1.1 Pourquoi Java? Chapitre 1 Introduction Nos objectifs pédagogiques sont : 1. Étudier les concepts de base de la programmation dans les langages de haut-niveau, de manière à : les appliquer en Java, comprendre des concepts

Plus en détail

Cours Langage C. Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique

Cours Langage C. Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique Cours Langage C Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique I Passage de paramètres à la fonction main Tout exécutable C doit comporter une fonction main dont le

Plus en détail

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

Plus en détail

Programmation Orientée Objet C++ Cours 1

Programmation Orientée Objet C++ Cours 1 Programmation Orientée Objet C++ Cours 1 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence B. W. Kernighan et D. M. Ritchie - Le langage C : Norme

Plus en détail

Licence Fondamentale SMI (semestre 3)

Licence Fondamentale SMI (semestre 3) Cours Programmation I (chapitres 1&2) Licence Fondamentale SMI (semestre 3) Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2014/2015 2014/2015 Pr. Ben Mamoun 1 Plan du cours (1) 1. Introduction

Plus en détail

Ch1 : Eléments de base du langage C

Ch1 : Eléments de base du langage C Ch1 : Eléments de base du langage C Fathi Mguis Atelier de programmation 1 LFSI1/LARI1 A.U : 2014-2015 Plan 1 Généralités 2 Avantages 3 Structure d un programme en C 4 Les diverse phases d un programme

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

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

Plus en détail

STANDARD DE PROGRAMMATION C++ (version pour 007, 2006-10-23)

STANDARD DE PROGRAMMATION C++ (version pour 007, 2006-10-23) STANDARD DE PROGRAMMATION C++ (version pour 007, 2006-10-23) 1. GÉNÉRALITÉS 1.1 Identification des fichiers Les noms de fichiers doivent être significatifs. Cependant, pour simplifier l'affichage dans

Plus en détail

Examen de Langage C Vendredi 2 Décembre 2011

Examen de Langage C Vendredi 2 Décembre 2011 Année 2011-2012 Examen de Langage C Vendredi 2 Décembre 2011 Promotion Guichet 1 ière année É. Salvat Modalités : Durée : 2 heures Seul document autorisé : carte de référence du C, pas de machine à calculer,

Plus en détail

Programmation sous Python

Programmation sous Python Erwan Biland Lycée Chateaubriand - BCPST 1C Année scolaire 2014-2015 Objects du Utilisation de la console (shell ) Python calculatrice Fichier machin.py Manipulation des variables Création/affectation,

Plus en détail

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 16 septembre 2015 1 2015 v1.12 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail