Aujourd hui. Rappels et compléments. Chapitre 5 : méthodes et algorithmes de tri. Lecture avec scanf()
|
|
- Léon Victor Cormier
- il y a 7 ans
- Total affichages :
Transcription
1 Aujourd hui Rappels et compléments Lecture avec scanf() Chapitre 5 : méthodes et algorithmes de tri 1
2 Rappels et compléments Lecture avec scanf() (cf p polycopié langage C) 2
3 Le flux d entrée stdin (clavier) Les caractères et symboles frappés au clavier sont rangés au fur et à mesure dans un tampon (buffer) géré en file. 5 6 c d main() Du point de vue du programme, les entrées sont traitées comme une suite de caractères. 3
4 Exemple Si on tape au clavier : 5 62 lac * Le tampon d entrée contient : \n l a c \n * \n 4
5 Fonctionnement de scanf() scanf(format, adr 1, adr 2, adr n ) Les caractères sont traités un par un, dans l ordre d arrivée Les caractères lus peuvent être convertis, selon le format indiqué Les variables reçoivent les données lues et converties suivant le format associé 5
6 Lecture d un caractère Format %c La lecture consomme exactement un caractère du tampon et l affecte à la variable caractère 6
7 Lecture d un caractère: exemple 1 On tape a b a \n b \n char c1; scanf( %c, &c1); c1 = a Le prochain caractère à lire est \n 7
8 Lecture d un caractère: exemple 2 On tape : a b a \n b \n char c1, c2, c3; scanf( %c%c%c, &c1, &c2, &c3); c1 = a, c2 = \n, c3 = b Le prochain caractère à lire est \n 8
9 Lecture d un caractère: exemple 3 On tape : \n 2 \n char c1, c2, c3; scanf( %c%c%c, &c1, &c2, &c3); c1 = 5, c2 = 6, c3 = \n Le prochain caractère à lire est 2 9
10 Lecture d une chaîne Format %s La lecture consomme tous les caractères du tampon jusqu au prochain séparateur (blanc, entrée) et les affecte à la variable en ajoutant un caractère \0 à la fin 10
11 Lecture d une chaîne: exemple On tape lac mer l a c m e r \n char mot1[10], char mot2[20]; scanf( %s%s, mot1, mot2); l a c \0 m e r \0 mot1 mot2 11
12 Lecture d un entier Format %i La lecture consomme d abord tous les séparateurs jusqu au premier chiffre, puis lit tous les chiffres consécutifs jusqu au premier séparateur, les convertit et les affecte à la variable entière 12
13 Lecture d un entier: exemple On tape : \n 8 int n1, n2, n3; scanf( %i%i%i, &n1, &n2, &n3); n1 = 56, n2 = 12, n3 = 8 13
14 Là où ça se complique Lectures successives de variables de types différents (entiers, chaînes ) Dans un fichier : assurer la cohérence des formats d écriture et de lecture Au clavier : attention aux \n! 14
15 Lecture mixte au clavier Exemple 1 On tape e 42 e \n 4 2 \n int n; char c; scanf( %c%i, &c, &n); c = e, n = 42 15
16 Lecture mixte au clavier Exemple 2 On tape 42 e 4 2 \n e \n int n; char c; scanf( %i%c, &n, &c); n = 42 mais c = \n! 16
17 Lecture mixte au clavier Exemple 2 : bonne méthode On tape 42 e 4 2 \n e \n int n; char c, bidon; scanf( %i%c%c, &n, &bidon, &c); n = 42, bidon = \n, c = e 17
18 Lecture mixte au clavier Exemple 2 : meilleure méthode Le caractère * (placé entre le % et le type dans un format) consomme un élément du type sans l affecter à une variable 4 2 \n e \n int n; char c; scanf( %i%*c%c, &n, &c); n = 42, c = e 18
19 Chapitre 5 Méthodes et algorithmes de tri 19
20 1) Définition et classification On considère une séquence d éléments comportant un champ qui joue le rôle de «clé» une relation d ordre total sur les clés Exemples une séquence de réels : l élément est réduit à la clé, on utilise la relation d ordre sur R une séquence de doublets <chaîne, entier> : la clé peut être l entier et la relation, l ordre sur Z la clé peut être la chaîne et la relation, l ordre alphabétique 20
21 Définition Trier la séquence consiste à effectuer une permutation des éléments de telle sorte qu ils soient rangés par ordre croissant (ou décroissant) des valeurs de la clé. 21
22 Exemple Soit un tableau de structures à deux champs: «prénom» de type chaîne «année de naissance» de type entier Anne Romain Marie Eric Chloé
23 Exemple 1) le même tableau trié par ordre décroissant avec comme clé l année de naissance Romain Anne Marie Chloé Eric
24 Exemple 2) le même tableau trié par ordre croissant avec comme clé le prénom Anne Chloé Eric Marie Romain
25 Remarques Les valeurs des clés ne sont pas nécessairement uniques. L ordre final entre deux éléments de même clé est indifférent. La clé peut être structurée en champs : le tri se fait sur la clé primaire, puis en cas d ex-aequo sur la clé secondaire, etc. Dans ce cours, les algorithmes seront illustrés sur une séquence d entiers. 25
26 2) Différentes méthodes de tri Deux grandes catégories: tri interne : tous les éléments à trier sont stockés simultanément en mémoire centrale (dans un tableau ou une liste) tri externe : quand la séquence est trop volumineuse, elle est stockée dans un fichier et on ne charge qu une partie des éléments à la fois. On alterne des phases de tri et des entrées-sorties. 26
27 Tris internes Tris simples à programmer, peu efficaces tri par insertion tri par sélection tri par comptage tri par échange Tris complexes à programmer, plus efficaces tri fusion tri rapide tris par tas 27
28 3) Caractérisation des méthodes Critères de comparaison : La place mémoire nécessaire (tableau, second tableau, arbre) La complexité en temps Unité : nombre de comparaisons et de permutations Varie selon la répartition des données: aléatoire, triée, presque triée, inversée 28
29 Propriétés des tris Stabilité Un tri est stable si il conserve l ordre d origine des éléments ayant une clé identique Progressivité Un tri est progressif si, à la k e étape, les k plus petits éléments (ou plus grands) sont à leur place finale 29
30 Choix d une méthode de tri Il n existe pas de méthode de tri idéale. Le choix se fait en fonction : des contraintes de temps et d espace de la configuration des données des propriétés souhaitées 30
31 4) Tris simples Tri par insertion Tri par sélection Tri par comptage Tri par échange 31
32 Tri par insertion Prendre un élément quelconque de la séquence non triée et l insérer à sa place dans la sous-séquence triée séquence triée séquence non triée 32
33 Tri par insertion Prendre un élément quelconque de la séquence non triée et l insérer à sa place dans la sous-séquence triée séquence triée séquence non triée 33
34 Tri par insertion Prendre un élément quelconque de la séquence non triée et l insérer à sa place dans la sous-séquence triée séquence triée séquence non triée 34
35 Tri par insertion Prendre un élément quelconque de la séquence non triée et l insérer à sa place dans la sous-séquence triée séquence triée séquence non triée 35
36 Tri par insertion Prendre un élément quelconque de la séquence non triée et l insérer à sa place dans la sous-séquence triée séquence triée séquence non triée 36
37 Tri par insertion Prendre un élément quelconque de la séquence non triée et l insérer à sa place dans la sous-séquence triée séquence triée séquence non triée 37
38 Tri par insertion : exemple
39 Tri par insertion : exemple
40 Tri par insertion : exemple
41 Tri par insertion : exemple
42 Tri par insertion : exemple
43 Tri par insertion : exemple
44 Tri par insertion On effectue k-1 permutations pour le k e élément, soit au total : (n-1) permutations Complexité: O(n 2 ) Ce tri est stable mais il n est pas progressif 44
45 Amélioration du tri par insertion Tri Shell (D. Shell, 1965) Effectuer des tris par insertion sur des sous-séquences de taille décroissante Complexité: O(n 1,5 ) Ce tri n est ni stable ni progressif 45
46 Tri par sélection Prendre le plus petit élément de la séquence non triée et l insérer à la fin de la sousséquence triée séquence triée séquence non triée 46
47 Tri par sélection Prendre le plus petit élément de la séquence non triée et l insérer à la fin de la sousséquence triée séquence triée séquence non triée 47
48 Tri par sélection Prendre le plus petit élément de la séquence non triée et l insérer à la fin de la sousséquence triée séquence triée séquence non triée 48
49 Tri par sélection Prendre le plus petit élément de la séquence non triée et l insérer à la fin de la sousséquence triée séquence triée séquence non triée 49
50 Tri par sélection Prendre le plus petit élément de la séquence non triée et l insérer à la fin de la sousséquence triée séquence triée séquence non triée 50
51 Tri par sélection : exemple
52 Tri par sélection : exemple
53 Tri par sélection : exemple
54 Tri par sélection : exemple
55 Tri par sélection : exemple
56 Tri par sélection : exemple
57 Tri par sélection : exemple
58 Tri par sélection : exemple
59 Tri par sélection : exemple
60 Tri par sélection : exemple
61 Tri par sélection On effectue N-k comparaisons pour le k e élément, soit au total : (n-1) Complexité: O(n 2 ) Ce tri n est pas stable mais il est progressif 61
62 Tri par comptage (1) Tri indirect Calculer la position finale de chaque élément puis le ranger directement à sa place dans un second tableau 62
63 Tri indirect : exemple T à trier P positions Tbis trié 63
64 Tri indirect : exemple T à trier P positions Tbis trié 64
65 Tri indirect : exemple T à trier P positions Tbis trié
66 Tri indirect On effectue N 2 comparaisons (calcul des positions) puis N affectations (création du tableau trié) Complexité: O(n 2 ) Ce tri est stable mais il n est pas progressif 66
67 Tri par comptage (2) Tri par dénombrement Calculer le nombre d occurrences de chaque élément puis créer le tableau trié 67
68 Tri par dénombrement : exemple T à trier Tableau des occurrences T trié 68
69 Tri par dénombrement : exemple T à trier Tableau des occurrences 69
70 Tri par dénombrement : exemple T à trier Tableau des occurrences T trié 70
71 Tri par dénombrement On effectue deux parcours du tableau (2*N) et un parcours du tableau des occurrences (V) Complexité: O(n) Cette méthode est très efficace mais ne s applique qu aux séquences composées d un petit nombre d éléments différents 71
72 Tri par échange Comparer deux éléments voisins et les permuter s ils ne sont pas ordonnés Répéter le traitement jusqu à ce que tous les éléments soient ordonnés 72
73 Tri bulle : exemple
74 Tri bulle : exemple
75 Tri bulle : exemple
76 Tri bulle : exemple
77 Tri bulle : exemple
78 Tri bulle : exemple
79 Tri bulle : exemple
80 Tri bulle : exemple
81 Tri bulle : exemple
82 Tri bulle : exemple
83 Tri bulle : exemple
84 Tri bulle : exemple
85 Tri bulle : exemple
86 Tri par échange On effectue N-k comparaisons pour le k e élément, soit au total : (n-1) Complexité: O(n 2 ) Ce tri est stable et progressif 86
87 5) Tris complexes Tri fusion Tri rapide Tris par tas 87
88 Tri fusion Diviser la séquence en deux sousséquences Trier chaque sous-séquence par appel récursif Fusionner les séquences triées Complexité: O(n log n) Ce tri est stable mais il n est pas progressif 88
89 Tri fusion : exemple
90 Tri fusion : exemple
91 Tri fusion : exemple
92 Tri fusion : exemple
93 Tri fusion : exemple
94 Tri rapide Choisir un élément appelé pivot Partitionner la séquence de part et d autre du pivot Trier récursivement chaque sousséquence Complexité: O(n log n) Ce tri n est ni stable ni progressif 94
95 Tri rapide : exemple
96 Tri rapide : exemple pivot 96
97 Tri rapide : exemple pivot < pivot > pivot 97
98 Tri rapide : exemple pivot < pivot > pivot < pivot placé > pivot 98
99 Tri rapide : exemple pivot < pivot > pivot < pivot placé > pivot
100 Tri par tas Insérer successivement les valeurs dans un arbre binaire, en respectant des contraintes d ordre Extraire les valeurs de l arbre pour les ranger dans le tableau, dans l ordre Complexité: O(n log n) Ce tri n est pas stable mais il est progressif 100
101 6) Conclusion La complexité du tri de n valeurs par comparaison de clés ne peut pas descendre en dessous de n log n, en moyenne et au pire. Il n existe pas de méthode de tri idéale : le choix se fait au cas par cas en fonction du problème. 101
102 Comparaisons expérimentales Pour des données peu nombreuses (n<100), un tri simple suffit le tri par sélection est préférable si les données sont volumineuses car c est celui qui nécessite le moins de permutations le tri par insertion est plus efficace lorsque la séquence est presque triée 102
103 Comparaisons expérimentales Pour des données nombreuses, un tri complexe est souvent préférable le tri par tas est le plus lent le tri fusion est moins efficace en moyenne que le tri rapide, mais meilleur dans le pire des cas (tableau presque trié). C est celui qui consomme le plus de mémoire le tri rapide est le plus utilisé. Il est peu coûteux en mémoire et a de bonnes performances quand il est bien programmé. Son efficacité baisse sur des séquences presque triées 103
104 Auto-évaluation 104
105 Question 1 On tape : et 58 e t \n 5 8 \n int n; char mot[20]; scanf( %s%i, mot, &n); Que valent n et mot? 105
106 Question 1 On tape : et 58 e t \n 5 8 \n int n; char mot[20]; scanf( %s%i, mot, &n); n vaut 58, mot vaut et 106
107 Question 2 Définition Un tri est si il conserve l ordre d origine des éléments ayant une clé identique Quelle est cette propriété? 107
108 Question 2 Définition Un tri est stable si il conserve l ordre d origine des éléments ayant une clé identique 108
109 Question 3 Quelle est la complexité des algorithmes de tri simples (tri par sélection, tri par insertion, )? des algorithmes de tri complexes (tri rapide, tri fusion, tri par tas)? 109
110 Question 3 La complexité des algorithmes de tri simples est polynomiale, en O(n 2 ) La complexité des algorithmes de tri complexes est quasi-linéaire, en O(n log n) 110
111 Question 4 Edouard a écrit deux algorithmes pour résoudre un même problème. Le premier a une complexité en O(2n) et le second a une complexité en O(5 log n). Quel algorithme est le plus efficace? 111
112 Question 4 Edouard a écrit deux algorithmes pour résoudre un même problème. Le premier a une complexité en O(2n) et le second a une complexité en O(5 log n). Le second algorithme (complexité logarithmique) est plus efficace que le premier (complexité linéaire) 112
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é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étailRappels Entrées -Sorties
Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk
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é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é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é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é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étailTABLE DES MATIÈRES. PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats. Pierre Dagnelie
PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats Pierre Dagnelie TABLE DES MATIÈRES 2012 Presses agronomiques de Gembloux pressesagro.gembloux@ulg.ac.be www.pressesagro.be
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étailInitiation à 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é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étailInformatique 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étail6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Plus en détaildonnées en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
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étailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailQuelques 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étailComplexité. 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étailFONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières
FONDEMENTS MATHÉMATIQUES 12 E ANNÉE Mathématiques financières A1. Résoudre des problèmes comportant des intérêts composés dans la prise de décisions financières. [C, L, RP, T, V] Résultat d apprentissage
Plus en détailLes structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailProjet Matlab : un logiciel de cryptage
Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que
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étailDans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.
I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement
Plus en détailConversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
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étailObjets 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é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étailSuivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)
Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être
Plus en détailChap III : Les tableaux
Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction
Plus en détailTravaux Dirigés n 1 : chaînes de caractères
UE LE315 Travaux Dirigés n 1 : chaînes de caractères Exercice 1 Ecrire une fonction int nombre_caract(char *chaîne) qui retourne la taille d une chaîne de caractères. Exercice 2 Ecrire la fonction void
Plus en détailLes chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
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é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é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étailECR_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é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étailLogiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats
Plus en détailCodage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailInitiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
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étailArchitecture 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étailQuelques 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étailPython - introduction à la programmation et calcul scientifique
Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de
Plus en détailLa classification automatique de données quantitatives
La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations
Plus en détailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailFeuille 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étailNouvelles 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étailTechniques de stockage. Techniques de stockage, P. Rigaux p.1/43
Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation
Plus en détailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
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étailUNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU
Odile VERBAERE UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU Résumé : Cet article présente une réflexion sur une activité de construction de tableau, y compris
Plus en détailProgrammation 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étailIntroduction à 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é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é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étailRepré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étailCentre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Plus en dé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étail# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>
94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue
Plus en détailGESTION DES FICHIERS C/UNIX
Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant
Plus en détailDocument d aide au suivi scolaire
Document d aide au suivi scolaire Ecoles Famille Le lien Enfant D une école à l autre «Enfants du voyage et de familles non sédentaires» Nom :... Prénom(s) :... Date de naissance :... Ce document garde
Plus en détailPROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
Plus en détailParcours FOAD Formation EXCEL 2010
Parcours FOAD Formation EXCEL 2010 PLATE-FORME E-LEARNING DELTA ANNEE SCOLAIRE 2013/2014 Pôle national de compétences FOAD Formation Ouverte et A Distance https://foad.orion.education.fr Livret de formation
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
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étailLangage SQL : créer et interroger une base
Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,
Plus en détailCréer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
Plus en détailALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Plus en détailLES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION
LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement
Plus en détailProgrammation impérative
Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des
Plus en détailCalculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/
Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes
Plus en détailSystème binaire. Algèbre booléenne
Algèbre booléenne Système binaire Système digital qui emploie des signaux à deux valeurs uniques En général, les digits employés sont 0 et 1, qu'on appelle bits (binary digits) Avantages: on peut utiliser
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étailCompression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
Plus en détailIV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
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étailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détail1. LA GESTION DES BASES DE DONNEES RELATIONNELLES
Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de
Plus en détailINTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE
INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE Le schéma synoptique ci-dessous décrit les différentes étapes du traitement numérique
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é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étailArchitecture de l ordinateur
Architecture de l ordinateur Emmanuel Lazard Université Paris-Dauphine mars 2011 Computers are my forte! BRAZIL (Terry Gilliam, 1985) Ce document a initialement été publié sous forme de livre : Emmanuel
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étailLe Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Plus en détailTable des matières. I Mise à niveau 11. Préface
Table des matières Préface v I Mise à niveau 11 1 Bases du calcul commercial 13 1.1 Alphabet grec...................................... 13 1.2 Symboles mathématiques............................... 14 1.3
Plus en détailLes opérations binaires
Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations
Plus en détailIndications pour une progression au CM1 et au CM2
Indications pour une progression au CM1 et au CM2 Objectif 1 Construire et utiliser de nouveaux nombres, plus précis que les entiers naturels pour mesurer les grandeurs continues. Introduction : Découvrir
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étail4D v11 SQL Release 5 (11.5) ADDENDUM
ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release
Plus en détailIntroduction à l algorithmique et à la programmation (Info 2)
Introduction à l algorithmique et à la programmation (Info 2) Premier cours: présentation du module, codage et définition de l algorithmique Matthieu Puigt IUT du Littoral Côte d Opale DUT Génie Industriel
Plus en détailCours 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étailCorrigé 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étailSAS ENTERPRISE MINER POUR L'ACTUAIRE
SAS ENTERPRISE MINER POUR L'ACTUAIRE Conférence de l Association des Actuaires I.A.R.D. 07 JUIN 2013 Sylvain Tremblay Spécialiste en formation statistique SAS Canada AGENDA Survol d Enterprise Miner de
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détail