1. Un tout petit peu de complexité d'algorithme
|
|
- Georgette Villeneuve
- il y a 7 ans
- Total affichages :
Transcription
1 L2S3 Harmonisation Algorithmique UFR d'ieea Université Lille 1 DS 3-10/06/2013-3h documents interdits Vous devez impérativement utiliser les primitives données dans le sujet pour manipuler les listes et les arbres, l'utilisation de toute autre notation annulera votre réponse. 1. Un tout petit peu de complexité d'algorithme Q1.1. Compter le nombre d'aectations eectuées par l'algorithme suivant en fonction de N. fonction un(n : Entier) : Entier ; début S 0 ; pour i de 1 à N faire pour J de 1 à i faire S S+1 ; n pour pour K de i+2 à N faire S S+1 ; n pour n pour n un Q1.2. Calculer le nombre de comparaisons eectuées par la fonction deux dans le pire et le meilleur cas. fonction deux(n : Entier) : Entier ; S : Entier 1 ; K : Entier 1 ; début S 0 ; tant que K<N faire S 2 S ; K K+S ; n tant que n deux Q1.3. Montrer que n 3 Ω(n 2 log n) mais que n 3 / Θ(n 2 log n). Q1.4. Ecrire un algorithme itératif ayant pour paramètre un entier n ne faisant pas nécessairement quelque chose de malin mais dont la complexité est décrite par Ω(log n) et O(n 2 ), sans utiliser la fonction log. Justiez bien pourquoi la complexité de votre algorithme correspond à ce qui est demandé. Q1.5. Proposez un algorithme récursif ayant pour paramètre deux entier n et k qui ne fait pas nécessairement quelque chose de malin mais dont le nombre de comparaisons dans le pire cas est donné par l'équation de récurrence C(n, k) = C(n/2, k 5) + Θ(nk). 1
2 2. En pleine forêt Les primitives à utiliser sont à la n du sujet. Q2.1. Ecrire la procédure affichageinfixe qui ache les éléments de l'arbre binaire A dans l'ordre inxé. procedure affichageinfixe(a : arbre); Q2.2. Ecrire l'équation de récurrence donnant le nombre d'appels à estarbrevide eecutés lors de l'execution de affichageinfixe sur un arbre binaire de taille n. Q2.3. Que devient cette équation lorsque l'arbre est complet? Et lorsqu'il est dégénéré? Q2.4. Sans résoudre les équations mais par un argument convaincant donnez l'ordre de grandeur du nombre d'additions eectuées lors de l'execution de affichageinfixe sur un arbre binaire de taille n. Une séquence d'entiers de longueur indéterminée initialement est saisie au clavier. On dispose d'une structure d'arbre binaire et d'aucune autre structure de données : pas de liste, pas de tableau, etc. On dispose aussi de la fonction suivante pour récupérer un par un chacun des entiers de la séquence : fonction lire() retourne entier; Q2.5. Comment utiliser la structure d'arbre disponible pour créer une liste contenant tous les entiers de la séquence? L'objectif est maintenant d'acher les entiers contenus dans la séquence par ordre croissant, une fois qu'elle a été entièrement saisie bien sur. Une contrainte est imposée sur la complexité de la méthode, elle doit être, au moins dans certains cas, strictement meilleure que O(n 2 ). Q2.6. Expliquer comment procéder : de quelles structures de données, fonctions et procédures vous avez besoin, et leur fonctionnement général. Il est inutile d'écrire un code très détaillé mais il faut quand même donner une idée assez précise de votre méthode pour pouvoir en écrire un à partir de vos explications si on le souhaitait. Vous pouvez proposer une méthode même si vous n'êtes pas certain de sa complexité. Q2.7. Décrivez un pire et un meilleur cas pour votre méthode. Q2.8. Quelle est la complexité pire et meilleur cas de votre méthode en fonction de la taille n de la séquence? Justier qu'elle satisfait la contrainte de complexité imposée. 3. Tri par paquets (Bucket Sort) Les primitives à utiliser sont à la n du sujet. L'objectif dans cet exercice est d'écrire l'une des variantes du tri par paquets (Bucket Sort). Ce tri s'applique sur des données représentées par des chaînes de caractères ou des entiers codés dans une base donnée que nous supposerons rangées dans un tableau de longueur n. Par exemple, le tri par paquets pourra être utilisé pour ranger dans l'ordre lexicographique le tableau de longueur 5 de chaînes de caractères suivant : T = [ "abcde" ;"eac" ;"ab" ;"bac" ;"c" ]. 2
3 Le principe de ce tri est de regrouper dans un même paquet tous les mots répondant de manière identique à un critère de répartition préalablement déni. Le choix de la longeur du mot comme critère de répartition donnerait pour l'exemple précédent les paquets suivants : paquet 1 : "c" paquet 2 : "ab" paquet 3 : "eac", "bac" paquet 4 : paquet 5 : "abcde" Chaque paquet est ensuite trié séparément avec un autre algorithme de tri ou bien de manière récursive selon un autre critère, ce qui donnerait : paquet 1 : "c" paquet 2 : "ab" paquet 3 : "bac", "eac" paquet 4 : paquet 5 : "abcde" Et enn il faut replacer tous les éléments dans le tableau de manière à ce qu'il soit trié. Suivant le critère de répartition choisit cette étape peut être plus ou moins compliquée à réaliser. Dans l'exemple précédent il ne sut pas de prendre les paquets dans l'ordre pour obtenir un tableau trié. On obtiendrait en eet le tableau T = [ "c" ;"ab" ;"bac" ;"eac" ;"abcde" ] qui n'est pas du tout rangé dans l'ordre lexicographique. Il faut en fait parcourrir les paquets dans l'ordre mais en ne choisissant que les mots qui commencent pas un 'a' dans un premier temps, puis par un 'b' etc jusqu'à ce que tous les paquets soient vides et le tableau initial rerempli : T = [ "ab" ;"abcde" ;"bac" ;"c" ;"eac" ]. Nous allons représenter les paquets par des listes chaînées et construire un tableau pour stocker ces listes, ce qui donnerait pour l'exemple précédent sur les chaînes la structure de la Figure 1. paquet 1 c paquet 2 ab paquet 3 bac eac paquet 4 paquet 5 abcde Figure 1 Représentation sous forme de listes chaînées des paquets triés utilisés lors du tri par paquet du tableau T = [ "abcde" ;"eac" ;"ab" ;"bac" ;"c" ] avec pour critère de répartition la longueur des chaînes. Dans la suite de l'exercice nous considérerons que les données sont des entiers et que le critère de répartition est la valeur entière codée par les k bits de poids faibles de la représentation binaire de chaque entier. Nous supposerons connue la fonction kpf de complexité supposée constante qui retourne la valeur codée par les k bits de poids faibles de la représentation binaire de n : fonction kpf(k : entier; n : entier) retourne entier; 3
4 Si la représentation de n contient moins de k bits, des zéros sont ajoutés en guise de poids forts pour obtenir une représentation sur exactement k bits. Par exemple, kpf(3,1) retourne la valeur 1 car en binaire 1 s'écrit simplement 001, kpf(3,6) retourne la valeur 6 car 6 s'écrit en binaire 110, kpf(3,15) retourne la valeur du nombre codé en binaire par 111 soit l'entier 7 car 15 est codé par 1111, kpf(3,10) retourne la valeur du nombre codé en binaire par 010 soit l'entier 2 car 10 est codé en binaire par Initialisation des paquets Q3.1. Pour eectuer le tri avec le critère de répartition kpf combien de paquets sont nécessaires? Justiez briévement votre réponse. Dans la suite vous pourrez noter nbp ce nombre si vous ne l'avez pas encore calculé. Q3.2. Représentez le tableau de paquets à construire pour trier les données [ 10 ;3 ;1 ;7 ;4 ;2 ;0 ;15 ] avec le critère de répartition kpf pour k = 2. Chaque paquet sera représenté sous forme d'une liste chaînée triée comme sur la Figure 1. Au lieu de trier récursivement les paquets nous allons simplement inserer chaque nouvel élément directement à sa place dans la liste représentant le paquet où doit être placé l'élément pour qu'elle soit toujours triée. Q3.3. Quelle astuce pouvez vous utiliser pour rendre l'opération d'insertion dans une liste plus simple à réaliser? Vous pouvez utiliser cette astuce dans la suite mais pensez bien alors à la prendre en compte pour chacune des questions suivantes lorsque c'est nécessaire. Q3.4. Ecrire la fonction initpaquets prenant en paramètre la taille t du tableau de paquets à créer et retourne ce tableau initialisé convenablement. fonction initpaquets(t : entier) retourne tableau de listes; Q3.5. Donnez en le justiant l'ordre de grandeur asymptotique de la complexité de la fonction initpaquets. 3.2 Insertion dans un paquet Une fois que le paquet dans lequel doit aller un élément est déterminé grâce au critère de répartition, il faut placer l'élément dans ce paquet. Un paquet est représenté par une liste stockée dans le tableau de paquets. Q3.6. Ecrire la procédure itérative insertion qui insére un élément E à sa place dans une liste triée du tableau de paquets P désignée par son indice r. Indication : un schéma représentant soigneusement chaque étape de la procédure aide souvent à ne pas tout mélanger... procedure insertion(e : entier; P : tableau de listes; r : entier); Q3.7. Décrivez un pire et un meilleur cas d'exécution de la procédure insertion. Q3.8. Donnez en le justiant l'ordre de grandeur asymptotique de la complexité pire et meilleur cas de l'insertion pour une liste de taille l. Dans la suite nous noterons ces complexités C p insert (l) et Cm insert (l), vous pourrez donc répondre aux questions de complexité suivantes même si vous n'avez pas encore calculé C p insert (l) et Cinsert m (l). 4
5 3.3 Répartition Le principe de la répartition est simplement de placer chaque élément du tableau à trier dans les paquets. Pour celà vous pourrez utiliser la procédure insertion des questions précédentes même si vous ne l'avez pas écrite. Q3.9. Ecrire la procédure repartition qui réparti tous les éléments du tableau à trier T dans le tableau de paquets P selon la valeur codée par les k bits de poids faible de chaque élément. procedure repartition(t : tableau; P : tableau de listes; k : entier); Meilleur cas Q3.10. Décrivez un meilleur cas pour la répartition d'un tableau à trier T de taille n dans un tableau de paquets. Q3.11. Donnez en fonction de Cinsert m la complexité asymptotique dans le meilleur cas de la fonction de répartition. En déduire cette complexité en fonction de n la taille du tableau à trier et éventuellement de k le nombre de bits d'un élément consulté par la fonction kpf Pire cas Nous allons étudier deux situations particulières 1 à l'issue de la répartition an de déterminer laquelle représente un pire des cas. La première situation intéressante se produit lorsque tous les éléments du tableau à trier T se retrouvent dans le même paquet dont la taille est donc n. Q3.12. Donnez en fonction de C p insert la complexité asymptotique de la fonction de répartition lorsque tous les éléments sont placés dans le même paquet. Q3.13. En déduire cette complexité en fonction de n, la taille du tableau à trier, et éventuellement de k, le nombre de bits d'un élément consulté par la fonction kpf. Dans la seconde situation les éléments sont équitablement répartis dans tous les paquets, ils sont donc de taille n/nombre de paquets. Q3.14. Donnez en fonction de C p insert la complexité asymptotique de la fonction de répartition lorsque tous les paquets sont de même taille. Q3.15. En déduire cette complexité en fonction de n, la taille du tableau à trier, et éventuellement de k, le nombre de bits d'un élément consulté par la fonction kpf. Q3.16. Déduire des questions précédentes un pire cas pour la répartition en le justiant. 3.4 Reconstruction du tableau à trier Une fois les éléments répartis et pré-triés dans les paquets ils faut les replacer dans l'ordre croissant dans le tableau à trier. Q3.17. Expliquez pourquoi à l'issue de l'étape de répartition des éléments, l'élément minimum du tableau se trouve toujours au début de l'un des paquets. 1. Ici on ne considère que deux situations, il y en a en fait beaucoup plus mais ce sont les deux situations extrèmes et vous pouvez même prouver que l'une d'elle au moins est bien un pire des cas parmi toutes pour la répartition, mais ce n'est pas demandé ici! 5
6 Q3.18. Ecrire la fonction trouvermin prenant en paramètre le tableau de paquet P et retournant l'indice du paquet dans P où se trouve l'élément minimum présent dans P. fonction trouvermin(p : tableau de liste) retourne entier; Q3.19. Ecrire la procédure extrairemin prenant en paramètre le tableau de paquets P, le tableau à trier T et un indice i dans T et qui trouve l'élément minimum de P, le supprime de P et le place à l'indice i dans T. procedure extrairemin(p : tableau de listes; T : tableau; i : entier); Q3.20. Ecrire la procédure reconstruction prenant en paramètre le tableau T à trier et le tableau de paquets P qui replace tous les éléments de P dans l'ordre croissant dans T. procedure reconstruction(t : tableau; P : tableau de listes); Q3.21. Donnez, en le justiant, l'ordre de grandeur asymptotique de la complexité de la procédure reconstruction. 3.5 Tri complet Q3.22. Ecrire la procédure tripaquetkfaible qui tri le tableau T d'entiers selon l'algorithme précédement détaillé du tri par paquet avec comme critère de répartition la valeur des k bits de poids faible des éléments de T. procedure tripaquetkfaible(t : tableau; k : entier); Q3.23. Décrivez un pire et un meilleur cas pour votre algorithme de tri et donnez la complexité asymptotique dans les deux cas. Q3.24. Ce tri vous paraît-il ecace? Expliquez pourquoi. Quelques formules utiles i = pour q 1 : (n + 1)n 2 i=0 i 2 = q i = qn+1 1 q 1 (2n + 1)(n + 1)n 6 ( ) 2 i 3 (n + 1)n = 2 i q i = n qn+1 q 1 q qn 1 (q 1) 2 i 2 q i = n 2 qn+1 q 1 2n qn+1 (q 1) 2 + q(q + 1) qn 1 (q 1) 3 6
7 3.6 OPTIONNEL : Complément de réexion Les questions de cette partie sont des bonus, Ne pas y répondre ou y répondre mal n'ont pas d'inuence sur la note nale, les bonnes réponses apportent des points hors barème. Un tri stable est un tri qui conserve l'ordre des éventuelles multiples occurences d'un même élément. Lorsqu'il s'agit de trier simplement des entiers, qu'un algorithme soit stable ou non n'a que peut d'importance. Cependant s'il s'agit de trier des éléments composés de plusieurs données selon l'une d'elle, celà peut avoir une inuence cruciale sur l'ecacité de traitements ultérieurs. Q3.25. Le tri eectué par votre procédure tripaquetkfaible est il stable? S'il ne l'est pas comment le rendre stable? Dans tous les cas, n'oubliez pas de justier votre réponse. Un critère de répartition est croissant si pour tout paquet i, ses éléments sont tous inférieurs aux éléments du paquet i + 1. Q3.26. Donner, en le justiant, un critère de répartition croissant sur les entiers. Q3.27. Ecrire la procédure rangement prenant en paramètre le tableau T à trier et le tableau de paquets P qui replace tous les éléments de P dans l'ordre croissant dans T lorsqu'on suppose que le critère de répartition est croissant. procedure rangement(t : tableau; P : tableau de listes); Q3.28. Donnez, en le justiant, l'ordre de grandeur asymptotique de la complexité pire cas de cette procédure. En déduire si la complexité pire cas du tri par paquet s'améliore lorsqu'on prend un critère de répartition croissant. 7
8 Listes // la liste vide constante listevide : LISTE // ajouterentete(l, e) = (e; L) où L et (e ;L) sont des listes et e un élément fonction ajouterentete(l : LISTE ; e : ELEMENT) retourne LISTE // tete(l) = e si L = (e ;r) où r est une liste et e un élément fonction tete(l : LISTE) retourne ELEMENT // reste(l) = r si L = (e ;r) où r est une liste et e un élément fonction reste(l : LISTE) retourne LISTE // estlistevide(l) L est vide fonction estlistevide(l : LISTE) retourne BOOLEAN // si initialement L = (e, r) où r est une liste, après modierreste(l,ll) L devient la liste (e ;ll) procédure modierreste(l : LISTE ; ll : LISTE) Arbres binaires // creerarbre(e,g,d) = < e, g, d > fonction creerarbre(e : ELEMENT ; g,d : ARBRE) retourne ARBRE // racine(a) = e si a =< e, g, d >, a ne doit pas être l'arbre vide fonction racine(a : ARBRE) retourne ELEMENT // gauche(a) = g si a =< e, g, d >, a ne doit pas être l'arbre vide fonction gauche(a : ARBRE) retourne ARBRE // droit(a) = d si a =< e, g, d >, a ne doit pas être l'arbre vide fonction droit(a : ARBRE) retourne ARBRE // estarbrevide(a) a est vide fonction estarbrevide(a : ARBRE) retourne BOOLEAN // si a =< e, g, d > alors a =< e, g, d > après modiergauche(a,g ), a ne doit pas être vide procedure modiergauche(a : ARBRE ; g' : ARBRE) // si a =< e, g, d > alors a =< e, g, d > après modierdroit(a,d ), a ne doit pas être vide procedure modierdroit(a : ARBRE ; d' : ARBRE) 8
Recherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
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étailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailLes tests logiques avec Excel
1. La fonction SI (test simple) : Les tests logiques avec Excel a) Nous aimerions qu'excel nous avertisse dés qu'une certaine valeur est atteinte, par exemple en affichant un message d'avertissement. Nous
Plus en détailRaisonnement 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é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étailchapitre 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étailPar combien de zéros se termine N!?
La recherche à l'école page 79 Par combien de zéros se termine N!? par d es co llèg es An dré Do ucet de Nanterre et Victor Hugo de Noisy le Grand en seignants : Danielle Buteau, Martine Brunstein, Marie-Christine
Plus en détailCORRECTION EXERCICES ALGORITHME 1
CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré
Plus en détail6. Les différents types de démonstrations
LES DIFFÉRENTS TYPES DE DÉMONSTRATIONS 33 6. Les différents types de démonstrations 6.1. Un peu de logique En mathématiques, une démonstration est un raisonnement qui permet, à partir de certains axiomes,
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailTP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
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étailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en dé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étailEnsimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1
Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites
Plus en détail6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses
6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation
Plus en détailLes suites numériques
Chapitre 3 Term. STMG Les suites numériques Ce que dit le programme : Suites arithmétiques et géométriques CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Suites arithmétiques et géométriques Expression du terme
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é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étailPeut-on tout programmer?
Chapitre 8 Peut-on tout programmer? 8.1 Que peut-on programmer? Vous voici au terme de votre initiation à la programmation. Vous avez vu comment représenter des données de plus en plus structurées à partir
Plus en détailLe chiffre est le signe, le nombre est la valeur.
Extrait de cours de maths de 6e Chapitre 1 : Les nombres et les opérations I) Chiffre et nombre 1.1 La numération décimale En mathématique, un chiffre est un signe utilisé pour l'écriture des nombres.
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étailDate : 18.11.2013 Tangram en carré page
Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches
Plus en détailSérie TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.
Série TD 3 Exercice 4.1 Formulez un algorithme équivalent à l algorithme suivant : Si Tutu > Toto + 4 OU Tata = OK Alors Tutu Tutu + 1 Tutu Tutu 1 ; Exercice 4.2 Cet algorithme est destiné à prédire l'avenir,
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étailPourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Plus en détailVers l'ordinateur quantique
Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
Plus en détail2. RAPPEL DES TECHNIQUES DE CALCUL DANS R
2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications
Plus en détailBases 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étailPROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES
Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.
Plus en détailTraitement de texte : Quelques rappels de quelques notions de base
Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui
Plus en détailProblème : Calcul d'échéanciers de prêt bancaire (15 pt)
Problème : Calcul d'échéanciers de prêt bancaire (15 pt) 1 Principe d'un prêt bancaire et dénitions Lorsque vous empruntez de l'argent dans une banque, cet argent (appelé capital) vous est loué. Chaque
Plus en détailAlgorithmes de recherche
Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
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é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étailOrdonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1
CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste
Plus en détailAlgorithmique avec Algobox
Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions
Plus en détailLibreOffice Calc : introduction aux tableaux croisés dynamiques
Fiche logiciel LibreOffice Calc 3.x Tableur Niveau LibreOffice Calc : introduction aux tableaux croisés dynamiques Un tableau croisé dynamique (appelé Pilote de données dans LibreOffice) est un tableau
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étailAlgorithmique avec Algobox
Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après
Plus en détailEXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
Plus en détailNote de cours. Introduction à Excel 2007
Note de cours Introduction à Excel 2007 par Armande Pinette Cégep du Vieux Montréal Excel 2007 Page: 2 de 47 Table des matières Comment aller chercher un document sur CVMVirtuel?... 8 Souris... 8 Clavier
Plus en détailMISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par
Plus en détail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Plus en détailTUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters
TUTORIAL REUTERS Connexion à Reuters Allez sur https://portal.hpd.global.reuters.com/auth/login.aspx Le login est reut@ensimag.imag.fr, =1 à 5, le et le mot de passe étant ceux qui vous ont été
Plus en détailIntroduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.
Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis
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é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étailSuites numériques 3. 1 Convergence et limite d une suite
Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n
Plus en détailLa fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
Plus en détailLicence Sciences, Technologies, Santé Mention Informatique Codage de l'information
1 Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information année universitaire 2013-2014 Licence Creative Commons cbea 2 Introduction Objectifs du cours Le cours de Codage de
Plus en détailPour faire réapparaitre le ruban, il suffit de taper à nouveau sur CTRL + F1
30 astuces pour gagner du temps avec Excel http://www.journaldunet.com/management/efficacite-personnelle/astuces-excel/ C'est certainement l'un des outils les plus utilisés dans les bureaux. Tous les métiers,
Plus en détailPROBLEME(12) Première partie : Peinture des murs et du plafond.
PROBLEME(12) Une entreprise doit rénover un local. Ce local a la forme d'un parallélépipède rectangle. La longueur est 6,40m, la largeur est 5,20m et la hauteur est 2,80m. Il comporte une porte de 2m de
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étailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailProgrammation sous QT
SN IR 1 2014-2015 Développement logiciel Programmation Objet Programmation sous QT Projet Alarme Domestique ~ TD n 6~ Conception et Tests Unitaires Date : mars 2015 Version : 3.2 Référence : TD6 Conception
Plus en détailTDB-SSI LES EXTENSIONS
TDB-SSI LES EXTENSIONS U n i v e r s i t é d e l a M é d i t e r r a n é e F a c u l t é d e M é d e c i n e Projet TDB-SSI Documentation du Tableau de Bord de Sécurité des Systèmes d Information Marseille,
Plus en détailExamen 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étailBAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007
BAREME ur 40 point Informatique - eion 2 - Mater de pychologie 2006/2007 Bae de donnée PRET de MATERIEL AUDIO VISUEL. Remarque : Le ujet comporte 7 page. Vérifier qu il et complet avant de commencer. Une
Plus en détailMIS 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étailChapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping
Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager
Plus en détailT. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files
Chapitre 7 (suite) Listes particulières Pile : liste particulière T. A. D. pile insertion et suppression au sommet de la pile extraction Files queue Listes doublement chaînées insertion file : liste particulière
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é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étailDéfinition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.
Chapitre : Les nombres rationnels Programme officiel BO du 8/08/08 Connaissances : Diviseurs communs à deux entiers, PGCD. Fractions irréductibles. Opérations sur les nombres relatifs en écriture fractionnaire.
Plus en détailChapitre IV : La Tenue Des Livres Le journal Le grand Livre
Chapitre IV : La Tenue Des Livres Le journal Le grand Livre A - Notion sur la tenue des livres : 1) Notions Générales : La tenue des livres consiste à inscrire sur des registres comptables les différentes
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é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étailChapitre 1 I:\ Soyez courageux!
Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel
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étail1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2
Série de TD 2 Exercice 2.1 Quel résultat produit le programme suivant? Var val, double : entier ; Val := 231 ; Double := Val * 2 ; Ecrire (Val) ; Ecrire (Double) ;. Exercice 2.2 Ecrire un programme qui
Plus en détailBac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)
Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures) Eercice 1 (5 points) pour les candidats n ayant pas choisi la spécialité MATH Le tableau suivant donne l évolution du chiffre
Plus en détailMODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN
MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN 1. Introduction Le règlement (UE) n 610/2013 du 26 juin 2013 a modifié la convention d'application de l'accord de Schengen,
Plus en détailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Plus en détail1. Création d'un état... 2. 2. Création d'un état Instantané Colonnes... 3. 3. Création d'un état Instantané Tableau... 4
1. Création d'un état... 2 2. Création d'un état Instantané Colonnes... 3 3. Création d'un état Instantané Tableau... 4 4. Création d'un état avec plusieurs tables... 9 5. Modifier la structure d'un état...11
Plus en détailLes différents types de données et leurs opérations de base
Séquence 2 Les différents types de données et leurs opérations de base Contenu Présentation générale... 21 Partie 1 Les 3 familles de données et l'opération d'affectation... 22 1. Les trois familles de
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étailPARCOURS COMPLET AU COURS MOYEN
81 I) UNE ENTAME DE TYPE "SOCIAL" : LE BUREAU DE POSTE Le bureau de poste de St Herblain Preux est récent. La classe de CM de l'école proche ("Les Crépinais") pouvait y découvrir divers aspects de l'informatique
Plus en détailSeance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Plus en détailUE8 Systèmes d information de gestion Corrigé indicatif
DCG session 2009 UE8 Systèmes d information de gestion Corrigé indicatif Dossier 1 1- Dictionnaire des données Code Propriété Signification Type 1 Code_Fam Code famille OPCVM 2 Lib_Fam Libellé de la famille
Plus en détailExport vers le format WAV dans ArtemiS SUITE
9/14 dans ArtemiS SUITE Export vers WAV dans le Projet 2 Réglage 2 Type de données et résolution 4 Export des informations d'impulsions tachymétriques 4 Fondu 5 Fichier Résultat 6 Paramètres pour l'export
Plus en détailFonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples
45 Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples Les espaces vectoriels considérés sont réels, non réduits au vecteur nul et
Plus en détailGuide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne
Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne Aperçu du Centre de copies et d'impression Bureau en Gros en ligne Pour accéder à «copies et impression Bureau en Gros
Plus en détailPropagation sur réseau statique et dynamique
Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.
Plus en détailAnne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Plus en détail1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5
1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases
Plus en détailLimites finies en un point
8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,
Plus en détail4. 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é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étailExercices de dénombrement
Exercices de dénombrement Exercice En turbo Pascal, un entier relatif (type integer) est codé sur 6 bits. Cela signifie que l'on réserve 6 cases mémoires contenant des "0" ou des "" pour écrire un entier.
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étail1.6- Génération de nombres aléatoires
1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en dé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étail