TP d Intelligence Artificielle
|
|
- Antoine Bonnet
- il y a 9 ans
- Total affichages :
Transcription
1 TP d Intelligence Artificielle Ce projet d intelligence artificielle consiste à représenter un environnement et à le sécuriser à l aide d un robot. Pour cela, le robot est équipé d un certain nombre de capteurs et est capable de se déplacer et de détecter les éléments autour de lui. Il dispose en plus de sondes qu il peut déposer et reprendre à volonté pour l aider à sécuriser le monde. L environnement à sécuriser est clos (il peut éventuellement être accessible de l extérieur par un nombre limité de portes) et peut contenir des obstacles que le robot peut déplacer, mais en aucun cas il ne peut voir derrière un obstacle ou une paroi. Enfin, le robot peut explorer le monde puis le sécuriser ou bien l explorer et le sécuriser simultanément. Pour réaliser ce projet, le choix du ou des langages nous a été laissé libre. Nous avons utilisé deux langages : Prolog et Java. Le langage Prolog nous sert à définir le monde à explorer et les différentes contraintes de déplacement du robot, tandis que le Java nous sert essentiellement à réaliser l interface graphique de notre monde et à interroger Prolog. Enoncé En plus des données qui figurent sur l énoncé du TP, nous avons ajouté quelques règles à suivre : - les sondes sont des points qui surveillent dans un rayon alentour de 1. - une sonde fait une case - le robot détruit les sondes s'il passe dessus - le robot se déplace selon un quadrillage dans les directions haut, bas, gauche, droite - les cloisons sont définies sur les intersections de cases et sont infranchissables - le robot possède des "pinces" et peut déplacer les obstacles avec lui - le robot ne voit pas ce qu'il y a derrière les obstacles - le robot doit vérifier qu'il est passé partout dans le monde - le robot place les sondes, et il en possède autant qu il le souhaite - il existe des portes de sortie (parois particulières) Prolog Prolog est un langage de programmation logique. Le but était de faire un langage de programmation qui permettait d'utiliser l'expressivité de la logique au lieu de définir pas à pas la succession d'instructions que doit exécuter un ordinateur. Prolog est utilisé dans de nombreux programmes d intelligence artificielle. Un des avantages de Prolog est d avoir ses syntaxe et sémantique très simples et claires (le but original était de procurer un outil pour les linguistes ignorant l informatique)
2 Une des particularités de prolog est que l'on peut construire une base de connaissance dans un ordre indéterminé. Prolog résoudra ensuite des séries de problèmes logiques. Nous avons donc réalisé la définition de notre monde en Prolog et Java ne fait qu interroger Prolog afin de savoir quels sont les déplacements possibles pour notre robot. Le programme Prolog comporte 2 parties : la base de faits et la base de règles. La base de faits (aussi appelée base de connaissances en IA) décrit tous les éléments présents dans notre monde : la position du robot à l état initial, les parois, les obstacles La base de règles comporte les différentes règles dont dispose notre monde, il s agit essentiellement de règles de déplacement de notre robot en fonction de la connaissance du monde. Constantes Notre programme Prolog utilise 4 constantes qui correspondent aux 4 directions de déplacement possibles : haut, bas, gauche et droite. La base de faits Notre base de faits comporte de nombreux prédicats que nous allons vous détailler ci-dessous : robot(nomrobot,coordx,coordy) : le robot nomrobot se trouve en (coordx,coordy). explore(coordx,coordy) : la case de coordonnées (coordx,coordy) a été explorée. obstacle(nomobstacle,coordx,coordy) : l obstacle nomobstacle se trouve en (coordx,coordy). possedeobstacle(nomrobot,nomobstacle,coordx,coordy) : le robot nomrobot se trouve en (coordx,coordy) et possède l obstacle nomobstacle. sonde(nomsonde,coordx,coordy) : la sonde nomsonde se trouve en (coordx,coordy). paroi(coordx1,coordy1,coordx2,coordy2) : une paroi se situe entre les cases (coordx1, coordy1) et (coordx2, coordy2). En effet, nous avons décidé de modéliser une case comme une intersection entre 2 cases, ce qui fait qu une paroi n a pas d épaisseur proprement dit. L affichage d une paroi sera expliqué dans la partie Java plus bas. porte(coordx1,coordy1,coordx2,coordy2) : une porte se situe entre les cases (coordx1, coordy1) et (coordx2, coordy2). Une porte n empêche pas le robot de voir ce qui se trouve derrière et le robot peut également passer par les portes. Une porte se trouve à l intérieur du monde. sortie(coordx1,coordy1,coordx2,coordy2) : une sortie se situe entre les cases (coordx1, coordy1) et (coordx2, coordy2). Une sortie est une porte particulière, qui donne sur le monde extérieur, qui empêche le robot de voir ce qui se trouve derrière et le robot ne peut pas passer par les sorties, car le monde est semi-fermé. Une sortie sépare notre monde du monde extérieur
3 La base de règles libre(x,y) :- not(robot(_,x,y)), not(obstacle(_,x,y)), not(possedeobstacle(_,_,x,y). Une case de coordonnée (X,Y) est libre si cette case ne possède ni de robot, ni d obstacle et ni de robot possédant un obstacle. Le prédicat mur prend en paramètres les coordonnées de 2 cases et renvoi vrai si une paroi ou une sortie infranchissable existe entre ses 2 cases. Ce prédicat permet de ne pas tester à chaque règle si il n y a pas de paroi ni de sortie : mur(x1,y1,x2,y2) :- paroi(x1,y1,x2,y2). mur(x1,y1,x2,y2) :- sortie(x1,y1,x2,y2). A noter que dans notre repère, l axe des abscisses va de gauche à droite et l axe des ordonnées de haut en bas comme suit : abscisses ordonnées Le prédicat peut_prendre possède 3 paramètres qui sont le nom du robot, le nom de l obstacle à prendre et la direction dans laquelle prendre cet obstacle (une des quatre constante de direction). peut_prendre(a,b,haut) :- robot(a,x,y), Y1 is Y-1, obstacle(b,x,y1), not(mur(x,y1,x,y)). Pour qu un robot puisse prendre un obstacle, il faut que le robot soit sur une case conjointe à celle de l obstacle, et qu il n y ait pas de mur entre les 2 cases. Dans cette règle, il s agit de vérifier si le robot peut prendre un obstacle situé au dessus de sa case, donc la coordonnée de l obstacle en ordonné doit être égale à Y-1 tandis que l abscisse du robot sera la même que celle de l obstacle. Il en est de même pour les 3 autres directions où seul le Y1 is Y-1 change. Le prédicat prend possède 3 paramètres qui sont les mêmes que la règle précédente. prend(a,b,haut) :- peut_prendre(a,b,haut),retract(robot(a,x,y)),y1 is Y-1, retract(obstacle(b,x,y1)),assertz(possedeobstacle(a,b,x,y)). Pour qu un robot prenne un obstacle, il faut que le robot puisse prendre cet obstacle. On supprime le robot et l obstacle de la base de faits et on ajoute le fait possedeobstacle. Il en est de même pour les 3 autres directions où seul le Y1 is Y-1 change. Le prédicat deposeob possède lui aussi 3 paramètres : le nom d un robot, le nom d un obstacle et enfin une direction : deposeob(a,b,haut) :- possedeobstacle(a,b,x,y), Y1 is Y-1, libre(x,y1), detruit(a,_), not(mur(x,y1,x,y)), retract(possedeobstacle(a,b,x,y)), assertz(obstacle(b,x,y1)), assertz(robot(a,x,y)). Pour qu un robot dépose un obstacle, cet objet doit être possédé par ce robot, la case voisine doit être libre (ici la case du dessus) et il ne doit pas y avoir de mur (paroi ou sortie) entre cette case libre et la case du robot et de son obstacle. Si ces conditions sont respectées, alors le fait - 3 -
4 possedeobstacle sera supprimé de la base de faits tandis que les faits robot et obstacle seront ajoutés. Si une sonde se trouvait sur la case ou sera posée l obstacle, elle sera supprimée au préalable. Si il s agit d une sonde à déposer, la règle utilisée deposesonde sera différente. Du fait que le robot possède un nombre de sondes illimitées, il n y a pas de fait à vérifier. Cependant, on vérifie tout de même qu il n y a pas d autre sonde placée à coté afin que celles-ci ne sécurisent pas la même zone : deposesonde(x,y) :- X1 is X-1, X2 is X+1, Y1 is Y-1, Y2 is Y+1, not(sonde(_,x1,y)),not(sonde(_,x2,y)), not(sonde(_,x,y1)), not(sonde(_,x,y2)),!,assertz(sonde(sondesecu,x,y)). Le prédicat detruit a deux paramètres : le nom d un robot et le nom d une sonde. Cette règle doit supprimer la sonde si elle se situe sur la même case que le robot. Cette règle doit donc être appelée après chaque déplacement du robot. detruit(a,b) :- robot(a,x,y),sonde(b,x,y),retract(sonde(b,x,y)). detruit(a,b) :- possedeobstacle(a,_,x,y), sonde(b,x,y), retract(sonde(b,x,y)). Une sonde est supprimée de la base si elle se trouve sur la même case qu un robot ou qu un robot possédant un obstacle. Le prédicat deplacable a deux paramètres : le nom d un robot et la direction du déplacement. Cette règle doit renvoyée vrai si le robot donné peut se déplacé dans la direction donnée. deplacable(a,haut) :- robot(a,x,y), Y1 is Y-1, libre(x,y1), not(mur(x,y1,x,y)). Pour qu un robot soit déplaçable, la case qu il veut atteindre doit être libre et il ne doit pas y avoir de mûr (paroi ou sortie) entre sa case et celle qu il veut atteindre. Cette règle ne fonctionne que si le robot ne possède pas d objet. Nous avons réalisé les mêmes règles pour le déplacement du robot qui possède un obstacle (deplacableob qui possède un paramètre supplémentaire avec le nom de l obstacle possédé) et le déplacement du robot sur une case où se trouve un obstacle (deplacableobstacle qui possède également 3 paramètres) : deplacableob(a,b,haut) :- possedeobstacle(a,b,x,y), Y1 is Y-1, libre(x,y1), not(mur(x,y1,x,y)). deplacableobstacle(a,b,haut) :- robot(a,_,_), peut_prendre(a,b,haut). Pour cette dernière règle, il suffit de vérifier la règle peut_prendre expliquée précédemment. Nous avons réalisé une règle peut_aller qui correspond à une disjonction des 3 règles deplacable vue ci-dessus qui n est utilisée que par Java pour connaître les différentes possibilités du robot à tout instant : peut_aller(a,haut) :- deplacable(a,haut). peut_aller(a,haut) :- deplacableobstacle(a,_,haut). peut_aller(a,haut) :- deplacableob(a,_,haut)
5 Cette règle renverra donc vrai si le robot A peut aller en haut. Nous avons fait de même pour les 3 autres directions. Enfin, la dernière règle que nous avons réalisée est se_deplace qui possède deux paramètres : le nom du robot à déplacer et la direction du déplacement. se_deplace(a,haut) :- deplacable(a,haut),!, retract(robot(a,x,y)), securise(x,y), Y1 is Y-1, assertz(robot(a,x,y1)), assertz(explore(x,y1)), detruit(a,_). Pour déplacer un robot dans une direction, il faut que celui-ci soit déplaçable dans la direction voulue (voir règle deplacable ci-dessus). Un robot est également déplaçable s il possède un obstacle ou s il veut aller sur une case où se trouve un obstacle, c est pourquoi nous testons également les règles deplacableob et deplacableobstacle en lieu et place de deplacable dans la règle précédente. Si le robot est déplaçable, alors on supprime de la base de faits le robot à sa position initiale (ou possedeobstacle) et on ajoute la nouvelle position du robot (respectivement possedeobstacle), le fait explore de la nouvelle case du robot et enfin on teste si une sonde était présente sur cette nouvelle case par la règle detruit. A noter également l appel à la règle securise(x,y) décrite plus loin dans la partie sécurisation. Voici les 2 autres règles se_deplace toujours pour la direction haut : se_deplace(a,haut) :- deplacableobstacle(a,b,haut),!,prend(a,b,haut), retract(possedeobstacle(a,b,x,y)),securise(x,y), Y1 is Y-1, assertz(possedeobstacle(a,b,x,y1)),deposeob(a,b,bas),assertz(explore(x,y1)), detruit(a,_). se_deplace(a,haut) :- deplacableob(a,b,haut), retract(possedeobstacle(a,b,x,y)),securise(x,y),y1 is Y-1, assertz(possedeobstacle(a,b,x,y1)),assertz(explore(x,y1)),detruit(a,_). Pour la première règle, si le robot est déplaçable sur une case possédant un obstacle, alors on prend cet obstacle, on supprime la fait possedeobstacle de la case courante pour ajouter le fait possedeobstacle sur la case située au dessus dans cette règle, puis on dépose l obstacle sur la case d où le robot arrive, donc dans la direction opposée. La seconde règle consiste à déplacer un robot vers le haut tout en possédant un obstacle, donc on supprime simplement de la base de faits possedeobstacle de la case courante pour l ajouter sur la nouvelle case. Cette dernière règle ne nous sert pas dans notre implémentation java
6 Sécurisation Deux modes de sécurisation de notre monde nous étaient possibles : l exploration du monde et sa sécurisation simultanée ou bien l exploration puis la sécurisation. Nous avons opté pour une sécurisation et une exploration simultanée ce qui permet un gain de temps pour le robot. Cette sécurisation se réalise par Prolog. À chaque déplacement du robot, nous faisons appel à la règle securise(x,y)qui, en fonction des éléments qui entourent la position du robot avant son déplacement, déposera ou non une sonde sur cette case. Voici la règle securise : securise(x,y) :- zoneasecuriser(x,y),!,deposesonde(x,y). securise(_,_). La règle zoneasecuriser sera détaillée ci-dessous, mais cette règle securise nous montre que si la zone est à sécuriser, alors le robot déposera une sonde, sinon la règle securise(_,_) renverra vrai ce qui permettra au robot de tout de même effectuer son déplacement. Il reste désormais à définir les zones à sécuriser. Une zone est à sécuriser lorsqu il s agit d un «passage» donnant sur une pièce ou d une issue sur le monde extérieur. Il s agit donc de placer des sondes devant : - les portes intérieures (porte) - les portes extérieures (sortie) empêchant à un intrus de rentrer dans notre monde - les parois lorsqu elles forment une ouverture. Voici une analyse des différentes possibilités : avec en bleu la case(x,y) à sécuriser, et représente les parois. On place donc une sonde lorsque le robot se trouve devant deux parois horizontales et une ouverture ou une paroi verticale, une paroi horizontale et une ouverture. Dans cet exemple, il s agit de vérifier si la zone est à sécuriser par rapport au monde situé au dessus de lui, mais il faut faire de même pour les 3 autres directions. Voici la règle que nous avons défini pour sécuriser au dessus : zoneasecuriser(x,y) :- X1 is X+1, porte(x,y,x1,y). // Une porte se trouve au dessus zoneasecuriser(x,y) :- X1 is X+1, sortie(x,y,x1,y). // Une sortie se trouve au dessus zoneasecuriser(x,y) :- X1 is X-1, X2 is X+1, Y1 is Y-1, paroi(x1,y1,x1,y), paroi(x2,y1,x2,y), not(paroi(x,y1,x,y)). // cas 1 représenté ci-dessus zoneasecuriser(x,y) :- X1 is X-1, X2 is X+1, Y1 is Y-1, paroi(x1,y1,x1,y), paroi(x,y1,x2,y1), not(paroi(x,y1,x,y)). // cas 2 représenté ci-dessus zoneasecuriser(x,y) :- X1 is X-1, X2 is X+1, Y1 is Y-1, paroi(x1,y1,x,y1), paroi(x2,y1,x2,y), not(paroi(x,y1,x,y)). // cas 3 représenté ci-dessus - 6 -
7 Voici 2 exemples de monde sécurisés par notre robot : Avec : notre robot dans sa position finale : les obstacles : les sondes placées par notre robot pour sécuriser le monde - 7 -
8 Java Tout ce qui concerne la connaissance du monde est implémenté dans la partie Prolog. Java va questionner Prolog pour récupérer des informations et afficher ce que le robot perçoit. La stratégie d exploration est réservée à Java. Les fichiers Jeu.java Contient la matrice d entiers qui représente la scène vue par le robot. Cette matrice évolue au fil de l exploration du monde et des réactions du robot. DamierPanel.java extends JPanel. Affiche la matrice d affichage du monde. Transforme la matrice d entiers du Jeu.java en images. Fenetre.java extends JFrame. C est le container qui reçoit l affichage de la matrice de Jeu.java. Main.java Lance la fenêtre et exécute l exploration du monde. C est lui qui décide quelle direction doit prendre le robot, en fonction des informations que lui renvoie Prolog. tp.java Classe statique. Effectue le lien avec Prolog. Contient des fonctions qui questionnent Prolog et récupèrent les informations du monde. Contient notamment : static int NB_LIGNES //nombre de lignes du monde static int NB_COLONNES//nombre de colonnes du monde static int TAILLE_VUE//la taille de la vue du robot Les fonctions d accès à Prolog Initialisation public static void chargerfichierprolog(string filename) On spécifie à Java quel fichier Prolog (.pl) sera utilisé par Sicstus. public static void remplirmatricefrombase() On charge les éléments de la base de faits qui serviront au lancement de l application : Le robot. public static void chargerrobot() On recherche le nom du robot. C est utile pour l interrogation dans Prolog après. Interrogation public static String localiser(string coord_x1,string coord_y1) Renvoie le prédicat de ce qui se trouve dans la case coord_x1, coord_y1. null si case vide. Peut être : robot, obstacle, sonde public static String localiser(vector coord_1, Vector coord_2) Renvoie le prédicat de ce qui se trouve entre les cases dont les coordonnées sont contenues dans les vecteurs coord_1 et coord_2. null si case vide
9 Peut être : paroi, porte, sortie public static Vector trouver2param(string predicat) public static Vector trouver4param(string predicat) Renvoie l ensemble des résultats de l interrogation de la base de faits Prolog, pour un prédicat. Exemple : trouver2param( obstacle ), renvoie la liste des obstacles trouver4param( paroi ), renvoie la liste des parois public static Vector trouverrobot(string nomrobot) Renvoie les coordonnées de la case où se situe le robot dont le nom est passé en paramètre. public static void vision(vector coord_robot) Met à jour la matrice d affichage java, en lui ajoutant les cases visibles depuis la position passée en paramètre. public static boolean explore(string coord_x,string coord_y) Renvoie vrai si la case coord_x, coord_y a déjà été visité par le robot. public static Vector deplacable(string nomrobot) Renvoie les directions possibles (haut, bas, gauche, droite) pour un déplacement de la part du robot dont le nom est passé en paramètre. Actions public static void deplacer(string nomrobot, String direction) Fait appel à la fonction se_deplace dans Prolog. Le robot nomrobot se déplace dans une direction (haut, bas, gauche, droite). La base de faits en est modifiée. Idée générale L algorithme de parcours On recherche tout d abord la position de robot et ajoute de sa capacité de vision à la matrice d'affichage Java. C est le point de départ. Java ne connaît que ça. On questionne Prolog pour savoir où se déplacer. Il fois que l on a décidé où aller, on assert la nouvelle position du robot dans prolog, on met à jour la matrice d affichage, et on se souvient des cases où on pouvait aller et où on a pas encore été (liste d attente). On affichage la nouvelle matrice (en tenant compte de la vision) et on recommence à questionner Prolog. On arrête lorsque l on estime avoir explorer toutes les cases. L algorithme variables : deplacement //sens du déplacement positionrobot // position du robot taillevision //taille de la vision du robot listeattente //case non visitées, dont on connait l'existence matrice //matrice d'affichage Java (ce que connait Java) chemin //chemin déjà parcouru (mémoire pour backtrack) - 9 -
10 algorithme : Debut positionrobot := trouverrobot() ajouter(matrice, positionrobot) repeter deplacement := null ajouter(matrice, vision(positionrobot, taillevision)) afficher(matrice) deplacable := questionnerprolog(deplacementpossible, positionrobot) //On regarde où est ce que Prolog dit qu'on peut se déplacer si (deplacable en haut) alors si non(case du haut deja exploree) alors ajouter(listeattente, case) deplacement = haut si (deplacable à droite) alors si non(case de droite deja exploree) alors ajouter(listeattente, case) deplacement = droite si (deplacable en bas) alors si non(case du bas deja exploree) alors ajouter(listeattente, case) deplacement = bas si (deplacable à gauche) alors si non(case de gauche deja exploree) alors ajouter(listeattente, case) deplacement = gauche //Si on peut se déplacer au moins dans une direction si deplacement!= null alors positionrobot := deplacerdansprolog(positionrobot,deplacement) retirer(listeattente,positionrobot) ajouter(chemin,position) sinon si vide(listeattente) alors Fin de l algorithme // on a tout parcouru sinon //On revient sur nos pas positionrobot := deplacerdansprolog(positionrobot, derniereposition(chemin)) retirer(listeattente,positionrobot) retirer(chemin, derniereposition(chemin)) Fin finrepeter tantque(nonvide(listeattente))
11 Explications On récupère les directions où peut se déplacer le robot. Dans l ordre des possibilités, il pourra aller à gauche puis en bas, puis à droite, puis en haut. Ainsi pour un parcours d une pièce vide, voici son parcours : Jaune : départ Bleu : arrivée Sur un exemple simple comme celui-ci, on peut constater deux intérêts à l algorithme. Tout d abord il finit, et ça c est important (quand la liste d attente est vide), et ensuite, il ne passe pas deux fois sur la même case. Sur cette exemple, le parcours optimal. En ajoutant des obstacles et des parois : Jaune : départ Bleu : arrivée Gris : obstacle ou paroi Chemin Vert : Chemin arrière (Back track) Cette illustration ne correspond pas tout à fait à notre algorithme qui, lorsque le robot rencontre un obstacle, le prend pour le mettre sur la case d où il provient. On peut tirer différentes conclusions de cet exemple qui met en évidence les points positifs et négatifs de notre algorithme : Points positifs - l algorithme fini - l algorithme est simple et rapide (pas de temps de perdu pour des calculs complexes) - le back tracking est présent mais pas omniprésent (4 fois) - 28 cases (plus de la moitié) sont explorées une et une seule fois. - Le maximum d exploration pour une même case est de 3 fois (2 cases concernées). C est très peu. Le robot évite de repasser au même endroit
12 Points négatifs - Dans certains cas de Back track, on aurait pu gagner quelques déplacements. On voit sans trop réfléchir que dans le coin bas-gauche et haut-droite de l exemple, on revient sur nos pas alors que l on pourrait coupé directement. 25 cases sont explorées deux fois (à cause du back track). Il faut relativiser en pensant que le back track est obligatoire donc il existe tout le temps des cases explorées plusieurs fois. Par contre, il est évident que certaines cases auraient pu n être explorée qu une seule fois. Il faut faire un choix entre rapidité d exécution et minimisation du nombre de cases parcourues. - La case bleue (arrivée) est explorée en dernier alors qu il aurait été préférable de l explorer au moment où on était en bas-droite. On aurait ainsi évité un back track important pour une seule case. Conclusion Ce TP nous a permis de mettre en œuvre un programme utilisant à la fois le langage Prolog spécifiquement pour réaliser l intelligence artificielle de notre robot, et le langage Java pour interroger Prolog et créer un affichage graphique. Notre programme réalise le travail demandé, à savoir explorer et sécuriser un monde clos. Cependant, si nous devions améliorer celui-ci, nous rajouterions un algorithme de parcours du plus court chemin afin de diminuer le nombre de déplacements de notre robot lorsqu il se trouve dans une zone ou tout exploré mais qu il lui reste d autres zones non explorées plus loin
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étailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailPoker. A rendre pour le 25 avril
Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailLes algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
Plus en détailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
Plus en détailInitiation à 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étailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailNavigation dans Windows
Cours 03 Navigation dans Windows Comme je le disais en introduction, notre souris se révèle plus maligne qu'elle n'en a l'air. À tel point qu'il faut apprendre à la dompter (mais c'est très simple, ce
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détail1. Introduction...2. 2. Création d'une requête...2
1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête
Plus en détailProjet 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étailles Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3
Présentation...2 1. Créer un formulaire à partir d une table...3 2. Les contrôles :...10 2.1 Le contrôle "Intitulé"...11 2.2 Le contrôle "Zone de Texte"...12 2.3 Le contrôle «Groupe d options»...14 2.4
Plus en détailInfolettre #18 : Les graphiques avec Excel 2010
Infolettre #18 : Les graphiques avec Excel 2010 Table des matières Introduction... 1 Hourra! Le retour du double-clic... 1 Modifier le graphique... 4 Onglet Création... 4 L onglet Disposition... 7 Onglet
Plus en détailRÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3
RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3 Pour construire un graphique : On lance l assistant graphique à l aide du menu Insérer è Diagramme en ayant sélectionné au préalable une cellule vide dans
Plus en détailCOURS 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étailSommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et
Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...
Plus en détailTraduction 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étailINITIATION 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étailJava 7 Les fondamentaux du langage Java
184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
Plus en détailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailProgrammation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Plus en détailInterface PC Vivago Ultra. Pro. Guide d'utilisation
Interface PC Vivago Ultra Pro Guide d'utilisation Version 1.03 Configuration de l'interface PC Vivago Ultra Configuration requise Avant d'installer Vivago Ultra sur votre ordinateur assurez-vous que celui-ci
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailCréer un album photo
Créer un album photo Pourquoi créer un album photo? Un album photo, contrairement à vos dossiers photo, n a pas d existence propre sur votre disque dur, ce n est qu une liste de référence pointant vers
Plus en détailLES 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étailExemple d application en CFD : Coefficient de traînée d un cylindre
Exemple d application en CFD : Coefficient de traînée d un cylindre 1 Démarche générale Avec Gambit Création d une géométrie Maillage Définition des conditions aux limites Avec Fluent 3D Choix des équations
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailCréation d'un site dynamique en PHP avec Dreamweaver et MySQL
Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du
Plus en détailIMAGES NUMÉRIQUES MATRICIELLES EN SCILAB
IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB Ce document, écrit par des animateurs de l IREM de Besançon, a pour objectif de présenter quelques unes des fonctions du logiciel Scilab, celles qui sont spécifiques
Plus en détailPremiers Pas avec OneNote 2013
Premiers Pas avec OneNote 2 Présentation de OneNote 3 Ouverture du logiciel OneNote 4 Sous Windows 8 4 Sous Windows 7 4 Création de l espace de travail OneNote 5 Introduction 5 Présentation des différentes
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailDate 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étailSystè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étailIntroduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailCours 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étailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailGuide 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étailManuel 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étailIntelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com
Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines
Plus en détailManuel d utilisation email NETexcom
Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailCorrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Plus en détailProjet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies
Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Régis Boulet Charlie Demené Alexis Guyot Balthazar Neveu Guillaume Tartavel Sommaire Sommaire... 1 Structure
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailJade. 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étailAGASC / BUREAU INFORMATION JEUNESSE 06700 Saint Laurent du Var Tel : 04.93.07.00.66 bij@agasc.fr www.agasc.fr. Word: Les tableaux.
Word: Les tableaux Introduction 6 ième partie Il est préférable par moments de présenter de l'information sous forme de tableau. Les instructions qui suivent démontrent comment créer un tableau et comment
Plus en détailJava 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étailChapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
Plus en détailInterfaces graphiques avec l API Swing
Interfaces graphiques avec l API Swing Les Swing Les classes graphiques Swing dérivent de la classe JComponent, qui hérite ellemême de la classe AWT (Abstract Window Toolkit). Tous les composants Swing
Plus en détailTEPZZ 568448A_T EP 2 568 448 A1 (19) (11) EP 2 568 448 A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 (2006.01) G06K 19/077 (2006.
(19) TEPZZ 68448A_T (11) EP 2 68 448 A1 (12) DEMANDE DE BREVET EUROPEEN (43) Date de publication: 13.03.2013 Bulletin 2013/11 (1) Int Cl.: G07F 7/08 (2006.01) G06K 19/077 (2006.01) (21) Numéro de dépôt:
Plus en détailLES 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étailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailConstruire. Statique. Styled by Smou. SEMA France SARL: 50, avenue d Alsace F-68027 Colmar Tél. +49-8304-939-0 Fax +49-8304-939-240
Construire Statique Styled by Smou SEMA France SARL: 50, avenue d Alsace F-68027 Colmar Tél. +49-8304-939-0 Fax +49-8304-939-240 Manuel d'application - Calcul statique -- Ferme et pannes à devers Page
Plus en détailRECUPEREZ DES FICHIERS SUPPRIMES AVEC RECUVA
RECUPEREZ DES FICHIERS SUPPRIMES AVEC RECUVA INTRODUCTION Ce logiciel gratuit peut vous aider à récupérer des fichiers que vous auriez malencontreusement effacés en vidant la corbeille par exemple. Il
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailApplication 1- VBA : Test de comportements d'investissements
Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps
Plus en détailUtilisation avancée de SugarCRM Version Professional 6.5
Utilisation avancée de SugarCRM Version Professional 6.5 Document : Utilisation_avancee_SugarCRM_6-5.docx Page : 1 / 32 Sommaire Préambule... 3 I. Les rapports... 4 1. Les principes du générateur de rapports...
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailProjet 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étailNAVIGATION 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étailGuide d utilisation commandes des pièces de rechange Rev.1.0.3
SECLI Ver.2.3 Guide d utilisation commandes des pièces de rechange Rev.1.0.3 Ce document est constamment actualisé: vérifiez le n de la version pour savoir s il existe d éventuelles mises à jour Futura
Plus en détailLe 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étailCours 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étailMODIFICATIONS DES PRINCIPES DIRECTEURS CONCERNANT LA RÉDACTION DES DÉFINITIONS RELATIVES AU CLASSEMENT
ANNEXE VI MODIFICATIONS DES PRINCIPES DIRECTEURS CONCERNANT LA RÉDACTION DES DÉFINITIONS RELATIVES AU CLASSEMENT RECOMMANDATIONS GÉNÉRALES Les utilisateurs s attendent à trouver dans les définitions des
Plus en détailLes structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Plus en détailPlateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Plus en détailTrajet d'une recette payée par un tiers (2)
Trajet d'une recette payée par un tiers (2) niveau : confirmé Nous avons vu dans l'article précédent la saisie d'une recette en mode "tierspayant" dans le dossier-patient. Il est déjà possible d'aller
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement
Plus en détailUTILISER 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étailAlgorithmique avec Algobox
Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions
Plus en détailEncryptions, compression et partitionnement des données
Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des
Plus en détailConsignes générales :
PROCÉDURE POUR DÉPÔT DANS WEBCT Consignes générales : 1) Il est important de toujours conserver une copie de votre Webfolio ou Dossier professionnel sur votre disquette, clé USB ou sur votre disque dur
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailTrier les ventes (sales order) avec Vtiger CRM
Trier les ventes (sales order) avec Vtiger CRM Dans l'activité d'une entreprise, on peut avoir besoin d'un outil pour trier les ventes, ce afin de réaliser un certain nombre de statistiques sur ces ventes,
Plus en détailLa Programmation Orientée Agent Les Agents Réactifs
La Programmation Orientée Agent Les Agents Réactifs Emmanuel ADAM Université de Valenciennes et du Hainaut-Cambrésis UVHC/ISTV-LAMIH E. ADAM University of Valenciennes La Programmation Orientée Agent Les
Plus en détailCréer un document composite avec NéoOffice J et le partager
OU BIEN On veut que les élèves mettent en relation du texte et des images trouvées sur internet (ce sont eux qui devront les chercher ou bien on va les insérer dans le document et à eux de les mettre en
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Plus en détailOptimisation Discrète
Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailProblèmes sur le chapitre 5
Problèmes sur le chapitre 5 (Version du 13 janvier 2015 (10h38)) 501 Le calcul des réactions d appui dans les problèmes schématisés ci-dessous est-il possible par les équations de la statique Si oui, écrire
Plus en détailConstruire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
Plus en détailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailArrêté Royal du 7 juillet 1994 fixant les normes de base en matière de prévention contre l incendie et l explosion : Notice explicative
Arrêté Royal du 7 juillet 1994 fixant les normes de base en matière de prévention contre l incendie et l explosion : Notice explicative A n n e x e 1 Annexe 1 1.2.1 hauteur d un bâtiment La hauteur h d'un
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailDécouverte du logiciel ordinateur TI-n spire / TI-n spire CAS
Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS Mémento Ouvrir TI-Nspire CAS. Voici la barre d outils : L insertion d une page, d une activité, d une page où l application est choisie, pourra
Plus en détailAdministration du site (Back Office)
Administration du site (Back Office) A quoi sert une interface d'administration? Une interface d'administration est une composante essentielle de l'infrastructure d'un site internet. Il s'agit d'une interface
Plus en détailProgrammation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Plus en détailFonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Plus en détail