Algorithmes de tri PSI* Algorithmes de tri

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

Download "Algorithmes de tri PSI* Algorithmes de tri"

Transcription

1 Algorithmes de tri I. Position du problème On désigne par tri l opération consistant à ordonner un ensemble d éléments en fonction de clés sur lesquelles est définie une relation d ordre. On se limitera ici à des données stockées dans une liste liste; à chaque élément liste[i] d indice i est associée une clé notée cle(i) qui renvoie une valeur numérique servant à la comparaison. Si le tableau est déjà formé de valeurs numériques, il suffira de prendre cle(i) égale à liste[i]. Dans certains cas, au lieu d une procédure cle qui renvoie une valeur numérique, on peut disposer d une procédure est-plus-petit(i,j) qui permet de comparer les éléments liste[i] et liste[j]. On peut également avoir besoin d une procédure echange (i,j) qui permet d échanger les éléments d indices i et j. Une inversion dans le tableau liste est un couple d indices (i, j) tels que i<j et cle(i)>cle(j). Le tableau sera dit trié s il ne contient aucune inversion (on a défini ici un tri par ordre croissant des clés ; les algorithmes de tri par ordre décroissant s en déduisent facilement). Un algorithme de tri sera dit stable s il ne modifie pas l ordre de deux éléments dont les clés sont égales. Cela peut être un critère important si l on trie selon une certaine clé des éléments déjà triés selon une autre. Pour simplifier les exemples, nous ne considèrerons plus que des tableaux contenant des valeurs numériques. Il n y aura donc pas besoin d implémenter une fonction cle. Ces tableaux seront comme en Python numérotés de 0 à n 1. II. Complexité Un algorithme de tri d une liste de n éléments a une complexité minimale en O(n) : en effet, même si le tableau est déjà trié, il faudra au moins n 1 comparaisons pour s en assurer! La complexité maximale est, elle, d au moins O(n ln n) : en effet, si l on considère l arbre binaire de toutes les comparaisons que peut effectuer l algorithme, cet arbre possède au moins n! feuilles comme le montre l exemple ci-dessous (pour n = 3) : a 1 < a a < a 3 a 1 < a 3 1,, 3 a 1 < a 3, 1, 3 a < a 3 1, 3, 3, 1,, 3, 1 3,, 1 La hauteur h de cet arbre, qui est aussi le nombre minimal de comparaisons à faire dans le cas le plus défavorable, ln n! est donc le plus petit entier tel que h n! soit h = + 1. Or par une banale méthode de comparaison ln série-intégrale, ou en utilisant la formule de Stirling, il est facile d établir ln n! n + n ln n, donc h = O(n ln n). III. Le tri bulle Le principe du tri bulle est le suivant : on part de la fin de la liste et l on regarde les éléments consécutivement, en les échangeant s ils ne sont pas dans l ordre. A la fin d un premier passage sur la liste, l élément le plus petit se retrouve en tête de liste, puis on applique de nouveau le procédé sur la partie de la liste entre le second et le dernier élément etc... C est de là que provient le nom : l algorithme imite la remontée de bulles dans un verre de champagne. Si la liste est de taille n, après n passages, les n éléments seront remontés et classées dans l ordre. Informatique PSI* T.LEGAY Lycée d Arsonval 1/9 5 janvier 017

2 Pseudo-code : Complexité : Algorithme 1 : Tri bulle Données : t : liste d éléments n longueur(t); pour i de 0 à n faire /* invariant de boucle: la liste t[0 : i] est triée */; pour j de n 1 à i + 1 faire si t j 1 > t j alors échanger t j et t j 1 L étude de la complexité du tri bulle est relativement simple. On s intéresse au nombre de comparaisons effectuées par un tri bulle.lors de chaque boucle interne, une comparaison est faite. La boucle interne comprend, pour chaque i, n i 1 itérations, et i varie entre 0 et n. Le nombre total de comparaisons sera donc : n n 1 (n i 1) = i = i=0 i=0 La complexité est donc O(n ). Le nombre ci-dessus est le nombre de comparaisons; le nombre d échanges effectué peut être inférieur. Plus précisément : dans le meilleur des cas, il n y aura aucun échange (liste déjà triée). dans le pire des cas, il y aura autant d échanges que de comparaisons (liste déjà triée, mais en sens inverse). on peut alors chercher la complexité en moyenne. Le nombre d échanges faits est égal au nombre d inversions, puisque chaque échange en supprime une. Il s agit donc de calculer le nombre moyen d inversions parmi toutes les permutations. Pour toute permutation σ = (x 1,..., x n ), notons σ la permutation (x n,..., x 1 ), de sorte que si (i, j) est une inversion dans σ ce n en est pas une dans σ et réciproquement. Comme il y a la somme du nombre d inversions de σ et de σ est couples (i, j) possibles, donc le nombre moyen d inversions et : il s agit de la complexité moyenne, qui est de toutes façons encore un O(n ). 4 Conclusion : Le tri bulle est certainement le plus mauvais algorithme de tri!. Cela vient principalement du fait que chaque élément n est comparé qu à son voisin immédiat. Si par exemple l élément le plus grand du tableau est à la première place mais que le reste du tableau est trié, on atteindra quand même la complexité maximale! IV. Tri par selection Le principe du tri par sélection est le suivant : sélectionner le plus petit élément du tableau, et l échanger avec l élément d indice 1 ; sélectionner le second plus petit élément du tableau, et l échanger avec l élément d indice ; continuer de cette façon jusqu à ce que le tableau soit entièrement trié. L algorithme consiste donc en la recherche de n 1 minimums. Pseudo-code : Informatique PSI* T.LEGAY Lycée d Arsonval /9 5 janvier 017

3 Complexité : Algorithme : Tri par sélection Données : t : liste d éléments n longueur(t); pour i de 0 à n faire /* ici la liste t[0 : i] est triée */; min i; /* recherche de l indice du minimum dans t[i :] */; pour j de i + 1 à n 1 faire si t j < t min alors min j si min i alors échanger t i et t min Le nombre de comparaisons effectuées est facile à calculer puisqu il y a une comparaison par itération de la boucle interne. Cela en fait donc n n 1 1 = i=0 j=i+1 La complexité de l algorithme est donc O(n ). De ce point de vue, il n est pas plus efficace que le tri bulle. Par contre, le tri par sélection n effectue que peu d échanges : on peut montrer que le nombre d échanges est en moyenne un O(n)( alors qu il est un O(n ) dans le tri bulle) : n 1 échanges dans le pire cas, qui est atteint lorsque la liste est déjà triée à l envers ; 0 échange dans le meilleur des cas (liste déjà triée) ; on s intéresse au nombre moyen d échanges : à l étape i de la boucle externe, il reste à trier une liste de taille n i ; il n y aura pas d échange si et seulement si l élément examiné t i est déjà à sa place ; si on (n i 1)! considère toutes les permutations comme équiprobables, la probabilité de cet évènement est (n i)! 1 1 soit. La probabilité d avoir un échange est donc 1 et le nombre moyen d échanges sera égal n i n i n 1 ( à 1 1 ) n 1 = n = n ln n γ + o(1). n i i i=0 i=1 Donc le nombre moyen d échanges est un O(n), ce qui est mieux que le tri bulle. Ce tri est donc intéressant lorsque les éléments sont aisément comparables, mais coûteux à déplacer dans la structure. V. Tri par insertion Le tri par insertion est un algorithme de tri naturel : on ajoute un élément à la fois en le mettant à sa place.c est la méthode utilisée par les joueurs de cartes pour ranger leur main, ou par un enseignant pour ordonner des dossiers ou des copies... Dans l algorithme, on parcourt le tableau à trier du début à la fin. Au moment où on considère le i-ème élément, les éléments qui le précèdent sont déjà triés, et il s agit d insérer cet élément à sa place parmi ceux qui précèdent. Il faut pour cela trouver où l élément doit être inséré en le comparant aux autres, puis décaler les éléments afin de pouvoir effectuer l insertion. En pratique, ces deux actions sont effectuées en une seule passe, qui consiste à faire remonter l élément au fur et à mesure jusqu à rencontrer un élément plus petit. Pseudo-code : Informatique PSI* T.LEGAY Lycée d Arsonval 3/9 5 janvier 017

4 Complexité : Algorithme 3 : Tri par insertion Données : t : liste d éléments n longueur(t); pour i de 1 à n 1 faire /* Ici, t[0 : i] est trié. On va y insérer t[i] */; x t i ; j i 1; tant que (j 0) et (t j > x) faire t j+1 t j ; j j 1; fintq /* la nouvelle place de t[i] est en j + 1 */; t j+1 x Par la même méthode que pour les algorithmes précédents, on montre que le nombre maximum d exécutions de la boucle est (liste triée à l envers) et que sa valeur moyenne est (c est encore le nombre 4 moyen d inversions). C est donc encore un algorithme en O(n ). Cependant il a le gros avantage par rapport aux algorithmes précédents de ne pas faire d échanges, mais seulement des décalages (donc une opération de moins à chaque fois). De plus, dans le meilleur des cas (liste déjà triée), la complexité est en O(n) et surtout, la complexité reste en O(n) si le tableau est presque trié (par exemple, chaque élément est à une distance bornée de la position où il devrait être, ou bien si tous les éléments sauf un nombre borné sont à leur place). Dans cette situation particulière, le tri par insertion surpasse d autres méthodes de tri : par exemple, le tri fusion et le tri rapide (avec choix aléatoire du pivot) sont tous les deux en O(n ln n) même sur une liste déjà triée. Conclusion : Le tri par insertion est considéré comme le tri le plus efficace sur des entrées de petite taille. Il est aussi très rapide lorsque les données sont déjà presque triées. Pour ces raisons, il est utilisé en pratique en combinaison avec d autres méthodes comme le tri rapide. VI. Tri rapide (quicksort) Le tri rapide est une méthode de tri récursive s appuyant sur le principe diviser pour régner. Il a été inventé par Hoare en La méthode consiste à placer un élément du tableau (appelé pivot) à sa place définitive, en permutant tous les éléments de telle sorte que tous ceux qui sont inférieurs au pivot soient à sa gauche et que tous ceux qui sont supérieurs au pivot soient à sa droite. Cette opération s appelle le partitionnement. Pour chacun des sous-tableaux, on définit un nouveau pivot et on répète l opération de partitionnement. Ce processus est répété récursivement, jusqu à ce que l ensemble des éléments soit trié. Pseudo-code : programme principal Algorithme 4 : Tri rapide : programme principal fonction TriRapide( t,debut,fin) si debut < fin alors pivot Partition(t,debut,fin); TriRapide( t,pivot+1,fin) /* L appel initial sera: TriRapide(t,0, len(t) 1) */ Dans cet algorithme, la procédure Partition s occupe de partager le sous-tableau autour d un pivot, et renvoie l indice de ce pivot. Informatique PSI* T.LEGAY Lycée d Arsonval 4/9 5 janvier 017

5 Un problème de complexité spatiale peut se poser : en effet, lors de la récursion, les appels non encore satisfaits sont empilés ; dans un cas particulièrement défavorable, il se pourrait que les partitions successives donnent deux sous-tableaux très inégaux, l un vide et l autre de taille maximum ; à partir du tableau initial, on obtiendrait donc une pile de taille n, soit une complexité spatiale en O(n), ce qui est inacceptable. Une solution à ce problème est de commencer systématiquement par le tableau de plus petite taille. Ainsi, la taille maximale P (n) de la pile lors des appels récursifs vérifiera une relation de récurrence de la forme ( n ) P (n) 1 + P d où P (n) = O(ln n) ce qui est beaucoup mieux. La modification à apporter est simple : Algorithme 5 : Tri rapide : programme principal amélioré fonction TriRapide( t,debut,fin) si debut < fin alors pivot Partition(t,debut,fin); si pivot-debut fin - pivot alors TriRapide( t,pivot+1,fin); TriRapide( t,pivot+1,fin); /* L appel initial sera: TriRapide(t,0, len(t) 1) */ Enfin, on peut remarquer que, puisque le second appel récursif est la dernière instruction (récursivité terminale), il peut être avantageusement remplacé par une structure itérative (boucle tant...que). Cela donne le programme suivant : Algorithme 6 : Tri rapide : programme principal encore amélioré fonction TriRapide( t,debut,fin) tant que debut < fin faire pivot Partition(t,debut,fin); si pivot-debut fin - pivot alors debut pivot +1; TriRapide( t,pivot+1,fin); fin pivot 1; fintq /* L appel initial sera: TriRapide(t,0, len(t) 1) */ Pseudo-code : programme partitionnement Le partitionnement est la partie la plus délicate. Une approche assez simple est la suivante : on choisit arbitrairement comme pivot le dernier élément du sous-tableau ; on place tous les éléments inférieurs au pivot en début du sous-tableau ; on place le pivot à la fin des éléments déplacés. Cela donne l algorithme suivant : Informatique PSI* T.LEGAY Lycée d Arsonval 5/9 5 janvier 017

6 Complexité : Algorithme 7 : Partitionnement : première version Résultat : indice du pivot fonction Partition( t,debut,fin) valeur t fin ; p debut; pour i de debut à fin 1 faire si t i valeur alors échanger t i et t p ; p p + 1 échanger t p et t fin ; renvoyer p On s intéresse ici au nombre de comparaisons effectuées, qui majore de toutes façons le nombre d échange. La complexité, en nombre de comparaisons, de la fonction de partition Partition(t,debut,fin) est exactement fin debut. Étudions la complexité en moyenne du tri rapide, en supposant qu à chaque étape la position du pivot est équiprobable pour toutes les valeurs. Notons C(k) le nombre de comparaisons pour un tableau de taille k. Lors de l appel initial de Trirapide, la fonction Partition effectue n 1 comparaisons : si le pivot est situé à la position k, il y aura C(k) comparaisons pour la partie gauche du tableau et C(n k 1) pour la partie droite. Cela donne, en moyenne : d où C(n) = 1 n 1 (C(k) + C(n 1 k)) + n 1 = n 1 C(k) + n 1 n n k=0 n 1 nc(n) = C(k) +. En considérant cette égalité aussi au rang n 1 et en la soustrayant à la précédente on obtient : k=0 nc(n) (n 1)C(n 1) = C(n 1) + (n )(n 1) k=0 d où puis nc(n) (n + 1)C(n 1) = (n 1) C(n) C(n 1) = n 1 n + 1 n n(n + 1) = 4 n + 1 n d où en additionnant, après télescopage, et en notant H n la n-ième siomme partielle de la série harmonique : C(n) n + 1 = 4(H n+1 1) H n = 4(ln(n + 1) + γ 1) (ln(n) + γ) + o(1) n + n ln(n). La complexité en moyenne du tri rapide pour les comparaisons est donc en O(n ln(n)). Cependant : dans le pire des cas, c est-à-dire quand le pivot choisi est le plus petit élément, ou le plus grand, la partition se fera en laissant un des cotés vide, et l autre avec n 1 éléments. La complexité vérifie alors la relation de récurrence C(n) = C(n 1) + n 1 qui se résout (assez) facilement, et donne C(n) n!! AIE!! Pour cette raison, il existe pléthore d autres méthodes de partitionnement ; la plus facile à écrire consiste à choisir un pivot aléatoire. On obtiendra donc un algorithme du genre : Informatique PSI* T.LEGAY Lycée d Arsonval 6/9 5 janvier 017

7 Algorithme 8 : Partitionnement : deuxième version Résultat : indice du pivot fonction Partition( t,debut,fin) x entier aléatoire entre debut et fin; échanger t x et t fin ; valeur t fin ; p debut; pour i de debut à fin 1 faire si t i valeur alors échanger t i et t p ; p p + 1 échanger t p et t fin ; renvoyer p Une autre solution possible pour le choix du pivot, elle aussi très simple à mettre en oeuvre, est de choisir l indice de l élément médian parmi les trois éléments d indices debut, fin et (debut + fin)/. Je vous encourage vivement à le faire! Un ultime raffinement : Il semble clair que le programme exposé ci-dessus est trop lourd pour des petits tableaux ; pour cette raison, il convient d arrêter la récursion dès que la taille des sous-tableaux devient inférieur à un certain seuil. Lorsque ce seuil est atteint, on fera appel au tri par insertion. Certaines études théoriques et des essais pratiques ont situés ce seuil entre 8 et 0. Le programme définitif sera donc le suivant : Algorithme 9 : Tri rapide : programme principal, version finale. fonction TriRapide( t,debut,fin) seuil = 10; tant que fin - debut > seuil faire pivot Partition(t,debut,fin); si pivot-debut fin - pivot alors debut pivot +1; TriRapide( t,pivot+1,fin); fin pivot 1; fintq TriInsertion( t,debut,fin) /* L appel initial sera: TriRapide(t,0, len(t) 1) */ VII. Tri fusion (merge sort) Le tri fusion est, elle aussi, une méthode de tri récursive s appuyant sur le principe diviser pour régner. Elle consiste à séparer les données en deux parties presque égales, puis à traiter chaque partie et enfin à les rassembler. L efficacité de l algorithme vient du fait que deux listes triées peuvent être fusionnées en temps linéaire. Le tri fusion a une efficacité comparable à celle du tri rapide, mais il n opère pas en place : une zone temporaire de données supplémentaire de taille égale à celle de l entrée est nécessaire. Il est donc plutôt utilisé pour le tri de données externes. Pseudo-code : programme principal Informatique PSI* T.LEGAY Lycée d Arsonval 7/9 5 janvier 017

8 Algorithme 10 : Tri fusion : programme principal Données : t liste des éléments à trier Résultat : la liste triée fonction TriFusion( t) n longueur(t); si n <= 1 alors renvoyer t p n ; renvoyer Fusionner( T rif usion(t[0 : p]), T rif usion(t[p :])) On pourrait envisager une implémentation récursive de la procédure Fusionner, mais cela n est pas du tout efficace à cause des nombreuses recopies de listes qui sont faites, et surtout, le nombre d appels récursifs est égal à la taille du plus grand des deux tableaux, ce qui est inacceptable : Algorithme 11 : Fusionner : version récursive moche Données : deux listes triées t 1 et t Résultat : liste triée formée de la fusion des deux fonction Fusionner(t 1, t ) si t 1 est vide alors renvoyer t si t est vide alors renvoyer t 1 si t 1 [0] < t [0] alors renvoyer [t 1 [0]] + Fusionner(t 1 [1 :], t ) renvoyer [t [0]] + Fusionner(t 1, t [1 :]) Une version itérative, qui utilise une liste auxiliaire, est de loin préférable : Algorithme 1 : Fusionner : version itérative Données : deux listes triées a et b Résultat : liste triée formée de la fusion des deux fonction Fusionner( a, b) tmp liste vide ; i 0; j 0 ; tant que (i < len(a) ) et (j < len(b)) faire si a i b j alors ajouter a i à la fin de tmp; i i + 1 ajouter b j à la fin de tmp ; j j + 1 fintq si i = len(a) alors ajouter à la fin de tmp les éléments de la liste b à partir de b j ajouter à la fin de tmp les éléments de la liste a à partir de a i renvoyer tmp; Informatique PSI* T.LEGAY Lycée d Arsonval 8/9 5 janvier 017

9 Complexité maximale : Supposons d abord que la taille du tableau initial est n = p. On a donc alors (complexité en nombre de tests) : ( ) N C(N) = C + N ( et C(1) = 1) (deux appels récursifs avec des tableaux de taille divisée par, plus le coût de la fusion). Si on réécrit : En posant u p = C(p ) p on a alors : { 1 sip = 0 u p = u p On reconnaît une suite arithmétique, dont on peut calculer le terme général u p C( p ) = p u p = p. p + p. Puisque p = log (n) on en tire : C(n) = O(n ln(n)). = 1 + p, d où il vient Si maintenant le tableau n est pas de taille p, il suffit d encadrer n entre deux puissances de successives : La fonction de complexité étant croissante, on a donc p n < p+1 C( p ) C(n) C( p+1 ) ce qui permet d en déduire que l on a encore C(n) = O(n ln(n)). Informatique PSI* T.LEGAY Lycée d Arsonval 9/9 5 janvier 017

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

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

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

Plus en détail

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

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

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

Plus en détail

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

Quelques Algorithmes simples

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

Plus en détail

Algorithmique et Programmation

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

Plus en détail

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

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

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

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

Plus en détail

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

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

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

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

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

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

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

Plus en détail

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

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

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

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

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

Plus en détail

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

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

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE BACCALAURÉAT GÉNÉRAL SESSION 2012 MATHÉMATIQUES Série S Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE Les calculatrices électroniques de poche sont autorisées, conformément à la

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

Chapitre 6. Fonction réelle d une variable réelle

Chapitre 6. Fonction réelle d une variable réelle Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette

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

CHAPITRE V. Recherche et tri

CHAPITRE V. Recherche et tri Cherchez et vous trouverez,... car qui cherche trouve. Matthieu 7 7-8 et Luc 11 9-10 CHAPITRE V Recherche et tri Objectif. Comprendre les techniques de base pour organiser des données ordonnées. Ce chapitre

Plus en détail

Initiation à la programmation en Python

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

Plus en détail

Systèmes de transmission

Systèmes de transmission Systèmes de transmission Conception d une transmission série FABRE Maxime 2012 Introduction La transmission de données désigne le transport de quelque sorte d'information que ce soit, d'un endroit à un

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

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2. Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3

Plus en détail

Représentation des Nombres

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

Plus en détail

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

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA 75. Un plombier connaît la disposition de trois tuyaux sous des dalles ( voir figure ci dessous ) et il lui suffit de découvrir une partie de chacun d eux pour pouvoir y poser les robinets. Il cherche

Plus en détail

4. Les structures de données statiques

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

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

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

Coefficients binomiaux

Coefficients binomiaux Probabilités L2 Exercices Chapitre 2 Coefficients binomiaux 1 ( ) On appelle chemin une suite de segments de longueur 1, dirigés soit vers le haut, soit vers la droite 1 Dénombrer tous les chemins allant

Plus en détail

MIS 102 Initiation à l Informatique

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

Plus en détail

Leçon 01 Exercices d'entraînement

Leçon 01 Exercices d'entraînement Leçon 01 Exercices d'entraînement Exercice 1 Etudier la convergence des suites ci-dessous définies par leur terme général: 1)u n = 2n3-5n + 1 n 2 + 3 2)u n = 2n2-7n - 5 -n 5-1 4)u n = lnn2 n+1 5)u n =

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

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1 Christophe CANDILLIER Cours de DataMining mars 2004 age 1 1. Introduction 2. rocessus du DataMining 3. Analyse des données en DataMining 4. Analyse en Ligne OLA 5. Logiciels 6. Bibliographie Christophe

Plus en détail

Informatique Générale

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

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

Corrigé des TD 1 à 5

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

Plus en détail

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Heuristique Constructive Itérativement, ajoute de nouvelles composantes à une solution partielle candidate Espace

Plus en détail

Comment évaluer une banque?

Comment évaluer une banque? Comment évaluer une banque? L évaluation d une banque est basée sur les mêmes principes généraux que n importe quelle autre entreprise : une banque vaut les flux qu elle est susceptible de rapporter dans

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

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

Plus en détail

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue

Plus en détail

Organigramme / Algorigramme Dossier élève 1 SI

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

Plus en détail

Chapitre 2. Matrices

Chapitre 2. Matrices Département de mathématiques et informatique L1S1, module A ou B Chapitre 2 Matrices Emmanuel Royer emmanuelroyer@mathuniv-bpclermontfr Ce texte mis gratuitement à votre disposition a été rédigé grâce

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

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

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

Plus en détail

Cours de Probabilités et de Statistique

Cours de Probabilités et de Statistique Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles

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

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

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

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Groupe symétrique. Chapitre II. 1 Définitions et généralités Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Introduction a la recherche d information Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département

Plus en détail

INTRODUCTION. 1 k 2. k=1

INTRODUCTION. 1 k 2. k=1 Capes externe de mathématiques : session 7 Première composition INTRODUCTION L objet du problème est l étude de la suite (s n n définie par : n, s n = Dans une première partie, nous nous attacherons à

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

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

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

Plus en détail

Quantification Scalaire et Prédictive

Quantification Scalaire et Prédictive Quantification Scalaire et Prédictive Marco Cagnazzo Département Traitement du Signal et des Images TELECOM ParisTech 7 Décembre 2012 M. Cagnazzo Quantification Scalaire et Prédictive 1/64 Plan Introduction

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

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

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Calcul différentiel sur R n Première partie

Calcul différentiel sur R n Première partie Calcul différentiel sur R n Première partie Université De Metz 2006-2007 1 Définitions générales On note L(R n, R m ) l espace vectoriel des applications linéaires de R n dans R m. Définition 1.1 (différentiabilité

Plus en détail

Mathématiques financières

Mathématiques financières Mathématiques financières Table des matières 1 Intérêt simple 1 1.1 Exercices........................................ 1 2 Intérêt composé 2 2.1 Taux nominal, taux périodique, taux réel.......................

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

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE RANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE Un message numérique est une suite de nombres que l on considérera dans un premier temps comme indépendants.ils sont codés le plus souvent

Plus en détail

Suites numériques 4. 1 Autres recettes pour calculer les limites

Suites numériques 4. 1 Autres recettes pour calculer les limites Suites numériques 4 1 Autres recettes pour calculer les limites La propriété suivante permet de calculer certaines limites comme on verra dans les exemples qui suivent. Propriété 1. Si u n l et fx) est

Plus en détail

Introduction à MATLAB R

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

Plus en détail

C f tracée ci- contre est la représentation graphique d une

C f tracée ci- contre est la représentation graphique d une TLES1 DEVOIR A LA MAISON N 7 La courbe C f tracée ci- contre est la représentation graphique d une fonction f définie et dérivable sur R. On note f ' la fonction dérivée de f. La tangente T à la courbe

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

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

Adama MBODJI MBODJ.SYSTEM

Adama MBODJI MBODJ.SYSTEM MBODJ.SYSTEM Tableaux & vecteurs Algorithmes de tris Chaînes de caractères Listes linéaires Piles & Files Arbres Fichiers Je dédie cet ouvrage à mon père Souleymane MBODJI 2 Dédicace... 2 Sommaire... 3

Plus en détail

1 ère partie : tous CAP sauf hôtellerie et alimentation CHIMIE ETRE CAPABLE DE. PROGRAMME - Atomes : structure, étude de quelques exemples.

1 ère partie : tous CAP sauf hôtellerie et alimentation CHIMIE ETRE CAPABLE DE. PROGRAMME - Atomes : structure, étude de quelques exemples. Référentiel CAP Sciences Physiques Page 1/9 SCIENCES PHYSIQUES CERTIFICATS D APTITUDES PROFESSIONNELLES Le référentiel de sciences donne pour les différentes parties du programme de formation la liste

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

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point 03 Mai 2013 Collège Oasis Durée de L épreuve : 2 heures. apple Le sujet comporte 4 pages et est présenté en livret ; apple La calculatrice est autorisée ; apple 4 points sont attribués à la qualité de

Plus en détail

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge julien.jorge@univ-nantes.fr Laboratoire d Informatique de Nantes Atlantique,

Plus en détail

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures) CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE Cinquième épreuve d admissibilité STATISTIQUE (durée : cinq heures) Une composition portant sur la statistique. SUJET Cette épreuve est composée d un

Plus en détail

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

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

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M belayach@fsr.ac.ma 1 1.Le réseau

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

Examen Médian - 1 heure 30

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

Plus en détail

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

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES Suites géométriques, fonction exponentielle Copyright c 2004 J.- M. Boucart GNU Free Documentation Licence L objectif de cet exercice

Plus en détail

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Unix/Linux I. 1 ere année DUT. Université marne la vallée Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins

Plus en détail

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com SUPPORT DE COURS Matière : Algorithmiques et Structures de Données 1 Niveau : 2 ème Année Licence en Informatique

Plus en détail

Chapitre 2 Les ondes progressives périodiques

Chapitre 2 Les ondes progressives périodiques DERNIÈRE IMPRESSION LE er août 203 à 7:04 Chapitre 2 Les ondes progressives périodiques Table des matières Onde périodique 2 2 Les ondes sinusoïdales 3 3 Les ondes acoustiques 4 3. Les sons audibles.............................

Plus en détail

Découverte de Python

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

Plus en détail

Cours 02 : Problème général de la programmation linéaire

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail