Rapport des travaux du bureau d étude Prolog «Programmer en Prolog»

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

Download "Rapport des travaux du bureau d étude Prolog «Programmer en Prolog»"

Transcription

1 Ministère d Enseignement Supérieur, de Recherche Scientifique et de Technologies *** Ecole Nationale d Ingénieurs de Tunis ***** Département de Technologies d Informations et de Communications ******* Rapport des travaux du bureau d étude Prolog «Programmer en Prolog» Présenté par : Encadré par : Mme. Amira kallal Mlle. Imen Mesbehi Classe : 2AINFO1 Année Universitaire : 2010/2011

2 2 Sommaire 1. Introduction Initiation à la manipulation de PROLOG (séance1) Exemple d initiation Exercices : Exercice 1 : Exercice 2 : Exercice 3 : Exercice4 :... 1 Arbre généalogique : (séance2) Définition des liens de parenté Les règles : Le programme :... 1 Les listes en Prlog (séance3) La notion de liste Exercice... 1 Gestion d un système de transport (séance3) Le problème : Travail demandé : Définition du domaine Définition des prédicats Traduction des questions [1] Inclure la longueur d un itinéraire Traduction des questions [2] conclusion...

3 3 1. Introduction Prolog est un langage utilisé dans les domaines de l'intelligence Artificielle et la Programmation Logique avec Contraintes. Sa syntaxe et son principe de fonctionnement sont radicalement différents de langages impératifs tels que C ou Java. Le raisonnement se rapproche plus de langages fonctionnels tels que Caml ou Lisp. Pourtant, Prolog n'est pas un langage fonctionnel. Prolog est le premier langage de programmation logique. 2. (séance1) Initiation à la manipulation de PROLOG La 1ère séance commence par u ne représentation de l outil de développement Visual Prolog. Fenêtre du projet Barre de Contrôle Fenêtre du projet Fenêtre d édition Figure 1 : Interface de "Visual Prolog"

4 4 Donc ce qu on acquit comme nécessaire pour ce logiciel est la création d un projet., la différenciation d es différentes sections d un programme en Prolog selon la structure suivante : options CONSTANTS const1 = definition [GLOBAL] DATABASE [ <databasename> ] [determ] pred1(...) [GLOBAL] DOMAINS dom = <domainedebase> PREDICATES [determ nondeterm] pred1(...) CLAUSES p(...) :- p1(...), p2(...),.... p( ).. GOAL p( ). On a ensuite implémenté un exemple pour se familiariser plus avec le logiciel mais surtout avec le langage Prolog Exemple d initiation Le but (goal) de cet exemple est de déterminer si une personne donnée peut acheter une voiture.

5 5 include "tp0.inc" domains personne, voiture, couleur = Symbol predicates voiturecouleur(voiture, couleur) aimecouleur(personne, couleur) aprecitvoiture(personne, voiture) peutacheter(personne, voiture) avendre(voiture) possedeargent(personne) clauses aprecitvoiture(x, Y) :aimecouleur(x, C), voiturecouleur(y, C). peutacheter(x, Y) :aprecitvoiture(x, Y), avendre(y), possedeargent(x). voiturecouleur(c3, bleu). voiturecouleur(yaris, gris). aimecouleur(ali, bleu). aimecouleur(sami, gris). avendre(c3). avendre(bmw). possedeargent(ali). possedeargent(sami). goal peutacheter(ali, Y).

6 Exercices : Exercice 1 : domains marque,couleur=symbol kilo,prix=real age=integer predicates nondeterm camion(marque,kilo,age,couleur,prix) nondeterm voiture(marque,kilo,age,couleur,prix) nondeterm vehicule(marque,kilo,age,couleur,prix) clauses voiture(chrysher, , 3, rouge, ). voiture(ford, , 4,gris,25.000). voiture(datsun, 8.000, 1, rouge,30.000). camion(ford,80.000, 6,bleu, 8.000). camion(datsun, , 5, orange,20.000). camion(toyota, , 2, noir,25.000). vehicule(x,y,z,t,w):- camion(x,y,z,t,w). vehicule(x,y,z,t,w):- voiture(x,y,z,t,w). goal %voiture(x,y,z,t,p), P< %camion(_,_,_,gris,p);voiture(ford,_,_,_,p), P< %vehicule(_,_,a,_,p),a>5,p< %camion(_,k,_,_,_),k<60.000;camion(_,_,_,_,p),p< voiture(_,_,age,_,p),p<

7 7 Les prédicats à définir ici sont : Vehicule(X,Y,Z,T,W):- camion(x,y,z,t,w). Vehicule(X,Y,Z,T,W):- voiture(x,y,z,t,w). Ils signifient simplement qu un véhicule est soit un camion, soit une voiture. Les réponses aux requêtes : 1) Trouver les voitures dont le prix < voiture(x,y,z,t,p), P< ) Trouver les camions gris et les voitures ford dont le prix < camion(_,_,_,gris,prix);voiture(ford,_,_,_,prix), Prix< ) Trouver les véhicules dont l âge >5 et le prix < vehicule(_,_,age,_,prix),age>5,prix< ) Quels sont les camions qui n ont pas encore roulé les ou qui coûtent moins que ? camion(marque,kilo,age,couleur,prix),kilo<60.000;camion(marque,kilo,age,cou leur,prix),prix<

8 8 5) l âge et le coût des voitures dont le prix < voiture(_,_,age,_,prix),prix< Exercice 2 : Le calcul de n! domains nb,res= Integer predicates nondeterm factoriel(nb,res) clauses factoriel(0,1). factoriel(nb,res):- Nb>0, N=Nb-1,factoriel(N,Res1),Res=Res1*Nb. goal Write("donner un entier"),nl, Readint(X),nl,write("le factoriel de "), factoriel(x,res).

9 9 Le calcul du factoriel se fait de façon récursive suivant le prédicat : factoriel(0,1). factoriel(nb,res):- Nb>0, N=Nb-1,factoriel(N,Res1),Res=Res1*Nb Exercice 3 : Cet exercice calcule la puissance d un nombre. Son algorithme est encore récursif. domains nb= Integer predicates nondeterm puissance(nb,nb,nb) clauses puissance(n,1,n):-!. puissance(nb,p,res):- P1=P-1,puissance(NB,P1,Res1),Res=Res1*Nb. goal Write("donner un entier"),nl,readint(nombre), Write("donner sa puissance"),nl,readint(puissance), nl,write("le résultat "),puissance(nombre,puissance,r).

10 10 La puissance nième de X est tel qu elle est égale au produit de X avec sa puissance (n-1)ième tant que la puissance qui décrémente est supérieure à 1. Si elle est à 1 elle retourne le même nombre. Il y a donc 2 solutions, soit qu on indique cette condition dans l appel récursif, soit on applique le cut dans la condition d arrêt. puissance(n,1,n):-!. puissance(nb,p,res):- P1=P-1,puissance(NB,P1,Res1),Res=Res1*Nb. Ou : puissance(n,1,n). puissance(nb,p,res):- P>1,P1=P-1,puissance(NB,P1,Res1),Res=Res1*Nb. Write("donner un entier"),nl,readint(nombre), Write("donner sa puissance"),nl,readint(puissance), nl,write("le résultat "),puissance(nombre,puissance,r) Exercice4 : Cet exercice calcule le PGCD de deux entiers include "exo4.inc" X et Y. domains nb=integer predicates nondeterm pgcd(nb,nb,nb). clauses pgcd(x,x,x). pgcd(x,y,d):-x<y,y1=y-x,pgcd(x,y1,d). pgcd(x,y,d):-x>y,pgcd(y,x,d). goal pgcd(6,3,x).

11 11 3. si X et Y sont égaux, D vaut X si X < Y alors D est le PGCD de X et de Y - X si Y < X alors échanger le rôle de X et Y pgcd(x,x,x). pgcd(x,y,d):-x<y,y1=y-x,pgcd(x,y1,d). pgcd(x,y,d):-x>y,pgcd(y,x,d). (séance2) Arbre généalogique : Les buts de cette séance sont : - La manipulation du concept de relation. - L implémentation d un programme permettant de définir des liens de parenté dans un arbre généalogique Définition des liens de parenté On va tout d abord traduire l arbre généalogique suivant par un ensemble de relations entre de objets.

12 12 Figure2 : arbre généalogique 3.2. Les règles : Les règles de bases implémentées sont : Féminin(X), Masculin(Y) et parent(x,y). Les autres comme grandparent et sœur et frère, etc seront déduits consécutivement à partir d premiers. Ils vont nous permettre aussi d écrire des règles récursives Le programme : Dans la partie clauses on a traduit tous les liens de parenté : une quarantaine. Et aussi on a indiqué le sexe de chaque membre. Et ce sont tous les faits essentiels. On passe maintenant à la définition de la règle ancêtre (X,Y) qui est une règle récursive. Elle répond à la question si une personne X est un ancêtre à une autre personne Y. Elle l est quand elle est un parent direct à Y où quand elle est l ancêtre d un parent de Y. Et c est ce qui est traduit dans le prédicat suivant :

13 13 ancetre(x,z) :- parent(x,z). ancetre(x,z) :- parent(x,y),ancetre(y,z). On demande par exemple le but suivant ancetre(pierre,gisele). Ou bien on peut demander tous les ancêtres de gisele ancetre(x,gisele). Et pour les autres règles : GRANDPARENT (X,Z) : X est un grand parent à Z quand il est un parent à un parent de Y. grandparent(x,z) :- parent(x,y),parent(y,z). Le but qu on peut poser par exemple est de détreminer le grands parents de «pierre» grandparent(x,rolande).

14 14 ENFANT: Ce prédicat se déduit directement du prédicat parent : il est son inverse à savoir : Enfant(X,Y) :-parent(y,x). afficher les enfants de pierre. FRERE (X,Y) : X est frère à Y si X est de sexe masculin et X et Y ont un parent commun. Aussi on doit ajouter la condition sur le parent qu il soit masculin ou féminin sinon il va répéter les résultats issus du fait que deux frères ont en commun un père et une mère. Ce qui se traduit par la règle : frère(x,y):- parent(z,y),parent(z,x),masculin(x),masculin(z). afficher les frères d «augustine». frere(x,augustine).

15 15 SŒUR(X,Y) : De même pour le prédicat sœur seulement on modifie le sexe de X afficher les sœurs de «eric». soeur(x,eric). TANTE (X,Y) : X est la tante de Y si elle est la sœur de l un de ses parents. On l écrit donc : tante(x,y):- parent(z,y),soeur(x,z). les tantes de «gerard» tante(x,gerard). ONCLE (X,Y) : De même pour la règle oncle(x,y). oncle(x,y):- parent(z,y),frere(x,z). oncle(x,rolande).

16 16 COUSIN (X,Y) : X est le cousin de Y s ils ont le même grand parent et qu il soit masculin pour éviter la répétition et aussi il faut en exclure le cas où ils sont frères ou sœurs. cousin(x,y):- grandparent(z,x),grandparent(z,y),masculin(z),not (frere(x,y)),not (soeur(x,y)). tous les cousins de «rolande» 4. cousin(rolande,x). (séance3) Les listes en Prlog Le but de cette séance est l utilisation de la notion de liste en Prolog et la définition de prédicats d utilisation des listes La notion de liste En Prolog, on ne connait que deux choses d'une liste son premier élément (la tête, ou head) le reste de la liste (la queue, ou tail) Le parcours d'une liste se fait de manière récursive sur la queue. La liste vide se note: [].

17 17 Une liste constituée d'au moins un élément se note [T Q]. Ici, T représente la tête et Q représente la queue. C'est aussi grâce à [T Q] que l'on ajoute un élément en début de liste (par unification). Les différents éléments d'une liste sont séparés par des virgules. Exemple: [1, 2, 3, 4, 5, 6,7]. Ainsi: [1, 2, 3 Q] représente une liste dont les premiers éléments sont 1, 2, 3 et le reste de la liste est unifié avec la variable Q Exercice Cet exercice rassemble les prédicats essentiels à appliquer sur une liste quelconque. ELEMENT (X,L) : elle vérifie si x est un élément de la liste. Il l est lorsqu il est le premier élément de la liste ou lorqu il appartient au reste de la liste, d où l appel récursi f. element(x,[x _]). element(x,[_ R]):- element(x,r). element(c,[a,b,c,d]). LONGUEUR (X,L) : elle donne en terme de nombre d objets la longueur d une liste. Si elle est vide sa longueur est nulle et c est la condition d arrê t, sinon sa longueur est un longueur N avec N=M+1 où M est la longueur du reste de cette liste. long([],0). long([_ R],N):-long(R,M),N=M+1.

18 18 long([a,b,c,d],longueur). ENLEVER (X,L,LX) : elle élimine de la liste L toutes les occurrences de X. 2 cas soit que X soit le 1 er de la liste il er l enlève et continue à vérifier s il est dans le reste, soit qu il ne l est pas alors il ignore le 1 élément et continue sa recherche dans le reste et ainsi de suite jusqu à ce qu il arrive à la liste vide qui est retournée telle quelle. enlever(_,[],[]). enlever(x,[x ResteListeInitiale],ListeSansX) :enlever(x,restelisteinitiale,listesansx). enlever(x,[pasx ResteListeInitiale],[PasX ListeSansX]) :X<>PasX,enlever(X,ResteListeInitiale,ListeSansX). enlever(a,[a,b,c,a,d],listesansa). UNION (L1,L2,L3) : union fait la fusion de listes L1 et L2 dans une troisième liste L3. On a l union de la liste L1 qui commence par T1 et la liste L2 est une liste qui commence par T1 si aussi l union du reste R1 et L2 donne R3, ce jusqu à l on vide la liste L1 et enfin l union de la liste vide avec la liste L2 donne L2.

19 19 union([],l2,l2). union([t1 R1],L2,[T1 R3]):-union(R1,L2,R3). union([a,b,c],[e,f,k,a],listefinale). INSERT (X,L,LX) : Elle ajoute l élément X à ma fin de la liste L et retourne LX. Si L est une liste vide alors LX=[X], sinon il l insère dans le reste de la liste. insert(x,[],[x]). insert(x,[r1 R],L) :- insert(x,r,l1),union([r1],l1,l). insert("a",[b,c,d],l). DERN (X,L) : Il donne le dernier élém ent de la liste. X est le dernier de la liste L s il est le dernier de son reste et ainsi de suite jusqu à ce qu il arrive à une liste formée d un seul élément. dern([x],x).

20 20 dern([_ R],X):-dern(R,X). dern([a,c,d],dernier). But: INVERSE (L,LINV) : L inverse de la liste [X Y] est la liste L2 tel que l inverse de Y est une liste L3 et que l union de L3 et X est L2. inverse([x],[x]). inverse([x Y],L2):-inverse(Y,L3),union(L3,[X],L2). inverse([a,b,c,d],inverse). AFFICHE (L) : Elle sert bien clair à afficher les éléments d une liste L avec le prédicat prédéfini write. affiche([x L]):- write(x),nl,affiche(l). affiche([a,b,c,d]).

21 21 AFFICHEINVERSE (L) : Elle affiche la liste L inversée. Ce qu elle fait en fait est qu elle utlilise simplement les 2 prédicats affiche et inverse. Elle inverse la liste L dans une autre liste et affiche celle-ci. afficheinverse(l):- inverse(l,l1),affiche(l1). afficheinverse([a,b,c,d]). 5. (séance3) Gestion d un système de transport 5.1. Le problème : On va réaliser un programme Prolog pour la gestion d un système de transport. Plusieurs stations («m», «q», «n», «r», «p», «o» et «s») sont reliées par des bus supposés à sens unique. Chaque arc représente un bus qui relie une station de dép art à une station d arrivée. Nous définissons un itinéraire à partir d une station de départ S1 à une station d arrivée S2 à

22 22 travers une liste de stations. Il existe un itinéraire de S1 à S2 s il existe une station S3 à laquelle S1 est reliée par un bus et S2 est reliée par un itinéraire Travail demandé : Définition du domaine On aura besoin d une station et d une liste de stations et puis après d un nombre entier. domains station= Symbol listestation= station* number= Integer Définition des prédicats BUS(S1,S2): Les faits suivants sont une description complète du graphe composé de stations et de bus qui les relient.

23 23 ELEMENT (S,LS): Permet de déterminer si la station S est un élément de la liste de stations LS. Ce prédicat est donc le même pour n importe quel type de liste. element(s,[s _]). element(s,[_ R]):- element(s,r). Ce prédicat ne sera pas utile directement dans notre programme mais essentiellement dans le prédicat suivant. ITINERAIRE (S1,S2,L) : Ce prédicat donne le chemin entre 2 stations S1 et S2. Les stations qui constituent les met dans une liste L. En effet, il existe un itinéraire de S1 à S2 s il existe une station S3 à laquelle S1 est reliée par un bus et S2 est reliée par un itinéraire. itineraire(s1,s1,[s1]). itineraire(s1,s2,[s1 R]):-bus(S1,S3),itineraire(S3,S2,R), Not(element(S1,R)). itineraire(a,o,l).

24 24 PEUTALLER (S1,S2) : Indique si on peut aller de la station S1 à la station S2. C est possible quand il existe un itinéraire entre S1 et S2. peutallera(s1,s2):- itineraire(s1,s2,_). peutallera(a,o). LONGUEUR (L,N): La longueur de la liste en termes de nombre de stations. longueur([],0). longueur([_ R],N):-longueur(R,M),N=M+1. longueur([m,a,n,r,p,o,s],longueur). AFFICHE (LS): Affiche les éléments de la liste de stations LS. affiche([s LS]):- write(s),nl,affiche(ls).

25 25 affiche([m,a,n,r,p,o,s]) Traduction des questions [1] a. Peut-on aller de la station «s» à la station «r»? peutallera(s,r). b. Comment se rendre de «a» à «p»? itineraire(a,p,l,_). c. Quels sont les itinéraires aboutissant à «o»? itineraire(_,o,l). d. Quels sont les itinéraires de «m» à «o» avec exactement 2 stations intermédiaires? itineraire(m,o,l,n),longueur(l,nb),nb=2. e. Quels sont les itinéraires de «m» à «o» avec au moins 2 stations intermédiaires? itineraire(m,o,l,n),longueur(l,nb),nb> Inclure la longueur d un itinéraire On va adapter la définition des prédicats bus et itineraire afin de calculer le coût total d un itinéraire. Il suffit juste d ajouter un autre paramètre à chacun de ces prédicats symbolisant le coût. PREDICAT BUS :

26 26 PREDICAT ITINERAIRE : Le coût total d un itinéraire X est le coût du bus reliant le 1 er élément au deuxième plus le coût de l itinéraire reliant le deuxième à la destination. itineraire(s1,s1,[s1],0). itineraire(s1,s2,[s1 R],X):bus(S1,S3,Y),itineraire(S3,S2,R,NUM),X=NUM+Y, Not(element(S1,R)). itineraire(a,p,l,coût) Traduction des questions [2] a. Quels sont les itinéraires de «m» à «o» passant par «n» et leurs coûts? itineraire(m,o,l,coût),element(n,l).

27 27 b. Quels sont les itinéraires issus de «m» et de coût au plus 17? itineraire(m,_,l,n),n<18.

28 28 6. conclusion Notre atelier a été une confrontation à l utilisation du langage de programmation logique Prolog. Programmer en Prolog, c'est énoncer une suite de faits et de règles puis poser des questions. Tout est relation en Prolog. Tout programme Prolog constitue un petitsystèmeexpert qui va fonctionner en "chaînage-arrière" ou "abduction", c'est-à-dire qui va tester les hypothèses pour prouver une conclusion.

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

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

TD 1 - Structures de Traits et Unification

TD 1 - Structures de Traits et Unification TD 1 - Structures de Traits et Unification 1 Définitions Un trait (en: feature) est un couple attribut-valeur. Une structure de traits (en: feature structure) est un ensemble de traits. On peut les représenter

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

LES TOUT PREMIERS PAS

LES TOUT PREMIERS PAS DESMODO, un logiciel de gestion d idées http://www.desmodo.net/ LES TOUT PREMIERS PAS Desmodo est un logiciel (libre) qui permet, entre autre, de visualiser et de synthétiser, de manière organisée, sous

Plus en détail

Les différents types de relation entre les tables

Les différents types de relation entre les tables TABLES Les différents types de relation entre les tables La mise en relation de tables permet de relier les données d une table à celles d une autre table et ainsi d établir une base de données de type

Plus en détail

La carte de mon réseau social

La carte de mon réseau social La carte de mon réseau social Avant de commencer Un réseau social, c est quoi? Dans ta vie, tu es entouré de plusieurs personnes. Certaines personnes sont très proches de toi, d autres le sont moins. Toutes

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1 Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites

Plus en détail

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

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

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

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Créer une base de données

Créer une base de données Access Créer une base de données SOMMAIRE Généralités sur les bases de données... 3 Création de la base de données... 4 A) Lancement d'access... 4 B) Enregistrement de la base de données vide... 4 Création

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

Cliquez sur ILIAS. Puis, cliquez sur Login.

Cliquez sur ILIAS. Puis, cliquez sur Login. Cette visite permet de faire un tour complet, juste pour découvrir les pages et prendre connaissance du contenu de la plate forme d apprentissage ILIAS de l Espace Numérique de Travail (ENT) du collège

Plus en détail

Bases de données Cours 5 : Base de données déductives

Bases de données Cours 5 : Base de données déductives Cours 5 : ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 Introduction 2 approche sémantique approche axiomatique

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

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

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Systèmes décisionnels et programmation avancée

Systèmes décisionnels et programmation avancée Systèmes décisionnels et programmation avancée M1 SIR Philippe Muller et Mustapha Mojahid, Matthieu Serrurier, Marie-Christine Scheix 2014-2015 Introduction structure du cours intervenants introduction

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

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

1 Position du problème

1 Position du problème Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une

Plus en détail

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation Master STIC «Image Informatique et Ingénierie» Module Informatique Modèles de représentation - 10h CM Nadine Cullot Kokou Yétongnon nadine.cullot@u-bourgogne.fr kokou.yetongnon@u-bourgogne.fr 1ère partie

Plus en détail

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

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Problèmes de Mathématiques Filtres et ultrafiltres

Problèmes de Mathématiques Filtres et ultrafiltres Énoncé Soit E un ensemble non vide. On dit qu un sous-ensemble F de P(E) est un filtre sur E si (P 0 ) F. (P 1 ) (X, Y ) F 2, X Y F. (P 2 ) X F, Y P(E) : X Y Y F. (P 3 ) / F. Première Partie 1. Que dire

Plus en détail

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Modes Opératoires WinTrans Mai 13 ~ 1 ~ Modes Opératoires WinTrans Mai 13 ~ 1 ~ Table des matières Facturation... 2 Tri Filtre... 2 Procédures facturation... 3 Transfert Compta... 8 Création d un profil utilisateur... Erreur! Signet non défini.

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

Quelques algorithmes simples dont l analyse n est pas si simple Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire

Plus en détail

UTILISER LA MESSAGERIE

UTILISER LA MESSAGERIE UTILISER LA MESSAGERIE OUTLOOK OU WINDOWS MAIL PRESENTATION DE LA MESSAGERIE CONDITIONS POUR UTILISER LE COURRIER ELECTRONIQUE Pour envoyer un courrier sur un PC il faut un programme ou un service de messagerie.

Plus en détail

Grammaires d unification

Grammaires d unification Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les

Plus en détail

Introduction à la théorie des graphes. Solutions des exercices

Introduction à la théorie des graphes. Solutions des exercices CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti

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

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

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

TD n 10 : Ma première Base de Données

TD n 10 : Ma première Base de Données TD n 10 : Ma première Base de Données 4 heures Rédigé par Pascal Delahaye 11 mars 2015 Le but de ce TD est de découvrirles principales fonctions d OpenOffice Base, le systèmede gestion de bases de données

Plus en détail

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

Plus en détail

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

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

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

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

Plus en détail

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année Cours d électricité Circuits électriques en courant constant Mathieu Bardoux mathieu.bardoux@univ-littoral.fr IUT Saint-Omer / Dunkerque Département Génie Thermique et Énergie 1 re année Objectifs du chapitre

Plus en détail

PROJET ALGORITHMIQUE ET PROGRAMMATION II

PROJET ALGORITHMIQUE ET PROGRAMMATION II PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du

Plus en détail

LA PUISSANCE DES MOTEURS. Avez-vous déjà feuilleté le catalogue d un grand constructeur automobile?

LA PUISSANCE DES MOTEURS. Avez-vous déjà feuilleté le catalogue d un grand constructeur automobile? LA PUISSANCE DES MOTEURS Avez-vous déjà feuilleté le catalogue d un grand constructeur automobile? Chaque modèle y est décliné en plusieurs versions, les différences portant essentiellement sur la puissance

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B Excel : Réalisation d un classeur Compta Saisir les étiquettes Renommer la première feuille Compta Laisser la première ligne vide et sur la deuxième ligne saisir les étiquettes Se placer sur A2 et saisir

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

NAVIGATION SUR INTERNET EXPLORER

NAVIGATION SUR INTERNET EXPLORER Centres d accès communautaire Internet des Îles NAVIGATION SUR INTERNET EXPLORER Table des matières Introduction 1- Les barres d outils 1.1 La barre d adresse 2 5 min. 1.2. Les boutons de navigation 2

Plus en détail

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année TD de supervision J.P. Chemla Polytech Tours Département productique 2ème année 1 Présentation de l équipement On veut superviser une cuve dans un batiment. Les informations à visualiser sont les suivantes

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

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

Plus en détail

Projet Matlab : un logiciel de cryptage

Projet Matlab : un logiciel de cryptage Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

TP3 : Creation de tables 1 seance

TP3 : Creation de tables 1 seance Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer

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

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

Plus en détail

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique - IUT de Laval Année Universitaire 2008/2009 Département Informatique, 1ère année Mathématiques Discrètes Fiche 1 - Logique - 1 Logique Propositionnelle 1.1 Introduction Exercice 1 : Le professeur Leblond

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

Dragon Naturally Speaking 13

Dragon Naturally Speaking 13 Année 2015 Dragon Naturally Speaking 13 Guide premier pas Nathalie Macé / Grégoire Duval PROJET ORDYSCAN 1 Table des matières Introduction 3 Pourquoi utiliser Dragon Naturally Speaking avec les élèves

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Préparation à l examen EFA en Macro

Préparation à l examen EFA en Macro Préparation à l examen EFA en Macro Exercice sur les macros en Word / Excel Les questions suivantes doivent constituer un bref rafraîchissement et vous aider à situer le niveau de vos connaissances : Question

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Indications pour une progression au CM1 et au CM2

Indications pour une progression au CM1 et au CM2 Indications pour une progression au CM1 et au CM2 Objectif 1 Construire et utiliser de nouveaux nombres, plus précis que les entiers naturels pour mesurer les grandeurs continues. Introduction : Découvrir

Plus en détail

Manuel Utilisateur. Boticely

Manuel Utilisateur. Boticely Manuel Utilisateur Boticely Auteur : Logica Version : 1.4 Droit d auteur Ce texte est disponible sous contrat Creative Commons Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Unité 6. Qu est ce que tu prends au petit au petit déjeuner?

Unité 6. Qu est ce que tu prends au petit au petit déjeuner? L'amitié Unité 6 Qu est ce que tu prends au petit au petit déjeuner? 1) Ecoute la maîtresse et coche 2) Complète avec : un jus d orange de la confiture un chocolat du beurre du thé un gâteau du café des

Plus en détail

1 les caractères des êtres humains.

1 les caractères des êtres humains. Quelques rappels des classes précédentes ACTIVITÉ livre pages 8 et 9 : apprendre le bilan de la page 9 Les êtres vivants sont répartis en espèces. Chaque être vivant est formé de cellules. schéma d une

Plus en détail

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons Guide d'utilisation OpenOffice Calc AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons 1 Table des matières Fiche 1 : Présentation de l'interface...3 Fiche 2 : Créer un nouveau classeur...4

Plus en détail

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8 Sage 100 CRM - Guide de la Fusion Avancée Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré

Plus en détail

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Le langage SQL pour Oracle - partie 1 : SQL comme LDD Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger

Plus en détail

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.

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. 1 Définitions, notations 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. On utilise aussi la notation m n pour le

Plus en détail