Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts"

Transcription

1 Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts - La notion de fonction est fondamentale car elle permet d'atteindre deux objectifs: principe d'abstraction: offrir une vue synthétique de la résolution d'un problème dans une fonction de haut-niveau d'abstraction sans rentrer dans les détails. ceux-ci sont traités dans d'autres fonctions, chacune dédiée à la résolution d'une partie du problème. Les fonctions mises en oeuvre pour répondre au principe d'abstraction peuvent n'être appelée qu'une seule fois; ce qui compte c'est de faciliter la compréhension de la solution. principe de ré-utilisation: si une partie de code se répète plusieurs fois au cours d'un programme il est recommandé d'écrire une fonction paramétrée qui va réaliser l'opération correspondante et de remplacer le code qui se répète par des appels à cette fonction. On réduit ainsi la taille du code éxecutable, de même les risques d'erreurs sont moindre si le code évolue au cours du temps. Ayez toujours ces 2 principes en tête lorsque vous analysez un problème. - Cette série vous permettra de mieux comprendre la portée des variables (globales ou locales) ainsi que la notion de variable statique. Exercice 1 (niveau 1): Déclaration de fonction Le but de cet exercice est de constater l'importance de la déclaration d'une fonction (à l'aide de son prototype) avant un appel à cette fonction. Si celle-ci est omise, le compilateur considère une déclaration implicite de type int qui ne correspond pas forcément à celle réelle, et engendre par conséquent du code erroné. Copier chez vous le fichier exemple_function.c. Compilez-le et notez le résultat de l'exécution, qui est correct. 1) Ensuite, effacez la déclaration de la fonction fexple figurant au début de la fonction main. Imaginez maintenant le compilateur, qui parcourt séquentiellement votre fichier source, du début à la fin. N'ayant plus de déclaration de la fonction fexple, lors des appels à cette fonction il ne saura pas exactement quel est le type de chaque argument, ainsi que le type de la valeur à retourner. Il ne le saura que lorsqu'il compilera la définition de la fonction fexple, à la fin du fichier. Mais ce sera trop tard, un code d'appel erroné aura déjà été généré. Cet inconvénient est donc dû au fait que le compilateur C effectue une seule passe (il parcourt le fichier une seule

2 fois). Pour constater les conséquences, recompilez votre fichier source. L'ancienne version du compilateur donne quelques messages d'avertissement (warnings), mais génère quand-même un exécutable qui produit un résultat faux. La version actuelle du compilateur arrête la compilation en indiquant qu'il y a incohérence entre la déclaration qu'il a mis en place automatiquement et celle qu'il trouve dans la définition de la fonction. C'est une bonne évolution de cet outil ; vous savez donc comment exploiter ce genre de message d'erreur pour corriger vos programmes futurs. 2) Le problème reste entier pour des fonctions qui ne sont pas définies dans le fichier en cours de compilation. Pour le vérifier, remplacez l'expression x*x par sqrt(x) dans la fonction fexple. Au moment de l'édition de liens, ajoutez la bibliothèque mathématique -lm (vu en série2). Un exécutable est produit mais la résultat affiché est incorrect car le compilateur ne disposait pas du prototype de la fonction sqrt du fait que ce fichier source n'inclut pas math.h. Pour corriger ce problème ajoutez en début de fichier la directive #include <math.h> puis recompilez et exécutez le programme. vérifiez que les valeurs sont correctes avec une calculatrice. Morale: prêtez attention aux messages d'avertissement (warnings) du compilateur et déclarez toujours vos fonctions avant de les appeler, soit explicitement en écrivant vous-même la déclaration en début de fichier source, soit en faisant l'include du fichier en-tête qui contient la déclaration (ex: math.h). Exercice 2 (document séparé / niveau 0): Calcul du maximum de 3 entiers Exercice 3 (niveau 1): Calcul du nombre d'euler Dans un même fichier source, écrivez: e ~ une fonction factorielle qui retourne la factorielle n! d'un nombre entier n passé en argument. Rappel: 0! = 1. Attention: la fonction factorielle doit être de type double car il y a overflow pour le type int dès 13! =

3 - une fonction somme qui retourne la valeur de, n étant passé en argument. - une fonction premieres_sommes qui affiche la valeur de somme pour n allant de 0 à p, p étant passé en argument. - un programme principal int main(void) qui appelle premieres_sommes(20). - Enfin compilez votre programme. S'il est correct, la suite qu'il affiche doit converger vers le nombre d'euler, car. A partir de quel terme (i) la précision n'augmente t elle plus? Dessinez le graphe d'appel des fonctions pour ce programme. Exercice 4 (document séparé/niveau 0): Le passage de tableaux à une fonction (C99) Exercice 5 (document séparé/niveau 0): Scope des variables Exercice 6 (niveau 1): Variables locales et globales #include <stdio.h> #include <stdlib.h> int i = 4; int f1(int); int f2(int); int f3(int); int f1(int a) i = i*f2(i-1); int f2(int i) i = i*f3(i-1); int f3(int a) int i = 4; i = i * (i-1);

4 int main(void) int i = 0; while(i<3) printf("entrez une valeur entiere: \n"); scanf("%d", &i); i = f1(i); printf("le resultat du programme est: %d\n", i); return EXIT_SUCCESS; Dans cet exercice vous allez voir la différence entre les variables globales et locales et les erreurs que l'on peut faire si l'on ne fait pas attention. Commencez tout d'abord par recopier ce petit programme dans un fichier et compilez le (ou récupérez le fichier var_locale_globale.c). Que donnent les exécutions de ce programme avec les valeurs 5, 6 et 7? Expliquez pourquoi (au besoin, affichez la valeur des variables en utilisant la fonction printf). Pour chaque fonction, justifiez si la variable i est globale ou locale. Nous souhaitons, à partir de ce programme, faire un programme qui calcule n*(n-1)*(n-2)*(n-3) si n est une valeur entrée au clavier. Quelles modifications devez vous apporter à ce programme pour cela? (essayez d'en faire le moins possible). Exercice 7 (niveau 1): Variables locales automatiques et statiques (voir chapitre VI du livre) Vous avez vu qu'une variable pouvait être qualifiée de locale ou de globale. Une variable locale peut, en plus, être qualifiée de statique, en faisant précéder sa déclaration du mot-clé static. Exemple: static int a; Sa portée n'a pas changé. Cependant, une variable locale statique possède deux points en commun avec les variables globales: elle occupe un emplacement fixe en mémoire, établi une fois pour toutes lors de la compilation. Sa valeur est par conséquent conservée tout au long de l'exécution (propriété de rémanence). elle est initialisée à zéro, ou à toute autre valeur spécifiée par le programmeur, comme ceci: static int a = 5; /* initialisation explicite à 5 */ Cette initialisation est faite une seule fois, au début de l'exécution du programme,

5 même si la déclaration est faite localement à un bloc ou à une fonction. Dans le cas d'une variable locale automatique (c.à.d. non statique), une (éventuelle) initialisation est faite à chaque appel de la fonction, ce qui est logique car dans ce cas la variable est recréée à chaque nouvel appel. De plus, dans ce cas, une absence d'initialisation explicite (c.à.d. specifiée par le programmeur) signifie que la variable possède une valeur indéterminée (c.à.d. quelconque). Voyons maintenant un exemple concret (vat_statique.c): #include <stdlib.h> #include <stdio.h> void truc(void) int a = 5; a++; printf("a = %d\n", a); int main() int i; for(i=0; i < 10; i++) truc(); return EXIT_SUCCESS; Compilez-le code ci dessus (ou récupérez le fichier var_statique.c) et exécutez-le. Notez le résultat. Remarquez que la variable a, locale à la fonction truc, est automatique. Rendez-la ensuite statique. Essayez de prédire le résultat de ce nouveau programme. Recompilez-le et exécutez-le pour vérifier votre réponse. Enlevez ensuite l'initialisation explicite de la variable statique a (gardez seulement static int a). Quel sera le résultat de ce programme? Vérifiez votre réponse. Enlevez ensuite le mot clé static. Ce programme est-il correct? Essayez de le compiler et de l'exécuter: comparer le résultat de plusieurs exécutions successives. Remarque: Il se peut que, par hasard ou pour un compilateur donné, la variable locale soit initialisée à 0. Mais attention, ce n'est pas le cas sur toutes les machines. Conseil: vérifiez toujours que toutes vos variables sont correctement initialisées! Il s'agit d'une source importante de bugs.

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 Ce qu il faut rendre : A la fin du TP il faudra archiver et compresser l ensemble de votre travail (y compris le rapport avec vos noms) avec la commande

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

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

Formulaire de Facturation et Statistique des Journées F.F.S.J. Version 2009/02

Formulaire de Facturation et Statistique des Journées F.F.S.J. Version 2009/02 Formulaire de Facturation et Statistique des Journées F.F.S.J. Version 2009/02 Modifications et nouveautés 2011 TABLE DES MATIERES 1. Points forts... 3 2. Intégration de la statistique de planification

Plus en détail

Fonctions et procédures. Procedures: déclaration et appel

Fonctions et procédures. Procedures: déclaration et appel Cours 5 : fonctions, procédures, passage des paramètres 1 Fonctions et procédures Idée : capitaliser sur le code déjà écrit pour introduire des nouvelles commandes et opérations. On souhaite donner un

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

1 Création de processus : primitive fork()

1 Création de processus : primitive fork() O r s a y Travaux Pratiques n o 2 : Synchronisation DUT Informatique 2010 / 2011 Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork() et synchronisation de

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

Série 19 : Programmation par évènements Buts

Série 19 : Programmation par évènements Buts Série 19 : Programmation par évènements Buts Dans cette série vous allez voir comment gérer les événements provenant de la souris, lorsque vous interagissez avec l'interface GLUT/GLUI. Cela vous permettra

Plus en détail

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

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2013-2014 (1ere session) durée 3h Tous documents et calculatrices autorisés. Répondez aux questions sur une copie séparée Le sujet comporte 12 pages

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

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

Cours/TD n 3bis : les boucles

Cours/TD n 3bis : les boucles Cours/TD n 3bis : les boucles Découpons le problème Nous avons plusieurs utilisations des boucles C est précisément ce qui rend difficile leur création. Vu la difficulté, nous allons séparer les différentes

Plus en détail

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Pratiques n o 2 : Communication Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork()

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

TP Système d exploitation numéro 4

TP Système d exploitation numéro 4 TP Système d exploitation numéro 4 cycle ingénieur - 1ere année Année 2012-2013 L objectif de ce TP est d étudier un outil unix appelé awk qui permet d effectuer des traitements sur des fichiers texte

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

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

Manuel d utilisation du Terminal de Paiement Electronique Virtuel

Manuel d utilisation du Terminal de Paiement Electronique Virtuel Manuel d utilisation du Terminal de Paiement Electronique Virtuel Page 1/36 Page 2 / 36 Page 2 / 36 Page des évolutions Le tableau ci-dessous liste les dernières modifications effectuées sur ce document.

Plus en détail

Règles de fonctionnement de la base collaborative Ludoprêt.

Règles de fonctionnement de la base collaborative Ludoprêt. J.D. GAYOT le 16/06/13 1 Règles de fonctionnement de la base collaborative Ludoprêt. Afin de rendre cette base collaborative efficace, il faut bien en comprendre les principes et appliquer certaines règles.

Plus en détail

Pour bien comprendre comment Access fonctionne dans la création d'une requête, vous

Pour bien comprendre comment Access fonctionne dans la création d'une requête, vous I / Les requêtes Les requêtes s'apparentent à ce que nous venons de faire avec les filtres car il, s'agit d interroger une table suivant certains critères Mais contrairement aux filtres qui sont volatiles,

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

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

Systèmes de communications Ascotel IntelliGate A150 A300 2025 2045 2065. Système de messagerie vocale Ascotel IntelliGate de I7.

Systèmes de communications Ascotel IntelliGate A150 A300 2025 2045 2065. Système de messagerie vocale Ascotel IntelliGate de I7. Systèmes de communications Ascotel IntelliGate A150 A300 2025 2045 2065 Système de messagerie vocale Ascotel IntelliGate de I7.8 Mode d emploi Table des matières A propos de ce document................................................3

Plus en détail

L intranet. Intégration des comptes. Pourquoi une intégration des comptes?

L intranet. Intégration des comptes. Pourquoi une intégration des comptes? Fiche Action L intranet Intégration des comptes Pourquoi une intégration des comptes? L association des Scouts et Guides de France est une seule entité juridique, une personne morale unique. Ce statut

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

Mode d emploi de DIGLOG

Mode d emploi de DIGLOG Mode d emploi de DIGLOG DIGLOG offre de nombreuses commandes pour concevoir un circuit efficacement. Afin de ne pas perdre de temps à tracer des fils, il est important de connaître ces commandes. Le principe

Plus en détail

Créer une simple application Java avec ECLIPSE. Par Ahcène BOUNCEUR

Créer une simple application Java avec ECLIPSE. Par Ahcène BOUNCEUR Créer une simple application Java avec ECLIPSE Par Ahcène BOUNCEUR Janvier 2005 INTRODUCTION Dans cet exemple nous allons vous montrer comment peut-on créer une simple application Java en utilisant l IDE

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

Critères de sélection pour remplir un panier de lecteurs Explications

Critères de sélection pour remplir un panier de lecteurs Explications A.-M. Cubat Onglet Circulation Paniers de lecteurs Page 1 Critères de sélection pour remplir un panier de lecteurs Explications 1. au moins un emprunt depuis jusqu à aujourd hui 2. au moins un emprunt

Plus en détail

Remarques sur le premier contrôle de TD :

Remarques sur le premier contrôle de TD : Remarques sur le premier contrôle de TD : Démêlons les confusions en tous genres... Licence 1 MASS semestre 2, 2006/2007 La première remarque est qu il faut apprendre le cours, faire les exercices et poser

Plus en détail

UNIVERSITE SAAD DAHLAB DE BLIDA

UNIVERSITE SAAD DAHLAB DE BLIDA Chapitre 5 :. Introduction aux méthodes par séparation et évaluation Les méthodes arborescentes ( Branch and Bound Methods ) sont des méthodes exactes d'optimisation qui pratiquent une énumération intelligente

Plus en détail

http://www.djasoft.com

http://www.djasoft.com Etape de Bienvenue Une fois l installation du logiciel terminer, vous devez le configurer pour l adapter à votre environnement de travail. Pour cela, le logiciel vous aidera à faire cette configuration

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

CRÉATION D EXERCICES INTERACTIFS AVEC HOT POTATOES

CRÉATION D EXERCICES INTERACTIFS AVEC HOT POTATOES CRÉATION D EXERCICES INTERACTIFS AVEC HOT POTATOES Dans la section downloads. Choisir la version auto-extractible. INTRODUCTION Version 6 Pour télécharger : http://hotpot.uvic.ca/ Ce logiciel permet de

Plus en détail

Câblage des portes logiques

Câblage des portes logiques Section : S Option : Sciences de l ingénieur Discipline : Génie Électrique Câblage des portes logiques Domaine d application : Les systèmes logiques Type de document : Travaux Pratiques Classe : Première

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

Robots Industriel et programmation

Robots Industriel et programmation Ce que j'apprends : Dans cette activité, tu va programmer un robot virtuel. L'objectif est de maîtriser la programmation par organigramme et de pouvoir réaliser des tâches simplesquelque défis simple.

Plus en détail

Tableaux dynamiques avec vector

Tableaux dynamiques avec vector Tableaux dynamiques avec vector Tableaux statiques Les tableaux que nous avons vus jusqu'ici sont des tableaux statiques: int tab[3]; Cette forme de tableaux vient du langage C, et est encore très utilisée.

Plus en détail

Série 16: Entrées-sorties sur les fichiers Buts

Série 16: Entrées-sorties sur les fichiers Buts Série 16: Entrées-sorties sur les fichiers Buts Dans cette série, vous allez voir comment on peut écrire et lire dans un fichier. Ceci est très utile quand on veut par exemple initialiser un programme

Plus en détail

Démarrer Excel et sélectionnez la commande "Ouvrir" du menu "Fichier". Dans la fenêtre qui apparaît, sélectionnez, en bas, "Tous les fichiers":

Démarrer Excel et sélectionnez la commande Ouvrir du menu Fichier. Dans la fenêtre qui apparaît, sélectionnez, en bas, Tous les fichiers: École de technologie supérieure DOCUMENT SPÉCIAL: Comment récupérer des données en Excel et tracer des graphiques INF125 Introduction à la programmation Sylvie Ratté et Hugues Saulnier 1. RÉCUPÉRATION

Plus en détail

Etude de la transformation de mouvement «Bielle-Manivelle» 1) FONCTIONS RÉALISÉES PAR LE LOGICIEL...2 2) CRÉATION DU MÉCANISME...2 3) ANALYSE...

Etude de la transformation de mouvement «Bielle-Manivelle» 1) FONCTIONS RÉALISÉES PAR LE LOGICIEL...2 2) CRÉATION DU MÉCANISME...2 3) ANALYSE... Découverte du logiciel Mecaplan pour SolidWorks Page 1/9 Mecaplan pour SolidWorks Bielle Manivelle Piston Bâti Etude de la transformation de mouvement «Bielle-Manivelle» 1) FONCTIONS RÉALISÉES PAR LE LOGICIEL....2

Plus en détail

Obert Hervé Stumpf Mathieu Licence 3 RIA. Réseaux & Protocoles. Client pair-à-pair. Projet L3 RIA 2005-2006 Sommaire.

Obert Hervé Stumpf Mathieu Licence 3 RIA. Réseaux & Protocoles. Client pair-à-pair. Projet L3 RIA 2005-2006 Sommaire. Obert Hervé Stumpf Mathieu Licence 3 RIA Réseaux & Protocoles Client pair-à-pair Projet L3 RIA 2005-2006 Sommaire Page 1 sur 10 Introduction - Présentation du projet 3 Fonctionnement coté graine 4 Fonctionnement

Plus en détail

TP 6-7-8-9 Informatique et Algorithmique Byte Battle

TP 6-7-8-9 Informatique et Algorithmique Byte Battle TP 6-7-8-9 Informatique et Algorithmique Byte Battle Objectif : L'objectif est de réfléchir à la décomposition en sous-programmes d'un algorithme de haut niveau. Les sous-programmes pourront être des fonctions

Plus en détail

Implanter un algorigramme avec le logiciel EditAlgo

Implanter un algorigramme avec le logiciel EditAlgo Implanter un algorigramme avec le logiciel EditAlgo 1. Définir la fonction de l algorithme. Exemple a : On souhaite faire clignoter une diode à la période 2s. Exemple b : On souhaite compter les impulsions

Plus en détail

Période 3 Les tableaux

Période 3 Les tableaux Département Génie Électrique et Informatique Industrielle Période 3 Les tableaux 1/ Recopie de certains éléments d un tableau Soit les déclarations suivantes : int Tabint[10]={65,21, 9,23, 1,32,5, 69,12,

Plus en détail

TP : Les tours de Hanoï. 1 Le module Hanoi_utils. Algorithmes et Programmation Impérative 2. Univ. Lille1 - Licence Informatique 2ème année 2014-2015

TP : Les tours de Hanoï. 1 Le module Hanoi_utils. Algorithmes et Programmation Impérative 2. Univ. Lille1 - Licence Informatique 2ème année 2014-2015 Univ. Lille1 - Licence Informatique 2ème année 2014-2015 Algorithmes et Programmation Impérative 2 TP : Les tours de Hanoï Objectifs : Vous allez programmer la résolution du problème des tours de Hanoï

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

Plugin MesEnvois pour Prestashop

Plugin MesEnvois pour Prestashop Plugin MesEnvois pour Prestashop Réduisez vos coûts de transport et augmenter votre satisfaction client en utilisant le plugin MesEnvois pour Prestashop. Proposez les transporteurs et les tarifs mesenvois.fr

Plus en détail

Système M1. Chapitre 3 : Gérer la communication et la synchronisation inter-tâches. J.-F. Pradat-Peyre & E Hyon

Système M1. Chapitre 3 : Gérer la communication et la synchronisation inter-tâches. J.-F. Pradat-Peyre & E Hyon Chapitre 3 : Gérer la communication et la synchronisation inter-tâches 1 Plan du cours Introduction aux problèmes de synchronisation Exemple de problèmes Section critique et verrous Exclusion Mutuelle

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

I) Deux propriétés importantes Propriété 1 Si A est multiple de B et B est un multiple de n, alors A est un multiple de n.

I) Deux propriétés importantes Propriété 1 Si A est multiple de B et B est un multiple de n, alors A est un multiple de n. Extrait de cours de maths de 5e Chapitre 1 : Arithmétique Définition 1. Multiples et diviseurs Si, dans une division de D par d, le reste est nul, alors on dit que D est un multiple de d, que d est un

Plus en détail

Utiliser un modèle d état prédéfini

Utiliser un modèle d état prédéfini Chapitre 8 Etats rapides Certains boutons sont désactivés, en fonction du type de cellule sélectionné. 4 Répétez les étapes 2 et 3 pour chaque bordure à paramétrer. 5 Cliquez sur le bouton OK pour valider

Plus en détail

LOGISTIQUE Contrôle des factures

LOGISTIQUE Contrôle des factures LOGISTIQUE Contrôle des factures WINGS Software Flexibilité, efficacité et précision Contrôle des factures TABLE DES MATIÈRES INTRODUCTION 1.1. Généralités 3 FONCTIONNEMENT 2.1. Opérations: Réceptions

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

L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES

L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES 1 L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES Dans ce chapitre, nous allons automatiser le fonctionnement de la base de données. Jusqu à présent, nous avons créé différents objets, mais maintenant

Plus en détail

Guide d intégration. Protection de logiciels Windev 5 à Windev 15 avec CopyMinder. Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Guide d intégration. Protection de logiciels Windev 5 à Windev 15 avec CopyMinder. Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika. Guide d intégration Protection de logiciels Windev 5 à Windev 15 avec CopyMinder 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

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

EloKanz. Manuel d utilisation. Version 1.0.0 - Copyright c Lionel Fontan 2012

EloKanz. Manuel d utilisation. Version 1.0.0 - Copyright c Lionel Fontan 2012 EloKanz Version 1.0.0 - Copyright c Lionel Fontan 2012 Manuel d utilisation 1 Enregistrer un patient 2 1.1 Sélectionner l entrée micro........................... 2 1.2 Avant l enregistrement.............................

Plus en détail

I. Introduction. II. But de l'exercice

I. Introduction. II. But de l'exercice Projet M2 LSE SEE : Communication espace noyau / espace utilisateur Table des matières I.Introduction...1 II.But de l'exercice...2 III.Écriture du module...3 A.Squelette du module...3 B.Gestion de l'entrée

Plus en détail

Manipulation # 02.1 : Réaliser un Mini Traitement de Texte

Manipulation # 02.1 : Réaliser un Mini Traitement de Texte Manipulation # 02.1 : Réaliser un Mini Traitement de Texte Objectifs : A travers cette manipulation, vous allez apprendre à mettre en œuvre quelques fonctionnalités relatives au traitement de texte. Vous

Plus en détail

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente TP Systèmes n 1 Programmation concurrente Titre Simulation du comportement de processus producteurs et de processus consommateurs avec tampon intermédiaire borné. Organisation Binôme Durée de réalisation

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

M A N U E L U T I L I S A T E U R

M A N U E L U T I L I S A T E U R Boulais Jérémie Fèvre Jean-Charles Mai 2007 Université de Nantes TP de synthèse d images M A N U E L U T I L I S A T E U R Manuel utilisateur - Page 1 sur 8 Sommaire Téléchargement de POV RAY... 3 Installation

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

Mettre à jour son SPIP

Mettre à jour son SPIP Mettre à jour son SPIP http://xavierlec2.free.fr Mai 2004 par Xavier Lecocq SOMMAIRE Préambule... 3 1) Solution 1 : Utilisation de SPIP_loader... 4 2) Solution 2 : Ecraser les anciens fichiers.... 4 2.1)

Plus en détail

Cours/TD n 3 : les boucles

Cours/TD n 3 : les boucles Cours/TD n 3 : les boucles Où on se rendra compte qu il est normal de rien comprendre Pour l instant, on a vu beaucoup de choses. Les variables, les Si Alors Sinon, les tests avec les ET, les OU et les

Plus en détail

DjaSoft Stocks & Commercial Advanced edition Guide de paramétrage. http://www.djasoft.com

DjaSoft Stocks & Commercial Advanced edition Guide de paramétrage. http://www.djasoft.com Version 5 Etape de Bienvenue Une fois l installation du logiciel terminer, vous devez le configurer pour l adapter à votre environnement de travail. Pour cela, le logiciel vous aidera à faire cette configuration

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

Plus en détail

LES FRACTIONS Séance 1/9

LES FRACTIONS Séance 1/9 LES FRACTIONS Séance 1/9 DOMAINE : Mathématiques (Nombres et calcul) NIVEAU : CM1 DURÉE : 45 minutes COMPÉTENCES : Nommer les fractions simples et décimales en utilisant le vocabulaire : demi, tiers, quart,

Plus en détail

Génie Logiciel Industriel - Travaux pratiques

Génie Logiciel Industriel - Travaux pratiques - Travaux pratiques TP1 : Recherche par dichotomie I. Introduction. L objectif de ce TP est de mettre en pratique des notions de base du langage C (entrées/sorties, structure de contrôle, fonctions, ).

Plus en détail

Notice de présentation. Edition de photos du Registre Parcellaire Graphique (RPG)

Notice de présentation. Edition de photos du Registre Parcellaire Graphique (RPG) Notice de présentation Edition de photos du Registre Parcellaire Graphique (RPG) Document mis à jour le 02 avril 2013 Table des matières NOTICE DE PRESENTATION... 1 INTRODUCTION... 3 A savoir avant de

Plus en détail

L1 Informatique Université Paris 8-2010-2011 Programmation Impérative I Rim Chaabane rchaabane@ai.univ-paris8.fr - Cours 6 - Les pointeurs

L1 Informatique Université Paris 8-2010-2011 Programmation Impérative I Rim Chaabane rchaabane@ai.univ-paris8.fr - Cours 6 - Les pointeurs Les pointeurs Le langage C permet de manipuler des adresses d objets ou de fonctions par le biais de pointeurs. Pour ce faire on peut désigner des variables dites de type pointeur, destinées à contenir

Plus en détail

1. Lancement du logiciel

1. Lancement du logiciel Utilisation du logiciel Railroad pour les portes ouvertes du RCPP Table des matières 1. Lancement du logiciel...1 2. Légende pour l'utilisation de Railroad... 1 3. Comment commencer... 2 4. Utilisation

Plus en détail

Informations sur la recherche d erreurs dans le questionnaire en ligne «Questionnaire Situation

Informations sur la recherche d erreurs dans le questionnaire en ligne «Questionnaire Situation Informations sur la recherche d erreurs dans le questionnaire en ligne «Questionnaire Situation des revenus» Auteur: Agroscope Dépouillement centralisé des données comptables Version: v3.1_15.12.2015 ;

Plus en détail

Première partie Inscription à la base de données Info-Muse et transfert d un fichier d essai

Première partie Inscription à la base de données Info-Muse et transfert d un fichier d essai GUIDE DE TRANSFERT DE DONNÉES À LA BASE DE DONNÉES INFO-MUSE Première partie Inscription à la base de données Info-Muse et transfert d un fichier d essai Réseau Info-Muse décembre 2002 INSCRIPTION À LA

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

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

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

PAIEMENTS AUTOMATIQUES

PAIEMENTS AUTOMATIQUES PAIEMENTS AUTOMATIQUES Principe de fonctionnement Ce programme vous permet de gérer des échéanciers fournisseurs et d effectuer des paiements automatiques en utilisant les virements à la norme SEPA. IDSOFT

Plus en détail

Teacher Tips. Programme de formation Impero. 2015 Impero Solutions Ltd. Français

Teacher Tips. Programme de formation Impero. 2015 Impero Solutions Ltd. Français Programme de formation Impero Français Sommaire Conseils à l intention des enseignants 3 Restreindre certains utilisateurs 3 Verrouiller l écran, le clavier et la souris 4 Lancer un site Web/programme

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

.. [evb] Créer Programme pas à pas : Générateur de Dés à 6 faces Source : http://www.i900playeraddict.com/i900_forums/viewtopic.php?

.. [evb] Créer Programme pas à pas : Générateur de Dés à 6 faces Source : http://www.i900playeraddict.com/i900_forums/viewtopic.php? par Omnia le 27 Mai 2010, 16:23.. [evb] Créer Programme pas à pas : Générateur de Dés à 6 faces Source : http://www.i900playeraddict.com/i900_forums/viewtopic.php?f=10&t=2151 E. Tests F. Fichier.exe G.

Plus en détail

Les sous-programmes : exercices résolus en C Corrigé

Les sous-programmes : exercices résolus en C Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Exercices résolus en C, Semaine 3 avril mai 2013 Corrigé Objectifs Savoir écrire des sous-programmes ; Comprendre les modes de passage de paramètres ; Faire la

Plus en détail

TP de programmation DSP pour le traitement d'image ISBS2/SP 13 2011-2012

TP de programmation DSP pour le traitement d'image ISBS2/SP 13 2011-2012 TP de programmation DSP pour le traitement d'image ISBS2/SP 13 2011-2012 Introduction 1.1 Objectifs Le TP sur carte EVM6437 s'étend sur une séance de 4 heures. Vous aurez l'occasion durant ces séances

Plus en détail

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : 1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : La procédure d installation démarre. La fenêtre suivante vous indique

Plus en détail

La réservation Standby

La réservation Standby La réservation Standby La réservation Standby pourquoi? L occupation des voitures cambio change continuellement. Pensez aux réservations annulées automatiquement à la fin d un trajet, aux clients qui annulent

Plus en détail

Guide utilisateur INFORMATION PUBLIC EN LIGNE MON GUIDE DES DROITS ET DEMARCHES

Guide utilisateur INFORMATION PUBLIC EN LIGNE MON GUIDE DES DROITS ET DEMARCHES INFORMATION PUBLIC EN LIGNE MON GUIDE DES DROITS ET DEMARCHES Sommaire Mon Guide des Démarches Administratives Préambule... 3 Qu est-ce que «Mon guide des démarches administratives»?... 3 Pré-requis...

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

La programmation modulaire et les fonctions

La programmation modulaire et les fonctions Chapitre 6 La programmation modulaire et les fonctions Comme tous les langages, C permet de découper un programme en plusieurs parties nommées souvent «modules». Cette programmation dite modulaire se justifie

Plus en détail

IUT Nice-Côte d Azur Informatique appliquée 2005 2006. TP N o 4. Tableur : affichage et impression

IUT Nice-Côte d Azur Informatique appliquée 2005 2006. TP N o 4. Tableur : affichage et impression 1 IUT Nice-Côte d Azur TC-Nice 1 re année Informatique appliquée 2005 2006 TP N o 4 Tableur : affichage et impression I Options d affichage Les options concernant l affichage dans les feuilles de calcul

Plus en détail

Scribus. Principes de base.

Scribus. Principes de base. Scribus Principes de base. Scribus est un logiciel de PAO (Publication Assistée par Ordinateur) dont les fonctionnalités sont très étendues et nous permettront de créer un journal quasi professionnel!

Plus en détail

MANUEL D UTILISATION store2actions. Gestion de votre stock en ligne

MANUEL D UTILISATION store2actions. Gestion de votre stock en ligne MANUEL D UTILISATION 2actions Gestion de votre stock en ligne Pour entrer dans l applicatif, vous avez 2 solutions: entrer via la zone clients de notre site www.services2actions.com ou vous rendre directement

Plus en détail

COMPRESSION / DÉCOMPRESSION DE FICHIERS

COMPRESSION / DÉCOMPRESSION DE FICHIERS COMPRESSION / DÉCOMPRESSION DE FICHIERS 1- A quoi ça sert? 2- La compression 3- La décompression 4- Utiliser le logiciel 7-zip 5- Réduire le poids des images 1- A QUOI ÇA SERT? La compression est utilisée

Plus en détail

Manuel d'utilisateur LMS Formateur CET

Manuel d'utilisateur LMS Formateur CET Manuel d'utilisateur LMS Formateur CET Générer des Rapports LMS ELMG 6.0.1 - v1.0 Juillet 2015 1 2 Table des matières Connexion... 4 Connexion au système... 4 L onglet Analyse Vue d ensemble... 5 Créer

Plus en détail

Installation de Windows 8 sur une machine virtuelle avec Parallels Desktop 7

Installation de Windows 8 sur une machine virtuelle avec Parallels Desktop 7 Installation de Windows 8 sur une machine virtuelle avec Parallels Desktop 7 Table des matières Installation de Windows 8 sur une machine virtuelle avec Parallels Desktop 7... 1 I Introduction... 2 II

Plus en détail

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,

Plus en détail

Incohérences au niveau de la modélisation

Incohérences au niveau de la modélisation Incohérences au niveau de la modélisation Software Group Claudio Grolimund: Il importe d identifier et éliminer les incohérences à l échelle des modèles, a souligné le professeur Alexander Egyed dans le

Plus en détail

BMR SUD-EST Réseau Sud-Est de Surveillance et de Prévention des Bactéries Multirésistantes aux Antibiotiques. Guide informatique

BMR SUD-EST Réseau Sud-Est de Surveillance et de Prévention des Bactéries Multirésistantes aux Antibiotiques. Guide informatique Sud-Est BMR SUD-EST Réseau Sud-Est de Surveillance et de Prévention des Bactéries Multirésistantes aux Antibiotiques Guide informatique Avril-juin 2011 CCLIN Sud-Est Hôpital Henry Gabrielle, Villa Alice

Plus en détail