CONCOURS D ADMISSION ÉPREUVE D INFORMATIQUE Filière MP (Durée de l épreuve : 3 heures)

Documents pareils
Chapitre 2 Le problème de l unicité des solutions

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

LANGAGES - GRAMMAIRES - AUTOMATES

Tout ce qu il faut savoir en math

STI2D Logique binaire SIN. L' Algèbre de BOOLE

LICENCE DE MATHÉMATIQUES DEUXIÈME ANNÉE. Unité d enseignement LCMA 4U11 ANALYSE 3. Françoise GEANDIER

/HVV\VWqPHVFRPELQDWRLUHV

Théorème de Poincaré - Formule de Green-Riemann

Université Paris-Dauphine DUMI2E. UFR Mathématiques de la décision. Notes de cours. Analyse 2. Filippo SANTAMBROGIO

Synthèse de cours (Terminale S) Calcul intégral

Cours d Analyse IV Suites et Séries de fonctions

Algorithmes sur les mots (séquences)

Chapitre 11 : L inductance

ANALYSE NUMERIQUE NON-LINEAIRE

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

Techniques d analyse de circuits

Module 2 : Déterminant d une matrice

ANALYSE : FONCTIONS D UNE VARIABLE RÉELLE

COURS D ANALYSE. Licence d Informatique, première. Laurent Michel

semestre 3 des Licences MISM annnée universitaire

3- Les taux d'intérêt

Baccalauréat S Asie 19 juin 2014 Corrigé

Séquence 8. Probabilité : lois à densité. Sommaire

Sommaire. 6. Tableau récapitulatif Sophos NAC intégré Vs. NAC Advanced - 17 Février

Notes de révision : Automates et langages

Thèse Présentée Pour obtenir le diplôme de doctorat en sciences En génie civil Option : structure

Pour développer votre entreprise LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Guide d'utilisation Easy Interactive Tools Ver. 2

Licence M.A.S.S. Cours d Analyse S4

Partie 4 : La monnaie et l'inflation

LOGICIEL FONCTIONNEL EMC VNX

Conseils et astuces pour les structures de base de la Ligne D30

Influence du milieu d étude sur l activité (suite) Inhibition et activation

Magister en : Génie Mécanique

Statuts ASF Association Suisse Feldenkrais

LITE-FLOOR. Dalles de sol et marches d escalier. Information technique

Toyota Assurances Toujours la meilleure solution

Chapitre VI Contraintes holonomiques

Introduction à la modélisation et à la vérication p. 1/8

DYNAMIQUE DE FORMATION DES ÉTOILES

Modification simultanée de plusieurs caractéristiques d un bien hédonique : une nouvelle méthode de calcul de la variation de bien-être des ménages


SYSTEME DE TELEPHONIE

AUTOUR D UN MÉMOIRE INÉDIT : LA CONTRIBUTION D HERMITE AU DÉVELOPPEMENT DE LA THÉORIE DES FONCTIONS ELLIPTIQUES. Bruno BELHOSTE (*)

Avant d utiliser l appareil, lisez ce Guide de référence rapide pour connaître la procédure de configuration et d installation.

Chapitre 1 : Fonctions analytiques - introduction

Guide des bonnes pratiques

Pour développer votre entreprise. Compta LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Turbine hydraulique Girard simplifiée pour faibles et très faibles puissances

NEWS PRO ACTIV. [Juillet 2015] Ce mois-ci on vous parle de. L arrêté est applicable à compter du 1er Juillet 2015.

Limites finies en un point

Commencer DCP-7055W / DCP-7057W /

Réalisation de sites Internet PME & Grandes entreprises Offre Premium. Etude du projet. Webdesign. Intégration HTML. Développement.

Electrovanne double Dimension nominale Rp 3/8 - Rp 2 DMV-D/11 DMV-DLE/11

La paye. La comptabilité. Comparez et choisissez votre logiciel. Comparez et choisissez votre logiciel. Paye Bâtiment Paye Agricole 2013

- Phénoméne aérospatial non identifié ( 0.V.N.I )

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

La pratique institutionnelle «à plusieurs»

Intégrale et primitives

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII


Solutions IHM. Gammes Graphite et G3 Outils pour l'usine connectée

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

Le canal étroit du crédit : une analyse critique des fondements théoriques

ManSafe. pour les Utilitiés. La Protection antichute pour les Industries de l'energie. Français. TowerLatch LadderLatch

INSTALLATION DE DETECTION INCENDIE

Transfert. Logistique. Stockage. Archivage

Régression multiple : principes et exemples d application. Dominique Laffly UMR CNRS Université de Pau et des Pays de l Adour Octobre 2006

EnsEignEmEnt supérieur PRÉPAS / BTS 2015

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Directives COV et alternative lipochimique : peintures, encres, nettoyage, dégraissage...

Image d un intervalle par une fonction continue

Guide de l'utilisateur

SOCIÉTÉ LINNÉENNE DE LYO N FONDEE EN 182 2

Fonctions de plusieurs variables

Rappels sur les suites - Algorithme

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

INTENTION LES PROCESSUS MATHÉMATIQUES

Chapitre 2 Le problème de l unicité des solutions

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Le produit semi-direct

Titrages acidobasiques de mélanges contenant une espèce forte et une espèce faible : successifs ou simultanés?

Clients légers IGEL et bureaux virtuels : synergie idéale et coût minimal

Compte rendu de la validation d'un observateur cascade pour la MAS sans capteurs mécaniques sur la plate-forme d'essai de l'irccyn

Bloc notes. a À faire tout de suite. Gardez secret votre code confidentiel. À conserver précieusement. Protégez votre carte

FIG. 1 Module de stockage en position horizontale ; positionnement des jauges de déformation.

Problème 1 : applications du plan affine

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

Programmation linéaire et Optimisation. Didier Smets

Classeur courtier d assurance. Comment organiser son activité et se préparer à un contrôle

Université Paris-Dauphine DUMI2E 1ère année, Applications

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Raisonnement par récurrence Suites numériques

Intégration et probabilités TD1 Espaces mesurés Corrigé

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

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

Transcription:

A 2004 INF MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DES TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE SAINT-ÉTIENNE, DES MINES DE NANCY DES TÉLÉCOMMUNICATIONS DE BRETAGNE, ÉCOLE POLYTECHNIQUE (Filière T.S.I.) CONCOURS D ADMISSION 2004 ÉPREUVE D INFORMATIQUE Filière MP (Durée de l épreuve : 3 heures) Sujet mis à l disposition des concours Cycle Interntionl, ENSTIM et TPE-EIVP. Les cndidts et les cndidtes sont priés de mentionner de fçon pprente sur l première pge de l copie : «INFORMATIQUE Filière MP» RECOMMANDATIONS AUX CANDIDATS ET CANDIDATES L énoncé de cette épreuve, y compris cette pge de grde, comporte 10 pges. Si, u cours de l épreuve, un cndidt ou une cndidte repère ce qui lui semble être une erreur d énoncé, il ou elle le signle sur s copie et poursuit s composition en expliqunt les risons des inititives qu il ou elle décidé de prendre. Tout résultt fourni dns l énoncé peut être utilisé pour les questions ultérieures même s il n ps été démontré. Il ne fut ps hésiter à formuler les commentires qui semblent pertinents même lorsque l énoncé ne le demnde ps explicitement. L utilistion d une clcultrice ou d un ordinteur est interdite. L épreuve comporte deux prties indépendntes : COMPOSITION DE L ÉPREUVE un problème d lgorithmique et de progrmmtion, pge 2 à 7, à résoudre en 1 h 45 mn environ ; un problème sur les utomtes, pges 8 à 10, à résoudre en 1 h 15 mn environ.

Épreuve d informtique 1. Problème d lgorithmique et de progrmmtion 1 h 45 mn environ Le tri pr bquets Préliminire concernnt l progrmmtion : il fudr écrire des fonctions ou des procédures à l ide d un lngge de progrmmtion qui pourr être soit Cml, soit Pscl, tout utre lngge étnt exclu. Indiquer en début de problème le lngge de progrmmtion choisi ; il est interdit de modifier ce choix u cours de l épreuve. Certines questions du problème sont formulées différemment selon le lngge de progrmmtion ; cel est indiqué chque fois que cel est nécessire. Pr illeurs, lorsqu un cndidt ou une cndidte écrir une fonction ou une procédure en lngge de progrmmtion, il ou elle préciser si nécessire le rôle des vribles locles et pourr définir des fonctions ou procédures uxiliires qu il ou elle expliciter. Enfin, lorsque le cndidt ou l cndidte écrir une fonction ou une procédure, il ou elle pourr, lorsque cel s y prête, fire ppel à une utre fonction ou procédure définie dns les questions précédentes. Terminologie, nottions et indictions ) Dns l énoncé, les identificteurs sont écrits en police de crctères Courier New dns le contexte du lngge de progrmmtion et en itlique sinon. b) Un tbleu est constitué de cses pouvnt contenir des vleurs d'un type donné. Le nombre totl de cses du tbleu s ppelle ici s dimension. L cse d indice i d un tbleu T ser notée T[i] dns l énoncé du problème. c) Dns ce problème, nous ppelons opértions élémentires : un ccès en mémoire pour lire ou écrire l vleur d une vrible ou d une cse d un tbleu ; une opértion rithmétique entre entiers : ddition, soustrction, multipliction, division entière, clcul du reste dns une division entière ; une comprison (>, <,,, =, ) entre deux entiers. Soient f et g deux fonctions d une même vrible entière n (resp. de deux mêmes vribles entières n et m). On dit que l fonction f un ordre de grndeur u plus égl à celui de l fonction g s il existe un entier strictement positif k et un entier N (resp. deux entiers N et M) tels qu on it, pour tout n N (resp. n N et m M), f(n) k g(n) (resp. f(n, m) k g(n, m)). On dit que les deux fonctions ont même ordre de grndeur si l ordre de grndeur de l une est u moins égl à l ordre de grndeur de l utre, et réciproquement. Pr exemple, les fonctions f(n) = 3 n 2 5 n + 4 et g(n) = n 2 ont même ordre de grndeur. On pourr ussi dire que g est un ordre de grndeur de f. Qund on clculer l complexité d un lgorithme A, on l exprimer sous l forme d un ordre de grndeur du nombre d opértions élémentires effectuées pendnt le déroulement de A ; cette complexité ser exprimée à l ide de prmètres crctéristiques du problème à triter. d) Si l on se préoccupe de trier une liste de n données, on sit lors que les lgorithmes de tri opérnt pr comprisons et échnges des données de l liste ont une complexité dns le cs le plus défvorble u moins de l ordre de grndeur de nln(n). On étudie dns ce problème des lgorithmes de tri d entiers qui n opèrent ps pr comprisons entre les données à trier. e) Tout u long du problème, on fer l hypothèse qu il n y ps de limittion sur l tille de l mémoire disponible et qu on peut donc mnipuler des tbleux de dimensions quelconques. On ne se préoccuper ps non plus du fit que les entiers codés sur un ordinteur sont bornés et on fer comme s ils ne l étient ps. f) Indictions pour l progrmmtion Cml : Ce qui est ppelé tbleu dns l énoncé correspond à ce qui est ppelé vecteur en Cml. En Cml, T.(i)représente l cse T[i] d un tbleu T. Pge 2 sur 10

Épreuve commune 2004 Pscl : Dns tout le problème, on supposer qu on écrit les différentes fonctions dns un fichier contennt les définitions suivntes : const MAX_DIM = 100; MAX_VAL = 1000; type TABLE = rry[0..max_dim] of INTEGER; BACS = rry[0..9] of TABLE; PREMIÈRE PARTIE Tri d entiers compris entre 0 et MAX_VAL Cette prtie est conscrée à un lgorithme qui peut être considéré comme l version l plus simple du tri pr bquets étudié dns l seconde prtie. On suppose dns cette première prtie qu on veut trier pr ordre croissnt un ensemble de n entiers dont les vleurs sont toutes comprises entre 0 et une vleur mximum notée MAX_VAL. Certines vleurs peuvent figurer plusieurs fois dns l ensemble des données à trier ; ces vleurs figureront lors vec le même nombre d occurrences près le tri. Exemple : Pour MAX_VAL = 10 et n = 9, vec les données à trier suivntes : 6, 4, 2, 8, 4, 2, 3, 6, 4, les données triées sont lors : 2, 2, 3, 4, 4, 4, 6, 6, 8. 1 Expliciter un lgorithme de tri, de complexité MAX_VAL + n, fondé sur le principe suivnt : on compte, pour chque entier compris entre 0 à MAX_VAL, son nombre d occurrences prmi les entiers à trier, puis on en déduit l liste triée. On justifier sommirement l complexité de l lgorithme proposé. 2 Il s git de progrmmer l lgorithme de l question 1. Les données à trier se trouvent initilement dns un tbleu ; près le tri, les données doivent occuper globlement les mêmes cses du tbleu mis en étnt cette fois-ci ordonnées pr ordre croissnt. Cml : Écrire en Cml une fonction tri_simple telle que, si tbleu est un vecteur de dimension suffisnte, tbleu.(0) contient le nombre de données à trier, les données à trier, de vleurs comprises entre 0 et MAX_VAL, se trouvent dns tbleu consécutivement à prtir de l indice 1, lors tri_simple tbleu ordonne les données du vecteur tbleu pr ordre croissnt. L constnte entière MAX_VAL est supposée déjà définie. Pscl : Écrire en Pscl une procédure tri_simple telle que si tbleu est de type TABLE, tbleu[0] contient le nombre de données à trier, nombre qui ne dépsse ps l constnte MAX_DIM, les données à trier, de vleurs comprises entre 0 et MAX_VAL, se trouvent dns tbleu consécutivement à prtir de l indice 1, lors tri_simple(tbleu) ordonne pr ordre croissnt les données contenues dns tbleu. Pge 3 sur 10 Tournez l pge S.V.P.

Épreuve d informtique DEUXIÈME PARTIE Gestion de tbles Dns toute cette prtie, on considérer des tbleux dont le plus petit indice vut 0 et tels que les données du problème n occupent ps nécessirement toutes les cses. Plus précisément, pour un tbleu T contennt n données significtives du problème (typiquement, des données à trier) : l cse T[0] contiendr le nombre n ; les données significtives occuperont les cses T[1], T[2],, T[n]. Pr exemple, on pourrit, pour trier les entiers 6, 1 et 7, disposer d un tbleu T dont les indices vrient de 0 à 8, mettre l vleur 3 (nombre de données à trier) dns T[0], dns T[1] l vleur 6, dns T[2] l vleur 1, dns T[3] l vleur 7 et ne ps se préoccuper des contenus des cses d indice 4 à 8. Ce tbleu peut être représenté insi : T : 3 6 1 7 On ppeller tble un tbleu conçu selon ce modèle. Une tble contiendr toujours des entiers positifs ou nuls. Ainsi, pour l exemple précédent, l tble T contient les données 6, 1 et 7. Une tble T est dite vide si T[0] vut 0. Une tble ser dite triée si les entiers contenus dns les cses d indices compris entre 1 et T[0] sont croissnts u sens lrge. Les questions 3 à 10 préprent l progrmmtion du tri pr bquets dont le principe ser indiqué près l question 10. 3 Vider une tble consiste à l trnsformer en une tble vide. Cml : Écrire en Cml une fonction vider telle que, si T est un vecteur contennt une tble, vider T vide l tble T. Pscl : Écrire en Pscl une procédure vider telle que, si T est de type TABLE, vider(t) vide l tble T. 4 Ajouter un entier p à une tble consiste à jouter p à l suite des données figurnt déjà dns l tble et à ctuliser le nombre des données de l tble. Pr exemple, si l tble T est réprésentée ci-dessous (les cses non remplies contiennent des vleurs non significtives) : T : 3 6 1 7 jouter à l tble T l vleur 5 consiste à trnsformer T en : T : 4 6 1 7 5 Cml : Écrire en Cml une fonction jouter telle que, si T est un vecteur contennt une tble et p un entier, jouter T p trnsforme T pour jouter p à l tble T. On supposer que l dimension de l tble T permet cet jout. Pscl : Écrire en Pscl une procédure jouter telle que, si T est de type TABLE et p un entier, jouter(t, p) joute l entier p à l tble T. On supposer que l dimension de l tble T permet cet jout. 5 Concténer une tble T1 et une tble T2 consiste à jouter successivement dns T1 toutes les données de T2. Pr exemple, si les tbles T1 et T2 sont réprésentées ci-dessous : T1 : 3 6 1 7 T2 : 2 12 4 l tble T1 devient près concténtion : T1 : 5 6 1 7 12 4 Pge 4 sur 10

Épreuve commune 2004 L tble T2 est inchngée. Cml : Écrire en Cml une fonction conctener telle que, si T1 et T2 sont deux vecteurs contennt des tbles, conctener T1 T2 conctène les tbles T1 et T2. On supposer que l dimension de T1 est suffisnte pour cette concténtion. Pscl : Écrire en Pscl une procédure conctener telle que, si T1 et T2 sont de type TABLE, conctener(t1, T2) conctène les tbles T1 et T2. On supposer que l dimension de T1 est suffisnte pour cette concténtion. 6 Indiquer l complexité de l fonction ou de l procédure conctener en l exprimnt à l ide des nombres de données contenues pr les tbles T1 et T2. On justifier sommirement le résultt. 7 Il s git ici de définir une fonction mx_vleurs qui détermine l plus grnde vleur d une tble T (c est-à-dire le plus grnd des entiers qui se trouvent entre les indices 1 et T[0]). Cml : Écrire en Cml une fonction mx_vleurs telle que, si T est un vecteur contennt une tble, mx_vleurs T renvoie l vleur du plus grnd entier de T. L fonction mx_vleurs renverr l vleur 1 si l tble est vide. Pscl : Écrire en Pscl une fonction mx_vleurs telle que, si T est de type TABLE, mx_vleurs(t) renvoie l vleur du plus grnd entier de T. L fonction mx_vleurs renverr l vleur 1 si l tble est vide. 8 Il s git de déterminer le nombre de chiffres d un entier positif ou nul donné écrit dns l bse 10 ; pr exemple, le nombre de chiffres de 5973 vut 4. Cml : Écrire en Cml une fonction nombre_chiffres telle que, si p est un entier positif ou nul, nombre_chiffres p renvoie le nombre de chiffres de l entier p. Pscl : Écrire en Pscl une fonction nombre_chiffres telle que, si p est un entier positif ou nul, nombre_chiffres(p) renvoie le nombre de chiffres de l entier p. 9 Il s git de définir une fonction mx_chiffres qui clcule le nombre mximum de chiffres dns une écriture décimle des entiers contenus dns une tble. Pr exemple, si l tble est : le résultt doit vloir 4. T : 5 13 2408 1 97 892 Cml : Écrire en Cml une fonction mx_chiffres telle que, si T est un vecteur contennt une tble, mx_chiffres T renvoie le nombre mximum de chiffres des données de l tble T. L fonction renverr l vleur 0 si l tble est vide. Pscl : Écrire en Pscl une fonction mx_chiffres telle que, si T est de type TABLE, mx_chiffres(t) renvoie le nombre mximum de chiffres des données de l tble T. L fonction renverr l vleur 0 si l tble est vide. 10 Exprimer l complexité de l fonction mx_chiffres ppliquée à une tble T à l ide : du nombre n de données de l tble T du nombre mximum mxc de chiffres des données de l tble T. On justifier sommirement le résultt. Pge 5 sur 10 Tournez l pge S.V.P.

Épreuve d informtique TROISIÈME PARTIE Tri d entiers écrits en bse 10 à l ide de bquets Dns l description de l lgorithme du tri pr bquets, on ppelle chiffre de rng r (r 1) d un entier positif ou nul p le r-ième chiffre en prtnt de l droite de l entier p écrit dns l bse 10 ; pr définition, si r est supérieur u nombre totl de chiffres de p, le chiffre de rng r vut lors 0. Pr exemple, pour l entier p = 597, le chiffre de rng 1 est 7, celui de rng 2 est 9, celui de rng 3 est 5, et le chiffre de rng i pour i 4 est 0. Les données sont dns une tble T. L objectif de l lgorithme est de trnsformer l tble T en une tble triée de mnière croissnte contennt les mêmes données. On dispose pr illeurs d un tbleu ppelé bquets, dont les indices vrient de 0 à 9, de 10 tbles ; ces 10 tbles peuvent contenir chcune u moins utnt de données que le nombre de données contenues pr l tble T. L lgorithme est le suivnt : Clculer le nombre mximum de chiffres des données de l tble T ; le noter mxc. Pour r qui vrie de 1 à mxc, fire : ) Vider les dix bquets, c est-à-dire vider bquets[i] pour tout i pprtennt à {0, 1,, 9} ; b) considérer successivement, de l indice 1 à l indice T[0], les entiers de l tble T : en notnt p l entier considéré, déterminer le chiffre de rng r de l entier p ; en notnt k ce chiffre, jouter p à l tble bquets[k] ; c) vider T ; d) pour i vrint de 0 à 9, concténer T et bquets[i] (le résultt de l concténtion se trouve dns T). Indictions : on pourr utiliser dns l suite du problème une fonction nommée puiss10, supposée déjà définie, qui clcule pour un entier p positif ou nul l vleur de 10 p. Dns les clculs de complexité, on considérer que les ppels à cette fonction sont négligebles, ce qui signifie qu on ne comptbiliser ps les opértions correspondntes. Lors de l écriture d une fonction ou d une procédure en lngge de progrmmtion, si p est une vrible entière positive ou nulle, on pourr obtenir 10 p pr puiss10(p). 11 On pplique l lgorithme du tri pr bquets à l tble T ci-dessous, qui contient 8 données à trier. T : 8 57 423 50 603 7 20 453 27 Le nombre mximum de chiffres des données de l tble vut 3. Pendnt l itértion correspondnt à l vleur 1 de r : à l issue du point b), les bquets d indices 1, 2, 4, 5, 6, 8, 9 sont restés vides, bquets[0], bquets[3] et bquets[7] sont représentés ci-dessous : bquets[0] : 2 50 20 bquets[3] : 3 423 603 453 bquets[7] : 3 57 7 27 à l issue du point d), l tble T est : T : 8 50 20 423 603 453 57 7 27 Détiller de même les itértions correspondnt ux vleurs 2 et 3 de r. 12 Montrer qu près l exécution de l lgorithme du tri pr bquets, l tble T est triée. 13 Il s git d écrire en lngge de progrmmtion une fonction ou une procédure nommée distribuer qui effectue le point b) de l lgorithme du tri pr bquets. Cml : écrire en Cml une fonction distribuer telle que si : T est un vecteur contennt une tble, r est un entier u moins égl à 1, bquets est un vecteur de dimension 10 de vecteurs d entiers ; chcun de ces 10 vecteurs contient une tble vide et est supposé de dimension suffisnte pour contenir les données qu on voudr y mettre, Pge 6 sur 10

Épreuve commune 2004 lors distribuer T r bquets effectue les opértions indiquées dns le point b) de l lgorithme du tri pr bquets. Pscl : écrire en Pscl une procédure distribuer telle que si : T, de type Tble, contient une tble, r est un entier u moins égl à 1, bquets est de type BACS (voir u début du problème) ; chcune des dix tbles (de type TABLE) de bquets contient une tble vide supposée de dimension suffisnte pour contenir les données qu on voudr y mettre, lors distribuer(t, r, bquets) effectue les opértions indiquées dns le point b) de l lgorithme du tri pr bquets. 14 Il s git d écrire en lngge de progrmmtion une fonction ou une procédure nommée tri_bquets qui effectue le tri pr bquets. Cml : écrire en Cml une fonction tri_bquets telle que si T est un vecteur contennt une tble, tri_bquets T trnsforme l tble T en une tble triée en utilisnt l lgorithme du tri pr bquets. Pscl : écrire en Pscl une procédure tri_bquets telle que si T, de type Tble, contient une tble, tri_bquets(t) trnsforme l tble T en une tble triée en utilisnt l lgorithme du tri pr bquets. 15 On note n le nombre de données à trier et mxc le nombre mximum de chiffres des données de l tble. Montrer que l complexité de l lgorithme du tri pr bquets est de l ordre de mxc n. 16 En supposnt les données à trier toutes distinctes, donner une fonction exprimée uniquement à l ide du nombre n de données à trier telle que : son ordre de grndeur minore l complexité du tri pr bquets ; son ordre de grndeur peut être tteint. 17 Il s git dns cette question de modifier le tri pr bquets pour que l complexité devienne de l ordre de l somme du nombre des chiffres des données de l tble. Cette nouvelle version du tri pr bquets devr commencer directement pr l mise dns les bquets sns nécessiter le clcul prélble du nombre mximum de chiffres des données ni l utilistion d un utre lgorithme préprtoire. Pour définir un tel lgorithme, donner son principe, justifier rpidement son exctitude et s complexité, puis écrire ou réécrire en lngge de progrmmtion les fonctions ou procédures joutées ou modifiées ; on ser sns doute conduit à récrire distribuer et tri_bquet en les nommnt distribuer_bis et tri_bquet_bis. FIN DU PROBLÈME D ALGORITHMIQUE ET DE PROGRAMMATION Pge 7 sur 10 Tournez l pge S.V.P.

Épreuve d informtique 2. Problème sur les utomtes 1 h 15 mn environ Longueur discriminnte de deux utomtes Deux utomtes A et A sont équivlents s ils reconnissent le même lngge. S ils ne sont ps équivlents, lors il existe des mots qui sont reconnus pr l un et ps pr l utre. L longueur minimum des mots qui ont cette propriété est dite discriminnte. L objet de ce problème est d évluer, pr deux méthodes, un mjornt de l longueur discriminnte de A et A en fonction des nombres d étts de A et A. Nottions et terminologie Un lphbet Σ est un ensemble fini d éléments ppelés lettres. Un mot sur Σ est une suite finie de lettres de Σ ; le mot vide est noté ε. On désigne pr Σ* l ensemble des mots sur Σ, y compris le mot vide. L longueur d un mot m, notée m, est le nombre de lettres qui le composent. Un lngge est une prtie de Σ*. Un utomte A est décrit pr une structure <Σ, Q, T, I, F>, où : Σ est un lphbet ; Q est un ensemble fini et non vide ppelé ensemble des étts de A ; T Q Σ Q est ppelé l ensemble des trnsitions ; étnt donnée une trnsition (p,, q) T, on dit qu elle v de l étt p à l étt q et qu elle est d étiquette ; on pourr l noter p q ; I Q est ppelé ensemble des étts initiux de A ; F Q est ppelé ensemble des étts finls de A. On représente grphiquement l utomte A insi : un étt p est figuré pr un cercle mrqué en son centre pr p ; si p pprtient à I, cel est figuré pr une flèche entrnte sns origine ; si un étt q pprtient à F, cel est figuré pr une flèche sortnte sns but ; une trnsition (p,, q) T est figurée pr une flèche llnt de l étt p vers l étt q et étiquetée pr l lettre. Un clcul c de A est un chemin de l forme p 0 1 p 1 p 2 2 p k k, vec p i 1 p i i T pour 1 i k ; p 0 est l origine du clcul, p k son extrémité. L étiquette de c est le mot formé pr l suite des étiquettes des trnsitions successives du chemin. Un clcul de A d origine p, d extrémité q et d étiquette m est dit réussi si on p I et q F. Un mot m Σ* est reconnu pr A s il est l étiquette d un clcul réussi. Le lngge reconnu pr A, noté L(A), est l ensemble des mots reconnus pr A. Deux utomtes A et A sont dits équivlents si on L(A ) = L(A ). L utomte A est dit déterministe si I ne contient qu un élément et si, pour tout (p, ) Q Σ, il existe u plus un étt q Q vec (p,, q) T. L utomte A est dit complet si et seulement si, pour tout p Q et tout Σ, il existe q Q vec (p,, q) T. On rppelle que tout utomte ynt n étts est équivlent à un utomte déterministe complet ynt u plus 2 n étts. PREMIÈRE PARTIE Approche nïve 18 Soit A un utomte, déterministe ou non déterministe, vec n étts. Montrer que L(A) est vide si et seulement s il ne contient ucun mot de longueur inférieure ou égle à n 1. 19 Soit A un utomte déterministe complet ynt n étts. Donner un utomte ynt ussi n étts qui reconnît L( A), le complémentire dns Σ* de L(A). Justifier votre réponse. Pge 8 sur 10

Épreuve commune 2004 20 Soient A et A deux utomtes utilisnt le même lphbet Σ vec respectivement n et n étts. Donner un utomte ynt n n étts qui reconnît L(A) L(A ). Justifier votre réponse. 21 Soient A et A deux utomtes déterministes complets utilisnt le même lphbet Σ vec respectivement n et n étts. Montrer que si A et A ne sont ps équivlents, il existe un mot de longueur u plus n n 1 qui est reconnu pr l un et non pr l utre, i.e. l longueur discriminnte de A et A est inférieure ou égle à n n 1. 22 En déduire un mjornt pour l longueur discriminnte de deux utomtes non équivlents quelconques vec n et n étts respectivement. SECONDE PARTIE Approche plus fine L objectif de cette prtie est de démontrer que l longueur discriminnte de deux utomtes déterministes non équivlents, vec n et n étts respectivement, est inférieure ou égle à n + n 1. 23 Montrer sur un exemple, vec un lphbet à une seule lettre, qu il existe des utomtes déterministes A et A non équivlents et qui reconnissent les mêmes mots de longueur strictement inférieure à n + n 1, où n (resp. n ) désigne le nombre d étts de A (resp. de A ). On introduit un ensemble de définitions et de nottions. Soit A = <Σ, Q, T, I, F> un utomte déterministe vec n étts. On identifie l ensemble Q des étts de A vec l ensemble {1, 2,, n} des n premiers entiers nturels non nuls de sorte que chque étt est identifié pr un entier compris entre 1 et n. On suppose que l on I = {1}. On note {e 1, e 2,, e n } l bse cnonique de l espce vectoriel R n. Pour un entier i compris entre 1 et n, le vecteur e i est donc le vecteur de R n dont toutes les composntes sont nulles suf l i-ième qui vut 1. On note 0 le vecteur nul de R n. Pour chque lettre de l lphbet Σ, on définit une ppliction linéire ϕ de R n dns R n pr : pour tout i vec 1 i n : s il existe j, 1 j n, tel que (i,, j) T, lors ϕ (e i ) = e j, sinon ϕ (e i ) = 0. L existence et l unicité de l ppliction ϕ découlent du fit que A est déterministe et de l linérité de ϕ. Si m = 1 2 k 1 k est un mot non vide de Σ*, où 1, 2,, k 1, k sont des lettres de Σ, on pose : ϕm = ϕ o ϕ olo ϕ o ϕ k k 1 2 1 On note ϕ ε l identité de R n dns R n. On ppelle z l somme des vecteurs e i qund i décrit l ensemble F des étts finls : z = e i. i F Enfin, si u et v sont deux vecteurs de R n, on note u.v le produit sclire de u et de v :. v = u i v i. Exemple : 1 2 b b b n u i= 1 ϕ (e 1 ) = e 2, ϕ (e 2 ) = 0, ϕ (e 3 ) = e 3 ϕ b (e 1 ) = e 3, ϕ b (e 2 ) = e 1, ϕ b (e 3 ) = e 2 z = (0, 1, 1). On peut ussi constter les églités suivntes : ϕ bb (e 1 ) = e 3, ϕ b (e 3 ) = 0, ϕ b (e 2 ) = e 2. 3 Pge 9 sur 10 Tournez l pge S.V.P.

Épreuve d informtique 24 Soient m Σ* et deux entiers i et j vérifint 1 i n et 1 j n. Montrer qu il existe un clcul d origine i, d extrémité j et d étiquette m si et seulement si on ϕ m (e i ) = e j. 25 Soit m Σ*. Donner les vleurs possibles du produit sclire ϕ m (e 1 ).z et indiquer une condition nécessire et suffisnte portnt sur ce produit sclire pour que m soit un mot reconnu pr A. Dns l suite du problème, on considère en plus de l utomte déterministe A un utomte déterministe A. Les nottions utilisées pour A sont les mêmes que celles utilisées pour A à cel près que tous les identificteurs sont dotés d un «prime» (on donc : n, ϕ, ϕ m, z et les vecteurs de l bse cnonique de R n sont notés e i ). Si u et v sont des vecteurs respectivement de R n et de R n, on note (u ; v) le vecteur w de R n+n obtenu en concténnt u et v ; plus précisément, le vecteur w est défini pr : si1 i n, wi = ui si n + 1 i n + n, wi = vi n Pr exemple, si u = (0, 1, 0) et v = (1, 2), (u ; v) est le vecteur (0, 1, 0, 1, 2). On pose : E = (e 1 ; e 1 ) (bien noter le signe ) Z = (z; z ). Pour tout mot m de Σ*, on définit une ppliction linéire Φ m de R n+n dns R n+n pr : Φ (( u ; u )) = ϕ ( u) ; ϕ ( u ) (on dmet l linérité de Φ m ). pour tout u R n et pour tout u R n, ( ) m m m 26 Soit m Σ* ; indiquer les vleurs possibles du produit sclire Φ m (E).Z et, selon ces vleurs, préciser l pprtennce de m à L(A ) et L(A ). Pour k N, on note V k le sous-espce vectoriel de R n+n engendré pr {Φ m (E) m Σ*, m k} ; V 0 est donc engendré pr le vecteur (e 1 ; e 1 ). 27 Monter que, pour k 0, on V k V k + 1. 28 Soit m Σ* ; on suppose que m s écrit sous l forme : m = µ, où µ Σ* et Σ. Montrer l églité Φ m = Φ o Φµ. 29 Soit w V k et Σ ; montrer : Φ (w) V k + 1. 30 On suppose qu il existe k 0 tel que V k = V k + 1 ; montrer l églité V k+ 2 = V k + 1. 31 Montrer qu il existe un entier h n + n 1 tel que, pour tout k h, V k = V h. 32 Montrer que si A et A ne sont ps équivlents, il existe un mot de longueur inférieure ou égle à n + n 1 qui est ccepté pr l un et ps pr l utre, i.e. que n + n 1 est un mjornt de l longueur discriminnte de A et A. 33 En déduire un mjornt pour l longueur discriminnte de deux utomtes quelconques ynt n et n étts respectivement. FIN DU PROBLÈME SUR LES AUTOMATES Pge 10 sur 10