3 Pseudo-code et algorithmes 26

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "3 Pseudo-code et algorithmes 26"

Transcription

1 TABLE DES MATIÈRES 1 Introduction à la programmation Programme et langage de programmation Étapes du développement des programmes Notion d'algorithme 6 2 Notions de base Constantes Variables Types de données simples Déclarations dans les algorithmes Notion d'instructions Instruction d'affectation Expressions arithmétiques et opérateurs 18 3 Pseudo-code et algorithmes Présentation des algorithmes en pseudo-code Standard de présentation du pseudo-code Instruction de lecture Instruction d'écriture Essais manuels des algorithmes : la trace 40 4 Structures de contrôle Structure séquentielle Structure conditionnelle simple et opérateurs relationnels Structures conditionnelles imbriquées Applications des structures imbriquées au problème du prix du repas Structure conditionnelle multiple Conditions composées et opérateurs logiques Priorité des opérateurs Évaluation court-circuit 73

2 4.9 CHOIX-QUAND et conditions composées Exemples récapitulatifs Structures itératives Étapes pour l'écriture d'une boucle Les sentinelles La boucle POUR Structures imbriquées Initialisation significative des variables 93 5 Éléments de base de C Conversion des algorithmes en C Structure générale d'un programme C Déclarations et définitions des variables et constantes, types de données Opérations de lecture et d'écriture : <iostream> Affectation et autres opérateurs Structures de contrôle Règles de visibilité Exemples récapitulatifs Cycle de développement d'un programme Mise au point des programmes Qualités des programmes Facilité d'utilisation Fiabilité et validation Qualité du code Standard de programmation Modularité Définition d'un module Types de modules Nom et appel des modules Écriture des modules Les paramètres 160

3 7.6 Module pour CHOIX-QUAND Fonctions de bibliothèques Développement de modules réutilisables Modularité en C++ : fonctions Techniques spéciales Entrées-sorties en C Les entrées-sorties interactives Contrôle de la présentation des données Sérialisation et gestion des fichiers Format des données dans les fichiers Validation des lectures interactives Un exemple : la consommation de pommes Types de données personnels Types par énumération Les structures Récapitulation : les pommes Vecteurs La structure de données vecteur Les vecteurs en C++ : la classe vector Quelques fonctions membres utiles Exemples d'opérations et indices quelconques Vecteurs, fonctions et modularité Sérialisation des vecteurs Autres opérations dans les vecteurs Retour aux pommes Possibilités des variables et des fonctions en C Durée de vie des variables et portée Variables globales Variables statiques et durée de vie 259

4 11.4 Les singletons Contrôle de la portée des variables Les références Les fonctions inline Fichiers sources multiples, fichiers d'en-tête et namespace anonyme Découpage en fichiers sources multiples Déclarations et fichiers d'en-tête Possibilités du préprocesseur Rôle de l'éditeur de liens, projets et makefile Les fonctions inline dans les fichiers de en-tête Restriction des accès : le namespace anonyme Types de données de C Types de données de base Types synonymes (typedef) Imbrications des déclarations de types Quelques typedef et types imbriqués de la bibliothèque standard Les pointeurs Allocation dynamique Quelques possibilités du type string Conversions et <sstream> Opérateurs et exceptions Opérateurs : valeurs dans les expressions Opérateurs spéciaux Opérateurs de manipulations de bits Fonctions operator Exceptions 317

5 15 Classes et encapsulation Données, traitements, validité et invariants Classes et droits d'accès Fonctions membres Constructeurs Validation, constructeur et exceptions Validation et autres fonctions membres Fonctions membres const Fonctions membres static Destructeurs Constructeurs dans les structures Constantes et types imbriqués Classe de valeurs et classe de traitement Données membres constantes et références Sérialisation des données d'un type classe Un exemple complet Déclarations des classes Classes et fonctions operator Fonction membre operator= Conversions par constructeur et explicit Fonctions friend Héritage et polymorphisme Réutilisation des classes par composition Dérivation et héritage Polymorphisme et fonctions virtuelles Fonction virtuelle pure et classe abstraite Programmation orientée objet Fonctions membres privées Un exemple complet 402

6 17 Compléments Vecteurs de base et chaînes C Itérateurs et arithmétiques de pointeurs Autres fonctions de <algorithm> Fonctions de std::vector préservant l'ordre Position du const et pointeurs Données membres static Macros Sortie rapide du programme Classes singleton 428 ANNEXES 429 BIBLIOGRAPHIE 434 Index 435

7 1 Introduction à la programmation De plus en plus de gens utilisent un ordinateur pour accomplir diverses tâches, pour résoudre certains problèmes ou pour naviguer dans Internet. Même s'ils ne sont pas informaticiens, ils réussissent à utiliser un ordinateur, comme tout autre appareil électronique. Ils estiment simplement que cette machine offre ces possibilités. Pourtant, bien que l ordinateur soit un appareil très puissant et d une grande complexité, il n'est pas intelligent et ne peut rien faire seul. Cette machine constitue le matériel, qui n'est qu'une partie des systèmes informatiques. L'autre partie est le logiciel. Ce sont des programmes qui dictent en détail à l ordinateur toutes les opérations à réaliser. Souvent plus complexes que l'ordinateur lui-même, ils sont développés par des informaticiens spécialistes appelés programmeurs. Il y a plus de 50 ans que les ordinateurs commerciaux sont utilisés. On pourrait croire que tous les types de problèmes ont été résolus, et qu il n'y a plus de programmes à écrire. Au contraire, les ordinateurs étant aujourd'hui très abordables, plus de gens que jamais veulent une solution informatique qui leur soit parfaitement adaptée. Grâce à l'expansion d'internet et des sites Web, une toute nouvelle catégorie de programmes a aussi vu le jour. Il faudra de plus en plus de programmeurs pour répondre à tous ces nouveaux besoins. Le développement d'un système informatique exige la collaboration de plusieurs types d'informaticiens. Lorsqu'une personne désire un nouveau système ou l'amélioration d'un système existant, un spécialiste de l'analyse des besoins, que l'on appelle analyste, fera les premières démarches afin de déterminer les fonctions précises du système à développer ou à modifier. Les programmeurs ou les analystes-programmeurs développeront ensuite les programmes nécessaires. À toutes les étapes du développement, les informaticiens devront élaborer des solutions demandant réflexion, patience, ingéniosité et un certain nombre de connaissances techniques comme celles qui seront présentées dans le présent ouvrage.

8 2 Introduction à la programmation avec ISO C PROGRAMME ET LANGAGE DE PROGRAMMATION Un programme est un ensemble d'instructions écrites dans un langage compréhensible par l'ordinateur. Ces instructions dictent à l'ordinateur chacune des étapes à effectuer pour résoudre un problème. Le programmeur rédige habituellement son programme dans un langage de programmation dit évolué, par exemple C++, Java ou PHP. Ce langage est plus proche d'un langage humain que du langage vraiment compris par l'ordinateur, que l'on appelle langage machine. Il faut donc traduire le programme, appelé programme source, en langage machine afin que l'ordinateur puisse l'utiliser. C'est un autre programme qui s'occupe de cette traduction. Nous supposerons qu'il s'agit d'un compilateur, qui traduit (compile) le programme source au complet avant utilisation. C'est l'étape de la compilation. Pour certains langages, il existe aussi des interpréteurs, qui traduisent une instruction à la fois, juste avant qu'elle soit utilisée. 1.2 ÉTAPES DU DÉVELOPPEMENT DES PROGRAMMES La complexité des programmes s'est grandement accrue depuis quelques décennies. Il n'est plus rare de voir des programmes comportant des centaines de milliers ou même des millions d'instructions. De tels programmes doivent pouvoir évoluer au fil des années, pour répondre à des nouveaux besoins. On veut donc qu'ils soient faciles à modifier ou à corriger. Pour que ce soit possible, il est essentiel d'aborder la programmation d'une façon très disciplinée. On peut établir six étapes nécessaires au développement d un programme utilisable : analyse du problème, conception et vérification de l'algorithme, codage et vérification du programme, sans oublier la documentation. Analyse du problème L'analyse est le premier pas essentiel vers la résolution d'un problème. Son but est d'abord de définir parfaitement le problème. En plus, elle permet souvent de découvrir les premiers éléments de la solution. Ce n'est pas une étape qu'il faut omettre ou faire rapidement. Il existe plusieurs niveaux d'analyse. Un analyste peut rencontrer des clients et des futurs utilisateurs (on dit aussi usagers) du système pour déterminer exactement leurs besoins. Il décidera quels sont les programmes nécessaires en précisant exactement ce qu'ils devront faire. Le programmeur devra ensuite analyser ces spécifications de programmes, qui constituent autant de problèmes précis à résoudre. Nous traiterons de ce deuxième niveau d'analyse en partant de problèmes déjà bien déterminés.

9 1 Introduction à la programmation 3 On peut aujourd'hui utiliser deux approches pour analyser les problèmes. Dans l'approche traditionnelle, que l'on appelle aussi procédurale, on applique les trois étapes suivantes : 1. Déterminer les résultats à obtenir ; 2. Déterminer les données qui doivent être connues ; 3. Déterminer les opérations permettant d'obtenir les résultats à partir des données. données PROGRAMME opérations résultats Une bonne analyse permettra de déterminer les opérations exactes qui constitueront le programme en trouvant, par exemple, la façon de calculer certains résultats. Exemple 1 On veut un programme simple de caisse enregistreuse qui demande le prix d'un article et la quantité que le client veut acheter, et qui imprime ce prix, cette quantité ainsi que le prix total après avoir ajouté une taxe de 7 %. 1. Déterminer les résultats à obtenir. On peut facilement isoler de l'énoncé du problème ce qu'il faut que le programme produise : «... imprime ce prix, cette quantité ainsi que le prix total...». données PROGRAMME opérations résultats prix, quantité, prix total 2. Déterminer les données qui doivent être connues. On peut isoler de l'énoncé ce que le programme devra obtenir avant de pouvoir effectuer les calculs et les traitements. Il s'agit de trouver les données sur lesquelles le programme fera ce travail : «... demande le prix d'un article et la quantité... une taxe de 7 %». données prix, quantité, taux taxe PROGRAMME opérations résultats prix, quantité, prix total 3. Déterminer les opérations permettant d'obtenir les résultats à partir des données. On doit déterminer comment il faut effectuer les calculs : taxe sera calculée ainsi : prix * quantité * taux taxe prix total sera calculé ainsi : (prix * quantité) + taxe Le symbole * indique ici la multiplication. C'est le symbole le plus couramment employé en informatique, afin d'éviter toute confusion avec la lettre x.

10 4 Introduction à la programmation avec ISO C++ Exemple 2 On veut un programme pour calculer le salaire des employés. Chaque employé remplit une fiche comprenant son nom, son matricule, le nombre d'heures de travail et son taux horaire. Pour chaque employé, on veut produire un chèque avec son nom et son salaire net. On l'obtient à partir de son salaire brut en enlevant les impôts fédéral et provincial à payer ainsi que les cotisations de l'assurance-emploi et de la régie des rentes. 1. Déterminer les résultats à obtenir. données PROGRAMME opérations résultats nom, salaire net 2. Déterminer les données qui doivent être connues. données nom, matricule, nb heures, taux horaire, taux impôt fédéral, taux impôt provincial, taux ass. emploi, taux régie des rentes PROGRAMME opérations résultats nom, salaire net 3. Déterminer les opérations permettant d'obtenir les résultats à partir des données. salaire brut est taux horaire * nb heures impôt fédéral est salaire brut * taux impôt fédéral impôt provincial est salaire brut * taux impôt provincial cotis. ass. emploi est salaire brut * taux ass. emploi cotis. régie des rentes est salaire brut * taux rég. rentes déductions est impôt fédéral + impôt provincial + cotis. ass. emploi + cotis. régie des rentes salaire net est salaire brut - déductions Approche orientée objet L'approche plus récente dite orientée objet est mieux adaptée à la résolution des problèmes de plus grande envergure. Nous l'utiliserons plus tard dans cet ouvrage, mais voici déjà une occasion d'en décrire les principales étapes : 1. Identifier et définir les objets : ce sont des concepts du problème ou de sa solution ayant des caractéristiques, des attributs, des responsabilités, etc. ; 2. Identifier les collaborations entre les objets ; 3. Trouver comment utiliser les objets définis afin d'obtenir le résultat escompté. L'accent est donc plus sur les éléments qui sont manipulés par le programme que sur le problème à résoudre spécifiquement. Nous y reviendrons au chapitre 15.

Chapitre I - Introduction et conseils au lecteur

Chapitre I - Introduction et conseils au lecteur Chapitre I - Introduction et conseils au lecteur Cette partie introductive situe la place de l'algorithmique dans le développement logiciel et fournit au lecteur des conseils : conseils pour bien analyser

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

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

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

Chapitre 10. Introduction à l algorithmique

Chapitre 10. Introduction à l algorithmique Date début :.. Date fin : Problématique : Le logiciel informatique contraint l ordinateur exécuter une suite de tâches élémentaires (calculs, impression ). L écriture d algorithmes permet de décrire avec

Plus en détail

Modélisation objet avec UML

Modélisation objet avec UML Modélisation objet avec UML Le développement des systèmes est une tâche d une grande envergure et un investissement important pour toute entreprise. La modélisation des systèmes déjà existants ou d un

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

Construction et destruction des objets de vie des objets Objets composites Tableaux d'objets Copie (Initialisation et affectation) des objets

Construction et destruction des objets de vie des objets Objets composites Tableaux d'objets Copie (Initialisation et affectation) des objets Construction et destruction des objets Durée de vie des objets Objets composites Tableaux d'objets Copie (Initialisation et affectation) des objets Initialisation des objets Constructeur par recopieinit

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

Reprise en main du programme d Affectation de transport en commun

Reprise en main du programme d Affectation de transport en commun Reprise en main du programme d Affectation de transport en commun Modifications indispensables pour bonne compilation : Utilisation de visual C++ express pour avoir accès à un débuggeur et un compilateur

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

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles GL / C++ Chapitre 7 Lien Dynamique Méthodes Virtuelles 1. Pointeur sur un objet d'une classe dérivée Considérons les classes écrites précédemment : Personne Etudiant // dérive de personne Salarie // dérive

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

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

par Jean-François Deslandes

par Jean-François Deslandes GUIDE EXCEL POUR LA STATISTIQUE par Jean-François Deslandes Automne 2000 2 Table des matières RAPPORT DE TABLEAU CROISÉ DYNAMIQUE 4 CONSTRUCTION D'UN TABLEAU DE FRÉQUENCE POUR UNE VARIABLE UNIQUE 4 DISTRIBUTION

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

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

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

8. Protection des SGBD

8. Protection des SGBD 8. Protection des SGBD 8.1 Introduction Les SGBD courent certains dangers que nous pouvons répertorier en : - accidents logiciels - utilisation pernicieuse - pannes matérielles Les SGBD doivent faire face

Plus en détail

18 Informatique graphique

18 Informatique graphique Avant-propos En 1988, les Editions Hermès publiaient un ouvrage intitulé La synthèse d'images, qui présentait un état de l'art de ce domaine de l'informatique, vingt cinq ans environ après l'introduction

Plus en détail

Plan de cours. Titre du cours : Programmation en C# complémentaire. Session visée par le cours : Hiver 2009. Aucun Aucun. Préalables : Préparatoire à

Plan de cours. Titre du cours : Programmation en C# complémentaire. Session visée par le cours : Hiver 2009. Aucun Aucun. Préalables : Préparatoire à Titre du cours : Programmation en C# Code officiel : 420-BBT-BB Plan de cours Programme d études : Session visée par le cours : Hiver 2009 Discipline : Préalables : Préparatoire à Aucun Aucun Cours de

Plus en détail

Créer des documents XML

Créer des documents XML 1 Créer des documents XML La spécification XML définit comment écrire un document au format XML. XML n est pas un langage en lui-même mais, en revanche, un document XML est écrit dans un langage à balises

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

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

Série notée Sujet 1. Règles et recommandations : Instructions ÉC O L E P O L Y T E C H N IQ U E FÉ DÉR A L E D E L A U S A N N E

Série notée Sujet 1. Règles et recommandations : Instructions ÉC O L E P O L Y T E C H N IQ U E FÉ DÉR A L E D E L A U S A N N E EIDGENÖSSISCHE TECHNISCHE HOCHSCHULE LAUSANNE POLITECNICO FEDERALE LOSANNA SWISS FEDERAL INSTITUTE OF TECHNOLOGY LAUSANNE Faculté Informatique et Communication Cours Informatique II (SV) Jamila Sam ÉC

Plus en détail

Ordinateur, programme et langage

Ordinateur, programme et langage 1 Ordinateur, programme et langage Ce chapitre expose tout d abord les notions de programme et de traitement de l information. Nous examinerons ensuite le rôle de l ordinateur et ses différents constituants.

Plus en détail

Introduction à l'algorithmique II

Introduction à l'algorithmique II Introduction à l'algorithmique II CHAPITRE HAPITRE: : FICHIERS F ICHIERSET ET : F ENREGISTREMENTS ANNÉE NNÉE: 2014 : 2014-2015 Fichiers Lesfichiersservent à stocker des informations de manière permanente,

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

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

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

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

Luc PONSONNET Lycée Bonaparte 83000 Toulon Académie de Nice TRAAM 2013-2014 Page 1

Luc PONSONNET Lycée Bonaparte 83000 Toulon Académie de Nice TRAAM 2013-2014 Page 1 Luc PONSONNET - Académie de Nice - TraAM 2013-2014 " L ENORME SAUT DE THIERRY NEUVILLE AU RALLYE DE FINLANDE" Niveau de la classe : première scientifique Testée avec une classe de première scientifique

Plus en détail

Introduction au langage C++

Introduction au langage C++ Introduction au langage C++ Chapitres traités Langage de bas niveau Langage de bas niveau (langage machine) Pourquoi le codage binaire? Les composants à l'intérieur de l'ordinateur sont des composants

Plus en détail

renforcer le contrôle de type :

renforcer le contrôle de type : renforcer le contrôle de type : définitions, prototypes de fonctions surcharge références conversions de void * préférer le compilateur au préprocesseur considérer les entrées/sorties opérations abstraites

Plus en détail

Couper en deux, encore et encore : la dichotomie

Couper en deux, encore et encore : la dichotomie Couper en deux, encore et encore : la dichotomie I : Jeu du nombre inconnu Un élève volontaire choisit un nombre entier compris entre 0 et 56. Un autre élève cherche à deviner ce nombre, en adoptant la

Plus en détail

IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008. Gestion de stocks à la sauce C++! Mohamed Lokbani

IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008. Gestion de stocks à la sauce C++! Mohamed Lokbani IFT1166 TP3 Été 2008 1/5 IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008 Gestion de stocks à la sauce C++! Mohamed Lokbani Équipes : le travail peut-être fait en binôme mais vous ne remettez qu un travail par

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

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

IFT 1020 Programmation II

IFT 1020 Programmation II Département d informatique et de recherche opérationnelle Été 2005 IFT 1020 Programmation II Etienne Bergeron 7 juillet 2005 1 Explications générales Travail pratique #4 Technique de recherche, Entrées/Sorties

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

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

Traduction des Langages : Le Compilateur Micro Java

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

Programmation C++ (débutant)/les tableaux statiques

Programmation C++ (débutant)/les tableaux statiques Programmation C++ (débutant)/les tableaux statiques 1 Programmation C++ (débutant)/les tableaux statiques Le cours du chapitre 6 : les tableaux statiques Les tableaux Une variable entière de type int ne

Plus en détail

Initialisation des attributs (1)

Initialisation des attributs (1) Initialisation des attributs (1) Initialiser les attributs d une instance en leur affectant individuellement une valeur, après l instanciation, n est pas une technique satisfaisante: a) elle est fastidieuse,

Plus en détail

DOMAINE : économie et gestion informatique

DOMAINE : économie et gestion informatique CONCOURS DE L'AGREGATION INTERNE «ECONOMIE ET GESTION» SESSION 2002 EPREUVE PORTANT SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PEDAGOGIQUES DOMAINE : économie et gestion informatique Durée

Plus en détail

GUIDE D UTILISATION DU LOGICIEL SOFT ECOLES

GUIDE D UTILISATION DU LOGICIEL SOFT ECOLES 1 GUIDE D UTILISATION DU LOGICIEL SOFT ECOLES SOFT ECOLES est un logiciel de gestion scolaire automatisée avec des fonctionnalités qui permettent un suivi des inscriptions, des règlements des différents

Plus en détail

LIGNES DIRECTRICES POUR LA NOTIFICATION DES EIG

LIGNES DIRECTRICES POUR LA NOTIFICATION DES EIG LIGNES DIRECTRICES POUR LA NOTIFICATION DES EIG 1. Introduction Le règlement (CE) n 1223/2009 relatif aux produits cosmétiques («règlement Cosmétiques») 1 a jeté les fondements d une gestion uniforme des

Plus en détail

Programmation trame GPS

Programmation trame GPS Lycée polyvalent DIDEROT 61, rue David d Angers 75019 PARIS http://www.diderot.org Département IRIS TP Programmation trame GPS Manipulation de trame GPS NMEA Auteur Version - Date Nom du fichier G.VALET

Plus en détail

Chapitre 1 Introduction à l organisation des ordinateurs et à l assembleur

Chapitre 1 Introduction à l organisation des ordinateurs et à l assembleur Chapitre 1 Introduction à l organisation des ordinateurs et à l assembleur Jean Privat Université du Québec à Montréal INF217 Organisation des ordinateurs et assembleur Automne 21 Jean Privat (UQAM) 1

Plus en détail

DEPARTEMENT DE GENIE MECANIQUE

DEPARTEMENT DE GENIE MECANIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE DEPARTEMENT DE GENIE MECANIQUE Règles générales pour la rédaction d'un rapport scientifique P. Ott, Ph. Sutter Rapport LTT - 95-19 LABORATOIRE DE THERMIQUE APPLIQUéE

Plus en détail

Calcul des plafonds du bulletin

Calcul des plafonds du bulletin Calcul des plafonds du bulletin Fonctionnement et appel des plafonds sur le bulletin Lors du calcul du bulletin, les plafonds de la Sécurité Sociale, de la retraite, des congés spectacles, critères essentiels

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Programmation : Exercices

Programmation : Exercices Programmation : Exercices IUT de Villetaneuse R&T 1 ère année Laure Petrucci 6 novembre 2007 1 Premiers programmes Exercice 1.1 : Machine à dessiner On souhaite écrire un programme pour afficher des dessins.

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Introduction 1. Objectif de l'ouvrage 9 2. Bref historique de PHP 10 3. Où se procurer PHP? 10 4. Conventions d'écriture 12 Vue d'ensemble de PHP 1. Qu'est-ce que PHP? 13 2. Structure de base d'une page

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

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Manuel d information Saisie de données de temps dans Excel

Manuel d information Saisie de données de temps dans Excel Manuel d information Saisie de données de temps dans Excel CAT2 Objectif L objectif de ce procédé est de permettre aux écoles qui n ont aucun accès à SAP de pouvoir inscrire leurs données de feuille de

Plus en détail

ISBN : 2-212-11407-9

ISBN : 2-212-11407-9 Groupe Eyrolles, 2005, ISBN : 2-212-11407-9 Table des matières Avant-propos................................................ XV CHAPITRE 1 Introduction..................................................

Plus en détail

Analyse de la complexité algorithmique (1)

Analyse de la complexité algorithmique (1) Analyse de la complexité algorithmique (1) L analyse de la complexité telle que nous l avons vue jusqu à présent nous a essentiellement servi à déterminer si un problème est ou non facile (i.e. soluble

Plus en détail

Système. Introduction aux systèmes informatiques

Système. Introduction aux systèmes informatiques Introduction aux systèmes informatiques Système Un système est une collection organisée d'objets qui interagissent pour former un tout Objets = composants du système Des interconnexions (liens) entre les

Plus en détail

Travaux pratiques. Installation et configuration des outils du contrôle parental

Travaux pratiques. Installation et configuration des outils du contrôle parental Travaux pratiques Installation et configuration des outils du contrôle parental Version Date de la version Modification apportée 1.0 20/11/2014 Premier draft Document Publique Document Interne Document

Plus en détail

UP : Unified Process

UP : Unified Process UP : Unified Process 1 UP : Unified Process Table des matières 1DÉFINITION... 2 1.1UP est itératif... 2 1.2UP est centré sur l'architecture...2 1.3UP est piloté par les cas d'utilisation d'uml... 2 2VIE

Plus en détail

Pas d installations ou d équipement particuliers.

Pas d installations ou d équipement particuliers. COURS FIN1010 : Niveau : Préalable : Description : Paramètres : INFORMATION FINANCIÈRE PERSONNELLE Débutant Aucun L élève explore les concepts qui touchent aux finances des particuliers, y compris le code

Plus en détail

Manuel de référence. Sage Paie & RH - génération i7 Gestion des prêts Version 7

Manuel de référence. Sage Paie & RH - génération i7 Gestion des prêts Version 7 Manuel de référence Sage Paie & RH - génération i7 Gestion des prêts Version 7 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré

Plus en détail

Algorithmique et programmation. Cours d'algorithmique illustré par des exemples pour le picbasic

Algorithmique et programmation. Cours d'algorithmique illustré par des exemples pour le picbasic Algorithmique et programmation Cours d'algorithmique illustré par des exemples pour le picbasic Même s'il est possible d'écrire un programme petit à petit par touches successives, le résultat est souvent

Plus en détail

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 56 CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 6.1 INTRODUCTION : Afin de fournir un accès efficace et pratique au disque, le SE impose un système de gestion de fichiers (SGF) pour permettre de stocker,

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

Guide d intégration. Protection de classeurs EXCEL avec DinkeyPRO/FD. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Guide d intégration. Protection de classeurs EXCEL avec DinkeyPRO/FD. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika. Guide d intégration Protection de classeurs EXCEL avec DinkeyPRO/FD Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr

Plus en détail

Tunisie Web Services Hosting Solutions

Tunisie Web Services Hosting Solutions CONTRAT REVENDEUR 1. La Société TUNISIEWEB HOSTING SOLUTIONS La société TUNISIEWEB HOSTING SOLUTIONS est un prestataire spécialisé dans la fourniture de services d'accès aux informations et aux ressources

Plus en détail

OPTION F : INFORMATIQUE

OPTION F : INFORMATIQUE BO2FE15V1 CONCOURS EXTERNE POUR LE RECRUTEMENT DE CONTRÔLEURS DES DOUANES ET DROITS INDIRECTS BRANCHE DU CONTRÔLE DES OPÉRATIONS COMMERCIALES ET D ADMINISTRATION GÉNÉRALE DES 23 ET 24 FÉVRIER 215 ÉPREUVE

Plus en détail

Conditions générales de licence de logiciel

Conditions générales de licence de logiciel Conditions générales de licence de logiciel 1. Préambule MAÏDOTEC est titulaire des droits de propriété intellectuelle et de commercialisation sur le logiciel décrit dans les conditions particulières associées

Plus en détail

Rapport de projet. Animation de diagrammes d'état - CHAMPION Adrien - ETIENNE Thibaut RIZZI Thibaut 1A - INFO - Groupe EF - G36.

Rapport de projet. Animation de diagrammes d'état - CHAMPION Adrien - ETIENNE Thibaut RIZZI Thibaut 1A - INFO - Groupe EF - G36. Rapport de projet Animation de diagrammes d'état - CHAMPION Adrien - ETIENNE Thibaut RIZZI Thibaut 1A - INFO - Groupe EF - G36 Juin 2008 2 Table des matières 1 Introduction...5 1.1 - Objectif...5 1.2 Choix

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

ALGORITHMIQUE. Qu est-ce qu un algorithme. Comment écrire un algorithme. Des exemples d algorithmes. Définition

ALGORITHMIQUE. Qu est-ce qu un algorithme. Comment écrire un algorithme. Des exemples d algorithmes. Définition Qu est-ce qu un algorithme ALGORITHMIQUE Définition Un algorithme est une suite d opérations élémentaires, à appliquer dans un ordre déterminé à des données. Un algorithme est donc une liste d instructions

Plus en détail

Résumé du chapitre 8 Ressources et interblocage

Résumé du chapitre 8 Ressources et interblocage Résumé du chapitre 8 Ressources et interblocage Jacques Mossière 12 août 2004 1 Introduction Ce chapitre est consacré à l étude d un problème classique dans les systèmes, l interblocage, c est à dire l

Plus en détail

pour Mac Guide de démarrage rapide

pour Mac Guide de démarrage rapide pour Mac Guide de démarrage rapide ESET Cybersecurity assure une protection de pointe de votre ordinateur contre les codes malveillants. Basé sur le moteur d'analyse ThreatSense utilisé pour la première

Plus en détail

Catégories, extensions et sécurité

Catégories, extensions et sécurité 11 Catégories, extensions et sécurité Au sommaire de ce chapitre Catégories Extensions Contrôle des accès aux variables d instance Contrôle des accès aux méthodes Espaces de noms Sécurité Appeler des fonctions

Plus en détail

Concours d entrée en Ingénierie, printemps 2010

Concours d entrée en Ingénierie, printemps 2010 Concours d entrée en Ingénierie, printemps 2010 Nom: Prénom: Test des connaissances professionnelles pour les orientations Informatique et Télécommunications Notions fondamentales en informatique Ecrivez

Plus en détail

Leçon 9. MRP2 : structure

Leçon 9. MRP2 : structure Leçon 9 MRP2 : structure L'objectif principal de la leçon est de connaître et de comprendre le principe de gestion la production avec la méthode MRP2. A l'issue de la leçon l'étudiant doit être capable

Plus en détail

Sujet : Conformité. Définitions

Sujet : Conformité. Définitions Définitions Voyage international Tout voyage entre deux pays. Indemnités journalières de voyage La somme maximale d'argent que le Gouvernement américain rembourse par jour pour couvrir l'hébergement et

Plus en détail

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2010-2011 S. Kramm (IUT Rouen) MCII1 - Cours 3 2010-2011 1 / 47 Sommaire 1 Rappels de C et définitions

Plus en détail

INTRODUCTION À L ALGORITHMIQUE

INTRODUCTION À L ALGORITHMIQUE INTRODUCTION À L ALGORITHMIQUE Table des matières 1. Introduction 1 2. Les éléments de base d un algorithme simple 2 2.1. Préparation du traitement 2 2.2. Le traitement 2 2.3. La sortie des résultats 2

Plus en détail

Implémentation dans Active Tags d'un module Web pour XUnit

Implémentation dans Active Tags d'un module Web pour XUnit Implémentation dans Active Tags d'un module Web pour XUnit Table des matières 1. Introduction... 2 2. Application Web interactive en Reflex... 2 3. Module Web pour XUnit... 3 3.1. Principes... 3 3.2. Implémentation

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

PROPOSITION DE SERVICES INFORMATIQUES PRESENTATION DE NEFERTITIS LOGICIEL INTEGRE DE GESTION DES STRUCTURES SCOLAIRES. NEFERTITIS v4.

PROPOSITION DE SERVICES INFORMATIQUES PRESENTATION DE NEFERTITIS LOGICIEL INTEGRE DE GESTION DES STRUCTURES SCOLAIRES. NEFERTITIS v4. PROPOSITION DE SERVICES INFORMATIQUES PRESENTATION DE NEFERTITIS LOGICIEL INTEGRE DE GESTION DES STRUCTURES SCOLAIRES NEFERTITIS v4.3 SERVICE COTE D IVOIRE BP : 21 BP 1348 Abidjan 21 Tél. : (225) 23 00

Plus en détail

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Cours 3 SDA et conception de logiciel. 1. Exemple d'analyse algorithmique n'utilisant que des tableaux

Cours 3 SDA et conception de logiciel. 1. Exemple d'analyse algorithmique n'utilisant que des tableaux Cours 3 SDA et conception de logiciel Les SDA servent à pouvoir construire des logiciels performants en cherchant à combiner des "briques" dont on sait qu'on pourra les implémenter en utilisant des techniques

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

Génie Logiciel. Hassan El Mansouri

Génie Logiciel. Hassan El Mansouri Hassan El Mansouri 1 Plan du cours Problématique et naissance du génie logiciel Cycle de développement, cycle de vie, cahier des charges Patrons de conception Programmation par composants, réutilisation

Plus en détail

Projet de Programmation Benoit Donnet Année Académique 2015-2016

Projet de Programmation Benoit Donnet Année Académique 2015-2016 Projet de Programmation Benoit Donnet Année Académique 2015-2016 1 Agenda Partie 4: Introduction au Génie Logiciel Chapitre 1: Bases du Génie Logiciel 2 Agenda Chapitre 1: Bases du Génie Logiciel - Principe

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

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

Définir les objectifs de formation

Définir les objectifs de formation Définir les objectifs de formation La définition des objectifs de formation est une étape préalable à l'évaluation des formations, qui doit avoir lieu avant de définir le contenu de la formation. Pourtant,

Plus en détail

LES NIVEAUX D'ABSTRACTION DE MERISE...2 GRAPHE DE FLUX...3. Modèle de Flux...4 CYCLE DE VIE DES OBJETS...5

LES NIVEAUX D'ABSTRACTION DE MERISE...2 GRAPHE DE FLUX...3. Modèle de Flux...4 CYCLE DE VIE DES OBJETS...5 Table des matières LES NIVEAUX D'ABSTRACTION DE MERISE...2 GRAPHE DE FLUX...3 Modèle de Flux...4 CYCLE DE VIE DES OBJETS...5 CVO d'un sinistre...5 Cycle de vie d'un salarié...5 MODÈLE CONCEPTUEL DES TRAITEMENTS...6

Plus en détail

Programmation Objet. Cours 1

Programmation Objet. Cours 1 Programmation Objet. Cours 1 Marie-Pierre Béal UPEM DUT 1 Programmation objet. Classes et objets. Principaux styles de programmation Style impératif Fondé sur l exécution d instructions modifiant l état

Plus en détail

Maîtriser le binaire et les conversions réciproques binaire-décimal.

Maîtriser le binaire et les conversions réciproques binaire-décimal. Support Réseau des Accès Utilisateurs SI 2 BTS Services Informatiques aux Organisations 1 ère année Support Réseau des Accès Utilisateurs Objectifs : Chapitre 1 : Codage de l'information Le système binaire

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

Initiation à la programmation

Initiation à la programmation Initiation à la programmation 1 re partie Ce cours est largement inspiré de "Informatique et sciences du numérique"-gilles DOWEK(Eyrolles) Nous avons vu, par ailleurs, qu un ordinateur peut effectuer des

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

Création d un diagramme de constellation

Création d un diagramme de constellation CADRE CANADIEN D ANALYSE DES INCIDENTS Création d un diagramme de constellation 2012 Institut canadien pour la sécurité des patients Tous droits réservés. Une permission est accordée par les présentes

Plus en détail