Intelligence Artificielle TP 2 : Programmation Prolog

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

Download "Intelligence Artificielle TP 2 : Programmation Prolog"

Transcription

1 Intelligence Artificielle TP 2 : Programmation Prolog 1 Exercice 1 Un ancêtre est une personne dont quelqu un descend. Nous allons écrire un prédicat pour la relation ancêtre où ancetre(a,b) veut dire que A est un ancêtre de B. Si la base de connaissances contient des relations parent, on peut facilement définir la relation ancêtre. Un parent est un ancêtre pour son enfant et tous les ancêtres d un parent sont aussi des ancêtres pour l enfant. Par exemple, supposons le graphe suivant qui représente des relations parent où les parents sont juste au dessus de leur enfants. On peut représenter le graphe en Prolog par les faits suivants, où p(x,y) traduit que X est le parent de Y : p(a,b). p(a,c). p(c,d). p(d,e). p(d,f). p(n,w). p(w,y). p(z,y). p(y,x). p(y,m). p(x,f). p(x,t). Quel sont les ancêtres de e? A partir du graphe, on constate qu ils sont d, c et a. On obtient cela en commençant par trouver les parents de e, puis leurs ancêtres. Ceci nous fournit le cas base (un ancêtre est un parent), et le cas récursif (un ancêtre d un parent est un ancêtre) pour la définition du prédicat ancetre. 1

2 Questions : 1. Programmez le prédicat ancetre avec la base de connaissance donnée ci-dessus. ancetre(a,b) :- p(a,b). % un parent est un ancetre ancetre(a,b) :- p(x,b), ancetre(a,x). % un ancetre du parent est un ancetre Effectuez les différents tests suivants : (a) Essayez différents buts et utilisez le backtracking pour trouver les ancêtres. Trouvez la plus longue liste d ancêtres. (b) Essayez des buts avec des variables dans les paramètres et utilisez le backtracking. 2. Faites les différents tests suivants, en utilisant le debugeur. Dans les parties 2b et 2c vous pouvez observer les appels récursifs au prédicat ancetre. (a)?- ancetre(a,e). (b)?- trace, ancetre(a,e). (c)?- spy(ancetre), ancetre(a,e). (tapez l pour sauter à l utilisation de ancetre) (d)?- nospy(ancetre), spy(p), ancetre(a,e). (tapez l pour sauter à l utilisation de p) 3. Modifiez la définition du prédicat ancetre comme indiqué dans les cas suivants, et remarquez les différences dans l exécution. (a) Changez l ordre des deux clauses de sort que l appel récursif arrive en premier avant le cas de base. (b) Changer l ordre des prédicats dans la clause récursif. 4. Modifiez le prédicat ancetre de sorte à ce qu il affiche le nombre de générations entre les personnes. Par exemple le but?- ancetre(a, e, N). retournera N=3. Testez avec différents buts en incluant des buts avec des variables dans les arguments. Observez le résultat avec le débugeur. 2 Exercice 2 Supposez que pour chaque entier naturel n on désire écrire la séquence de tous les entiers successifs entre 0 et n. Pour trouver le programme qui 2

3 permet de faire cela on peut faire quelques observations. Premièrement, on observe que pour n = 0 la réponse est 0. D un autre coté, si n > 0, la tâche est accomplie si nous écrivons la séquence de 0 à n 1 et si ensuite nous ajoutons n à la séquence. Ces observations nous fournissent le cas de base et le cas récursif pour un prédicat seq qui réalise cette tâche. Par exemple :?-seq(3). devra imprimer la séquence Une définition du prédicat seq peut être écrite comme suit, où nous avons ajouté une vérification que le nombre est bien un entier naturel. La séquence sera affichée sous forme d une colonne. seq(0) :- write(0), nl. % nl passe à la ligne seq(n) :- nat(n), % vérifie si N est naturel M is N-1, seq(m), % affiche la séquence de 0 à N-1 write(n), nl. % affiche N nat(x) :- integer(x), X >= 0. % prédicat de vérification des nombres naturels Pour un autre exemple de ce type de programmation, supposez que l on désire calculer la somme n pour tout entier naturel n. On peut faire quelques observations sur la somme pour construire le programme. Premièrement, si n = 0 le résultat doit être 0. Ensuite, pour n > 0, la tâche serait accomplie si nous calculons la somme n 1 à laquelle nous ajoutons n. De la même manière que dans le cas précédent, cette observation nous donne le cas de base et le cas récursif pour le prédicat somme. Par exemple, le but?- somme(3, Res). devrait donner Res=6. La définition du prédicats somme peut être la suivante : somme(0,0). somme(n,s) :- nat(n), K is N-1, somme(k,t), S is T+N. Questions : 1. Implémentez le programme du prédicat seq et essayez avec différents buts. Ensuite, faites les tests suivants, dans les parties 1b et 1c vous observerez les appels récursifs au prédicat seq. (a)?- seq(3). (b)?- trace, seq(3). (c)?- spy(seq), seq(3). (tapez l pour sauter aux appels de seq) (d)?- nospy(seq), spy(nat), seq(3). (tapez l pour sauter aux appels de nat) 3

4 2. Faites les modifications suivantes à la définition du prédicat seq. (a) Changez l ordre des deux clauses de sorte que le cas de base arrive après la cas récursif. Testez la nouvelle définition et observez les différences avec l ancienne. (b) A partir de cette dernière modification du prédicat seq, supprimez l appel au prédicat nat. Observer le comportement, en utilisant le debugeur. 3. Modifiez la définition original du prédicat seq de sorte que les numéros s affichent dans l ordre inverse. Par exemple le but?- seq(3). devrait afficher Implémentez le programme du prédicat somme et essayez avec différents buts pour vérifier qu il marche bien. Ensuite, faites les tests suivants, dans les parties 4b et 4c vous observerez les appels récursifs au prédicat somme. (a)?- somme(3,x). (b)?- trace, somme(3,x). (c)?- spy(somme), somme(3,x). (tapez l pour sauter aux appels de somme) (d)?- nospy(somme), spy(is), somme(3,x). (tapez l pour sauter aux appels de is) (e)?- trace, somme(n,2)., qu observez vous? 5. Faites les modifications suivantes à la définition du prédicat somme. (a) Changez l ordre des deux clauses de sorte que le cas de base arrive après la cas récursif. Testez la nouvelle définition et observez les différences avec l ancienne. (b) A partir de cette dernière modification du prédicat somme, supprimez l appel au prédicat nat. Observer le comportement, en utilisant le debugeur. (c) L ordre des prédicats dans les formules est important, car elle sont exécutées de gauche à droite. Pour observer cela, modifier l ordre des termes de la clause récursive de somme comme ci-dessous, et observez les différences dans l exécution du but somme(3,x). somme(0,0). somme(n,s) :- nat(n), somme(k,t), K is N-1, S is T+N. 4

5 3 Exercice 3 Un ensemble E est définit par induction s il peut être décrit en nommant quelques éléments spécifiques de E (le cas de base) et en donnant une ou plusieurs règles pour construire de nouveaux éléments de E à partir d éléments existants dans E (le cas d induction). On fait l hypothèse que E ne contient que des éléments construit à partir de ces règles. Par exemple, soit E l ensemble défini comme suit : Base : 2 E Induction : si x E alors x + 3 E Soit le prédicat danse(x) pour tester si x E. On peut définir danse comme suit : danse(2). danse(x) :- Y is X-3, Y>=2, danse(y). Questions : 1. Donner une définition de l ensemble E. 2. Implémentez le prédicat danse, et vérifiez qu il teste bien l appartenance à l ensemble que vous avez définit. Essayez avec des arguments qui ne sont pas dans E et des arguments non entiers. 3. Faites les tests suivants :?- danse(5).?- trace, danse(5).?- spy(danse), danse(5). (tapez l pour sauter aux appels de danse) Observez ce qu il se passe si vous mettez une variable comme argument. 4. Pour chacune des définitions inductives d ensemble suivantes, donnez une définition de l ensemble A, ensuite donnez une définition du prédicat dansa(x) qui teste l appartenance de x dans A. Testez votre prédicat par rapport à votre définition de l ensemble. Refaites les tests précédents avec dansa. (a) Base : 3 A Induction : si x A alors 2x + 1 A (b) Base : 0 A Induction : si x A alors x + 4 A et x + 9 A 5

6 4 Exercice 4 Vous devez écrire deux programmes, l un pour calculer la factorielle d un entier et l autre pour calculer le nombre Fibonacci d un entier. On vous donne les définitions récursives suivantes : 1. Factorielle Base : 0! = 1, Récursion : n! = (n 1)! n 2. Fibonacci Base : fib(0) = 0, fib(1) = 1 Récursion : fib(n) = fib(n-1) + fib(n-2). Par exemple?- fac(5,n). donnerait le résultat suivant : N=120, et?- fibo(8,n). donnerait N=21. Testez vos prédicat avec différentes valeurs. 5 Exercice 5 Le problème des tours de Hanoï est un jeu de réflexion imaginé par le mathématicien français Édouard Lucas, et consistant à déplacer des disques de diamètres différents d une tour de départ à une tour d arrivée en passant par une tour intermédiaire et ceci en un minimum de coups, tout en respectant les règles suivantes : on ne peut déplacer plus d un disque à la fois, on ne peut placer un disque que sur un autre disque plus grand que lui ou sur un emplacement vide. La figure suivante montre le point de départ et le point d arrivée. On suppose que cette dernière règle est également respectée dans la configuration de départ. 6

7 La clé pour résoudre ce problème est de voir qu il peut être résolu en le décomposant en une collection de problèmes plus simples qui peuvent eux aussi être décomposés jusqu à ce que une solution soit trouvée. Ce qui suit montre l approche : 1. étiqueter les colonnes A, B, C (ces étiquettes peuvent changer à différentes étapes) 2. soit n le nombre total des disques. 3. numéroter les disques de 1 (plus petit/plus haut) à n (plus grand/plus bas) Pour déplacer n disques de la colonne A à la colonne C : 1. déplacer n-1 disques de A à B (ce qui laisse le disque numéro n sur A) 2. déplacer le disque numéro n de A à C 3. déplacer n-1 disques de B à C (qui vont se trouver sur le disque numéro n) L algorithme ci-dessous est une procédure récursive : pour faire les étapes 1 et 3, on applique le même algorithme pour n-1, n-2... etc. La procédure s exécute en un nombre fini d étapes, puisque n décroît jusqu à n=1. Cette étape correspond à déplacer un disque de la colonne A à la colonne B. Le but de cette partie est d écrire un programme Prolog pour résoudre ce problème. Le prédicat doit prendre 4 arguments, le nombre de disques à déplacer, la colonne de départ, la colonne d arrivée et la troisième colonne. Par exemple :?- hanoi(3, gauche, droite, centre). Déplacer un disque de gauche à droite Déplacer un disque de gauche à centre Déplacer un disque de droite à centre Déplacer un disque de gauche à droite Déplacer un disque de centre à gauche Déplacer un disque de centre à droite Déplacer un disque de gauche à droite true? yes 7

La programation dynamique

La programation dynamique La programation dynamique François Lemieux UQAC François Lemieux (UQAC) La programation dynamique 1 / 51 La programmation dynamique 1 Le compromis espace/temps 2 Principes de la programmation dynamique

Plus en détail

Les tours de Hanoï. DossierLogique. et la base trois

Les tours de Hanoï. DossierLogique. et la base trois Les tours de Hanoï et la base trois Au XIX e siècle, Édouard Lucas a inventé le jeu des «tours de Hanoï», une simple récréation mathématique qui s est révélée au fil des années une mine de réflexions.

Plus en détail

Programmation fonctionnelle : feuille d exercices 3

Programmation fonctionnelle : feuille d exercices 3 Programmation fonctionnelle : feuille d exercices 3 María-Virginia Aponte 19 mars 2011 Exercice 1 Filtrage et premières listes Complétez le tableau suivant : Motif Valeur comparée Réussite Liaisons 3 1

Plus en détail

L induction mathématique

L induction mathématique L induction mathématique François Lemieux L induction mathématique est une technique de preuve essentielle pour vérifier non seulement certaines équations mathématiques mais aussi pour démontrer l exactitude

Plus en détail

Agrégation de Mathématiques option Informatique TP1

Agrégation de Mathématiques option Informatique TP1 Agrégation de Mathématiques option Informatique TP1 Loïg Jezequel loig.jezequel@irisa.fr Mardi 13 Septembre 2011 Ce TP largement inspiré des premiers chapitres du livre Le Langage Caml de Pierre Weis et

Plus en détail

NFA031 Programmation avec Java: notions de base

NFA031 Programmation avec Java: notions de base NFA031 Programmation avec Java: notions de base CNAM - centre d enseignement de Paris session 1-12 février 2015 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : QCM (2,5

Plus en détail

TP 1 : INITIATION À L'ALGORITHMIQUE.

TP 1 : INITIATION À L'ALGORITHMIQUE. TS I) LANGAGE NATUREL. TP 1 : INITIATION À L'ALGORITHMIQUE. 1 1) Un exemple dans la vie quotidienne : Voici une recette tirée d un livre de cuisine : (Extrait du livre Indice 2 nde (Édition Bordas)) Se

Plus en détail

Programmation projet 2015 (r3)

Programmation projet 2015 (r3) Introduction Programmation projet 2015 (r3) Imaginez que vous avez pris une photo d un graphique dessiné au tableau noir ou dans un ouvrage. Vous désirez utiliser les données de ce graphique dans un projet.

Plus en détail

Pratique de la Division et Calculatrices

Pratique de la Division et Calculatrices RAPPEL: CALCULATRICE SCIENTIFIQUE Sixième - Page 1-4 2 = 12 x + 6 4 2 1 2 Pour vérifier si une calculatrice est scientifique, tapez 2 + x 4 =. 6 Premier cas : Si vous trouvez 14,le résultat est exact et

Plus en détail

Algorithmique (suite) Tableaux à 2 dimensions

Algorithmique (suite) Tableaux à 2 dimensions Algorithmique (suite) Tableaux à 2 dimensions 1 Plan Tableau à deux dimensions Lecture Quelques algorithmes 2 Tableau à deux dimensions Déclaration: Variable nomt:tableau(val1, val2) de type Ex: Variable

Plus en détail

Programmation dynamique. p.1

Programmation dynamique. p.1 Programmation dynamique p.1 p.2 Exemple: C n k Exemple: On veut calculer Ck n = n! ( ) n ) k k!(n k)! (aussi noté Prop: C n k = Cn 1 k 1 + Cn 1 k pour 0 < k < n, 1 sinon. Approche Diviser pour régner.

Plus en détail

Séance 2b: Séance 2b.

Séance 2b: Séance 2b. Introduction à la Programmation Travaux Pratiques Séance b: Séance b. Université Paris-Diderot Objectifs: S exercer à écrire du Python. Effectuer des calculs arithmétiques dépendant de l indice d une boucle.

Plus en détail

Spécialité ISN - Terminale S Année TD n 10 : LES FONCTIONS RECURSIVITE- Fractales avec turtle

Spécialité ISN - Terminale S Année TD n 10 : LES FONCTIONS RECURSIVITE- Fractales avec turtle TD n 10 : LES FONCTIONS RECURSIVITE- Fractales avec turtle Savoirs Fonctions -notion de fonction -portée des variables -définition récursive de fonctions Capacités Concevoir l entête d une fonction, puis

Plus en détail

UE Inf242 : TP2 Unification, Arbre d exploration, Arithmétique en Prolog

UE Inf242 : TP2 Unification, Arbre d exploration, Arithmétique en Prolog UE Inf242 : TP2 Unification, Arbre d exploration, Arithmétique en Prolog 31 mars 2006 On doit suivre les recommandations du premier TP, essentiellement faire un compte-rendu, commenter et tester les programmes

Plus en détail

Le développement d un programme dépend de la taille et de la complexité du problème. Nous identifions deux façons de procéder pour développer :

Le développement d un programme dépend de la taille et de la complexité du problème. Nous identifions deux façons de procéder pour développer : Programmation Impérative : Méthodologie Introduction Le développement d un programme dépend de la taille et de la complexité du problème. Nous identifions deux façons de procéder pour développer : Programmation

Plus en détail

Calculabilité, correction, terminaison et compléxité 1/23

Calculabilité, correction, terminaison et compléxité 1/23 Calculabilité, correction, terminaison et compléxité 1/23 Sommaire 1. 2. 3. 4. 5. Calculabilité Terminaison et correction d'algorithmes Complexité Exemple : tri Pour aller plus loin 2/23 Calculabilité

Plus en détail

TD/TP 1 : Mémoire en C

TD/TP 1 : Mémoire en C DUT Informatique 2014 / 2015 TD/TP 1 : Mémoire en C Rappels de l organisation de la mémoire et des pointeurs étudiés en S21. Comprendre et manipuler les tableaux en C. Durée : 1 TD et 2 TPs. 1 Rappels

Plus en détail

UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D INFORMATIQUE. Devoir # 4 IFT 209 Programmation système

UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D INFORMATIQUE. Devoir # 4 IFT 209 Programmation système UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D INFORMATIQUE Devoir # 4 IFT 209 Programmation système Devoir à remettre au plus tard le lundi 20 mars 2017 à 23h59. Les casse-têtes Sudoku Noms : Ce devoir est à

Plus en détail

Manuel d utilisation UTILISATION DES LISTES PRÉFÉRÉES. Page 3-30

Manuel d utilisation UTILISATION DES LISTES PRÉFÉRÉES. Page 3-30 Manuel d utilisation UTILISATION DES LISTES PRÉFÉRÉES Les listes préférées sont les listes de vos canaux favoris. Vous créez et modifiez vousmême les listes et y ajoutez ou en supprimez des canaux. Vous

Plus en détail

TABLE DES MATIERES. Livret Utilisateur Excel XP Les graphiques

TABLE DES MATIERES. Livret Utilisateur Excel XP Les graphiques TABLE DES MATIERES Document de départ... 3 Création d un graphique... 4 Mettre en page le graphique dans la feuille de calcul... 8 Déplacer le graphique... 8 Modifier la taille de l objet graphique...

Plus en détail

Prise en mains de Snap! Unit 1 : contrôler Poppy avec les touches de son clavier

Prise en mains de Snap! Unit 1 : contrôler Poppy avec les touches de son clavier Prise en mains de Snap! Unit 1 : contrôler Poppy avec les touches de son clavier 1. Commencer son premier programme en Snap! Vous allez coder un programme permettant de contrôler le robot Poppy avec les

Plus en détail

Laboratoire 08 I. Installation du serveur DHCP sur la machine serveur

Laboratoire 08 I. Installation du serveur DHCP sur la machine serveur Laboratoire 08 I. Installation du serveur DHCP sur la machine serveur 1. Installation du serveur DHCP Dans cette partie vous allez installer et configurer un serveur DHCP sur votre serveur. Pour installer

Plus en détail

Utilisation des tableaux croisés dynamiques dans EXCEL

Utilisation des tableaux croisés dynamiques dans EXCEL Utilisation des tableaux croisés dynamiques dans EXCEL Bruno RAMOND UR04 Novembre 2016 Avant de commencer Pour utiliser les tableaux croisés dynamiques dans Excel, vous devez disposer d un tableau avec

Plus en détail

Les types dépendants Yves Bertot

Les types dépendants Yves Bertot Les types dépendants Yves Bertot Familles de types I Représenter des collections de types A 1, A 2,... I Exemple : tableaux de longueur 1, 2,... I Aussi : nombres inférieurs à 1, 2,... I Utiliser des fonctions

Plus en détail

Chapitre 10 Suites numériques. Table des matières. Chapitre 10 Suites numériques TABLE DES MATIÈRES page -1

Chapitre 10 Suites numériques. Table des matières. Chapitre 10 Suites numériques TABLE DES MATIÈRES page -1 Chapitre 10 Suites numériques TABLE DES MATIÈRES page -1 Chapitre 10 Suites numériques Table des matières I Exercices I-1 1................................................ I-1 2................................................

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Récursivité d après le cours de N. Devésa, Polytech lille Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

Cours 5: Programmation dynamique

Cours 5: Programmation dynamique 1 Cours 5: Programmation dynamique Olivier Bournez bournez@lix.polytechnique.fr LIX, Ecole Polytechnique 2011-12 Algorithmique Exemple: C k n Exemple: On veut calculer C k n = n! k!(n k)! (aussi noté (

Plus en détail

Fiche 4 : 2 h. Fichier créé : MAIS Notions nouvelles : 1- Créez un nouveau classeur. 2- Nommez et supprimez des feuilles

Fiche 4 : 2 h. Fichier créé : MAIS Notions nouvelles : 1- Créez un nouveau classeur. 2- Nommez et supprimez des feuilles Fiche 4 : 2 h Calcul de pourcentages Fichier créé : MAIS Notions nouvelles : Tableur : supprimer une feuille, bloc de cellules, références relatives et absolues, modifier la hauteur d une ligne et la largeur

Plus en détail

TD : A la découverte de Python

TD : A la découverte de Python TD : A la découverte de Python 1) Environnement de travail a) Qu est-ce qu un IDE? Lorsqu on fait de la programmation, il est agréable d avoir à sa disposition différents outils qui permettent de travailler

Plus en détail

Nom: Prénom: Groupe: Université de Bordeaux, Département Licence Devoir surveillé du 07/03/2017. Algorithmique des tableaux

Nom: Prénom: Groupe: Université de Bordeaux, Département Licence Devoir surveillé du 07/03/2017. Algorithmique des tableaux Nom: Prénom: Groupe: Université de Bordeaux, Département Licence Devoir surveillé du 07/03/2017 4TPM205CC 9h00-10h30 Algorithmique des tableaux Le sujet comporte 6 pages. Aucun document n est autorisé.

Plus en détail

Le Réchauffement Climatique

Le Réchauffement Climatique Le Réchauffement Climatique Épreuve pratique d algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l épreuve: 3 heures 30 minutes Juillet 2007 ATTENTION! N oubliez

Plus en détail

MINES-PONTS 2002 : épreuve d informatique Filière MP (durée de l épreuve : 3 heures)

MINES-PONTS 2002 : épreuve d informatique Filière MP (durée de l épreuve : 3 heures) MINES-PONTS 2002 : épreuve d informatique Filière MP (durée de l épreuve : 3 heures) RECOMMANDATIONS AUX CANDIDATS ET CANDIDATES L énoncé de cette épreuve, y compris cette page de garde, comporte 8 pages.

Plus en détail

# * 1.0 évite le problème dus aux divisions entières # 1/2 --> 0, 1 * 1.0 / 2 --> 0.5

# * 1.0 évite le problème dus aux divisions entières # 1/2 --> 0, 1 * 1.0 / 2 --> 0.5 1 TD 2 : Tri minuté (correction page??) Abordé lors de cette séance programmation algorithme fonctions, listes tri bulle L objectif de ce TD est de programmer un tri bulle. Ce tri sera décomposé en plusieurs

Plus en détail

Semaine 3 : Série d exercices sur les algorithmes [Solutions]

Semaine 3 : Série d exercices sur les algorithmes [Solutions] Information, calcul et communication EPFL MA/PH Automne 2016 Semaine 3 : Série d exercices sur les algorithmes [Solutions] 1 Quel est le bon algorithme? le retour Le bon algorithme est le c. Le a a deux

Plus en détail

Récursivité. 1 Contenu du document et travail à réaliser. 2 Récursivité et listes. Python. Python

Récursivité. 1 Contenu du document et travail à réaliser. 2 Récursivité et listes. Python. Python Récursivité 1 Contenu du document et travail à réaliser Le document présente des exemples de fonctions définies de façon récursive L objectif est de comprendre la programmation récursive de quelques fonctions

Plus en détail

1 Boucles for et while.

1 Boucles for et while. Boucles et Fonctions Les deux premières parties de ce T.P. ont pour but la manipulation des boucles for et while, puis l écriture de fonctions. Pour la suite, on s attache à l implémentation en langage

Plus en détail

TUTORIEL DE L ACTIVITÉ TEST DE MOODLE

TUTORIEL DE L ACTIVITÉ TEST DE MOODLE TUTORIEL DE L ACTIVITÉ TEST DE MOODLE Marc Oddou www.moddou.com OBJECTIFS : - Utiliser l activité test et ajouter des questions sur 2 pages - Créer une catégorie - Accéder aux notes et aux barèmes du test

Plus en détail

Thème 1 : la récursivité

Thème 1 : la récursivité Thème 1 : la récursivité «To understand recursion, you must understand recursion.» Inconnu 1 Rappels sur les fonctions 1.1 Qu est-ce qu une fonction? Définition. Une fonction est une séquence d instructions

Plus en détail

Informatique TP2 : Structures de contrôles, algorithmes CPP 1A

Informatique TP2 : Structures de contrôles, algorithmes CPP 1A Informatique TP2 : Structures de contrôles, algorithmes CPP 1A Thierno Barry, Frederic Devernay, Julie Dumas, Matthieu Moy Mars 2016 Modifications La partie 2 a été modifiée depuis la semaine dernière.

Plus en détail

TP 8 : Les pointeurs

TP 8 : Les pointeurs TP 8 : Les pointeurs Objectif : Maîtriser les notions d adresse et de pointeur LES POINTEURS... 2 1. RAPPEL SUR LES TABLEAUX...2 2. ADRESSES ET POINTEURS...2 3. RECUPERATION DE L ADRESSE D UN ELEMENT...3

Plus en détail

Raisons de l'utilisation des notes de bas de page et des notes de fin. Description d'une note de bas de page ou d'une note de fin

Raisons de l'utilisation des notes de bas de page et des notes de fin. Description d'une note de bas de page ou d'une note de fin Service informatique Enseignement Recherche Fiche n 27 16/05/2002 WORD : les notes de bas de pages et de fin de document Raisons de l'utilisation des notes de bas de page et des notes de fin En règle générale,

Plus en détail

INF203 - Travaux pratiques, séance 1 Arborescence, droits d accès, interpréteur de commandes, shell

INF203 - Travaux pratiques, séance 1 Arborescence, droits d accès, interpréteur de commandes, shell Université Grenoble Alpes DLST UE INF203 Année 2016-17 INF203 - Travaux pratiques, séance 1 Arborescence, droits d accès, interpréteur de commandes, shell Avant de commencer cette séance. Chaque membre

Plus en détail

contre-exemple : problème de l arrêt (Rq. : si c était vrai, tout problème semi-décidable serait décidable)

contre-exemple : problème de l arrêt (Rq. : si c était vrai, tout problème semi-décidable serait décidable) Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE INF 461, Modèles de calcul. Responsable A. Muscholl Session 1, 2009 2010. 15 décembre 2009, 14h-17h. Documents autorisés :

Plus en détail

Induction MLO. C. Dubois. C. Dubois () Induction 1 / 22

Induction MLO. C. Dubois. C. Dubois () Induction 1 / 22 Induction MLO C. Dubois C. Dubois () Induction 1 / 22 L induction Un outil formel élégant très utile en informatique Pour définir des ensembles, des fonctions Pour démontrer des propriétés avec des techniques

Plus en détail

Utiliser les formules

Utiliser les formules Utiliser les formules Tout l intérêt d un tableur consiste à effectuer, non seulement des calculs simples comme toutes les opérations arithmétiques que nous avons tous apprises à l école, mais également

Plus en détail

Série d exercices N 3

Série d exercices N 3 LSR Les structures de contrôle itératives Enseignant : Sami MEJRI Bac 2016-4 ème Sc Exp Série d exercices N 3 Exercice 1 Ecrire une analyse, un algorithme et la traduction Pascal d un programme qui saisit

Plus en détail

Guide de démarrage rapide

Guide de démarrage rapide Guide de démarrage rapide L aspect de Microsoft PowerPoint 2013 étant différent par rapport aux versions antérieures, nous avons créé ce guide pour vous permettre d être opérationnel au plus vite. Trouver

Plus en détail

droite d'équation y = ax + b

droite d'équation y = ax + b T.P. Usage scientifique d'un tableur. Introduction : Les tableurs n'ont pas été conçus pour faire de la physique ou des mathématiques. Leurs possibilités sont très inférieures à celles des logiciels comme

Plus en détail

Vérification de programmes et de preuves Troisième partie : prouver des propriétés de programmes

Vérification de programmes et de preuves Troisième partie : prouver des propriétés de programmes Vérification de programmes et de preuves Troisième partie : prouver des propriétés de programmes Yves Bertot September 2012 1 Introduction et motivation Pour prouver que des programmes font ce que nous

Plus en détail

AplusixEditor : l'éditeur pour Aplusix 3 Manuel d utilisation

AplusixEditor : l'éditeur pour Aplusix 3 Manuel d utilisation AplusixEditor : l'éditeur pour Aplusix 3 Manuel d utilisation Septembre 2012 Document rédigé avec epsilonwriter 1. Introduction 1.1. Les exercices 1.2. Les problèmes 1.3. Les listes d exercices 2. Créer

Plus en détail

Intelligence Artificielle TD3 Résolution des problèmes - Algorithmes de recherche

Intelligence Artificielle TD3 Résolution des problèmes - Algorithmes de recherche Intelligence Artificielle TD3 Résolution des problèmes - Algorithmes de recherche Exercice 1 Considérer un espace de recherche dans lequel l état initial est 1 et la fonction successeur pour un noeud n

Plus en détail

Mise en forme d un document avec numérotation des rectos

Mise en forme d un document avec numérotation des rectos Mise en forme d un document avec numérotation des rectos Bonjour! Voici un tutoriel pour vos rapports, expliquant comment numéroter seulement les pages de droite, sous la forme «1,2,3» plutôt que «1,3,5».

Plus en détail

1. Fonctionnalités du module de base

1. Fonctionnalités du module de base 1. Fonctionnalités du module de base 1.8. Budgets comparatifs. Comment comparer différentes offres... 1 1.8.1. Analyse des données du comparatif de budgets... 4 1.8.2. Exemple de comparatif avec trois

Plus en détail

Structure de boucle : for

Structure de boucle : for Chapitre 4 Structure de boucle : for Les structures de boucles (ou structures répétitives) constituent un élément important de la programmation : elles permettent d exécuter des instructions en boucles

Plus en détail

Ajouter des éléments spéciaux à un document

Ajouter des éléments spéciaux à un document Module F Ajouter des éléments spéciaux à un document CAS Valérie Milou, directrice commerciale chez Concept plein air, vous demande de compléter un rapport recommandant la mise en œuvre de mesures écologiques

Plus en détail

Sémantique des langages

Sémantique des langages Sémantique des langages Logique de Hoare ENSIIE S5 : Sémantique des langages, Logique de Hoare 1 Sémantique axiomatique Comme pour la sémantique opérationnelle, l exécution du programme modifie l état

Plus en détail

Projet NFA032: Les robots

Projet NFA032: Les robots Projet NFA032: Les robots 2016 1 Présentation du sujet On veut dans ce programme simuler le comportement de robots programmables par l utilisateur dans un environnement minier. Il s agit de réaliser un

Plus en détail

OFADIS Organisme de formation Siège Sociale : 49 grande rue Arpajon R.C.S d Evry Tel : Fax :

OFADIS Organisme de formation Siège Sociale : 49 grande rue Arpajon R.C.S d Evry Tel : Fax : MANUEL UTILISATEUR EXCEL 2003 Tableau Croisé Dynamique et Graphique croisé dynamique OFADIS Organisme de formation Siège Sociale : 49 grande rue 91290 Arpajon R.C.S d Evry 529 924 417 Tel : 01 83 64 25

Plus en détail

Importation Siècle. - extraction des données Siècle dans un fichier temporaire - importation du fichier temporaire dans Orcadia CS v2

Importation Siècle. - extraction des données Siècle dans un fichier temporaire - importation du fichier temporaire dans Orcadia CS v2 Importation Siècle L importation des fichiers Siècle s effectue en deux phases : - extraction des données Siècle dans un fichier temporaire - importation du fichier temporaire dans Orcadia CS v2 Extraction

Plus en détail

Récursion générale Yves Bertot

Récursion générale Yves Bertot Récursion générale Yves Bertot Introduction I Récursion structurelle limitée I Obligation de garantir que les calculs terminent I Notion générale de relation bien fondée Le théorème de récursion bien fondée

Plus en détail

TECHNICIEN EN COMPTABILITE ENSEIGNEMENT SECONDAIRE SUPERIEUR DE TRANSITION. Unité de formation : U21D1

TECHNICIEN EN COMPTABILITE ENSEIGNEMENT SECONDAIRE SUPERIEUR DE TRANSITION. Unité de formation : U21D1 Unité de formation : 725101U21D1 TECHNICIEN EN COMPTABILITE ENSEIGNEMENT SECONDAIRE SUPERIEUR DE TRANSITION Année scolaire 2011-2012 Cours donné par Martine HEYDEN Courriel : martine.heyden@skynet.be Programme

Plus en détail

Utiliser les options de l éditeur de texte

Utiliser les options de l éditeur de texte Utiliser les options de l éditeur de texte L éditeur de texte riche vous permet de personnaliser votre texte grâce à une barre d outils similaire à celle que l on retrouve dans un logiciel de traitement

Plus en détail

Lo42. Projet printemps Codage de Huffman

Lo42. Projet printemps Codage de Huffman Projet printemps 2003 Codage de Huffman Le codage de Huffman peut être utilisé pour comprimer une suite d'éléments (par exemple un texte, qui est une suite de caractères) en remplaçant chaque élément par

Plus en détail

Travaux pratiques Adresses IP et communication réseau

Travaux pratiques Adresses IP et communication réseau Travaux pratiques 3.5.2 Adresses IP et communication réseau Objectifs Créer un réseau Peer to peer simple et vérification de la connectivité physique Affecter différentes adresses IP à des hôtes et observation

Plus en détail

TP N 2 : Déplacement rectiligne d un robot mobile

TP N 2 : Déplacement rectiligne d un robot mobile TP N 2 : Déplacement rectiligne d un robot mobile I- Objectif de ce TP L objectif de ce TP est : Savoir commander le robot en agissant directement sur les moteurs. Comment calculer la consigne de commande

Plus en détail

Quelques remarques et algorithmes sur les carrés magiques

Quelques remarques et algorithmes sur les carrés magiques Quelques remarques et algorithmes sur les carrés magiques Ce texte ne parle pratiquement que de carrés magiques d ordre impair. Il est accompagné de 3 fichiers scilab : NombreCM, qui donne le nombre de

Plus en détail

Quickstart (Guide de référence rapide) pour Web et Tablette

Quickstart (Guide de référence rapide) pour Web et Tablette Qu est GeoGebra? Quickstart (Guide de référence rapide) pour Web et Tablette Un progiciel de Mathématiques Dynamiques facile à utiliser ; pour apprendre et enseigner à tous les niveaux d éducation ; associant

Plus en détail

Cours de recherche opérationnelle I

Cours de recherche opérationnelle I Cours de recherche opérationnelle I Nadia Brauner Nadia.Brauner@imag.fr Programmation dynamique Programmation dynamique Plan 1 Jeux introductifs 2 Principe de sous-optimalité 3 Programmation dynamique

Plus en détail

Concours commun des écoles normales supérieures Épreuve pratique d algorithmique et de programmation. Les ascenseurs. Durée de l épreuve : 4 heures

Concours commun des écoles normales supérieures Épreuve pratique d algorithmique et de programmation. Les ascenseurs. Durée de l épreuve : 4 heures Les ascenseurs Durée de l épreuve : 4 heures Juillet 2004 Note. Lorsque la description d un algorithme est demandée, celle-ci doit être courte et précise. Quand on demande la complexité d un algorithme

Plus en détail

GESTION DU CONTRAT D ETUDES VIA LE BUREAU VIRTUEL UCL

GESTION DU CONTRAT D ETUDES VIA LE BUREAU VIRTUEL UCL GESTION DU CONTRAT D ETUDES VIA LE BUREAU VIRTUEL UCL MODE D EMPLOI 1. Ouvrir le web avec le browser Mozilla Firefox (seul browser valable). 2. Depuis votre bureau virtuel, ouvrez l'onglet "Mes études"

Plus en détail

Date du lendemain [dt08] Exercice résolu

Date du lendemain [dt08] Exercice résolu Date du lendemain [dt08] Exercice résolu Karine Zampieri, Stéphane Rivière Unisciel algoprog Version 12 janvier 2017 Table des matières 1 Énoncé 2 2 Algorithmique, Programmation 2 2.1 Analyse....................................

Plus en détail

Enregistrement d émissions à venir

Enregistrement d émissions à venir 9241_11_Ch9_fre 10/30/08 3:21 PM Page 1 Enregistrement d émissions à venir PROGRAMMATION ET UTILISATION DES HORLOGES Vous êtes-vous déjà senti déchiré entre l envie de regarder votre émission préférée

Plus en détail

MODÉLISATION DES INTERACTIONS DIAGRAMMES DE SÉQUENCE DIAGRAMMES DE COMMUNICATION

MODÉLISATION DES INTERACTIONS DIAGRAMMES DE SÉQUENCE DIAGRAMMES DE COMMUNICATION MODÉLISATION DES INTERACTIONS DIAGRAMMES DE SÉQUENCE DIAGRAMMES DE COMMUNICATION DÉFINITIONS Une interaction est un comportement qui comprend un ensemble de messages échangés par un ensemble d'objets dans

Plus en détail

SWAROVSKI E-COMMERCE MANUEL D INFORMATIONS ET DE COMMANDES EN LIGNE

SWAROVSKI E-COMMERCE MANUEL D INFORMATIONS ET DE COMMANDES EN LIGNE SWAROVSKI E-COMMERCE MANUEL D INFORMATIONS ET DE COMMANDES EN LIGNE http://www.b2b.ecommerce.swarovski.com www.b2b.ecommerce.swarovski.com Page 1 of 12 DEPUIS LA RECHERCHE PRODUIT AU PANIER D ACHATS EN

Plus en détail

6.1 Types de comportements des symboles

6.1 Types de comportements des symboles Types de comportements des symboles Les symboles sont les éléments graphiques qui composent vos animations. Flash vous permet de déplacer, de copier, de supprimer, de transformer, d empiler, d aligner

Plus en détail

Expérience 1 Théorie des probabilités

Expérience 1 Théorie des probabilités Expérience 1 Théorie des probabilités Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx >>

Plus en détail

TP N 1 Systèmes de gestion de fichiers (Point de vue utilisateur)

TP N 1 Systèmes de gestion de fichiers (Point de vue utilisateur) TP N 1 Systèmes de gestion de fichiers (Point de vue utilisateur) Partie I : Commandes de bases Linux 1. Commandes Une commande est l exécution d un programme dans l interprète (Shell). Elle prend en entrée

Plus en détail

Dans Excel, Vous pouvez choisir n importe qu elle cellule pour commencer. Pour notre tableau, nous allons commencer par la cellule E4

Dans Excel, Vous pouvez choisir n importe qu elle cellule pour commencer. Pour notre tableau, nous allons commencer par la cellule E4 TP N 1 Excel : étapes à suivre 1 TP Bureautique 1 ère MIAS 2012/2013 Dans Excel, Vous pouvez choisir n importe qu elle cellule pour commencer. Pour notre tableau, nous allons commencer par la cellule E4

Plus en détail

D.S. 1 I.P.T. MP. a) Ecrire une fonction récursive Cantor(x,y) qui retourne le numéro du point de coordonnées

D.S. 1 I.P.T. MP. a) Ecrire une fonction récursive Cantor(x,y) qui retourne le numéro du point de coordonnées D.S. I.P.T. MP Exercice. On démontre que l ensemble N N est dénombrable (i.e. en bijection avec N) en numérotant chaque couple (x, y) N 2 suivant le procédé suggéré par la figure ci-dessous, appelée numérotation

Plus en détail

INF135 Introduction à la programmation Travail Pratique 1 - Hiver 2014

INF135 Introduction à la programmation Travail Pratique 1 - Hiver 2014 INF135 Introduction à la programmation Travail Pratique 1 - Hiver 2014 Note: Travail rédigé par Sébastien Adam pour les groupes 02, 03 et 05. Objectif Le premier travail pratique a pour objectif de permettre

Plus en détail

TUTORIEL D UTILISATION DE WORD 2007

TUTORIEL D UTILISATION DE WORD 2007 TABLE DES MATIERES I. Utilisation des taquets de tabulation... 1 1. Insérer un taquet... 1 2. Ajouter des pointillés dans les tabulations... 1 II. Les Tableaux... 2 1. Insérer un tableau... 2 2. Conversion

Plus en détail

École normale supérieure L3 sciences de la planète Travaux dirigés d algorithmique et Fortran

École normale supérieure L3 sciences de la planète Travaux dirigés d algorithmique et Fortran École normale supérieure L3 sciences de la planète Travaux dirigés d algorithmique et Fortran Lionel GUEZ 8 décembre 2016 Table des matières 1 Identificateurs 2 2 Entiers et réels 2 3 Valeurs littérales

Plus en détail

Exercices pratiques Excel Série

Exercices pratiques Excel Série SU Page 1 Exercices pratiques Excel Série ooo Préalables Ouvrez le fichier enregistré sous le nom Exer-Serie03-ConvertisseurETU.xlsx situé sur le site du cours. Enregistrez-le immédiatement dans votre

Plus en détail

IN Cours septembre Matthieu Finiasz

IN Cours septembre Matthieu Finiasz IN 101 - Cours 04 30 septembre 2011 présenté par Matthieu Finiasz Un problème concret Laquelle de ces deux fonctions est la meilleure? 1 int factoriel(int n) { 2 int i, res; 3 res = 1; 4 for (i=2; i

Plus en détail

Installation Imprimantes payantes MAC

Installation Imprimantes payantes MAC Installation Imprimantes payantes MAC Prérequis : A) Avoir un compte SIM à l université de Montréal. a. Sinon, faire une demande à la DGTIC au 7288. B) Être connecté au réseau de l Université : a. Par

Plus en détail

Installation et configuration standard de Windows 7

Installation et configuration standard de Windows 7 Installation et configuration standard de Windows 7 Si Windows 7 n est pas installé, introduisez le CD de Windows 7 dans le lecteur et faites booter le PC à partir du Lecteur en priorité. Une fois cette

Plus en détail

LE CALCUL DES CONVECTEURS

LE CALCUL DES CONVECTEURS LE CALCUL DES CONVECTEURS Document mis à jour le 11 juillet 2017 B.B.S. Slama service technique : 04.73.34.73.20 sav@bbs-logiciels.com www.bbs-logiciels.com Convecteurs 1 SOMMAIRE 1. Les systèmes de convecteurs...

Plus en détail

de l exemple pour arriver à la règle). C est l objet de notre première séance. Puis dans un deuxième temps, essayer de comprendre cette règle

de l exemple pour arriver à la règle). C est l objet de notre première séance. Puis dans un deuxième temps, essayer de comprendre cette règle Nota bene : la démarche choisi ici, vue la difficulté de la technique, est d abord d établir la règle en privilégiant une démarche inductive (partir de l exemple pour arriver à la règle). C est l objet

Plus en détail

Les Animations Flash

Les Animations Flash Les Animations Flash Chapitre : Production électronique I. Introduction : Nous allons nous intéresser dans ce cours à Macromédia Flash 8, qui permet de réaliser des animations à base d images vectorielles

Plus en détail

Mise à jour du firmware de l appareil photo

Mise à jour du firmware de l appareil photo Mise à jour du firmware de l appareil photo Merci d avoir choisi un produit Nikon. Ce guide explique comment effectuer la mise à jour du firmware. Si vous ne pensez pas pouvoir effectuer cette opération,

Plus en détail

TP 3 : BOUCLE ET ITÉRATEUR EN ALGORITHMIQUE. I) PROGRAMMATION D UNE BOUCLE, LE NOMBRE D ITÉRATIONS ÉTANT DONNÉ :

TP 3 : BOUCLE ET ITÉRATEUR EN ALGORITHMIQUE. I) PROGRAMMATION D UNE BOUCLE, LE NOMBRE D ITÉRATIONS ÉTANT DONNÉ : TS TP 3 : BOUCLE ET ITÉRATEUR EN ALGORITHMIQUE. 1 I) PROGRAMMATION D UNE BOUCLE, LE NOMBRE D ITÉRATIONS ÉTANT DONNÉ : 1) La structure itérative ou boucle avec un nombre d itérations donné: Dans un algorithme,

Plus en détail

Les fonctions de base de données dans Excel

Les fonctions de base de données dans Excel Les fonctions de base de données dans Excel Excel dispose de fonctions permettant de gérer des listes de données dans l onglet Données. Les données sont rentrées dans la feuille de calcul. Dans chaque

Plus en détail

Lycée Alfred-Kastler Stenay. TP info : Les bases de la programmation Python

Lycée Alfred-Kastler Stenay. TP info : Les bases de la programmation Python Lycée Alfred-Kastler Stenay TP info : Les bases de la programmation Python 1 Introduction au langage python: Python est un langage informatique facile à prendre en main, très utile pour une première approche

Plus en détail

Objectifs du TP - Les variables, les expressions, les entrées-sorties et les conditions (oui encore!) - Les exceptions - Les fonctions

Objectifs du TP - Les variables, les expressions, les entrées-sorties et les conditions (oui encore!) - Les exceptions - Les fonctions L1-MPCE2I L1-BBTE L1-ECO-MATHS Informatique - Travaux Pratiques TP2 Objectifs du TP - Les variables, les expressions, les entrées-sorties et les conditions (oui encore!) - Les exceptions - Les fonctions

Plus en détail

RÉDIGER UN TEXTE SUR WORD TRAVAILLER LA MISE EN FORME

RÉDIGER UN TEXTE SUR WORD TRAVAILLER LA MISE EN FORME RÉDIGER UN TEXTE SUR WORD TRAVAILLER LA MISE EN FORME ACTIVITÉ 1 DÉCOUVRIR L ACCUEIL A Premiers pas sur Word 1 Pour ouvrir un document Word, quelle icône utilisez-vous? 2 Que pouvez-vous faire sur Word

Plus en détail

Projet d Informatique Résolution et génération de Sudoku

Projet d Informatique Résolution et génération de Sudoku Projet d Informatique Résolution et génération de Sudoku Contact : pierre.yger@unic.cnrs-gif.fr 10 septembre 2009 1 Principe du Sudoku Le sudoku, défini en 1979 par l Américain Howard Garns, est un jeu

Plus en détail

LA CRÉATION ET LA GESTION D UN SOUS-FORMULAIRE

LA CRÉATION ET LA GESTION D UN SOUS-FORMULAIRE 1 LA CRÉATION ET LA GESTION D UN SOUS-FORMULAIRE 1. Formulaire et sous-formulaire Un sous-formulaire est inclu dans un second formulaire et en dépend en fonction de certains paramètres. Pour l illustrer,

Plus en détail

Informatique TP6 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A

Informatique TP6 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Informatique TP6 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Thierno Barry, Frederic Devernay, Julie Dumas, Matthieu Moy Mars - avril 2016 1 Fichiers, fichiers textes Pour

Plus en détail

ÉVALUATION EN MILIEU DE CP. Année scolaire LIVRET DE L'ENSEIGNANT MATHÉMATIQUES

ÉVALUATION EN MILIEU DE CP. Année scolaire LIVRET DE L'ENSEIGNANT MATHÉMATIQUES ÉVALUATION EN MILIEU DE CP Année scolaire 2015-2016 LIVRET DE L'ENSEIGNANT MATHÉMATIQUES 1 Connaissances et capacités attendues pour l'obtention du socle commun «Palier 1» Connaissances et compétences

Plus en détail