Informatique CPP 1A CM6 : Tri simple, introduction à la récursivité

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

Download "Informatique CPP 1A CM6 : Tri simple, introduction à la récursivité"

Transcription

1 Informatique CPP 1A CM6 : Tri simple, introduction à la récursivité Matthieu Moy et Frédéric Devernay CPP, Grenoble INP mars - mai 2017 Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 1 / 29 >

2 Sommaire 1 Algorithmes de tri simple 2 Récursivité : forme générale, factorielle, puissance, puissance rapide ( 5.3) 3 Tri par sélection sur place (bonus) 4 Pour la prochaine fois Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 2 / 29 >

3 Sommaire 1 Algorithmes de tri simple 2 Récursivité : forme générale, factorielle, puissance, puissance rapide ( 5.3) 3 Tri par sélection sur place (bonus) 4 Pour la prochaine fois Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 3 / 29 >

4 Comment trier? Comment trier par ordre alphabétique une centaine de copies d examen? Comment trier une main de cartes au tarot? Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 4 / 29 >

5 Tri simple Tri par insertion : on prend le premier élément de la pile non triée on le met à sa place dans la pile triée jusqu à ce que la pile non triée soit vide Tri par sélection : on prend le plus petit (ou le plus grand) élément de la pile non triée on le met au-dessus de la pile triée jusqu à ce que la pile non triée soit vide Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 5 / 29 >

6 Tri simple Tri par insertion : on prend le premier élément de la liste non triée... facile on le met à sa place dans la liste triée... trouver la bonne place boucle jusqu à ce que la liste non triée soit vide... boucle principale D autres idées d algos de tri? Tri par sélection : on prend le plus petit (ou le plus grand) élément de la liste non triée... trouver où il se trouve, le supprimer boucle on le met au-dessus de la liste triée... facile jusqu à ce que la liste non triée soit vide... boucle principale Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 6 / 29 >

7 Tri simple Tri par insertion : Tri par sélection : Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 7 / 29 >

8 Tri par insertion sur place 13.1 On met la liste non triée et la liste triée dans une unique liste, dont la taille ne change pas À l itération principale i, le tableau a est constitué de deux parties : les éléments non triés à la fin du tableau (de l index i à l index n 1) les éléments triés au début du tableau (de l index 0 à l index i 1) Itération principale : insérer l élément v = a[i] à sa place dans la partie du tableau déjà triée a[0...i-1] On note qu on commence en i = 1 : le premier élément a[0], pris seul, est déjà un tableau trié. Par exemple, en partant d un tableau non trié a = [5, 2, 3, 1, 4] : La partie triée est constituée du premier élément, a = [5, 2, 3, 1, 4] On insère 2 dans a[0..0] a = [2, 5, 3, 1, 4] On insère 3 dans a[0..1] a = [2, 3, 5, 1, 4] On insère 1 dans a[0..2] a = [1, 2, 3, 5, 4] On insère 4 dans a[0..3] a = [1, 2, 3, 4, 5] Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 8 / 29 >

9 Tri par insertion sur place Au début de chaque itération, on a (invariant de boucle) : Partie triée a[i] Partie non-triée j i i + 1 La fonction ressemblera donc à (on commence en i = 1) : def tri_insertion ( a): for i in range (1, len (a )): # invariant : les élé ments 0 à i -1 du tableau sont tri és # it é ration : ins é rer l' élé ment i à sa place ( indice j) Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 9 / 29 >

10 Tri par insertion sur place : itération Pour insérer l élément i à sa place, il faut le comparer avec le précédent, et tant qu il est inférieur au précédent (tri croissant) il faut l échanger avec le précédent. Mais il n est pas nécessaire d échanger. Il suffit de décaler l élément vers la droite et de conserver la valeur à insérer, puis de la mettre à sa place finale une fois tous les éléments décalés. # ité ration : ins é rer l' élé ment i à sa place v = a[i] # la valeur à ins é rer j = i while 0 < j and v < a[j -1]: # dé caler l' élé ment a[j -1] en j a[j] = a[j -1] j = j -1 # j contient l' index o ù mettre v a[j] = v démo : tri_insertion.py Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 10 / 29 >

11 Tri par insertion sur place : coût l opération coûteuse est l insertion d un élément à sa place, qui se fait en moyenne avec i/2 comparaisons et affectations, donc au total et en moyenne : C(n) = n 1 i=1 i 2 = 1 n 1 2 i=1 i = 1 (n 1)n = n2 1 4 n Le terme dominant de C quand n est grand est en n 2 : C(n) O(n 2 ). On parle de complexité quadratique. Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 11 / 29 >

12 Tri par insertion sur place : questions 1 Quelle est la complexité dans le pire des cas? A quelle configuration de tableau correspond-elle? 2 Quelle est la complexité dans le meilleur des cas? 3 Ce tri fonctionne-t-il avec autre chose que des listes d entiers? Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 12 / 29 >

13 Tri par insertion sur place : réponses 1 n 2 /2 comparaisons et affectations. tableau trié à l envers. 2 n comparaisons et affectations seulement - tableau trié 3 Oui, avec toute liste de types qu on peut affecter et comparer. On verra au cours suivant un algorithme bien plus efficace pour le tri de grands tableaux, le tri fusion. Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 13 / 29 >

14 Sommaire 1 Algorithmes de tri simple 2 Récursivité : forme générale, factorielle, puissance, puissance rapide ( 5.3) 3 Tri par sélection sur place (bonus) 4 Pour la prochaine fois Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 14 / 29 >

15 Fonction récursive La conception d une fonction récursive est assez proche de la démonstration par récurrence en mathématiques : Au rang 0, le résultat de la fonction est trivial Le résultat au rang n est obtenu à partir du résultat au rang n 1 def f(n): if n == 0: return... else : return... f(n -1)... Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 15 / 29 >

16 Exemple Version récursive de la factorielle : def factorielle (n): assert n >= 0 if n == 0 or n == 1: return 1 else : return n * factorielle ( n - 1) Demo avec PythonTutor Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 16 / 29 >

17 Arguments La fonction récursive peut avoir plusieurs arguments : def puissance (x, n): if n == 0: return 1 elif n == 1: return x else : return x * puissance ( x, n - 1) Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 17 / 29 >

18 Puissance rapide Mais faut-il vraiment 7 multiplications pour calculer x 8? Non, 3 suffisent : x2 = x * x x4 = x2 * x2 x8 = x4 * x4 Comment exploiter cette optimisation pour calculer de manière rapide puissance(x,n)? On remarque : Pour n = 2k (pair), x n = x 2k = (x k ) 2 Pour n = 2k + 1 (impair), x n = x 2k+1 = x(x k ) 2 Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 18 / 29 >

19 Puissance rapide : implémentation Rappels : pour tester si n est pair, if n % 2 == 0: division euclidienne, k = n // 2 Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 19 / 29 >

20 Puissance rapide : implémentation Rappels : pour tester si n est pair, if n % 2 == 0: division euclidienne, k = n // 2 def puissance_rapide (x, n): assert n >= 0 if n == 0: return 1 elif n == 1: return x else : r = puissance_ rapide ( x, n // 2) if n % 2 == 0: return r * r else : return x * r * r Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 19 / 29 >

21 Puissance rapide : implémentation Rappels : pour tester si n est pair, if n % 2 == 0: division euclidienne, k = n // 2 def puissance_rapide (x, n): assert n >= 0 if n == 0: return 1 elif n == 1: return x else : r = puissance_ rapide ( x, n // 2) if n % 2 == 0: return r * r else : return x * r * r Ici encore, n est strictement décroissant et positif à chaque appel récursif : c est une condition suffisante pour montrer la terminaison. Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 19 / 29 >

22 Puissance rapide : complexité Meilleur cas : n = 2 k, k appels imbriqués, 1 multiplication par appel, au total C(n) = log 2 (n). Pire cas : n = 2 k 1, k 1 appels imbriqués, 2 multiplications par appel, au total C(n) = 2(log 2 (n + 1) 1). Que ce soit dans le meilleur cas ou dans le pire cas, la complexité est toujours logarithmique, donc en moyenne aussi. Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 20 / 29 >

23 Sommaire 1 Algorithmes de tri simple 2 Récursivité : forme générale, factorielle, puissance, puissance rapide ( 5.3) 3 Tri par sélection sur place (bonus) 4 Pour la prochaine fois Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 21 / 29 >

24 Tri par sélection sur place On met la liste non triée et la liste triée dans une unique liste, dont la taille ne change pas À l itération principale i, le tableau a est constitué de deux parties : les éléments non triés à la fin du tableau (de l index i à l index n 1) les éléments triés à leur place définitive au début (de l index 0 à i 1) Itération principale : selectionner le plus petit élément v = a[j] de la partie non triée, décaler vers la droite les éléments de j 1 à i (si j 1 i), mettre l élément v à la position i Par exemple, en partant d un tableau non trié a = [5, 2, 3, 1, 4] : On sélectionne a[3] = 1, et on le place à l index 0. a = [1, 5, 2, 3, 4] On sélectionne a[2] = 2, et on le place à l index 1. a = [1, 2, 5, 3, 4] On sélectionne a[3] = 3, et on le place à l index 2. a = [1, 2, 3, 5, 4] On sélectionne a[4] = 4, et on le place à l index 3. a = [1, 2, 3, 4, 5] Le dernier élément est forcément à sa place. a = [1, 2, 3, 4, 5] Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 22 / 29 >

25 Tri par sélection sur place Au début de chaque itération, on a (invariant de boucle) : Partie triée ( X) X Partie non-triée ( X) La fonction ressemblera donc à (dernière itération, i=len[a]-2) : def i tri_selection ( a): for i in range (0, len (a ) -1): # invariant : # les élé ments 0 à i -1 du tableau sont tri és et à leur place # it é ration : # - chercher l' index j du plus petit élé ment de # la partie non tri ée et sa valeur v # - dé caler vers la droite les élé ments j -1 à i # ( parcours dé croissant ) # - mettre v à la position i j Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 23 / 29 >

26 Tri par sélection sur place : itération On a donc deux boucles, une pour trouver la position du min, l autre pour décaler. # - chercher l' index j du plus petit é l é ment de # la partie non tri é e et sa valeur v v = a[i] j = i for k in range (i+1, len (a )): if a[k] < v: v = a[k] j = k # - dé caler vers la droite les élé ments j -1 à i # ( parcours dé croissant ) for k in range (j -1, i -1, -1): a[k +1] = a[k] # - mettre v à la position i a[i] = v démo Moy :& tri_selecion.py Devernay (CPP) Informatique CPP mars - mai 2017 < 24 / 29 >

27 Tri par selection sur place : coût les opérations coûteuses sont la recherche du minimum (n i comparaisons) et le décalage des éléments (en moyenne n i 2 affectations), donc au total et en moyenne : n 1 n C(n) = n i = k = i=0 k=1 (n 1)n 2 = 1 2 n2 1 2 n Le terme dominant de C quand n est grand est en n 2 : C(n) O(n 2 ). On parle de complexité quadratique. Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 25 / 29 >

28 Tri par sélection sur place : questions 1 Quelle est la complexité dans le pire des cas? A quelle configuration de tableau correspond-elle? 2 Quelle est la complexité dans le meilleur des cas? 3 Ce tri fonctionne-t-il avec autre chose que des listes d entiers? Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 26 / 29 >

29 Tri par sélection sur place : réponses 1 La recherche du minimum oblige à toujours parcourir le tableau non trié, donc la complexité est en O(n 2 ) dans tous les cas. 2 Il y a moins d affectations si le tableau est déjà trié (zéro itérations dans la deuxième boucle), mais le terme dominant reste la première boucle. 3 Oui, avec toute liste de types qu on peut affecter et comparer. On verra au cours suivant un algorithme bien plus efficace pour le tri de grands tableaux, le tri fusion. Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 27 / 29 >

30 Sommaire 1 Algorithmes de tri simple 2 Récursivité : forme générale, factorielle, puissance, puissance rapide ( 5.3) 3 Tri par sélection sur place (bonus) 4 Pour la prochaine fois Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 28 / 29 >

31 Pour la prochaine fois Tri par insertion : lire 13.1 du livre Récursivité : lire introduction du 5.3, s arrêter avant Attention, il y a des compléments non vus en cours et au programme de l examen. Faire le QCM 6 sur Chamilo. Moy & Devernay (CPP) Informatique CPP mars - mai 2017 < 29 / 29 >

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

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

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

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

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

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

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

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

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

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

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

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

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

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

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

Quelques algorithmes simples dont l analyse n est pas si simple Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire

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

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

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Cryptographie. Cours 3/8 - Chiffrement asymétrique Cryptographie Cours 3/8 - Chiffrement asymétrique Plan du cours Différents types de cryptographie Cryptographie à clé publique Motivation Applications, caractéristiques Exemples: ElGamal, RSA Faiblesses,

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

Nouveautés CRM 2015 & Migration. By Tanguy Touzard MVP CRM

Nouveautés CRM 2015 & Migration. By Tanguy Touzard MVP CRM Nouveautés CRM 2015 & Migration By Tanguy Touzard MVP CRM Nouvelles fonctionnalités Sécurité Recherche Hiérarchies Champs calculés/agrégés Règles métier Processus métier Catalogue produit SLA Information

Plus en détail

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

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

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

4. Les structures de données statiques

4. Les structures de données statiques 4. Les structures de données statiques 4.1 Tableaux à une dimension 4.1.1 Introduction Imaginons que dans un programme, nous ayons besoin simultanément de 25 valeurs (par exemple, des notes pour calculer

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

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

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

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

Examen Médian - 1 heure 30

Examen Médian - 1 heure 30 NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une

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

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

Plus en détail

L ALGORITHMIQUE. Algorithme

L ALGORITHMIQUE. Algorithme L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques

Plus en détail

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo7. 1.1. Hello world!

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo7. 1.1. Hello world! Exo7 Algorithmes et mathématiques Vidéo partie 1. Premiers pas avec Python Vidéo partie 2. Ecriture des entiers Vidéo partie 3. Calculs de sinus, cosinus, tangente Vidéo partie 4. Les réels Vidéo partie

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

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

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

Par combien de zéros se termine N!?

Par combien de zéros se termine N!? La recherche à l'école page 79 Par combien de zéros se termine N!? par d es co llèg es An dré Do ucet de Nanterre et Victor Hugo de Noisy le Grand en seignants : Danielle Buteau, Martine Brunstein, Marie-Christine

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

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

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

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel) Algorithmes et Programmes Introduction à l informatiquel! Vie d'un programme! Algorithme! Programmation : le langage! Exécution et test des programmes Chapitre : Algorithmes et Programmes 2 Cycle de vie

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

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

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

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

Plus en détail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

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

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

La boucle for La boucle while L utilisation du if else. while (condition) { instruction(s) }

La boucle for La boucle while L utilisation du if else. while (condition) { instruction(s) } VI Initiation à la programmation sous Comme nous l avons constaté tout au long du document, offre de nombreuses fonctionnalités En tant que nouvelles utilisateurs de il vous est désormais PRESQUE possible

Plus en détail

Algorithmique & programmation

Algorithmique & programmation Algorithmique & programmation Type structuré Article, Enregistrement, Structure Définition de nouveaux types!! On a vu les types simples "! entier, booléen, caractère, chaîne de caractères!! Comment gérer

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

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

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I Calcul Formel et Numérique N.Vandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

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

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

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4 1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur

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

Programmation avec Xcas ou Python

Programmation avec Xcas ou Python Programmation avec Xcas ou Python G. Aldon - J. Germoni - J.-M. Mény IREM de Lyon Mars 2012 GA, JG, JMM (IREM de Lyon) programmer xcas python Mars 2012 1 / 20 Éditeur Xcas Environnement Le texte d un programme

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

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

a)390 + 520 + 150 b)702 + 159 +100

a)390 + 520 + 150 b)702 + 159 +100 Ex 1 : Calcule un ordre de grandeur du résultat et indique s il sera supérieur à 1 000 L addition est une opération qui permet de calculer la somme de plusieurs nombres. On peut changer l ordre de ses

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

INF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini

INF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1// Massih-Reza Amini Université Joseph Fourier Laboratoire d Informatique de Grenoble 2/52 Introduction Structures de contrôle

Plus en détail

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1 Cryptographie RSA Introduction Opérations Attaques Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1 Introduction Historique: Rivest Shamir Adleman ou RSA est un algorithme asymétrique de cryptographie à clé

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

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

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

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

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

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

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

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Propagation sur réseau statique et dynamique

Propagation sur réseau statique et dynamique Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.

Plus en détail

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Sub CalculAnnuite() Const TITRE As String = Calcul d'annuité de remboursement d'un emprunt TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

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

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur www.matthieuamiguet.

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur www.matthieuamiguet. : Espoirs et menaces Matthieu Amiguet 2005 2006 Objectifs 2 Obtenir une compréhension de base des principes régissant le calcul quantique et la cryptographie quantique Comprendre les implications sur la

Plus en détail

Assurance Qualité. Cours de génie logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 23/04/2007

Assurance Qualité. Cours de génie logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 23/04/2007 1 Cours de génie logiciel (d'après A.-M. Hugues) Assurance Qualité Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 23/04/2007 2 Les deux facettes de la qualité Conformité avec la définition

Plus en détail

Algorithmique et Programmation

Algorithmique et Programmation École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................

Plus en détail