MIS 102 Initiation à l Informatique
|
|
- Augustin Carrière
- il y a 9 ans
- Total affichages :
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
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étailSTAGE 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étailBaccalauré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étailAlgorithme. 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étailRepré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étail1/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étailInitiation à 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étailCours 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étailCours 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étailChapitre 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étailEteindre. 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étailLicence 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étailExercices 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étailSuites 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étailLa 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étailAlgorithmique 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étailRappels 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étailINITIATION 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étailPoker. 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étailChapitre 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étailV- 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étailChapitre 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étailCours 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étailL 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étailTP 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étailDé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étailLes 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étail1 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étailPré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 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étailExercices - 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étailUEO11 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étailCalculer 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étailLIVRE 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étailRecherche 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étailTravaux 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 Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détail1 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étailAlgorithmique 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étailObjectifs 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étailSouad 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étailCours 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étailBACCALAUREAT 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étailDate : 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étailLogique. 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étailProjet 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étailExercices - 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étailI. 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étailImage 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étailIntroduction à 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étailCours 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étailVision 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étailTP 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étailLes 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étailChaî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étailSOCLE 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étailInté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étailAlgorithmes 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étailIntroduction à 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étailPourquoi 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étailBaccalauré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étailIN 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étailLEÇ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étail3 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
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étailTransmission 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étailProgrammation 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étailLogiciel 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étailRappel. 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étailARBRES 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étailFonctions 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étailUniversité 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étailLES 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étailArithmé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étailLecture 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étail1 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étailProgrammes 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étailCompter à 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étailCours 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étailI. 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étailThé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étailLimites 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étailDe 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étailChapitre 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étailItems é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étailDOCM 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étailProbabilité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étailJade. 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étailAlgorithmique 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étailINF 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étailclef 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étailConventions 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étailALGORITHMIQUE 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étailOptimisation, 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étailLe 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étailLes 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étailSection «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étailET 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étailGrandes 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