Mise en œuvre d’un programme

Slides:



Advertisements
Présentations similaires
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Structure de base des programmes en C.
Advertisements

GEF 243B Programmation informatique appliquée
Premier programme en C :
P.T. 2012/2013 Mise en œuvre de Prolog.
La gestion des vidages de crash et des fichiers core.
Introduction Langage très répandu Noyau Linux VLC … Des avantages indéniables mais aussi des contraintes ! Ceci nest quun rapide tour.
PROLOG 1 Prolog - Initiation
Réflexivité et réseaux d’ information
Le langage Prolog Structures de données
GEF 243B Programmation informatique appliquée Expressions de type mixte et blocs §
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
Paquetages: Définitions Les classes Java sont regroupées en paquetages (packages en anglais) Ils correspondent aux « bibliothèques » des autres langages.
(Classes prédéfinies – API Java)
C.
Domaines nominaux XSLT
Programmer en JAVA par Tama
Prédicats prédéfinis Prédicats de type :
Analyse et Programmation Déclarative / Prolog
Calculs numériques en Prolog
Outils de développements
Systèmes Experts implémentation en Prolog
Fonctionnement du moteur Prolog
TP 3-4 BD21.
Manipulation d’XML avec XSL
Structures et unions types énumérés Qu'est-ce qu'une structure
Les attributions de valeur (le signe =). Dans cette présentation, nous allons tenter de représenter ce qui se passe dans la mémoire de lordinateur quand.
8. Les tableaux P. Costamagna – ISEN N1.
Travaux pratiques sur Nooj
On parle darbre de recherche dune question *Racine de larbre : question *Nœuds : points de choix (formule à démontrer) *Passage dun nœud vers son fils.
Points importants de la semaine Les types arithmétiques. Les opérateurs.
Objets Opérateurs Listes
OCaml - Les listes L3 MI.
Analyser une phrase % extraire une phrase et retourner le reste
Introduction à la programmation (Java)
HistoriqueHistorique Langage C++, parution du livre Bjarne Stroustrup Normalisation ANSI.
Formation Python Modules (d'après "Learning Python", de Mark Lutz)
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-2000
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Principes de programmation
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI2520 Ecriture sur l'écran ou dans un fichier Lecture à partir du clavier ou dun fichier Affichage de termes : *write(1+2) affiche 1+2 *write(X). affiche.
Programmation logique Le Langage PROLOG
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Structures de données IFT-2000
Types de données fondamentaux
Introduction à l’environnement logiciel Clips
Inclusions & dépendances. C compile texte > objet int main () …
1 Septi è me journ é e La programmation impérative.
Prolog Listes Arbres en prolog Structures : bases de données
CSI2520  Cette fonction permet d’attribuer une valeur à une variable (set! nombre (+ 3 4)) (set! nombre (+ 1 nombre)) En SCHEME, les fonctions dont le.
XPath XML Path UP Web Année universitaire
Créer des packages.
Un survol du language C.
Concepts intermédiaires de VHDL
Sémantique des expressions arithmétiques pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Outils pour la programmation logique par contraintes
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
HistoriqueHistorique Langage C++, parution du livre Bjarne Stroustrup Normalisation ANSI.
Objets Opérateurs Listes
1 Deuxième journée La programmation procédurale. 2 Unité de programmation : la procédure ou fonction Très semblable au math Un programme est un ensemble.
Cours LCS N°4 Présenté par Mr: LALLALI
JeanDo Lénard – Fondamentaux de l'Internet – Hetic –06 Février 2007 page 1 Fondamentaux de l'Internet (FDI) JeanDo Lénard
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Objets et Actions Élémentaires.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction au langage PL/SQL
Transcription de la présentation:

Mise en œuvre d’un programme Le lancement de l’interprète Pl. Source et doc. http://www.swi-prolog.org/ On quitte Prolog avec ?- halt.

Chargement de fichiers Les programmes sont dans des fichiers avec le suffixe " .pl " en général. Pour compiler et charger un programme : ?- consult(nom_du_fichier). où nom_du_fichier est un atome, par exemple : ?- consult('file.pl'). ou bien le raccourci avec la commande : ?- [nom_du_fichier]. par exemple ?- ['file.pl']. Autre raccourci avec SWI : ?- [file]. Chargement de plusieurs fichiers simultanément ?- ['file1.pl', 'file2.pl'].

suite Si on modifie le programme dans le fichier, on peut mettre à jour la base de données par (Pas avec SWI où on ne peut que consulter) : ?- reconsult('file.pl'). Le raccourci de rechargement est : ?- [-'file.pl'].

L’affichage du contenu d’un fichier L’affichage du contenu du fichier chargé se fait par : ?- listing. L’affichage d’une clause particulière, ici toto, se fait par : ?- listing(toto).

Opérations arithmétiques Évaluer un terme représentant une expression arithmétique revient à appliquer les opérateurs. Ceci se fait par le prédicat prédéfini is/2. ?- X = 1 + 1 + 1. X = 1 + 1 + 1 (ou X = +(+(1, 1), 1)). ?- X = 1 + 1 + 1, Y is X. X = 1 + 1 + 1, Y = 3. ?- X is 1 + 1 + a. erreur (a pas un nombre)

Opérations arithmétiques ?- X is 1 + 1 + Z. erreur (Z non instancié à un nombre) ?- Z = 2, X is 1 + 1 + Z. Z = 2 X = 4 ?- 1 + 2 =:= 2 + 1. Yes. ?- 1 + 2 = 2 + 1. No. ?- 1 + 2 = 1 + 2.

Opérations arithmétiques ?- 1 + X = 1 + 2. X = 2. ?- 1 + 2 =:= 2 + 1. Yes. ?- 1 + X =:= 1 + 2. Erreur. ?- 1 + 2 == 1 + 2. ?- 1 + 2 == 2 + 1. No. ?- 1 + X == 1 + 2. ?- 1 + a == 1 + a.  

Le prédicat length/2 La longueur d’une liste ?- length([a, b, c],3). Yes ?- length([a, [a, b], c], N). N = 3   Définition du prédicat Programme length([],0). length([X | XS], N) :-length(XS, N1), N is N1 + 1. Commentaires La règle 1 dans le cas trivial de la liste vide La règle 2 est plus générale

Quelques prédicats prédéfinis Prédicats de type integer/1 : est-ce un entier? ?- integer(3). Yes. ?- integer(X). No. number/1 : est-ce un nombre? ?- number(3.14). float/1 : est-ce un flottant? atom/1 : est-ce un atome? ?- atom(toto). ?- atom(3). No atomic/1 (ou constant/1 dans certains Prolog) : Est-ce un atome ou un nombre?

Quelques prédicats prédéfinis var/1 : est-ce une variable non instanciée? ?- var(X). Yes. ?- X = f(Z), var(X). No nonvar/1. Le contraire de var/1. ?- nonvar(X). compound/1. Est-ce que le terme est composé? ?- compound(X). No. ?- compound(f(X, Y)). Yes