This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%% % % % % % % % % % % % % % % % % % % % % % % % % | |
%% Topic : Implementation d'une fonction de palindrom en prolog | |
%% -> Note : Un palindome et une liste inversable. | |
%% % % % % % % % % % % % % % % % % % % % % % % % % | |
%% % % % % % % % % % % % % % % % % % % % % % % % % | |
%% Spéc | |
%% pal() et vrais ssi L est une liste palindrome. | |
%% la liste L1 | |
%% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%% % % % % % % % % % % % % % % % % % % % % % % % % | |
%% Topic : Implementation d'un trie par insersion en Prolog | |
%% % % % % % % % % % % % % % % % % % % % % % % % % | |
%% % % % % % % % % % % % % % % % % % % % % % % % % | |
%% Spécification -> tri | |
%% | |
%% | ^ | |
%% v | | |
%% tri(Liste,Trier) est vrais si est seulement si `Trier` contient tous les |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Spéc | |
% fact/1 renvoie le factoriel de l'argument paser en parametre | |
% le fact(N) est N*(N-1)*...*2*1 N appartient à N | |
% | |
% Exemple : | |
% > fact(3) = 6 | |
% Analyse sur N : 2 cas | |
% N = 0 | |
fact(N)->1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Spéc et implementation d'une fonction d'appartenance d'un élément à une liste | |
% app(E,L) renvoie vrai si E appartient à L | |
% | |
% app(X,L) vrai ssi X appartient à L | |
% | |
% Exemple : | |
% app(1,[1,2,3,4]) = true | |
% app(5,[1,2,3,4]) = false | |
% Analyse sur L : 2 cas |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Spéc et implementation d'une fonction comptant le nombre d'occurences d'un élément dans une liste | |
% nb(E,L) renvoie le nombre d'occurences de E dans L | |
% | |
% Spéc : | |
% nb(E,L) renvoie le nombre d'occurences de E dans L, liste. | |
% | |
% Exemple : | |
% nb(1,[2,1,3,1]) = 2 | |
% nb(5,[1,2,3,4]) = 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Spéc et implementation d'une fonction qui de suppresion d'un élément dans une liste. | |
% | |
% Deux interpretations possibles : | |
% 1 : On supprime l'élément E dans la liste L | |
% 2 : On supprime tous les éléments E dans la liste L | |
% | |
% Spéc : suppr1(X,L) = X\{L}, seulement la première occurence de X dans L | |
% Exemple: | |
% suppr1(2,[1,2,3,2]) = [1,3,2] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Spec : sequ/1 | |
% sequ(X) est la liste des entiers de 1 à X | |
% Si X>=1, [] sinon | |
% | |
% Exemple : | |
% sequ(3) = [1,2,3] | |
% sequ(0) = [] | |
% Analyse sur X : 2 cas | |
% 1) X = 0 : dans se cas renvoie d'une liste vide |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Spec : flat/1 | |
% flat(L) vas concatener toutes les sous listes de L | |
% On supose ici que L est une liste de listes | |
% | |
% Exemple : | |
% flat([[1,2],[3,4],[5,6]]) = [1,2,3,4,5,6] | |
% Analyse | |
% | |
% flat(L)? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Implementer : | |
% Spec : inv/1. | |
% inv(L) renvoie la liste inverse de L | |
% | |
% Exemple : | |
% inv([1,2,3]) = [3,2,1] | |
% Analyse | |
% sur L : 2 cas | |
% 1) L = [] : dans se cas renvoie d'une liste vide |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Spec : mini/1 | |
% mini(L) renvoie le minimum de L | |
% | |
% Exemple : | |
% mini([1,2,3]) = 1 | |
% mini([3,1,2]) = 1 | |
% Analyse | |
% sur L : 2 cas | |
% 1) L = [] : le minimum non défini (Pas de clause pour le cas 1) |
OlderNewer