Piles, files et récursivité

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

Download "Piles, files et récursivité"

Transcription

1 Piles, files et récursivité 1 Piles et Files 1.1 Piles Une pile est une structure de données de type LIFO (last in first out) : le dernier entré est le premier sorti. Elles peuvent par exemple être utilisées dans des algorithmes d évaluation d expressions mathématiques. Une pile P est entièrement définie par deux opérations (figure 1) : 1. empiler une valeur : c est l insérer au début de P, 2. dépiler une valeur, si P est non vide, c est sélectionner la première valeur de la pile et la supprimer de P A cela, il faut ajouter une manière de créer une pile vide, et de tester si la pile est vide. La première valeur de P est le sommet de la pile. Figure 1 Définition d une pile 1.2 Files Une file est une structure de données de type FIFO (first in first out) : le premier entré est le premier sorti. Elles peuvent par exemple être utilisées afin de mémoriser des données en attente de 1

2 traitement. Une file F est entièrement définie par deux opérations (figure 2) : 1. entrer une valeur c est l ajouter à la fin de de F, 2. sortir une valeur, si F est non vide, c est sélectionner la première valeur de F et la supprimer de F A cela il faut ajouter une manière de créer une file vide, et de tester si la file est vide. La première valeur de la file F est la tête de la file et la dernière est la queue de la file, Figure 2 Définition d une file 2 Réalisation en Python 2.1 En natif Le type liste intègre déjà toutes les méthodes pour réaliser ces deux structures de données : list.append(x) qui ajoute un élément à la fin de la liste ist.insert(i, x) qui insère un élément à la position indiquée. Le premier argument est la position de l élément courant avant lequel l insertion doit s effectuer, donc a.insert(0, x) insère l élément en tête de la liste, et a.insert(len(a), x) est équivalent à a.append(x). list.remove(x) qui supprime de la liste le premier élément dont la valeur est x. Une exception est levée s il existe aucun élément avec cette valeur. list.pop([i]), qui enlève de la liste l élément situé à la position indiquée, et le retourne. Si aucune position n est indiqué, a.pop() enlève et retourne le dernier élément de la liste Ainsi, pour utiliser une pile, on peut écrire le code 1 m a p i l e = [ 3, 4, 5 ] m a p i l e. append ( 6 ) m a p i l e. append ( 7 ) m a p i l e. pop ( ) m a p i l e. pop ( ) Listing 1 Pile utilisant une liste De même, on peut utiliser les listes pour réaliser une file. Cependant, les listes ne sont pas très efficaces dans ce cas précis ((first in first out) : alors que les ajouts et suppressions en fin de liste sont rapides, les opérations d insertions ou de retraits en début de liste sont lentes (car tous les autres éléments doivent être décalés d une position). Pour implémenter une file, il est plus judicieux d utiliser la classe collections.deque qui a été conçue pour fournir des opérations d ajouts et de retraits rapides aux deux extrémités. Le code 2 donne un aperçu de la création et de l utilisation de la classe. 2

3 from c o l l e c t i o n s import deque queue = deque ( [ " O b j e t 1 ", " O b j e t 2 ", " O b j e t 3 " ] ) queue. append ( " O b j e t 4 " ) queue. append ( " O b j e t 5 " ) queue. p o p l e f t ( ) queue. p o p l e f t ( ) Listing 2 File utilisant la classe collections.deque 2.2 Réalisation d une pile Le code 3 présente une implémentation possible d une pile en Python. c l a s s MaPile ( object ) : def init ( s e l f, m a x p i l e=none ) : s e l f. p i l e = [ ] s e l f. m a x p i l e = m a x p i l e #F o n c t i o n Empile def e m p i l e ( s e l f, element, i d x=none ) : i f ( s e l f. m a x p i l e!=none ) and ( l e n ( s e l f. p i l e )==s e l f. m a x p i l e ) : r a i s e V a l u e E r r o r ( " e r r e u r : P i l e P l e i n e " ) i f i d x==none : i d x=l e n ( s e l f. p i l e ) s e l f. p i l e. i n s e r t ( idx, e l e m e n t ) #F o n c t i o n D e p i l e def d e p i l e ( s e l f, i d x = 1) : i f l e n ( s e l f. p i l e ) ==0: r a i s e V a l u e E r r o r ( " e r r e u r : P i l e V i d e " ) i f idx< l e n ( s e l f. p i l e ) or idx>=l e n ( s e l f. p i l e ) : r a i s e V a l u e E r r o r ( " e r r e u r : l e l e m e n t n e x i s t e p a s " ) return s e l f. p i l e. pop ( i d x ) #L e c t u r e d un é l é m e n t de l a p i l e d i n d i c e donné def e l e m e n t ( s e l f, i d x = 1) : i f idx< l e n ( s e l f. p i l e ) or idx>=l e n ( s e l f. p i l e ) : r a i s e V a l u e E r r o r ( " e r r e u r : e l e m e n t d e p i l e n e x i s t e p a s " ) return s e l f. p i l e [ i d x ] #E x t r a c t i o n d é l é m e n t s e n t r e deux i n d i c e s donnés ( y c o m p r i s c o p i e t o t a l e ) def c o p i e p i l e ( s e l f, imin =0, imax=none ) : i f imax==none : imax=l e n ( s e l f. p i l e ) i f imin <0 or imax>l e n ( s e l f. p i l e ) or imin>=imax : r a i s e V a l u e E r r o r ( " e r r e u r : m a u v a i s i n d i c e ( s ) p o u r l e x t r a c t i o n " ) return l i s t ( s e l f. p i l e [ imin : imax ] ) #t e s t d une p i l e v i d e def p i l e v i d e ( s e l f ) : return l e n ( s e l f. p i l e )==0 #t e s t d une p i l e p l e i n e def p i l e p l e i n e ( s e l f ) : return s e l f. m a x p i l e!=none and l e n ( s e l f. p i l e )==s e l f. m a x p i l e #Retourne l a t a i l l e de l a p i l e def t a i l l e ( s e l f ) : return l e n ( s e l f. p i l e ) ######################################################################## # e x e m p l e s d u t i l i s a t i o n ######################################################################## mapile=mapile ( ) p r i n t m a p i l e. p i l e v i d e ( ) # a f f i c h e True m a p i l e. e m p i l e ( A ) # Empile l e c a r a c t è r e A m a p i l e. e m p i l e ( 5 ) # Empile l e c h i f f r e 5 m a p i l e. e m p i l e ( [ m o t 1, m o t 2, m o t 3 ] ) # Empile d e s mots p r i n t m a p i l e. c o p i e p i l e ( ) # A f f i c h e [ [ mot1, mot2, mot3 ], 5, A ] v a l=m a p i l e. d e p i l e ( ) p r i n t v a l # A f f i c h e A p r i n t m a p i l e. c o p i e p i l e ( ) # A f f i c h e [ [ mot1, mot2, mot3 ], 5 ] p r i n t m a p i l e. t a i l l e ( ) # A f f i c h e 2 p r i n t mapile. element ( ) # A f f i c h e 5 Listing 3 création et manipulation d une pile 3

4 2.3 Réalisation d une file Le code 4 présente une implémentation possible d une file en Python. c l a s s MaFile ( object ) : def init ( s e l f, m a x f i l e=none ) : s e l f. f i l e = [ ] s e l f. m a x f i l e = m a x f i l e #I n s e r t i o n d un é l é m e n t def e n t r e r ( s e l f, element, i d x =0) : i f ( s e l f. m a x f i l e!=none ) and ( l e n ( s e l f. f i l e )==s e l f. m a x f i l e ) : r a i s e V a l u e E r r o r ( " e r r e u r : F i l e p l e i n e " ) s e l f. f i l e. i n s e r t ( idx, e l e m e n t ) #S o r t i e d un élément def s o r t i r ( s e l f, i d x = 1) : i f l e n ( s e l f. f i l e ) ==0: r a i s e V a l u e E r r o r ( " e r r e u r : F I l e v i d e " ) i f idx< l e n ( s e l f. f i l e ) or idx>=l e n ( s e l f. f i l e ) : r a i s e V a l u e E r r o r ( " e r r e u r : e l e m e n t d e p i l e a d e p i l e r n e x i s t e p a s " ) return s e l f. f i l e. pop ( i d x ) #L e c t u r e d un é l é m e n t de l a f i l e d i n d i c e donné def e l e m e n t ( s e l f, i d x = 1) : i f idx< l e n ( s e l f. f i l e ) or idx>=l e n ( s e l f. f i l e ) : r a i s e V a l u e E r r o r ( " e r r e u r : l e l e m e n t n e x i s t e p a s " ) return s e l f. f i l e [ i d x ] #E x t r a c t i o n d é l é m e n t s e n t r e deux i n d i c e s donnés ( y c o m p r i s c o p i e t o t a l e ) def c o p i e f i l e ( s e l f, imin =0, imax=none ) : i f imax==none : imax=l e n ( s e l f. f i l e ) i f imin <0 or imax>l e n ( s e l f. f i l e ) or imin>=imax : r a i s e V a l u e E r r o r ( " e r r e u r : m a u v a i s i n d i c e p o u r l e x t r a c t i o n " ) return l i s t ( s e l f. f i l e [ imin : imax ] ) #t e s t d une f i l e v i d e def f i l e v i d e ( s e l f ) : return l e n ( s e l f. f i l e )==0 #t e s t d une f i l e p l e i n e def f i l e p l e i n e ( s e l f ) : return s e l f. m a x f i l e!=none and l e n ( s e l f. f i l e )==s e l f. m a x f i l e #Retourne l a t a i l l e de l a f i l e def t a i l l e ( s e l f ) : return l e n ( s e l f. f i l e ) ######################################################################## # e x e m p l e s d u t i l i s a t i o n ########################################################################m a f i l e=mafile ( ) p r i n t m a f i l e. f i l e v i d e ( ) # a f f i c h e True m a f i l e. e n t r e r ( A ) #f a i t e n t r e r l e c a r a c t è r e A m a f i l e. e n t r e r ( 5 ) #f a i t e n t r e r l e c h i f f r e 5 m a f i l e. e n t r e r ( [ m o t 1, m o t 2, m o t 3 ] ) # Empile d e s mots p r i n t m a f i l e. c o p i e f i l e ( ) # A f f i c h e [ [ mot1, mot2, mot3 ], 5, A ] z=m a f i l e. s o r t i r ( ) p r i n t z # A f f i c h e A p r i n t m a f i l e. c o p i e p i l e ( ) # A f f i c h e [ [ mot1, mot2, mot3 ], 5 ] p r i n t m a f i l e. t a i l l e ( ) # A f f i c h e 2 p r i n t m a f i l e. element ( ) # A f f i c h e 5 Listing 4 création et manipulation d une file 3 Récursivité Un algorithme de résolution d un problème P sur une donnée a est dit récursif si parmi les opérations utilisées pour le résoudre, on trouve une résolution du même problème P sur une donnée b. Dans un algorithme récursif, on nomme appel récursif toute étape de l algorithme résolvant le même problème sur une autre donnée Pour définir un algorithme récursif, il faut se doter de deux outils : 1. une expression où un appel de la fonction est réalisé à l intérieur de la fonction elle même 4

5 2. une condition d arrêt, permettant aux appels successifs de stopper. 3.1 Premier exemple : calcul de la factorielle Le code 5 présente un exemple introductif classique de la récursivité, à savoir le calcul de la factorielle d un entier. Puisque n! = n(n 1)! et puisque 1! = 1, nous disposons des deux outils précédemment cités pour construire de manière récursive cette fonction. Dans ce code, les deux impressions intermédiaires des résultats permettent de comprendre comment la récursivité fonctionne (figure 3) : la fonction s appelle elle même, avec des n décroissants, jusqu à ce que n arrive à la condition d arrêt, puis les résultats sont dépilés jusqu à arriver au dernier appel. def f a c t o r i e l l e ( n ) : p r int ( " A p p e l d e f a c t o r i e l d e " + s t r ( n ) ) i f n == 1 : return 1 e l s e : r e s = n f a c t o r i e l l e ( n 1) print ( " r e s u l t a t i n t e r m e d i a i r e p o u r ", n, " * f a c t o r i e l l e ( ", n 1, " ) : ", r e s ) return r e s p r i n t ( f a c t o r i e l l e ( 5 ) ) Listing 5 Calcul récursif de la factorielle Figure 3 Trace de l execution du code Deuxième exemple : la suite de Fibonacci La suite de Fibonacci est donnée par la relation de récurrence F n = F n 1 + F n 2 avec F 0 = 0, F 1 = 1. Cette relation de récurrence est immédiatement transposable en une fonction récursive Python, donnée dans le code 6. 5

6 def f i b ( n ) : i f n == 0 : return 0 e l i f n == 1 : return 1 e l s e : return f i b ( n 1) + f i b ( n 2) Listing 6 Calcul récursif des termes de la suite de Fibonacci 3.3 Types de récursivité Il existe plusieurs types de récursivité : récursivité simple : un algorithme récursif est simple ou linéaire si chaque cas se résout en au plus un appel récursif. Le calcul de la factorielle en est un exemple récursivité multiple : un algorithme récursif est multiple si l un des cas qu il distingue se résout avec plusieurs appels récursifs. Si "plusieurs=2" on parle de récursivité binaire. Les tours de Hanoï est un problème qui se résout en récursivité binaire. récursivité croisée : deux algorithmes sont mutuellement récursifs si l un fait appel à l autre et l autre fait appel à l un. On parle aussi de récursivité croisée. récursivité terminale : un algorithme est récursif terminal si l appel récursif est la dernière instruction de la fonction. La valeur retournée est directement obtenue par un appel récursif récursivité imbriquée : Un algorithme est récursif imbriqué si l appel récursif contient lui aussi un appel récursif. La fonction d Akermann en est un exemple : n + 1 si m = 0 A(m, n) = A(m 1, 1) si m > 0 et n = 0 A(m 1, A(m, n 1)) si m > 0 et n > Récursivité et temps de calcul Reprenons le second exemple : il est également facile de réaliser la version itérative du calcul des termes de la suite, comme démontré dans le code 7 def f i b o n a c c i _ I t e r a t i f ( n ) : a, b = 0, 1 f o r i in r a n g e ( n ) : a, b = b, a + b return a Listing 7 Calcul itératif des termes de la suite de Fibonacci En comparant les temps de calcul des fonctions fibonacci_recursif et fibonacci_iteratif, on se rend compte (figure 4) que la version itérative est bien plus rapide que la version récursive. Par exemple, la version itérative calcule le quarantième terme en millisecondes, alors que la version récursive est 13 millions de fois plus lente.. L analyse de l algorithme récursif fait apparaître que de nombreux appels apparaissent plusieurs fois (figure 5), et que les calculs s effectuent donc inutilement plusieurs fois (par exemple le sousarbre f(2) apparaît 3 fois). Il est alors intéressant de pouvoir mémoriser les valeurs calculées pour réduire d autant le temps de calcul. (code 8. Dans ce cas, la version récursive devient plus rapide, d autant plus que n est grand (figure 6) 6

7 Figure 4 Temps de calculs itératif et récursif pour la suite de Fibonacci d i c o = { 0 : 0, 1 : 1 } def fibm ( n ) : i f not n in d i c o : d i c o [ n ] = fibm ( n 1) + fibm ( n 2) return d i c o [ n ] Listing 8 Calcul récursif des termes de la suite de Fibonacci - calcul avec mémoire Plus généralement, la récursivité peut être extrêmement longue (il n est pas toujours possible de trouver des solutions comme précédemment). Il faut donc être très prudent quant à son application. Néanmoins, la récursivité est un moyen naturel de résolution de certains problèmes. Tout algorithme peut s exprimer de manière récursive mais il ne faut pas se lancer tête baissée dans l écriture d une fonction/procédure récursive. 7

8 Figure 5 Arbre des appels récursifs Figure 6 Temps de calculs itératif et récursif pour la suite de Fibonacci - version avec mémoire 8

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en dé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

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct... Université Bordeaux 1 table des matières Licence Semestre 3 - Algorithmes et structures de données 1 Dernière mise à jour effectuée le 23 Octobre 2013 Piles et Files Déitions Primitives de piles, exemples

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

PROJET ALGORITHMIQUE ET PROGRAMMATION II

PROJET ALGORITHMIQUE ET PROGRAMMATION II PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du

Plus en détail

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques : MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE

Plus en détail

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction Antécédents d un nombre par une fonction 1) Par lecture graphique Méthode / Explications : Pour déterminer le ou les antécédents d un nombre a donné, on trace la droite (d) d équation. On lit les abscisses

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Feuille TD n 1 Exercices d algorithmique éléments de correction

Feuille TD n 1 Exercices d algorithmique éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments

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

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Cours de Programmation Impérative: Zones de mémoires et pointeurs Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Structure d un programme

Structure d un programme Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé

Plus en détail

Cours 7 : Utilisation de modules sous python

Cours 7 : Utilisation de modules sous python Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est

Plus en détail

Algorithmique et structures de données I

Algorithmique et structures de données I Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence

Plus en détail

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF OLYMPIADES ACADEMIQUES DE MATHEMATIQUES 15 mars 2006 CLASSE DE PREMIERE ES, GMF Durée : 4 heures Les quatre exercices sont indépendants Les calculatrices sont autorisées L énoncé comporte trois pages Exercice

Plus en détail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

1 Lecture de fichiers

1 Lecture de fichiers Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Objet du document. Version document : 1.00

Objet du document. Version document : 1.00 Version document : 1.00 Objet du document Les dix points de cet article constituent les règles à connaitre pour intégrer une application au sein d AppliDis. Le site des Experts Systancia comporte également

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

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr Initiation à Excel Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Plan de cette année

Plus en détail

LES REPRESENTATIONS DES NOMBRES

LES REPRESENTATIONS DES NOMBRES LES CARTES A POINTS POUR VOIR LES NOMBRES INTRODUCTION On ne concevrait pas en maternelle une manipulation des nombres sans représentation spatiale. L enfant manipule des collections qu il va comparer,

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

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

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

MapReduce. Nicolas Dugué nicolas.dugue@univ-orleans.fr. M2 MIAGE Systèmes d information répartis

MapReduce. Nicolas Dugué nicolas.dugue@univ-orleans.fr. M2 MIAGE Systèmes d information répartis MapReduce Nicolas Dugué nicolas.dugue@univ-orleans.fr M2 MIAGE Systèmes d information répartis Plan 1 Introduction Big Data 2 MapReduce et ses implémentations 3 MapReduce pour fouiller des tweets 4 MapReduce

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Exercices INF5171 : série #3 (Automne 2012)

Exercices INF5171 : série #3 (Automne 2012) Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre

Plus en détail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut

Plus en détail

Flux de données Lecture/Ecriture Fichiers

Flux de données Lecture/Ecriture Fichiers Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Differential Synchronization

Differential Synchronization Differential Synchronization Neil Fraser Google 2009 BENA Pierrick CLEMENT Lucien DIARRA Thiemoko 2 Plan Introduction Stratégies de synchronisation Synchronisation différentielle Vue d ensemble Dual Shadow

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1 Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites

Plus en détail

Console IAP Manuel d utilisation

Console IAP Manuel d utilisation Console IAP Manuel d utilisation Préface Cette application fut un projet lancé à l initiative du service IAP (Industrialisation Automatisation et Projet) de l entreprise SEA TPI, composé de développeurs

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Gestion de gros fichiers binaires (images) en APL*PLUS III

Gestion de gros fichiers binaires (images) en APL*PLUS III Gestion de gros fichiers binaires (images) en APL*PLUS III par Gérard A. Langlet Lun des nombreux problèmes que nous avons rencontrés en APL concerne l impression d images, constituées en fait de grosses

Plus en détail

LA BATTERIE DU PORTABLE

LA BATTERIE DU PORTABLE LA BATTERIE DU PORTABLE Table des matières Fiche professeur... 2 Fiche élève... 4 Narration de séance et productions d élèves... 5 1 Fiche professeur LA BATTERIE DU PORTABLE Niveaux et objectifs pédagogiques

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif : IN SYSTEM Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL V16 Objectif : En synthèse des manuels de référence de Sage Ligne 100, ce document vous présente les préconisations,

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs) (d après une idée du collège des Portes du Midi de Maurs) Table des matières Fiche professeur... 2 Fiche élève... 5 1 Fiche professeur Niveaux et objectifs pédagogiques 5 e : introduction ou utilisation

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Exécutif temps réel Pierre-Yves Duval (cppm)

Exécutif temps réel Pierre-Yves Duval (cppm) Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

CH.6 Propriétés des langages non contextuels

CH.6 Propriétés des langages non contextuels CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le

Plus en détail

Correction du baccalauréat S Liban juin 2007

Correction du baccalauréat S Liban juin 2007 Correction du baccalauréat S Liban juin 07 Exercice. a. Signe de lnx lnx) : on fait un tableau de signes : x 0 e + ln x 0 + + lnx + + 0 lnx lnx) 0 + 0 b. On afx) gx) lnx lnx) lnx lnx). On déduit du tableau

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

CHAPITRE 4 LA VALORISATION DES STOCKS COURS DE COMPTABILITE ANALYTIQUE SEMESTRE 2 DUT TC

CHAPITRE 4 LA VALORISATION DES STOCKS COURS DE COMPTABILITE ANALYTIQUE SEMESTRE 2 DUT TC COURS DE COMPTABILITE ANALYTIQUE SEMESTRE 2 DUT TC CHAPITRE 4 LA VALORISATION DES STOCKS CORINNE ZAMBOTTO - COURS DE COMPTABILITE ANALYTIQUE IUT SENART-FONTAINEBLEAU 1 I. LA PLACE DES STOCKS DANS LE CYCLE

Plus en détail

Les nombres entiers. Durée suggérée: 3 semaines

Les nombres entiers. Durée suggérée: 3 semaines Les nombres entiers Durée suggérée: 3 semaines Aperçu du module Orientation et contexte Pourquoi est-ce important? Dans le présent module, les élèves multiplieront et diviseront des nombres entiers concrètement,

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

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b I Définition d une fonction affine Faire l activité 1 «une nouvelle fonction» 1. définition générale a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe

Plus en détail

TP : Gestion d une image au format PGM

TP : Gestion d une image au format PGM TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

GESTION DE STOCKS AVEC CIEL GESTION COMMERCIALE

GESTION DE STOCKS AVEC CIEL GESTION COMMERCIALE GESTION DE STOCKS AVEC CIEL GESTION COMMERCIALE La gestion de stocks est complexe. Deux questions illustrent cette complexité : Première question : en supposant que le stock d un article comprenne 2 unités

Plus en détail