Les exercices sont indépendants. Indiquez en tête de copie le nom du langage que vous utilisez.

Documents pareils
Initiation à la programmation en Python

chapitre 4 Nombres de Catalan

Recherche dans un tableau

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Le chiffre est le signe, le nombre est la valeur.

Vers l'ordinateur quantique

Calculateur quantique: factorisation des entiers

NOTATIONS PRÉLIMINAIRES

Chapitre 1 I:\ Soyez courageux!

Structures algébriques

Programmation Objet - Cours II

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.

Exercices de dénombrement

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Algorithmique avec Algobox

Plus courts chemins, programmation dynamique

Quelques algorithmes simples dont l analyse n est pas si simple

Taux d évolution moyen.

Chapitre IV : La Tenue Des Livres Le journal Le grand Livre

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

Définitions. Numéro à préciser. (Durée : )

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

LibreOffice Calc : introduction aux tableaux croisés dynamiques

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Développements limités. Notion de développement limité

Instruction n du 17 Octobre 1999 relative à la tenue de la comptabilité des titres par les intermédiaires en opérations de bourse

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

1. Structure d'un programme FORTRAN 95

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Leçon 01 Exercices d'entraînement

Coefficients binomiaux

Axiomatique de N, construction de Z

Programmation C++ (débutant)/instructions for, while et do...while

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

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

COMPTABILITE GENERALE ETAPE 2 : LE COMPTE

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

PARTIE NUMERIQUE (18 points)

Les différents types de données et leurs opérations de base

Limites finies en un point

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Cours Informatique Master STEP

TD3: tableaux avancées, première classe et chaînes

Représentation d un entier en base b

Le graphisme et l écriture, en lien avec les apprentissages en maternelle

GEA II Introduction aux probabilités Poly. de révision. Lionel Darondeau

Algèbre binaire et Circuits logiques ( )

I. Introduction aux fonctions : les fonctions standards

Suites numériques. Exercice 1 Pour chacune des suites suivantes, calculer u 1, u 2, u 3, u 10 et u 100 : Introduction : Intérêts simpleset composés.

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

EQUISIS E-BANKING A. "E-BANKING" VIREMENTS NATIONAUX PARAMETRAGE. Comptes centralisateurs financiers

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

Les deux points les plus proches

Licence Sciences et Technologies Examen janvier 2010

POKER ET PROBABILITÉ

Fonctions homographiques

Tutoriel - flux de facturation

Chapitre 1 : Évolution COURS

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Partie 1 : la construction du nombre chez l'enfant. Page 2. Partie 2 : Des jeux et des nombres Page 8

- Le Diagramme de Gantt. - Le Diagramme de Pert - La Méthode QQCQCCP - La Méthode MOSI - Cahier des charges fonctionnel

1 Recherche en table par balayage

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Par combien de zéros se termine N!?

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

TP 1. Prise en main du langage Python

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

Application 1- VBA : Test de comportements d'investissements

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

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

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Cours d Analyse. Fonctions de plusieurs variables

MPI Activité.10 : Logique binaire Portes logiques

Salle de technologie

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

Introduction à MATLAB R

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Création d'un questionnaire (sondage)

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

CORRECTION EXERCICES ALGORITHME 1

Les suites numériques

Chapitre 10. Les interfaces Comparable et Comparator 1

Comparaison de fonctions Développements limités. Chapitre 10

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

Représentation des Nombres

MODULES 3D TAG CLOUD. Par GENIUS AOM

Comment faire pour créer ses propres pages html?

Module 16 : Les fonctions de recherche et de référence

Administration du site (Back Office)

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Transcription:

Les exercices sont indépendants. Indiquez en tête de copie le nom du langage que vous utilisez. I. Logique (15 mn) I.1. Rappeler la table de vérité de l'opérateur NAND (négation de la conjonction). a Soit le circuit suivant, composé uniquement de portes NAND : x 2 5 1 b 3 4 6 y Note : la porte à 3 entrées a en sortie la négation de la conjonction de ses trois entrées. I.2. Exprimer les expressions des points 1, 2, 3, 4, 5 et 6 en fonction de a et b. I.3. En déduire les expressions de x et y en fonction de a et b. 1/6

II. Théorie des automates (45 mn) 0 1 1 Figure 1 B 0 A Les automates à deux états sur un alphabet de deux éléments (par exemple, celui de la Figure 1) sont en nombre fini. II.1. Combien existe-t-il d'automates à deux états sur un alphabet de 2 éléments? Dans la suite de l'exercice, on notera A l'état initial, B l'état final et les deux éléments de l'alphabet seront 0 et 1. De plus, on ne considérera que les automates pour lesquels 0 permet la transition de A vers B. (attention, cela n'exclut pas que 1 puisse aussi permettre cette transition). On s'intéresse aux mots de longueur 4 reconnus par ces automates. Ces mots peuvent représenter les entiers de 0 à 15 codés en base 2. Le mot 1010 représente l'entier 10. Il serait reconnu par l'automate de la figure 1. II.2. Combien y a-t-il d'automates pour lesquels 1 permet la transition de A vers B? Représentez-les. II.3. Pour chacun d'eux, précisez en extension ou en compréhension quels entiers de 0 à 15 seront reconnus comme mots. 2/6

III. Les groupes finis (60 mn) Soient E un ensemble fini et T une loi de composition interne de E. (E, T) peut être représenté par une table de Pythagore. Si n = card(e ), E peut être est mis en bijection avec l'ensemble {1,2,..., n}. On notera f : E {1,2,...,n} cette bijection et g la bijection inverse. f étant connue, une matrice nxn peut représenter (E, T) par l'intermédiaire de sa table de Pythagore. Soit m une matrice représentant (E, T) III.1. Donner la formule permettant de calculer m[i, j]. III.2. m étant connue, donner la formule permettant de calculer atb Dans ce qui suit, on prendra pour E l'ensemble {1,2,..., n}, f et g seront donc l'identité. Écrire les fonctions suivantes. III.3. commutative donnée m : matrice ; n : entier ; résultat r : booléen ; x, y : entier ; si la loi représentée par m d'ordre n est commutative, met vrai dans r, sinon, met faux dans r et un contre-exemple dans x et y. III.4. associative donnée m : matrice ; n : entier ; résultat r : booléen ; x, y, z : entier ; si la loi représentée par m d'ordre n est associative, met vrai dans r, sinon, met faux dans r et un contre-exemple dans x, y et z. 3/6

III.5. element_neutre donnée m : matrice ; n : entier ; résultat e : entier ; si la loi représentée par m d'ordre n possède un élément neutre, met sa valeur dans e, sinon, met 0 dans e. III.6. element_symetrique_doite donnée m : matrice ; n, x, e : entier ; résultat y : entier ; (on suppose que la loi représentée par m d'ordre n possède un élément neutre e) si x possède un symétrique à droite, met dans y la valeur du symétrique, sinon met 0 dans y. III.7. element_symetrique_gauche donnée m : matrice ; n, x, e : entier ; résultat y : entier ; (on suppose que la loi représentée par m d'ordre n possède un élément neutre e) si x possède un symétrique à gauche, met dans y la valeur du symétrique, sinon met 0 dans y. III.8. symetrique donnée m : matrice ; n, e : entier ; résultat r : booléen ; x : entier (on suppose que la loi représentée par m d'ordre n possède un élément neutre e) si tout élément possède un symétrique, met vrai dans r, sinon, met vrai dans r, et un élément sans symétrique dans x. III.9. groupe donnée m : matrice ; n : entier ; résultat r, c : booléen ; si (E, T) représenté par m d'ordre n est un groupe commutatif, met vrai dans r et dans c, si (E, T) est un groupe non commutatif, met vrai dans r et faux dans c, si (E, T) n'est pas un groupe, met faux dans r. 4/6

IV. Permutations (60 mn) L'objet de cet exercice est l'écriture de programmes permettant d'obtenir les permutations d'une liste d'éléments supposés distincts. Par exemple, 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 Première approche. Soit le tableau contenant les n premiers entiers. a 1 a 2 a i a i+1 a n-1 a n 1 2 i i+1 n-1 n L'approche récursive est la suivante : Supposons que l'on sache générer les permutations sur un tableau de i éléments. Pour générer les permutations d'un tableau de i+1 éléments, on générera tout d'abord toutes les permutations d'un tableau de i éléments, suivies chacune de a i+1. Puis, pour chaque k, avec k<=i, on échangera a i+1 avec a k et on générera les permutations du tableau de i éléments modifié, suivies chacune du nouveau a i+1. Si i vaut 1, l'affichage de la permutation est évident. IV.1. Écrire selon le principe ci-dessus la procédure permut donnée v : tableau d'entiers ; n : entier ; qui génère et affiche toutes les permutations possibles du tableau v de n entiers. IV.2. Donner les affichages pour un tableau des 3 entiers 1, 2 et 3. IV.3. Comment modifier la procédure pour qu'elle affiche les permutations dans l'ordre. Deuxième approche La méthode précédente génère toutes les permutations sans qu'il soit possible d'en extraire une particulière. Le but de cette deuxième approche est de générer la permutation suivante d'une permutation existante. Par exemple, à partir de 5 3 7 4 2 8 6 1 obtenir 5 3 7 4 6 1 2 8 Elle nécessite toutefois de pouvoir disposer d'un ordre sur les éléments à permuter. Le principe en est le suivant : 5/6

- à partir du tableau actuel, repérer l'indice de début du dernier sous-tableau strictement décroissant (éventuellement réduit au dernier élément). 5 3 7 4 2 8 6 1 1 2 3 4 5 6 7 8 Si tout le tableau est décroissant, la génération des permutations est terminée. - renverser ce sous-tableau 5 3 7 4 2 1 6 8 1 2 3 4 5 6 7 8 - échanger l'élément précédent ce sous-tableau avec le premier élément du soustableau qui lui est strictement supérieur 5 3 7 4 6 1 2 8 1 2 3 4 5 6 7 8 IV.4. Justifier la validité de cette approche. IV.5. Écrire la fonction dernier_sstab_decroissant donnée t : tableau d'entiers ; n : entier ; résultat r : entier qui retourne l'indice du dernier sous-tableau décroissant de t (tableau de n entiers) IV.6. Écrire la fonction renverse donnée-résultat t : tableau d'entiers ; donnée a, b : entier ; qui renverse le sous-tableau de t indicé de a à b. (t[a] est échangé avec t[b], t[a+1] est échangé avec t[b-1], etc.) IV.7. Écrire la fonction indice_plus_grand donnée t : tableau d'entiers ; n, a : entier ; qui retourne l'indice du premier élément du tableau situé entre l'indice a+1 et n strictement plus grand que t[a] IV.8. Écrire la fonction permutation_suivante donnée-résultat t : tableau d'entiers ; donnée n : entier ; qui transforme le tableau t de n entiers de manière à lui faire contenir la permutation suivante. 6/6