TD 2 - Modèles de calcul

Dimension: px
Commencer à balayer dès la page:

Download "TD 2 - Modèles de calcul"

Transcription

1 TD 2 - Modèles de calcul Remarques préliminaires Si ou désigne une relation binaire (de dérivation/transition suivant le contexte), on notera ou sa clôture transitive, comprendre la relation obenue en itérant la relation initiale un nombre arbitraire de fois Suivant le modèle considéré, on définira une notion de fonction calculée (de N k N ou, ce qui est équivalent à codage près, de N N) ou de langage reconnu (que l'on peut interpréter comme une fonction calculée de N {0, 1}) Machine RAM La machine RAM (pour Random-Access Machine) est un modèle formellement assez proche de l'assembleur de nos microprocesseurs Une machine RAM (sur les entiers) dispose d'un nombre infini dénombrable de registres, notés [1], [2], et pouvant contenir des entiers naturels (arbitrairement grands), et d'un programme constitué d'une séquence d'instructions parmi : UNIT r : effectue [r] := 1 ; ADD r d r 1 r 2 : effectue [r d ] := [r 1 ] + [r 2 ] ; SUB r d r 1 r 2 : effectue [r d ] := [r 1 ] [r 2 ] ; SHIFT r : effectue [r] := [r]/2 (en division entière) ; COPY_I r d r s : effectue [r d ] := [[r s ]] (attention à l'accès indirect de la source) ; I_COPY r d r s : effectue [[r d ]] := [r s ] (attention à l'accès indirect de la destination) ; JNZ r i : sauter à la i e instruction si [r] > 0 ; HALT : mettre fin au programme La machine exécute séquentiellement les instructions dans l'ordre du programme et s'arrête à la dernière instruction ou lorsqu'elle rencontre l'instruction HALT Fonction calculée Une fonction (partielle) f : N k N est calculable par machine RAM s'il existe une machine RAM telle que, pour tous v 1,, v k N : si f (v 1,, v k ) est définie, la machine s'arrête avec [1] = f (v 1,, v k ) lorsqu'elle est lancée depuis la configuration initiale dans laquelle [1] = v 1,, [k] = v k et [i] = 0 pour tout i > k ; sinon, la machine ne s'arrête pas depuis cette même configuration initiale Exercice 1 Un peu d'arithmétique Programmer une machine RAM prenant en entrée deux entiers n et i et calculant le i e bit de l'écriture binaire de n Programmer une machine RAM réalisant la multiplication de deux entiers Programmer une machine RAM calculant la factorielle de son entrée Exercice 2 Indirections Les instructions COPY_I et I_COPY permettent des accès indirects Supposons que l'on veuille stocker dans des registres les termes successifs d'une suite numérique jusqu'à un rang arbitrairement grand (par exemple donné en entrée) Justifier l'intérêt de ces indirections Qu'implique la non utilisation des indirections dans un programme? Comment pourrait-on répondre à la question précédente sans les indirections? Et si les registres étaient de taille bornée (et ne pouvaient par exemple contenir que des entiers codés sur 64 bits)? 1/5

2 Automate à pile(s) Un automate à pile est un automate fini qui dispose d'un espace de stockage sous la forme d'une pile L'automate effectue des transitions en fonction de la lettre courante du mot d'entrée mais également de la lettre de haut de pile À chaque transition, il dépile la lettre de haut de pile et peut empiler un nombre arbitraire de lettres à la place Formellement, un automate à pile (non déterministe) A est un 6-uplet A = (Q, Σ, Γ, δ, q 0, F ) où Q est l'ensemble fini des états, Σ l'alphabet d'entrée, Γ l'alphabet de pile qui contient un symbole spécial Z de fond de pile, δ : Q Σ {ε} Γ P(Q Γ ) la fonction de transition, q 0 l'état initial et F l'ensemble des états finaux Une configuration de A est un triplet (q, w, p) Q Σ Γ où q représente l'état courant, w le suffixe du mot d'entrée restant à lire et p le contenu actuel de la pile On définit alors la relation de transition sur les configurations : (q, aw, bp) (q, w, p p) (q, p ) δ(q, a, b) (q, w, bp) (q, w, p p) (q, p ) δ(q, ε, b) (ε-transition) On généralise naturellement cette définition à un nombre k 2 arbitraire de piles Langage reconnu Un mot w Σ est accepté par l'automate A s'il existe une séquence de transitions (q 0, w, Z) (q f, ε, p) avec q f F Cela définit le langage L(A) reconnu par l'automate Exercice 3 Des langages typiquement algébriques Programmer un automate à (une) pile qui reconnaît le langage {a n b n, n N} sur l'alphabet d'entrée Σ = {a, b} Programmer un automate à (une) pile qui reconnaît le langage des mots bien parenthésés 1 sur l'alphabet d'entrée Σ = {(, )} (qui ne contient qu'une seule forme de parenthèses) Automate à compteur(s) Un automate à k compteurs (déterministe), ou machine de Minsky, est un quintuplet A = (k, Q, δ, q 0, q f ) où k 1 est le nombre de compteurs, Q est l'ensemble fini des états, δ : Q\{q f } {0, +} k Q { 1, 0, 1} k est la fonction partielle de transition, q 0, q f Q sont les états initial et final Une configuration de A est un (k + 1)-uplet (q, n 1,, n k ) Q N k où q représente l'état courant et n 1,, n k les valeurs courantes des k compteurs Soit sgn la fonction signe définie sur N par sgn(n) = 0 si n = 0 et sgn(n) = + sinon On définit la relation de transition sur l'ensemble des configurations : (q, n 1,, n k ) (q, n 1 + d 1,, n k + d k ) si δ(q, sgn(n 1 ),, sgn(n k )) = (q, d 1,, d k ) et i, n i + d i 0 1 Un théorème de Chomsky et Schützenberger affirme que tous les langages reconnus par automate à une pile sont, à des transformations simples près, des langages de mots bien parenthésés (mais pour un nombre arbitraire de symboles de parenthèses) 2/5

3 Fonction calculée Une fonction (partielle) f : N k N est calculable par automate à compteurs s'il existe un automate à au moins k compteurs tel que, pour tous v 1,, v k N : si f (v 1,, v k ) est définie, l'automate atteint l'état q f avec le premier compteur à f (v 1,, v k ) lorsqu'il est lancé depuis la configuration initiale dans laquelle les k premiers compteurs contiennent respectivement v 1, v k et les autres 0 ; sinon, soit l'automate ne s'arrête pas, soit il s'arrête (c'est à dire qu'aucune transition n'est possible) dans un état différent de q f depuis cette même configuration initiale Exercice 4 Un peu d'arithmétique Encore? Programmer un automate à compteurs qui calcule l'addition, puis la multiplication de deux entiers naturels Programmer un automate à compteurs qui calcule le n e terme de la suite de Fibonacci pour n donné en entrée Système de Post Les systèmes de Post (tag systems) sont des systèmes de réécriture déterministes et séquentiels introduits par E Post dès les années 1920 Formellement, un k-système de Post est un triplet (k, Σ, p) où k 1, Σ est un alphabet fini et p : Σ Σ Le k-système transforme un mot w Σ en supprimant ses k premières lettres et en ajoutant p(w 1 ) à la fin (où w 1 est la première lettre de w) Formellement, on définit la relation de dérivation sur Σ par : w w k+1,, w p(w 1 ) si w k Cette relation n'est correctement définie que sur les mots w de taille au moins k Langage reconnu Un mot initial w est accepté par un k-système de Post si la séquence de dérivations partant de w s'arrête, c'est-à-dire que l'on atteint un mot de taille strictement plus petite que k Cela définit le langage L Σ reconnu par le système Exercice 5 Comme une lettre à la poste Programmer un système de Post qui reconnaît le langage des mots de longueur paire Programmer un système de Post qui calcule la suite de Syracuse en unaire définie par la relation de récurrence u n+1 = u n /2 si u n est pair et u n+1 = 3u n + 1 sinon Le système s'arrête dès que l'on atteint la valeur 1 Quel est le langage reconnu par ce système? 3/5

4 λ-calcul Le λ-calcul est un système formel (purement syntaxique) introduit par A Church dans les années 1930 Il constitue le cœur des langages de programmation fonctionnels contemporains comme OCaml ou Haskell Les termes (éléments syntaxiques) du λ-calcul sont appelés λ-termes et suivent la syntaxe récursive suivante (où x représente une variable et M un terme) : M ::= x M M λxm Ainsi, un λ-terme est soit une variable x (penser à une variable x en OCaml), soit l'application M M d'un terme M à un terme M (penser à l'application M M' d'un argument M' à une fonction M en OCaml), soit une fonction qui prend un paramètre représenté par la variable x et dont le corps est le terme M (penser à fun x -> M en OCaml) On associe à cette syntaxe un système de réécriture, noté, dont la seule règle est la β-réduction (où M[M /x] désigne le terme M dans lequel on a remplacé toutes les occurences de la variable x par le terme M ) : (λxm)m M[M /x] Ainsi l'application d'un argument M à une fonction λxm se réécrit en le corps M[M /x] de la fonction dans lequel on a remplacé les x par des M Les autres règles de réduction du λ-calcul, que l'on n'énoncera par formellement ici, ne servent qu'à permettre l'usage de la β-réduction à l'intérieur d'un terme Exercice 6 Quelques réductions Pas si β On pose I = λxx et F = λxλy(y (y I)) Réduire F (I I) F (I I) autant que possible (en ne faisant qu'une β-réduction à chaque étape) et comparez votre résultat avec celui de vos voisins Même question avec Ω = (λxx x) (λxx x) Proposer un terme dont la taille augmente à l'infini au fil des réductions Entiers de Church En λ-calcul, on représente l'entier n N par le terme suivant : [n] = λf λx(f (f ( (f x) )) = λf λx(f n x) } {{ } n Fonction calculée Une fonction (partielle) f : N k N est λ-calculable s'il existe un λ-terme T tel que T [v 1 ] [v k ] [f (v 1,, v k )] lorsque f (v 1,, v k ) est définie, la séquence des dérivations ne terminant pas sinon Exercice 7 Un peu d'arithmétique Toujours! Programmer une fonction incr telle que incr [n] [n + 1] Programmer une fonction add telle que add [n] [m] [n + m] Programmer une fonction mult telle que mult [n] [m] [n m] 4/5

5 Équivalence des modèles Exercice 8 En vous appuyant sur votre cours de compilation, que pensez-vous du lien entre le modèle de la machine RAM et le langage IMP vu en cours? Exercice 9 Le cycle des machines Montrer que l'on peut simuler une machine de Turing avec un automate à 2 piles déterministe On supposera pour cette simulation que le mot d'entrée lu par l'automate dispose d'un délimiteur # de fin de mot (et l'on rappelle que l'automate peut faire des ε-transitions qui ne consomment aucune lettre du mot d'entrée) Utiliser une pile pour stocker la partie du ruban située à droite de la tête de lecture et l'autre pour la partie gauche Montrer que l'on peut simuler un automate à 1 pile par un automate à 2 compteurs En déduire que l'on peut simuler un automate à 2 piles par un automate à 4 compteurs, justifier que l'on peut immédiatement réduire ce nombre à 3 compteurs Proposer enfin une méthode afin de réduire le nombre de compteurs à 2 Montrer que l'on peut simuler un automate à compteurs par une machine RAM Montrer que l'on peut simuler une machine RAM par machine de Turing On en conclurera que les quatre modèles précédents sont équivalents Exercice 10 Le cycle des systèmes de réécriture Montrer que l'on peut simuler une machine de Turing à l'aide d'un 2-système de Post Montrer que l'on peut simuler un 2-système de Post par un λ-terme du λ-calcul Justifier que l'on peut calculer une séquence de réductions d'un λ-terme sur machine de Turing On en conclurera que les trois modèles précédents sont équivalents 5/5

Algorithmique et Programmation Fonctionnelle

Algorithmique et Programmation Fonctionnelle Algorithmique et Programmation Fonctionnelle RICM3 Cours 9 : Lambda-calcul Benjamin Wack Polytech 2014-2015 1 / 35 La dernière fois Typage Polymorphisme Inférence de type 2 / 35 Plan Contexte λ-termes

Plus en détail

Vers l'ordinateur quantique

Vers 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étail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Yassine.Lakhnech@imag.fr. Modèles de Calcul Start p.

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Yassine.Lakhnech@imag.fr. Modèles de Calcul Start p. Modèles de Calcul Yassine Lakhnech Yassine.Lakhnech@imag.fr 2007/08 Université Joseph Fourier Lab.: VERIMAG Modèles de Calcul Start p.1/81 Équipe pédagogique Cours : Saddek Bensalem et Yassine Lakhnech

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

Plus en détail

CH.6 Propriétés des langages non contextuels

CH.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étail

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. 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étail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

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 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

Plus en détail

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

NOTATIONS PRÉLIMINAIRES

NOTATIONS PRÉLIMINAIRES Pour le Jeudi 14 Octobre 2010 NOTATIONS Soit V un espace vectoriel réel ; l'espace vectoriel des endomorphismes de l'espace vectoriel V est désigné par L(V ). Soit f un endomorphisme de l'espace vectoriel

Plus en détail

Cours 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 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étail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. 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étail

Introduction à NetCDF

Introduction à NetCDF Introduction à NetCDF École normale supérieure L3 géosciences 2014/2015 Lionel GUEZ guez@lmd.ens.fr Laboratoire de météorologie dynamique Explications préliminaires Deux distinctions générales sur les

Plus en détail

Recherche dans un tableau

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étail

D'UN THÉORÈME NOUVEAU

D'UN THÉORÈME NOUVEAU DÉMONSTRATION D'UN THÉORÈME NOUVEAU CONCERNANT LES NOMBRES PREMIERS 1. (Nouveaux Mémoires de l'académie royale des Sciences et Belles-Lettres de Berlin, année 1771.) 1. Je viens de trouver, dans un excellent

Plus en détail

chapitre 4 Nombres de Catalan

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

Plus en détail

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

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

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique NOM DE L'UE : Algorithmique et programmation C++ LICENCE INFORMATIQUE Non Alt Alt S1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques) MASTER INFORMATIQUE Non

Plus en détail

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2 1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 1 : Introduction à la programmation fonctionnelle 1 Introduction La programmation fonctionnelle

Plus en détail

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

Plus en détail

I- Définitions des signaux.

I- Définitions des signaux. 101011011100 010110101010 101110101101 100101010101 Du compact-disc, au DVD, en passant par l appareil photo numérique, le scanner, et télévision numérique, le numérique a fait une entrée progressive mais

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

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:

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: 420-183 Programmation 1 8. Les structures conditionnelles Dans l'écriture de tout programme informatique, une des premières nécessités que nous rencontrons est de pouvoir faire des choix. Dans une application

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Nombre de marches Nombre de facons de les monter 3 3 11 144 4 5 12 233 5 8 13 377 6 13 14 610 7 21 15 987 8 34 16 1597 9 55 17 2584 10 89

Nombre de marches Nombre de facons de les monter 3 3 11 144 4 5 12 233 5 8 13 377 6 13 14 610 7 21 15 987 8 34 16 1597 9 55 17 2584 10 89 Soit un escalier à n marches. On note u_n le nombre de façons de monter ces n marches. Par exemple d'après l'énoncé, u_3=3. Pour monter n marches, il faut d'abord monter la première. Soit on la monte seule,

Plus en détail

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

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.

Plus en détail

Peut-on tout programmer?

Peut-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étail

Système binaire. Algèbre booléenne

Systè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étail

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

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

Plus en détail

Initiation à l algorithmique

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 -

Plus en détail

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.

Plus en détail

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/ Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes

Plus en détail

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) I. L'intérêt de la conversion de données, problèmes et définitions associés. I.1. Définitions:

Plus en détail

TP 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 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étail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4 1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur

Plus en détail

Programmation assembleur : aperçu

Programmation assembleur : aperçu Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal

Plus en détail

Structures algébriques

Structures algébriques Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Lambda-calcul et langages fonctionnels

Lambda-calcul et langages fonctionnels Lambda-calcul et langages fonctionnels Jean Goubault-Larrecq Abstract Ceci est la version 4 de la première partie du cours de lambda-calcul, datant du 02 juin 2014. La version 3 datait du 28 janvier 2011

Plus en détail

Réalisabilité et extraction de programmes

Réalisabilité et extraction de programmes Mercredi 9 mars 2005 Extraction de programme: qu'est-ce que c'est? Extraire à partir d'une preuve un entier x N tel que A(x). π x N A(x) (un témoin) (En fait, on n'extrait pas un entier, mais un programme

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Analyse syntaxique descendante Claude Moulin Université de Technologie de Compiègne Printemps 2010 Sommaire 1 Principe 2 Premiers 3 Suivants 4 Analyse 5 Grammaire LL(1) Exemple : Grammaire

Plus en détail

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur Université Paris-Sud Licence d Informatique Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur Adresse de l auteur : LIX École Polytechnique

Plus en détail

6 - La conscience est-elle un processus algorithmique?

6 - La conscience est-elle un processus algorithmique? 6 - La conscience est-elle un processus algorithmique? par Hervé Zwirn Le problème de la conscience est sans doute l'un des plus difficiles sinon le plus difficile auquel on puisse s'attaquer. J'en veux

Plus en détail

Exercices de dénombrement

Exercices 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étail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Cours Informatique Master STEP

Cours 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étail

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

Intégration et probabilités TD1 Espaces mesurés Intégration et probabilités TD1 Espaces mesurés 2012-2013 1 Petites questions 1) Est-ce que l ensemble des ouverts de R est une tribu? 2) Si F et G sont deux tribus, est-ce que F G est toujours une tribu?

Plus en détail

MultiPlus sans limites

MultiPlus sans limites MultiPlus sans limites La maîtrise de l'énergie avec le Phoenix Multi/MultiPlus de Victron Energy Parfois les possibilités offertes par un nouveau produit sont si uniques qu'elles sont difficiles à comprendre,

Plus en détail

Algorithmique avec Algobox

Algorithmique 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étail

CHAPITRE IX : Les appareils de mesures électriques

CHAPITRE IX : Les appareils de mesures électriques CHAPITRE IX : Les appareils de mesures électriques IX. 1 L'appareil de mesure qui permet de mesurer la différence de potentiel entre deux points d'un circuit est un voltmètre, celui qui mesure le courant

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

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.

Plus en détail

Chapitre 7. Récurrences

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,

Plus en détail

Les chaînes de caractères

Les 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étail

Compression de Données - Algorithme de Huffman Document de Conception

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

Plus en détail

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

Chapitre 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étail

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD Architecture des ordinateurs. Jean-Luc Dekeyser TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder

Plus en détail

Chapitre 1 I:\ Soyez courageux!

Chapitre 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étail

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

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 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étail

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

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

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Chapitre 4 : les stocks

Chapitre 4 : les stocks Chapitre 4 : les stocks Stocks et actifs Une entreprise achète généralement des biens pour les utiliser dans son processus de production, ce sont les matières premières et les fournitures, elle peut également

Plus en détail

Le codage informatique

Le codage informatique Outils de Bureautique Le codage informatique (exemple : du binaire au traitement de texte) PLAN 3) Le codage binaire 4) Représentation physique des bits 5) Le bit est un peu court... 6) Codage de texte

Plus en détail

Leçons et exemples de programmation en Logo

Leçons et exemples de programmation en Logo Leçons et exemples de programmation en Logo Francis Leboutte Le 18 mai 2005 1 www.algo.be/logo.html IDDN.BE.010.0093308.000.R.C.2001.035.42000 Droits d'utilisation et de reproduction La reproduction et

Plus en détail

ELP 304 : Électronique Numérique. Cours 1 Introduction

ELP 304 : Électronique Numérique. Cours 1 Introduction ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux

Plus en détail

Algorithmique et Programmation, IMA

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

Plus en détail

Fondements de l informatique Logique, modèles, et calculs

Fondements de l informatique Logique, modèles, et calculs Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

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

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.

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. 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étail

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

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.

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement 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étail

6. Les différents types de démonstrations

6. 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étail

Image d un intervalle par une fonction continue

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

Plus en détail

Tout savoir sur le matériel informatique

Tout savoir sur le matériel informatique Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation

Plus en détail

Limites finies en un point

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,

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

FONCTION EXPONENTIELLE ( ) 2 = 0.

FONCTION EXPONENTIELLE ( ) 2 = 0. FONCTION EXPONENTIELLE I. Définition Théorème : Il eiste une unique fonction f dérivable sur R telle que f ' = f et f (0) =. Démonstration de l'unicité (eigible BAC) : L'eistence est admise - Démontrons

Plus en détail

Algorithmes de recherche

Algorithmes 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étail

Programmation Objet - Cours II

Programmation 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étail

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur NOTIFICATIONS GUIDE Le module Notifications permet de retrouver des notifications en utilisant les champs spécifiques de la base de données du Registre central des notifications (RCN). Il comporte une

Plus en détail

Carl-Louis-Ferdinand von Lindemann (1852-1939)

Carl-Louis-Ferdinand von Lindemann (1852-1939) Par Boris Gourévitch "L'univers de Pi" http://go.to/pi314 sai1042@ensai.fr Alors ça, c'est fort... Tranches de vie Autour de Carl-Louis-Ferdinand von Lindemann (1852-1939) est transcendant!!! Carl Louis

Plus en détail

Éléments d'architecture des ordinateurs

Éléments d'architecture des ordinateurs Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances

Plus en détail

GUIDE D'INSTRUCTIONS

GUIDE D'INSTRUCTIONS French GUIDE D'INSTRUCTIONS LECTEUR CD/MP3 AVEC RADIO FM ET LECTEUR USB Veuillez lire ces instructions avant d'utiliser votre appareil. Respectez-les scrupuleusement. VUE D'ENSEMBLE DU LECTEUR 1 2 3 10

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

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

Les 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étail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail