Année Universitaire 2013/2014 DST de Printemps
|
|
|
- Marie-Paule Marin
- il y a 10 ans
- Total affichages :
Transcription
1 Année Universitaire 2013/2014 DST de Printemps Parcours : Licence LIMI201 & LIMI211 Code UE : J1MI2013 Épreuve : Algorithmes et Programmes Date : Lundi 16 juin 2014 Heure : 16 heures 30 Durée : 2 heures Documents : non autorisés Épreuve de M. Alain Griffault Collège Sciences et Technologies SUJET + CORRIGE Avertissement À chaque question, vous pouvez au choix répondre par un algorithme ou bien par un programme python. Les indentations des fonctions écrites en Python doivent être respectées. L espace laissé pour les réponses est suffisant (sauf si vous utilisez ces feuilles comme brouillon, ce qui est fortement déconseillé). Question Points Score Le tri par tas 28 Suite de Padovan 12 Total: 40 Exercice 1 : Le tri par tas Le but de l exercice est l écriture d un algorithme de tri de tableaux basé sur la notion de tas. Les questions se suivent logiquement, mais beaucoup sont indépendantes. (a) Des fonctions élémentaires pour se déplacer dans un tableau. (28 points) [0] : 5 [1] : 2 [3] : 0 [5] : 9 [6] : 1 indice T[indice] [7] : 5 (a) Vision tabulaire (b) Vision arborescente Figure 1 Deux vues différentes d un même tableau La figure 1 montre qu un même tableau peut être dessiné avec des cases contiguës, ou bien avec des cases dispersées dans une arborescence. Avec la vue contiguë, on utilise généralement une variable i qui parcourt les indices du tableau. Avec la vue arborescente, on peut évidemment utiliser une variable i qui parcourt les indices du tableau, mais on utilise également trois fonctions qui permettent de suivre les liens bidirectionnels (réels ou virtuels) de l arborescence : gauche(indice) représente les liens pointillé du haut vers le bas de l arborescence. Par exemple, dans la figure 1b, gauche(1)=3, gauche(4)=9 et gauche(2)=5. droite(indice) représente les liens en trait plein du haut vers le bas de l arborescence. Par exemple, dans la figure 1b, droite(1)=4, droite(3)=8 et droite(0)=2. pere(indice) représente les liens du bas vers le haut de l arborescence. Par exemple, dans la figure 1b, pere(4)=1, pere(7)=3 et pere(2)=0. Par contre pere(0) n est pas défini, et sa valeur (null,-1,0,...) importe peu car jamais utilisée dans cet exercice.
2 Voici un algorithme et un programme Python, de complexités en temps et en espace de Θ(1), possibles pour la fonction gauche(indice). Gauche(i){ retourner 2*i+1; } def gauche ( i ) : return 2 i +1 i. (1 point) Écrire un programme Python ou un algorithme droite(i) qui retourne un entier d tel qu il existe un lien en trait plein du haut vers le bas reliant les indices i à d. Les complexités en temps et en espace doivent être en Θ(1). def d r o i t e ( i ) : return 2 ( i +1) ii. (1 point) Écrire un programme Python ou un algorithme pere(i) qui retourne un entier p tel qu il existe un lien du bas vers le haut reliant les indices i à p. Les complexités en temps et en espace doivent être en Θ(1). def pere ( i ) : return ( i 1)//2 (b) Construction d un tas à partir d un tableau. Définition 1 Un tas est un tableau d entiers tel que pour tous les indices i strictement positifs, la valeur de T[i] est inférieure ou égale à celle de T[pere(i)] Le but de cette partie de l exercice est d effectuer la transformation représentée par la figure 2. [0] : 5 [0] : 9 [1] : 2 [3] : 0 [5] : 9 [6] : 1 [5] : 5 [6] : 1 [7] : 5 (a) Vue arborescente du tableau initial (b) Tas obtenu par construction Figure 2 Construction d un tas i. (3 points) Écrire un programme Python ou un algorithme estuntas(t) qui retourne Vrai si le tableau T est un tas, Faux sinon. La complexité en temps doit être en Ω(1), O(n) avec n = longueur(t ), et celle en espace doit être en Θ(1). def estuntas (T) : for i in range ( 1, l e n (T ) ) : i f T[ pere ( i )] <T[ i ] : return F a l s e return True ii. (3 points) Avec les hypothèses 0 i<limite et limite longueur(t), écrire un programme Python ou un algorithme maximum(t,i,limite) qui retourne : (imax < limite) (imax {i, gauche(i), droite(i)}) T[iMax] T[i] le plus petit entier imax tel que gauche(i) < limite T[iMax] T[gauche(i)] droite(i) < limite T[iMax] T[droite(i)] Page 2 sur 7
3 En d autres termes, maximum(t,i,limite) retourne l indice (inférieur à limite) de la plus grande des trois valeurs T[i], T[gauche(i)] et T[droite(i)]. En cas de valeurs égales, le plus petit indice est retourné. Par exemple sur la figure 2a, maximum(t,0,8)=2, maximum(t,2,8)=5, maximum(t,3,8)=7 et maximum(t,3,7)=3. Les complexités en temps et en espace doivent être en Θ(1). def maximum(t, i, l i m i t e ) : a s s e r t (0<= i and i <l i m i t e and l i m i t e <=l e n (T) ) imax = i g = gauche ( i ) d = d r o i t e ( i ) # maximum e n t r e T[ i ], T[ g ] e t T[ d ] avec g e t d < l i m i t e i f g<l i m i t e and T[ g]>t[ imax ] : imax = g i f d<l i m i t e and T[ d]>t[ imax ] : imax = d return imax iii. (1 point) Soit la fonction récursive Python suivante def e n t a s s e r R e c u r s i f (T, i, l i m i t e ) : imax = maximum(t, i, l i m i t e ) i f imax!= i : echange (T, i, imax ) e n t a s s e r R e c u r s i f (T, imax, l i m i t e ) avec def echange (T, i, j ) : aux = T[ i ] T[ i ] = T[ j ] T[ j ] = aux Compléter l arborescence avec les valeurs du tableau après l appel entasserrecursif(t,0,8) Solution : [0] : 5 [0] : 9 [2] : 9 [5] : 6 [6] : 1 [5] : 5 [6] : 1 (a) Avant entasser (b) Après entasser Figure 3 Entasser(T,0,8) iv. (3 points) La fonction entasserrecursif(t,i,limite) est récursive terminale. Écrire un programme Python ou un algorithme itératif entasser(t,i,limite) équivalent. def e n t a s s e r (T, i, l i m i t e ) : imax = maximum(t, i, l i m i t e ) while imax!= i : echange (T, i, imax ) i = imax imax = maximum(t, i, l i m i t e ) v. (1 point) Donner les complexités en temps et en espace (meilleur des cas et pire des cas) de votre algorithme entasser(t,i,limite). Page 3 sur 7
4 Les complexités sont : en temps en Ω(1), O(log 2 (n)) avec n = longueur(t ), vi. (4 points) L algorithme entasser(t,i,limite) échange des valeurs du tableau de haut en bas, en suivant une branche de l arborescence. Cela a pour effet de faire descendre des petites valeurs, et de faire monter les grandes valeurs. Il est donc possible de construire un tas, en itérant cet algorithme sur les indices décroissants du tableau. En utilisant entasserrecursif(t,i,limite) ou entasser(t,i,limite), écrire un programme Python ou un algorithme construiretas(t) qui transforme un tableau en un tas. def c o n s t r u i r e T a s (T) : #f o r i in range ( l e n (T) 1, 1, 1): peut e t r e o p t i m i s e en for i in range ( ( l e n (T) 1)//2, 1, 1): e n t a s s e r (T, i, l e n (T) ) vii. (1 point) Donner les complexités en temps et en espace (meilleur des cas et pire des cas) de votre algorithme construiretas(t). Si l on utilise l algorithme itératif pour entasser, les complexités sont : en temps en Ω(n) si T est déjà un tas, O(n log 2 (n)) avec n = longueur(t ), (c) Tri d un tas. Le but de cette partie de l exercice est d effectuer la transformation représentée par la figure 4. [0] : 9 [0] : 0 [1] : 1 [2] : 1 [5] : 5 [6] : 1 [4] : 5 [5] : 5 [6] : 6 [7] : 9 (a) Tas initial (b) Vue arborescente du tableau trié Figure 4 Tri d un tas i. (4 points) Dans un tas, la valeur maximale est à la racine de l arborescence, donc en T[0]. Dans le tableau trié, cette valeur doit être en T[len(T)-1]. Il suffit donc d échanger ces deux valeurs pour progresser vers la solution. Une fois cette échange fait, si l on exclut la dernière valeur du tableau, le tas est peu changé. En fait entasser(t,0,len(t)-1) va créer un nouveau tas pour les valeurs du tableau dont les indices sont inférieurs à limite = len(t)-1. Il suffit donc d itérer ces deux étapes (échange, entasser) pour trier un tas. Écrire un programme Python ou un algorithme triertas(t) qui transforme un tas en un tableau trié en ordre croissant. def t r i e r T a s (T) : for i in range ( l e n (T) 1,0, 1): echange (T, 0, i ) e n t a s s e r (T, 0, i ) Page 4 sur 7
5 ii. (1 point) Donner les complexités en temps et en espace (meilleur des cas et pire des cas) de votre algorithme triertas(t). Si l on utilise l algorithme itératif pour entasser, les complexités sont : en temps en Ω(n) si toutes les valeurs de T sont égales, O(n log 2 (n)) avec n = longueur(t ), (d) Tri d un tableau à l aide de tas. i. (3 points) Écrire un programme Python ou un algorithme tripartas(t) qui trie un tableau d entiers T en construisant d abord un tas, puis en le triant. def tripartas (T) : c o n s t r u i r e T a s (T) t r i e r T a s (T) ii. (1 point) Donner les complexités en temps et en espace (meilleur des cas et pire des cas) de votre algorithme tripartas(t). Si l on utilise l algorithme itératif pour entasser, les complexités sont : en temps en Ω(n) si toutes les valeurs de T sont égales, O(n log 2 (n)) avec n = longueur(t ), iii. (1 point) Votre algorithme tripartas(t) effectue t-il un tri stable? Justifier. Non, car il effectue des échanges de valeurs avec des indices non consécutifs. Exercice 2 : Suite de Padovan La suite (ou fonction) de Padovan d un entier naturel est définie par : P adovan(n) = 1 si n = 0 1 si n = 1 1 si n = 2 P adovan(n 2) + P adovan(n 3) sinon (12 points) (a) i. (3 points) Écrire un programme Python ou un algorithme récursif padovanrecursif(n) qui retourne la valeur P adovan(n). def padovanrecursif ( n ) : a s s e r t (n>=0) i f n<3: return 1 else : return padovanrecursif (n 2) + padovanrecursif (n 3) ii. (1 point) Dessiner l arbre des appels récursifs lors de l appel padovanrecursif(7). Page 5 sur 7
6 pad(1) : 1 pad(0) : 1 pad(3) : 2 pad(2) : 1 pad(2) : 1 pad(1) : 1 pad(5) : 3 pad(4) : 2 pad(7) : 5 iii. (1 point) En interprétant l arbre des appels récursifs et notamment la longueur de ses branches, donner un encadrement du nombre d appels récursifs, pour en déduire la complexité (temps et espace) de votre algorithme récursif. La plus longue branche (la plus à gauche) de l arbre des appels a une longueur de n/2. Le nombre d appels est donc inférieur à 2 n/2 La plus courte branche (la plus à droite) de l arbre des appels a une longueur de n/3. Le nombre d appels est donc supérieur à 2 n/3 La complexité : en temps est comprise entre Ω( 3 2 n ) et O( 2 n ). en espace est de Θ(n). non demandé : La complexité en temps est en Θ(ψ n ) avec ψ dénommé le nombre plastique, qui est l unique solution réelle de X 3 = X + 1, et environ égal à 1, (b) (4 points) Par analogie avec la fonction Fibonacci(n) vue en cours, il est possible de transformer cette fonction récursive en une fonction récursive terminale. Pour cela, il faut ajouter trois paramètres qui contiennent trois valeurs consécutives de la suite. A chaque appel récursif : deux sont modifiés par décalage, le troisième est obtenu par l addition de deux parmi les trois. Écrire un programme Python ou un algorithme récursif terminal padovanrecterminal(n,u,v,w) qui retourne la valeur P adovan(n), et préciser l appel initial. def padovanrecterminal ( n, u=1, v=1, w=1): a s s e r t (n>=0) i f n==0: return u e l i f n==1: return v e l i f n==2: return w else : return padovanrecterminal ( n 1,v, w, v+u ) (c) i. (2 points) Transformer automatiquement votre solution récursive terminale, afin d obtenir un programme Python ou un algorithme itératif padovaniteratif(n) qui retourne la valeur P adovan(n). def padovaniteratifautomatique ( n ) : a s s e r t (n>=0) u=1 v=1 w=1 while True : i f n==0: return u e l i f n==1: return v Page 6 sur 7
7 e l i f n==2: return w else : # n, u, v,w = n 1,v, w, v+u n = n 1 aux = u u = v v = w w = u+aux ii. (1 point) Donner les complexités en temps et en espace (meilleur des cas et pire des cas) de votre solution itérative. La complexité : en temps est en Θ(n), en espace est en Θ(1). Page 7 sur 7
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.
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
1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : [email protected] Page personnelle : http://www.lri.fr/ hivert
1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : [email protected] Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes
Les structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
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
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
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
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,
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
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
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.
Année Universitaire 2009/2010 Session 2 de Printemps
Année Universitaire 2009/2010 Session 2 de Printemps DISVE Licence PARCOURS : CSB4 & CSB6 UE : INF 159, Bases de données Épreuve : INF 159 EX Date : Mardi 22 juin 2010 Heure : 8 heures 30 Durée : 1 heure
INF601 : Algorithme et Structure de données
Cours 2 : TDA Arbre Binaire B. Jacob IC2/LIUM 27 février 2010 Plan 1 Introuction 2 Primitives u TDA Arbin 3 Réalisations u TDA Arbin par cellules chaînées par cellules contiguës par curseurs (faux pointeurs)
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 -
V- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
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
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Algorithmique et structures de données I
Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence
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
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é
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Introduction à l informatique en BCPST
Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de
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
Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Arbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
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............................
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
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
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Seconde Généralités sur les fonctions Exercices. Notion de fonction.
Seconde Généralités sur les fonctions Exercices Notion de fonction. Exercice. Une fonction définie par une formule. On considère la fonction f définie sur R par = x + x. a) Calculer les images de, 0 et
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)
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
Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Manuel 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........
La mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Algorithmique, Structures de données et langage C
UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure
Développement décimal d un réel
4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce
Quelques Algorithmes simples
Quelques Algorithmes simples Irène Guessarian [email protected] 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été
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
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Algorithmique I. [email protected] [email protected] [email protected]. Algorithmique I 20-09-06 p.1/??
Algorithmique I [email protected] [email protected] [email protected] Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
Commun à tous les candidats
EXERCICE 3 (9 points ) Commun à tous les candidats On s intéresse à des courbes servant de modèle à la distribution de la masse salariale d une entreprise. Les fonctions f associées définies sur l intervalle
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
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..............................
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,
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 =
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
Solutions en ligne Guide de l utilisateur
Solutions en ligne Guide de l utilisateur Décembre 2009 Informations générales... 1 Configuration minimale requise... 1 Connexion... 1 Page d accueil des Solutions en ligne... 2 Utilisation de la table
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
Image d un intervalle par une fonction continue
DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig [email protected] - [email protected] Qu est-ce que la programmation? Programmer Ecrire un
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
Utilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
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
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
Programmation 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
ASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :
Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant
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,
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
# 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
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
TP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.
Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
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
Chapitre 7 : Intégration sur un intervalle quelconque
Universités Paris 6 et Paris 7 M1 MEEF Analyse (UE 3) 2013-2014 Chapitre 7 : Intégration sur un intervalle quelconque 1 Fonctions intégrables Définition 1 Soit I R un intervalle et soit f : I R + une fonction
SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : [email protected]
Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : [email protected] SUPPORT DE COURS Matière : Algorithmiques et Structures de Données 1 Niveau : 2 ème Année Licence en Informatique
Compression 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
L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?
L ARBORESCENCE Qu est-ce qu un dossier? Un dossier est une pochette vide dans laquelle on peut disposer des documents créés à l aide de l outil informatique. Comme les systèmes utilisés dans la vie courante
Quelques algorithmes simples dont l analyse n est pas si simple
Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib [email protected] http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire
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
L exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
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
Intégration et probabilités TD1 Espaces mesurés Corrigé
Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.
Corrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
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
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
Organiser les informations ( approche technique )
Organiser les informations ( approche technique ) Introduction : Le stockage des informations est une fonctionnalité essentielle de l outil informatique, qui permet de garantir la pérennité des informations,
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
Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé
Baccalauréat S/L Métropole La Réunion 13 septembre 2013 Corrigé A. P. M.. P. XRCIC 1 Commun à tous les candidats Partie A 1. L arbre de probabilité correspondant aux données du problème est : 0,3 0,6 H
EXCEL 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
Chp. 4. Minimisation d une fonction d une variable
Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie
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
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..............................................
Cours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Cours d Analyse. Fonctions de plusieurs variables
Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........
Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Chapitre 2 Le problème de l unicité des solutions
Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)
#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };
#include #include struct cell int clef; struct cell suiv; ; / longueur. pc->suiv est l abréviation de (pc).suiv. pour cette fonction comme pour les suivantes, on donne, lorsqu il existe
Le 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.
«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, 75008 Paris
«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie Agnès Dullin, lycée J. Racine 20 rue du Rocher, 75008 Paris OBJECTIFS 1- Niveau et insertion dans la programmation 2-
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected]
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected] Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Licence 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
Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement
Cahier n o 6 Mon ordinateur Fichiers et dossiers Sauvegarde et classement ISBN : 978-2-922881-10-3 2 Table des matières Fichiers et dossiers Sauvegarde et classement La sauvegarde 4 Enregistrer 4 De quelle
Diviser un nombre décimal par 10 ; 100 ; 1 000
Diviser un nombre décimal par 10 ; 100 ; 1 000 Diviser un nombre décimal par 10 ; 100 ; 1 000. 23 1 et 2 Pauline collectionne les cartes «Tokéron» depuis plusieurs mois. Elle en possède 364 et veut les
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12
Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont
