MIS 102 Initiation à l Informatique

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

Download "MIS 102 Initiation à l Informatique"

Transcription

1 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 3h de travail individuel par semaine Web : Supports de cours Textes des TD, TP Annales d examens. 1/136

2 Support de cours Livre ( 10 euros) : Initiation à l Informatique par Robert Strandh et Irène Durand Non autorisé à l Examen Version html en ligne sur le site du cours Transparents 2/136

3 Modalités de contrôle des connaissances Épreuve Durée Coef. DS 1h20 0,25 TP individuel noté 1h20 0,15 Examen 1h30 0,60 3/136

4 Objectif et contenu Objectif : Thème : Contenu : Donner une idée fidèle du contenu des études supérieures en informatique Étude d un objet appelé graphe Théorie des graphes (cours) Algorithmique des graphes (TD) Programmation des algorithmes de graphes (TP) 4/136

5 Il faut activer les comptes Vous avez reçu un compte sur l ensemble des ordinateurs de l université Il faut suivre les instructions pour activer le compte au moins 24 heures (de préférence plus) avant le premier TP. 5/136

6 C est quoi l informatique? dans la vie quotidienne : ordinateur avec logiciels en entreprise : un outil de communication et de production à l université : une discipline scientifique L informatique est similaire aux mathématiques (étude d objets abstraits). L informatique n est pas une science expérimentale. Les objets en mathématiques : nombres, relations, fonction, transformations, etc. Les objets en informatique : algorithmes, programmes, preuves, systèmes de réécriture, images numériques, graphes, etc. 6/136

7 Domaines en informatique fondamentale Exemples de domaines : Algorithmique. Les méthodes les plus efficaces pour traiter un problème donné. Structures de données. La meilleure façon d organiser un ensemble de données dans le but d y accéder rapidement. Complexité. Une façon d exprimer l efficacité d un algorithme, indépendamment d un ordinateur ou d un langage de programmation particulier. 7/136

8 Domaines en informatique fondamentale Exemples de domaines : Algorithmique. Les méthodes les plus efficaces pour traiter un problème donné. Structures de données. La meilleure façon d organiser un ensemble de données dans le but d y accéder rapidement. Complexité. Une façon d exprimer l efficacité d un algorithme, indépendamment d un ordinateur ou d un langage de programmation particulier. 7/136

9 Domaines en informatique fondamentale Exemples de domaines : Algorithmique. Les méthodes les plus efficaces pour traiter un problème donné. Structures de données. La meilleure façon d organiser un ensemble de données dans le but d y accéder rapidement. Complexité. Une façon d exprimer l efficacité d un algorithme, indépendamment d un ordinateur ou d un langage de programmation particulier. 7/136

10 Structures de données Exemple Construire une ville de 15 maisons en évitant aux facteurs qui suivent les rues un trajet trop long depuis la poste. Organisation 1 : linéaire. Numéros croissants. Poste au numéro /136

11 Structures de données Exemple Construire une ville de 15 maisons en évitant aux facteurs qui suivent les rues un trajet trop long depuis la poste. Organisation 1 : linéaire. Numéros croissants. Poste au numéro Organisation 2 : Embranchements. À l ouest de la maison k, numéros < k, et à l est, numéros > k. Poste au numéro /136

12 Complexité Dans les deux organisations, le facteur a une méthode simple pour trouver une maison en partant de la poste. On suppose qu il faut une unité de temps pour passer d une maison à une autre (par une rue). Quel est, dans le cas le pire, le temps mis par le facteur pour aller jusqu à une maison depuis la poste? Nombre de maisons Temps organisation 1 Temps organisation /136

13 Complexité Dans les deux organisations, le facteur a une méthode simple pour trouver une maison en partant de la poste. On suppose qu il faut une unité de temps pour passer d une maison à une autre (par une rue). Quel est, dans le cas le pire, le temps mis par le facteur pour aller jusqu à une maison depuis la poste? Nombre de maisons Temps organisation 1 Temps organisation /136

14 Complexité Dans les deux organisations, le facteur a une méthode simple pour trouver une maison en partant de la poste. On suppose qu il faut une unité de temps pour passer d une maison à une autre (par une rue). Quel est, dans le cas le pire, le temps mis par le facteur pour aller jusqu à une maison depuis la poste? Nombre de maisons Temps organisation 1 Temps organisation /136

15 Complexité Dans les deux organisations, le facteur a une méthode simple pour trouver une maison en partant de la poste. On suppose qu il faut une unité de temps pour passer d une maison à une autre (par une rue). Quel est, dans le cas le pire, le temps mis par le facteur pour aller jusqu à une maison depuis la poste? Nombre de maisons Temps organisation 1 Temps organisation n n 1 log 2 (n) 9/136

16 Domaines de l informatique fondamentale (suite) Exemples de domaines plus théoriques : Théorie des langages. Différentes façons de produire et reconnaître des suites de symboles. Applications : linguistique, recherche de mots dans un texte, étude du génome... Calculabilité. Déterminer pour quels problèmes il est théoriquement possible/impossible d écrire un programme. Logique. La puissance d expression de différents types de logique. 10/136

17 Domaines de l informatique fondamentale (suite) Exemples de domaines plus théoriques : Théorie des langages. Différentes façons de produire et reconnaître des suites de symboles. Applications : linguistique, recherche de mots dans un texte, étude du génome... Calculabilité. Déterminer pour quels problèmes il est théoriquement possible/impossible d écrire un programme. Logique. La puissance d expression de différents types de logique. 10/136

18 Domaines de l informatique fondamentale (suite) Exemples de domaines plus théoriques : Théorie des langages. Différentes façons de produire et reconnaître des suites de symboles. Applications : linguistique, recherche de mots dans un texte, étude du génome... Calculabilité. Déterminer pour quels problèmes il est théoriquement possible/impossible d écrire un programme. Logique. La puissance d expression de différents types de logique. 10/136

19 Domaines de l informatique pratique Exemples de domaines : Programmation. Techniques pour organiser un programme de façon qu il soit facilement modifiable. Génie Logiciel. Méthodes pour organiser le développement d un logiciel de grande taille. Informatique multimédia. Méthodes d analyse, modification et synthèse d images et de sons. Systèmes d exploitation. Techniques pour réaliser un système qui assure intégrité, sécurité et performance. Compilation. Techniques pour traduire un programme en code machine efficace. 11/136

20 Domaines de l informatique pratique Exemples de domaines : Programmation. Techniques pour organiser un programme de façon qu il soit facilement modifiable. Génie Logiciel. Méthodes pour organiser le développement d un logiciel de grande taille. Informatique multimédia. Méthodes d analyse, modification et synthèse d images et de sons. Systèmes d exploitation. Techniques pour réaliser un système qui assure intégrité, sécurité et performance. Compilation. Techniques pour traduire un programme en code machine efficace. 11/136

21 Domaines de l informatique pratique Exemples de domaines : Programmation. Techniques pour organiser un programme de façon qu il soit facilement modifiable. Génie Logiciel. Méthodes pour organiser le développement d un logiciel de grande taille. Informatique multimédia. Méthodes d analyse, modification et synthèse d images et de sons. Systèmes d exploitation. Techniques pour réaliser un système qui assure intégrité, sécurité et performance. Compilation. Techniques pour traduire un programme en code machine efficace. 11/136

22 Domaines de l informatique pratique Exemples de domaines : Programmation. Techniques pour organiser un programme de façon qu il soit facilement modifiable. Génie Logiciel. Méthodes pour organiser le développement d un logiciel de grande taille. Informatique multimédia. Méthodes d analyse, modification et synthèse d images et de sons. Systèmes d exploitation. Techniques pour réaliser un système qui assure intégrité, sécurité et performance. Compilation. Techniques pour traduire un programme en code machine efficace. 11/136

23 Domaines de l informatique pratique Exemples de domaines : Programmation. Techniques pour organiser un programme de façon qu il soit facilement modifiable. Génie Logiciel. Méthodes pour organiser le développement d un logiciel de grande taille. Informatique multimédia. Méthodes d analyse, modification et synthèse d images et de sons. Systèmes d exploitation. Techniques pour réaliser un système qui assure intégrité, sécurité et performance. Compilation. Techniques pour traduire un programme en code machine efficace. 11/136

24 Pourquoi étudier l informatique Deux sous-questions : pourquoi choisir une carrière en informatique? pourquoi étudier l informatique alors qu on a choisi une carrière différente (physique, chimie, mathématique, etc.)? 12/136

25 Pourquoi une carrière en informatique? Raisons techniques : demandes croissantes d informaticien(ne)s, produits haute technologie contenant de plus en plus de logiciels, la complexité des logiciels augmente, Raisons non techniques : contacts (souvent internationaux), voyages, mobilité (même internationale). 13/136

26 Pourquoi l informatique pour les non informaticiens Le travail d un scientifique ou d un ingénieur nécessite de plus en plus la manipulation de logiciels, Ces logiciels sont de plus en plus sophistiqués, Souvent, ces logiciels nécessitent de la programmation, Pour programmer efficacement, il faut des connaissances en informatique (algorithmique, programmation). C est surtout nécessaire pour produire des programmes maintenables. 14/136

27 Un mot sur l importance de l algorithmique Il est facile de se tromper d algorithme. Une telle erreur peut faire la différence entre plusieurs années et quelques minutes de calculs sur une même machine. C est souvent une question d utilisation de structures de données ou d algorithmes connus dans la littérature. 15/136

28 Un mot sur la programmation Il ne suffit pas de construire un programme qui marche. L essence de la programmation est l organisation pour faciliter la maintenance (représentant environ 80% du coût d un logiciel). Cela nécessite la construction d abstractions (sous-programmes, modules, classes, extensions syntaxiques, fonctions de première classes, etc.). Plusieurs styles de programmation adaptés aux types différents de problèmes : programmation impérative, fonctionnelle, orientée-objets, logique. Chaque type a ses idiomes de programmation qu il faut apprendre. 16/136

29 Prérequis pour études supérieures en informatique Prérequis : Il faut être bien organisé (ça s apprend), Il faut avoir une curiosité intellectuelle, car l informatique nécessite un apprentissage permanent, Non prérequis : Connaissance préalable d un langage ou d un système d exploitation, Connaissance de la programmation (c est souvent un handicap), Connaissance de logiciels destinés au grand public. 17/136

30 Choix d un langage de programmation Paramètres (langage ou implémentation du langage) : facilité d apprentissage, facilité d utilisation, rapidité d exécution, rapidité de compilation, absence de défauts dans le compilateur, pérennité (fabricant, langage, implémentation), disponibilité de programmeurs, expressivité du langage (structuration, styles), normalisation, conformité des implémentations. 18/136

31 Choix d un langage pour l enseignement facilité d apprentissage (moins important dans l industrie), utilité plus tard, facilité de programmer de façon propre et modulaire. Nous avons choisi le langage Python. 19/136

32 Caractéristiques de Python implémentation libre et gratuite existe, orienté-objets, facilité de manipulation de listes, grand nombre de bibliothèques, efficacité moyenne du code, structure de bloc indiquée par l indentation (unique pour Python). 20/136

33 Qu est-ce qu un algorithme? C est une méthode systématique (recette) pour résoudre un problème donné. Cette méthode peut donc être appliquée par un ordinateur. Par exemple : la division /136

34 Qu est qu un programme? C est une suite d instructions écrites dans un langage (langage de programmation) compréhensible par l ordinateur. Cela permet à l ordinateur d appliquer un algorithme. Par exemple en Python : i = 0 if f(i) > 0 : i = i + 1 else: i = 2 * i 23/136

35 Quelques instructions Python 1. Affectation : ranger une valeur dans une variable i = 1 x = 2 * i + 1 i = i + 1 x = x + i L ordinateur effectue les instructions dans l ordre. L ordre des instructions est donc très important. Une variable désigne un emplacement dans lequel on peut mémoriser une valeur. Une variable a un nom. En python, le symbole = n a pas la même signification qu en mathématique. Il signifie calculer la valeur à droite du symbole = et la ranger dans la variable dont le nom se trouve à gauche. 25/136

36 Quelques instructions Python (suite) 2. Conditionnelle : if i > x : print "test VRAI" else : print "test FAUX" 27/136

37 Quelques instructions Python (suite) 3. Répétition : while i > 0 : print i i = i - 1 Mais aussi, for i in range(10) : print i 29/136

38 Quelques instructions Python (fin) 4. Définition de fonction : En math : Soit la fonction f : x 2x En Python : def f(x) : return 2 * x * x + 1 y = 2 * f(2) Une fonction Python peut être très compliquée. Elle peut remplacer un long programme. Il y a d autres instructions... 31/136

39 Le Graphe Un graphe est un ensemble d objets muni d une relation binaire entre ces objets. Une relation binaire est un ensemble de couples d objets. En mathématiques, l ensemble est souvent infini et non dénombrable (les réels par exemple), alors qu en informatique, elle est souvent dénombrable et parfois finie. En informatique, les objets représentés sont souvent des objets plus concrets (molécules, composants électroniques, villes, réseaux de téléphones mobiles, personnes). 32/136

40 Exemple de graphe : parents Ensemble : toutes les personnes assistant à un repas de Noël. Relation : l ensemble des couples de personnes (p 1, p 2 ) tels que p 1 a pour parent p 2 (relation non symétrique). 33/136

41 Représentation graphique d un graphe x y = «x a pour parent y» (relation non symétrique, graphe orienté) : Isabelle Jean Jacques Luc Anne Olivier Marie Pierre 34/136

42 Exemple de graphe : cousins Ensemble : toutes les personnes assistant à un repas de Noël. Relation : l ensemble des couples de personnes (p 1, p 2 ) tels que p 1 est un cousin de p 2 (relation symétrique). 35/136

43 Représentation graphique : cousins Les cousins (relation symétrique, graphe non orienté) : Isabelle Jean Jacques Luc Anne Olivier Marie Pierre 36/136

44 Exemple de graphe : molécules Ensemble : les atomes d une molécule. Relation : l ensemble des couples d atomes (a 1, a 2 ) tels que a 1 et a 2 partagent au moins un électron (liaison covalente, relation symétrique) 37/136

45 Représentation graphique : molécules Une molécule de caféine (relation symétrique, graphe non orienté) : 38/136

46 Exemple de graphe : internet Ensemble : les pages web. Relation : l ensemble des couples (w 1, w 2 ) tels qu il existe un lien direct sur la page web w 1 qui amène sur la page web w 2. Relation non symétrique, graphe orienté. 39/136

47 Représentation graphique : internet 40/136

48 Représentation graphique : internet 41/136

49 Représentation graphique : connaissance entre personnes saines/grippées/porteuses 42/136

50 Concepts et notation Il s agit de donner un nom et un façon d écrire certaines notions fréquemment utilisées. Raison pour introduire des concepts et des notations : évite la répétition de phrases compliquées, précision ; on évite l ambiguïté, Exemples connus : racine carrée. 43/136

51 Concepts et notations ensemblistes Nous supposons que la notion d ensemble est connue. En informatique, il faut souvent préciser la fonction de comparaison utilisée entre deux éléments de l ensemble. Exemple : L objet a est une Renault Clio immatriculée 1234AB33, l objet b est une Renault Mégane immatriculée 1234AB24, l objet c une Renault Clio immatriculée 5678XY40. Est-ce que c est élément de l ensemble {a, b}? 44/136

52 Élément d un ensemble La notation x E signifie que x est élément de l ensemble E. Cette notation ne précise pas le test d égalité qu il faut donc préciser séparément. On notera E le nombre d éléments de l ensemble E. 45/136

53 Sous-ensembles On utilise la notation E F pour dire que E est un sous-ensemble de F, à savoir que tout élément de E est aussi élément de F. Attention, il est possible que E = F. Sinon, on écrit E F Pour l ensemble des sous-ensembles d un ensemble E (appelé les parties de E), nous utilisons la notation P(E). Exemple : Si E = {a, b}, alors P(E) = {, {a},{b},{a, b}} Questions : 1. Est-ce que E P(E)? 2. Que vaut P(E) si E est fini? 46/136

54 Fonctions Une fonction est un objet mathématique qui, à un objet d un ensemble fait correspondre un objet d un autre ensemble. Exemple : f(x) = sin(x) g(x, y) = x 2 + y 2 En informatique les ensembles sont souvent composés d objets concrets (personnes, voitures), de graphes, de sommets, d arêtes... On dit qu une fonction est appliquée à un ou plusieurs arguments et qu elle renvoie (ou retourne) une valeur. Ceci reflète l aspect exécutable d une fonction. 47/136

55 Domaine et image d une fonction L ensemble de tous les arguments possibles d une fonction φ est le domaine de la fonction : dom(φ). L ensemble de toutes les valeurs possibles d une fonction est l image de la fonction : img(φ). Notation : φ : dom(φ) img(φ). Exemples : sin : R [ 1, 1]. g : R R R +, où g(x, y) = x 2 + y 2. 48/136

56 Conditions nécessaires et suffisantes Condition nécessaire : A est une condition nécessaire pour B est la même chose que B implique A ou B A. Ici B est l objectif. Une autre façon de le dire : B seulement si A Condition suffisante : A est une condition suffisante pour B est la même chose que A implique B ou A B. B est encore l objectif. Une autre façon de le dire : B si A Condition nécessaire et suffisante : B si et seulement si A. B est l objectif et souvent un concept à définir. 49/136

57 Raisonnement par l absurde Nous avons besoin de calculer la négation d une phrase. La négation de A se lit non A et s écrit A. Si A est vrai, alors A est faux. Si A est faux, alors A est vrai. La négation de B seulement si A est non A mais B. (le mais est le et logique) La négation de B si A est A mais non B. La négation de a A est a A. La négation de b B est b B. 50/136

58 Complexité Comment savoir si une méthode est efficace? C est le problème du domaine de la complexité asymptotique, ou simplement la complexité. 51/136

59 Complexité (suite) On suppose l existence d un ensemble d opérations simples et rapides (ou opérations élémentaires). Une opération est simple et rapide si un ordinateur peut l exécuter avec un nombre faible d instructions. Exemples d opérations élémentaires : additionner, soustraire, multiplier ou diviser deux nombres, tester si une valeur est égale à une autre valeur, affecter une valeur à une variable. 52/136

60 Complexité (suite) Pour déterminer si une méthode est efficace, on compte d abord le nombre d opérations nécessaire à effectuer dans le pire des cas et en fonction de la taille du problème. Par exemple, pendant un pot, on souhaite que chaque participant serre la main à chaque autre participant. L opération élémentaire est serrer la main. La taille du problème est le nombre de participants. En général, pour n personnes, il faut n(n 1)/2 opérations élémentaires, soit 1 2 n2 1 2 n. 53/136

61 Complexité (suite) Pour obtenir la complexité asymptotique, on remplace d abord toute constante (de type 1 2 ou 55) par 1. Cela nous donne n2 n. Puis, on garde uniquement le terme le plus grand pour n grand. Cela donne n 2. Finalement, on indique que ces approximations ont été effectuées en rajoutant O() comme ceci : O(n 2 ). En réalité, on effectue les approximations avant de compter exactement. 54/136

62 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons /136

63 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons =? /136

64 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons =? /136

65 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons =? /136

66 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons =? /136

67 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons =? /136

68 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons /136

69 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons /136

70 Complexité : exemple Problème : déterminer si 2 ensembles E 1, E 2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E 1 avec chaque élément de E 2 n 2 comparaisons On peut résoudre le problème avec environ n log(n) comparaisons! E 1 = E 2 Algorithme 1 Algorithme 2 n n 2 n log(n) /136

71 Définition d un graphe (1) Une première tentative : Un graphe est un couple (V, E), où V est un ensemble d objets appelés les sommets du graphe (V pour l anglais vertex ), E V V est une relation binaire sur V V. Les éléments de E sont appelés les arêtes du graphe (E pour l anglais edge ). 56/136

72 Problème de la définition Problème : Comment représenter le graphe suivant? e 1 s 2 s 3 s e e 4 4 s 3 1 e 5 e 2 La définition a plusieurs problèmes : On ne peut pas avoir deux arêtes différentes entre deux sommets (les arêtes n ont pas d identité propre), Un couple (s1, s 2 ) n est pas le même que (s 2, s 1 ). En fait, la définition donne ce que l on appelle un graphe orienté simple. Ici simple signifie qu il y a au plus une arête entre deux sommets. 57/136

73 Définition d un graphe (2) (orientée arêtes) Deuxième tentative : un graphe est un triplet (V, E,φ), où V est un ensemble d objets appelés les sommets du graphe, E est un ensemble d objets appelés les arêtes du graphe, φ est une fonction φ : E P(V) telle que e E, φ(e) {1, 2} 58/136

74 Définition d un graphe (2) (orientée arêtes) Deuxième tentative : un graphe est un triplet (V, E,φ), où V est un ensemble d objets appelés les sommets du graphe, E est un ensemble d objets appelés les arêtes du graphe, φ est une fonction φ : E P(V) telle que e E, φ(e) {1, 2} e 1 s 2 s 3 s e e 4 4 φ(e s 3 1 ) = {s 1 } 1 φ(e e 2 ) = {s 1 } 5 φ(e 3 ) = {s 1, s 2 } e 2 φ(e 4 ) = {s 2, s 3 } φ(e 5 ) = {s 2, s 3 } 58/136

75 Interprétation de la définition Ici, les arêtes sont des objets à part. La fonction φ prend comme argument une arête et renvoie un ensemble de sommets (les points extrêmes de l arête). Pour forcer une arête à avoir un ou deux points extrêmes, il faut une restriction sur la taille de l ensemble renvoyé. La façon d exprimer cela est : φ : E P(V) telle que e E, φ(e) {1, 2} 59/136

76 Définition d un graphe (3) (orientée sommets) Une autre définition : un graphe est un triplet (V, E,ψ), où V est un ensemble d objets appelés les sommets du graphe, E est un ensemble d objets appelés les arêtes du graphe, ψ est une fonction ψ : V P(E) telle que e E, {s V, e ψ(s)} {1, 2} 60/136

77 Définition d un graphe (3) (orientée sommets) Une autre définition : un graphe est un triplet (V, E,ψ), où V est un ensemble d objets appelés les sommets du graphe, E est un ensemble d objets appelés les arêtes du graphe, ψ est une fonction ψ : V P(E) telle que e E, {s V, e ψ(s)} {1, 2} e 1 s 2 s 3 s e e 4 4 ψ(s s 3 1 ) = {e 1, e 2, e 3 } 1 ψ(s e 2 ) = {e 3, e 4, e 5 } 5 ψ(s 3 ) = {e 4, e 5 } ψ(s 4 ) = e 2 60/136

78 Interprétation de la définition Elle génère les mêmes objets que la précédente. Le rôle de la fonction est totalement différent. Ici, ψ est appliquée à un sommet et renvoie un ensemble d arêtes. 61/136

79 Le graphe en tant que type abstrait Chaque définition a des conséquences sur la programmation. On peut : à partir d un objet de type graphe, récupérer l ensemble des sommets du graphe, à partir d un objet de type graphe, récupérer l ensemble des arêtes du graphe, avec la définition orientée arêtes : à partir d une arête du graphe, récupérer le(s) sommet(s) extrémités de l arête. avec la définition orientée sommets : à partir d un sommet du graphe, récupérer le(s) arêtes(s) dont le sommet est extrémité. 62/136

80 La notion de type abstrait On appelle une telle collection d opérations un type abstrait. C est une notion centrale en programmation. Cela permet de créer des programmes modulaires (i.e., contenant des parties relativement indépendantes) et donc maintenables. Pour programmer une application, on se pose la question : Quels sont les objets manipulés par le programme, et quelles sont les opérations sur ces objets? La notion de type abstrait sera traitée en TD. 63/136

81 Quel type abstrait est le bon? Ça dépend de ce que vous voulez en faire (de l application). Certaines opérations sont plus rapides et/ou plus simples à programmer selon le type choisi. Souvent, il n est pas possible de n avoir que des opérations simples et rapides. Il faut donc choisir. Exemple : Déterminer si 2 sommets s, t sont reliés par une arête. Définition orientée arêtes : on regarde pour chaque arête s il y en a une qui a comme extrémités s et t. Définition orientée sommets : on calcule ψ(s) ψ(t) et on regarde s il est non vide. Exercice : Quelle définition donne un algorithme plus rapide sur un graphe en forme de cercle? Sur le graphe suivant? s x 1 x 2 x 3 x n t 64/136

82 Degré d un sommet Le degré d un sommet s, noté d(s), est le nombre de brins d arêtes ayant s comme extrémité. Une boucle compte deux fois. Exemple : A B C D E F Ici d(a) = 1, d(b) = 3, d(c) = 4, d(d) = 2, d(e) = 0, d(f) = 2. 65/136

83 Un premier théorème Pour un graphe G ayant au moins un sommet, d(s) = 2 E(G) s V(G) 66/136

84 Technique de preuve par induction 1. Vérifier que s V d(s) = 2 E pour un graphe sans arête, 2. Supposer que s V d(s) = 2 E pour n importe quel graphe avec au plus k arêtes, 3. Prouver que si s V d(s) = 2 E est vrai pour n importe quel graphe avec au plus k arêtes, c est aussi vrai pour n importe quel graphe avec k + 1 arêtes. 67/136

85 La preuve du théorème (1/2) Par induction sur le nombre d arêtes dans le graphe. 1. Cas de base La propriété est trivialement vraie pour un graphe avec E = 0, car le degré de chaque sommet du graphe est Hypothèse d induction On suppose que pour un graphe G avec au moins un sommet et au plus k arêtes, s V(G) d(s) = 2 E(G). 68/136

86 La preuve du théorème (2/2) 3. Induction Soit H un graphe à k + 1 arêtes. En supprimant l une des arêtes, disons e entre s 1 et s 2, on obtient un graphe G ayant au plus k arêtes. D après l hypothèse d induction, on a d(s) = 2 E(G). s V(G) Le degré des sommets s 1 et s 2 dans H est 1 de plus que leur degré dans G, donc d(s) = d(s) + 2 = 2( E(G) + 1) s V(H) s V(G) Comme G est obtenu de H en supprimant une arête, on a E(G) + 1 = E(H), et donc finalement d(s) = 2 E(H) s V(H) Nous avons donc prouvé la propriété par induction. 69/136

87 La notion de chaîne Il est souvent nécessaire de savoir si l on peut aller d un sommet à un autre en suivant des arêtes. Exemple d utilité : Est-ce possible de prendre le train pour aller de Bordeaux à Rome? De Bordeaux à Oslo? De Bordeaux à Reykjavik? La notion de chaîne exprime cette idée. 70/136

88 Définition de chaîne (1) Première tentative : (attention : cette définition n est pas bonne). Une chaîne dans un graphe est une suite C = s1, s 2,...,s k de sommets du graphe, telle que i, 1 i < k, il y a une arête entre s i et s i+1. 71/136

89 Problème de la définition S il y a plusieurs arêtes entre deux sommets, on ne sait pas par laquelle il faut passer. Exemple : A a b B 72/136

90 Définition de chaîne (2) Deuxième tentative : (attention : cette définition n est pas bonne). Une chaîne dans un graphe est une suite C = e1, e 2,...,e k d arêtes du graphe, telle que i, 1 i < n, e i et e i+1 partagent un sommet. 73/136

91 Problème de la définition La suite a, b, c dans le graphe suivant sera considérée comme une chaîne : A a B C b c D De plus, on ne sait pas par quel sommet la chaîne commence. 74/136

92 Définition de chaîne (3, la bonne) Une chaîne dans un graphe est une suite C = s 1, e 1, s 2, e 2,...,s k, e k, s k+1 de k + 1 sommets et k arêtes en alternance, telle que i, 1 i k, les extrémités de e i sont s i et s i+1. On dit alors que C est une chaîne entre s 1 et s k+1. Remarque : si k = 0, on obtient une chaîne sans arête C = s 1. 75/136

93 Existence d une chaîne Vérifier s il existe une chaîne entre un sommet s et un sommet t n est pas forcément simple. Pour y arriver, nous allons utiliser une technique pour marquer et démarquer les sommets. Mais il nous faut d abord un peu de théorie. 76/136

94 Chaîne simple Une chaîne C = s1, e 1, s 2, e 2,...,s k, e k, s k+1 est simple si et seulement si i, j [1, k + 1], (i < j et s i = s j ) = (i = 1 et j = k + 1) Autrement dit un sommet figure au plus une fois dans la chaîne. [sauf pour le sommet de début et de fin. S ils sont les mêmes, il s agit d un cycle]. 77/136

95 Théorème Dans un graphe G, s il existe une chaîne entre s V(G) et t V(G), alors il existe une chaîne simple entre s et t. La preuve est constructive. On prend une chaîne non simple et on supprime les cycles. 78/136

96 Preuve Soit C = s1, e 1, s 2, e 2,..., s k, e k, s k+1 la chaîne. Si C est simple, le travail est terminé. Sinon, il y a deux sommets si et s j tels que i, j [1, k + 1], pour lesquels i < j, {i, j} {1, k + 1}, et s i = s j. On écrit donc : C = s 1, e 1,...,s i, e i,..., s j, e j,..., s k, e k, s k+1. On construit C plus courte en supprimant de C la partie e i,..., s j. On obtient alors : C = s 1, e 1,... s i, e j,...,s k, e k, s k+1. 79/136

97 Preuve Soit C = s1, e 1, s 2, e 2,..., s k, e k, s k+1 la chaîne. Si C est simple, le travail est terminé. Sinon, il y a deux sommets si et s j tels que i, j [1, k + 1], pour lesquels i < j, {i, j} {1, k + 1}, et s i = s j. On écrit donc : C = s 1, e 1,...,s i, e i,..., s j, e j,..., s k, e k, s k+1. On construit C plus courte en supprimant de C la partie e i,..., s j. On obtient alors : C = s 1, e 1,... s i, e j,...,s k, e k, s k+1. 79/136

98 Preuve (suite) Il reste à vérifier que C est une chaîne. Chaque arête de la chaîne doit être entourée de ses deux extrémités. C est le cas dans C. On répète le procédé tant que C n est pas simple. [Ou : on fait une preuve par induction sur la longueur de la chaîne.] 80/136

99 Existence d une chaîne entre s et t Voici un algorithme 1. démarquer tous les sommets 2. marquer s 3. tant que t n est pas marqué, 3.1 chercher une arête dont un sommet extrémité est marqué et l autre ne l est pas 3.2 si une telle arête n existe pas, renvoyer la valeur faux 3.3 sinon marquer l extrémité non encore marquée 4. renvoyer la valeur vrai s t 81/136

100 Existence d une chaîne entre s et t Voici un algorithme 1. démarquer tous les sommets 2. marquer s 3. tant que t n est pas marqué, 3.1 chercher une arête dont un sommet extrémité est marqué et l autre ne l est pas 3.2 si une telle arête n existe pas, renvoyer la valeur faux 3.3 sinon marquer l extrémité non encore marquée 4. renvoyer la valeur vrai s t 81/136

101 Existence d une chaîne entre s et t Voici un algorithme 1. démarquer tous les sommets 2. marquer s 3. tant que t n est pas marqué, 3.1 chercher une arête dont un sommet extrémité est marqué et l autre ne l est pas 3.2 si une telle arête n existe pas, renvoyer la valeur faux 3.3 sinon marquer l extrémité non encore marquée 4. renvoyer la valeur vrai s t 81/136

102 Existence d une chaîne entre s et t Voici un algorithme 1. démarquer tous les sommets 2. marquer s 3. tant que t n est pas marqué, 3.1 chercher une arête dont un sommet extrémité est marqué et l autre ne l est pas 3.2 si une telle arête n existe pas, renvoyer la valeur faux 3.3 sinon marquer l extrémité non encore marquée 4. renvoyer la valeur vrai s t 81/136

103 Existence d une chaîne entre s et t Voici un algorithme 1. démarquer tous les sommets 2. marquer s 3. tant que t n est pas marqué, 3.1 chercher une arête dont un sommet extrémité est marqué et l autre ne l est pas 3.2 si une telle arête n existe pas, renvoyer la valeur faux 3.3 sinon marquer l extrémité non encore marquée 4. renvoyer la valeur vrai s t 81/136

104 Existence d une chaîne entre s et t Voici un algorithme 1. démarquer tous les sommets 2. marquer s 3. tant que t n est pas marqué, 3.1 chercher une arête dont un sommet extrémité est marqué et l autre ne l est pas 3.2 si une telle arête n existe pas, renvoyer la valeur faux 3.3 sinon marquer l extrémité non encore marquée 4. renvoyer la valeur vrai s t 81/136

105 Existence d une chaîne entre s et t Voici un algorithme 1. démarquer tous les sommets 2. marquer s 3. tant que t n est pas marqué, 3.1 chercher une arête dont un sommet extrémité est marqué et l autre ne l est pas 3.2 si une telle arête n existe pas, renvoyer la valeur faux 3.3 sinon marquer l extrémité non encore marquée 4. renvoyer la valeur vrai s t 81/136

106 Existence d une chaîne, complexité (définition orientée arêtes) Au pire, cet algorithme passe par chaque arête du graphe pour trouver la première arête dont un sommet extrémité est marqué et l autre ne l est pas, ce qui coûte E. 82/136

107 Existence d une chaîne, complexité (définition orientée arêtes) Au pire, cet algorithme passe par chaque arête du graphe pour trouver la première arête dont un sommet extrémité est marqué et l autre ne l est pas, ce qui coûte E. Ensuite, la 2 ème arête est trouvée au pire en E 1 étapes. Et ainsi de suite. 82/136

108 Existence d une chaîne, complexité (définition orientée arêtes) Au pire, cet algorithme passe par chaque arête du graphe pour trouver la première arête dont un sommet extrémité est marqué et l autre ne l est pas, ce qui coûte E. Ensuite, la 2 ème arête est trouvée au pire en E 1 étapes. Et ainsi de suite. L algorithme s arrête quand tous les sommets ont été marqués (il n y a plus rien à faire!). Donc au pire, à l étape V, tous les sommets ont été marqués. 82/136

109 Existence d une chaîne, complexité (définition orientée arêtes) Au pire, cet algorithme passe par chaque arête du graphe pour trouver la première arête dont un sommet extrémité est marqué et l autre ne l est pas, ce qui coûte E. Ensuite, la 2 ème arête est trouvée au pire en E 1 étapes. Et ainsi de suite. L algorithme s arrête quand tous les sommets ont été marqués (il n y a plus rien à faire!). Donc au pire, à l étape V, tous les sommets ont été marqués. La complexité de cet algorithme est donc au plus : V ( E i) = O( V E ). i=0 82/136

110 Existence d une chaîne, complexité (définition orientée arêtes) Au pire, cet algorithme passe par chaque arête du graphe pour trouver la première arête dont un sommet extrémité est marqué et l autre ne l est pas, ce qui coûte E. Ensuite, la 2 ème arête est trouvée au pire en E 1 étapes. Et ainsi de suite. L algorithme s arrête quand tous les sommets ont été marqués (il n y a plus rien à faire!). Donc au pire, à l étape V, tous les sommets ont été marqués. La complexité de cet algorithme est donc au plus : V ( E i) = O( V E ). i=0 82/136

111 Existence d une chaîne, complexité (définition orientée arêtes) Au pire, cet algorithme passe par chaque arête du graphe pour trouver la première arête dont un sommet extrémité est marqué et l autre ne l est pas, ce qui coûte E. Ensuite, la 2 ème arête est trouvée au pire en E 1 étapes. Et ainsi de suite. L algorithme s arrête quand tous les sommets ont été marqués (il n y a plus rien à faire!). Donc au pire, à l étape V, tous les sommets ont été marqués. La complexité de cet algorithme est donc au plus : V ( E i) = O( V E ). i=0 Remarque Il existe un algorithme de complexité O( V + E ). 82/136

112 Connexité La notion de connexité exprime la possibilité d aller de n importe quel sommet du graphe à n importe quel autre sommet du graphe. Informellement, un graphe est connexe s il est en un seul morceau. Connexe Non connexe Formellement, un graphe G est connexe si et seulement si s, t V(G), il existe une chaîne entre s et t. Nous allons étudier des méthodes efficaces pour déterminer si un graphe est connexe. 83/136

113 Déterminer si un graphe est connexe : approche simple La première idée est toujours d appliquer la définition. 84/136

114 Déterminer si un graphe est connexe : approche simple La première idée est toujours d appliquer la définition. Donc, pour déterminer si un graphe est connexe, vérifier si pour chaque couple (s, t) de sommets, il existe une chaîne entre s et t. 84/136

115 Déterminer si un graphe est connexe : approche simple La première idée est toujours d appliquer la définition. Donc, pour déterminer si un graphe est connexe, vérifier si pour chaque couple (s, t) de sommets, il existe une chaîne entre s et t. Il y a n 2 tels couples, si n = V. 84/136

116 Déterminer si un graphe est connexe : approche simple La première idée est toujours d appliquer la définition. Donc, pour déterminer si un graphe est connexe, vérifier si pour chaque couple (s, t) de sommets, il existe une chaîne entre s et t. Il y a n 2 tels couples, si n = V. Au total, la méthode simple a une complexité O(n3 E ) 84/136

117 Déterminer si un graphe est connexe : approche simple La première idée est toujours d appliquer la définition. Donc, pour déterminer si un graphe est connexe, vérifier si pour chaque couple (s, t) de sommets, il existe une chaîne entre s et t. Il y a n 2 tels couples, si n = V. Au total, la méthode simple a une complexité O(n3 E ) Nous allons montrer qu on peut résoudre le problème en O(n 2 ). 84/136

118 Différence entre O(n 3 ), O(n 2 ) et O(n) Imaginons encore un ordinateur capable d exécuter une instruction élémentaire en 10ns et un graphe de sommets. Exécuter n instructions élémentaires nécessite 1ms, soit 0, 01s. Exécuter n 2 instructions élémentaires nécessite 10 4 s soit 2h45. Exécuter n 3 instructions élémentaires nécessite 321 ans. 85/136

119 Approche plus efficace Theorème Soit G un graphe. On considère les propriétés suivantes : A. G est connexe. B. Pour tout sommet s de G, il existe une chaîne entre s et chacun des sommets de G. C. Il existe un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Les propriétés A, B et C sont équivalentes, c est-à-dire : A B C. 86/136

120 Preuve (parties A = B et B = C) On suppose que A est vraie, c est-à-dire que G est connexe. On choisit un sommet s de G. Comme G est connexe, pour tout sommet t de G, il existe une chaîne entre s et t. Donc B est vraie. On a donc montré que A = B. Si B est vraie, alors C est aussi vraie (évident) donc B = C. Il reste à montrer que C = A. 87/136

121 Preuve (partie C = A) On suppose que C est vraie : il existe donc un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Il faut prouver que A est vraie, c est-à-dire que G est connexe. Soient donc x et y deux sommets de G. On veut montrer qu il existe une chaîne entre x et y. 88/136

122 Preuve (partie C = A) On suppose que C est vraie : il existe donc un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Il faut prouver que A est vraie, c est-à-dire que G est connexe. Soient donc x et y deux sommets de G. On veut montrer qu il existe une chaîne entre x et y. 88/136

123 Preuve (partie C = A) On suppose que C est vraie : il existe donc un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Il faut prouver que A est vraie, c est-à-dire que G est connexe. Soient donc x et y deux sommets de G. On veut montrer qu il existe une chaîne entre x et y. 88/136

124 Preuve (partie C = A) On suppose que C est vraie : il existe donc un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Il faut prouver que A est vraie, c est-à-dire que G est connexe. Soient donc x et y deux sommets de G. On veut montrer qu il existe une chaîne entre x et y. x s y 88/136

125 Preuve (partie C = A) On suppose que C est vraie : il existe donc un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Il faut prouver que A est vraie, c est-à-dire que G est connexe. Soient donc x et y deux sommets de G. On veut montrer qu il existe une chaîne entre x et y. C x 1 C s 2 y On sait qu il existe des chaînes C1 entre s et x, et C 2 entre s et y. 88/136

126 Preuve (partie C = A) On suppose que C est vraie : il existe donc un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Il faut prouver que A est vraie, c est-à-dire que G est connexe. Soient donc x et y deux sommets de G. On veut montrer qu il existe une chaîne entre x et y. C x s 2 y C 1 On sait qu il existe des chaînes C1 entre s et x, et C 2 entre s et y. En lisant C1 à l envers, on obtient une chaîne C 1 entre x et s. 88/136

127 Preuve (partie C = A) On suppose que C est vraie : il existe donc un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Il faut prouver que A est vraie, c est-à-dire que G est connexe. Soient donc x et y deux sommets de G. On veut montrer qu il existe une chaîne entre x et y. C x s 2 y C 1 On sait qu il existe des chaînes C1 entre s et x, et C 2 entre s et y. En lisant C1 à l envers, on obtient une chaîne C 1 entre x et s. En recollant la chaîne C1 à C 2, on obtient une chaîne x et y. 88/136

128 Preuve (partie C = A) On suppose que C est vraie : il existe donc un sommet s de G tel qu il existe une chaîne entre s et chacun des sommets de G. Il faut prouver que A est vraie, c est-à-dire que G est connexe. Soient donc x et y deux sommets de G. On veut montrer qu il existe une chaîne entre x et y. C x s 2 y C 1 On sait qu il existe des chaînes C1 entre s et x, et C 2 entre s et y. En lisant C1 à l envers, on obtient une chaîne C 1 entre x et s. En recollant la chaîne C1 à C 2, on obtient une chaîne x et y. Donc A est vraie et A = C. 88/136

129 Un algorithme plus efficace Pour déterminer si un graphe est connexe, on peut donc : Choisir un sommet s arbitraire dans le graphe. Vérifier si pour chaque sommet t du graphe, il existe une chaîne entre s et t. Complexité 1. Il faut donc faire V vérifications. 2. Le coût de chaque vérification est O( V. E ). 3. Au total, la complexité est donc O( V 2. E ). 89/136

130 Un algorithme plus efficace Pour déterminer si un graphe est connexe, on peut donc : Choisir un sommet s arbitraire dans le graphe. Vérifier si pour chaque sommet t du graphe, il existe une chaîne entre s et t. Complexité 1. Il faut donc faire V vérifications. 2. Le coût de chaque vérification est O( V. E ). 3. Au total, la complexité est donc O( V 2. E ). Remarque Si on utilise l algorithme qui teste l existence d une chaîne en O( V ), on obtient un algorithme en O( V 2 ). 89/136

131 Encore une amélioration On observe que l algorithme parcourt la même chaîne plusieurs fois. Dans le graphe suivant : s s s s s il va parcourir entre s 0 et s 1, puis entre s 0 et s 2, refaisant alors le parcours entre s 0 et s 1, puis entre s 0 et s 3, refaisant alors le parcours entre s 0 et s 2, refaisant alors le parcours entre s 0 et s 1, etc. 90/136

132 Méthode finale pour la connexité Voici l algorithme plus efficace. 1. démarquer tous les sommets 2. marquer un sommet arbitraire s 3. chercher une arête dont un sommet extrémité est marqué et l autre ne l est pas 4. tant qu une telle arête existe : marquer l extrémité non encore marquée 5. si tout les sommets sont marqués, renvoyer vrai 6. sinon renvoyer faux Remarque On peut trouver rapidement l arête du point 3, pour que l algorithme prenne un temps O( V + E ) dans le cas le pire. 91/136

133 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

134 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

135 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

136 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

137 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

138 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

139 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

140 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

141 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

142 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

143 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s 92/136

144 Méthode finale pour la connexité Exemple L algorithme ressemble à celui de recherche d une chaîne. Déroulement possible de l algorithme sur le graphe suivant : s Connexe! 92/136

145 Graphes eulériens Les ponts de la ville de Königsberg au 18 e siècle (maintenant Kaliningrad en Russie) : 93/136

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes

Plus en détail

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

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

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

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

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

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

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

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

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

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

Suites numériques 3. 1 Convergence et limite d une suite

Suites numériques 3. 1 Convergence et limite d une suite Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

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

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

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

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

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

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

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

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

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

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

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

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

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

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

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

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

LIVRE BLANC Décembre 2014

LIVRE BLANC Décembre 2014 PARSING MATCHING EQUALITY SEARCH LIVRE BLANC Décembre 2014 Introduction L analyse des tendances du marché de l emploi correspond à l évidence à une nécessité, surtout en période de tension comme depuis

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

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 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

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

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

BACCALAUREAT GENERAL MATHÉMATIQUES

BACCALAUREAT GENERAL MATHÉMATIQUES BACCALAUREAT GENERAL FEVRIER 2014 MATHÉMATIQUES SERIE : ES Durée de l épreuve : 3 heures Coefficient : 5 (ES), 4 (L) 7(spe ES) Les calculatrices électroniques de poche sont autorisées, conformement à la

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Logique. Plan du chapitre

Logique. Plan du chapitre Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Introduction à la théorie des graphes. Solutions des exercices

Introduction à la théorie des graphes. Solutions des exercices CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti

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

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

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

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

Chaînes de Markov au lycée

Chaînes de Markov au lycée Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

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

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé EXERCICE 1 5 points Commun à tous les candidats 1. Réponse c : ln(10)+2 ln ( 10e 2) = ln(10)+ln ( e 2) = ln(10)+2 2. Réponse b : n 13 0,7 n 0,01

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

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples. LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples. Pré-requis : Probabilités : définition, calculs et probabilités conditionnelles ; Notion de variables aléatoires, et propriétés associées : espérance,

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

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

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

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

Lecture graphique. Table des matières

Lecture graphique. Table des matières Lecture graphique Table des matières 1 Lecture d une courbe 2 1.1 Définition d une fonction.......................... 2 1.2 Exemple d une courbe........................... 2 1.3 Coût, recette et bénéfice...........................

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

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

Plus en détail

Compter à Babylone. L écriture des nombres

Compter à Babylone. L écriture des nombres Compter à Babylone d après l article de Christine Proust «Le calcul sexagésimal en Mésopotamie : enseignement dans les écoles de scribes» disponible sur http://www.dma.ens.fr/culturemath/ Les mathématiciens

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

I. Introduction. 1. Objectifs. 2. Les options. a. Présentation du problème.

I. Introduction. 1. Objectifs. 2. Les options. a. Présentation du problème. I. Introduction. 1. Objectifs. Le but de ces quelques séances est d introduire les outils mathématiques, plus précisément ceux de nature probabiliste, qui interviennent dans les modèles financiers ; nous

Plus en détail

Théorème du point fixe - Théorème de l inversion locale

Théorème du point fixe - Théorème de l inversion locale Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire CHAPITRE N5 FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION Code item D0 D2 N30[S] Items étudiés dans le CHAPITRE N5 Déterminer l'image

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Algorithmique et Programmation Fonctionnelle

Algorithmique et Programmation Fonctionnelle Algorithmique et Programmation Fonctionnelle RICM3 Cours 9 : Lambda-calcul Benjamin Wack Polytech 2014-2015 1 / 35 La dernière fois Typage Polymorphisme Inférence de type 2 / 35 Plan Contexte λ-termes

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données

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

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

Optimisation, traitement d image et éclipse de Soleil

Optimisation, traitement d image et éclipse de Soleil Kléber, PCSI1&3 014-015 I. Introduction 1/8 Optimisation, traitement d image et éclipse de Soleil Partie I Introduction Le 0 mars 015 a eu lieu en France une éclipse partielle de Soleil qu il était particulièrement

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

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

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée EXAMENS D'ADMISSION Admission RÉCAPITULATIFS DES MATIÈRES EXAMINÉES MATIÈRES Préparation en 3 ou 4 semestres Formation visée Préparation complète en 1 an 2 ème partiel (semestriel) Niveau Durée de l examen

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

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