Skip to content

Instantly share code, notes, and snippets.

View mrsolarius's full-sized avatar
😋
Finaly I like git !

MrSolarius mrsolarius

😋
Finaly I like git !
View GitHub Profile
@mrsolarius
mrsolarius / palindrome.pl
Last active February 14, 2022 17:12
Comment crée en Prolog une fonction qui vérifie qu'une liste est un palindrome ?
%% % % % % % % % % % % % % % % % % % % % % % % % %
%% 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
%%
@mrsolarius
mrsolarius / trieInsersion.pl
Created February 14, 2022 17:12
Comment crée en Prolog une fonction de trie par fusion ?
%% % % % % % % % % % % % % % % % % % % % % % % % %
%% 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
@mrsolarius
mrsolarius / factoriel.erl
Created March 9, 2022 09:20
Comment faire un factoriel en erlang
% 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;
@mrsolarius
mrsolarius / app.erl
Created March 9, 2022 09:21
Comment verifier que un ellement apartien à une liste en erlang ?
% 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
@mrsolarius
mrsolarius / nbElement.erl
Created March 9, 2022 09:29
Comment compter le nombre d'occurance d'une élément dans une liste en Elrang ?
% 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
@mrsolarius
mrsolarius / suppr.erl
Created March 9, 2022 09:42
Comment effectuer la suppresion d'un element dans une liste ?
% 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]
@mrsolarius
mrsolarius / sequ.erl
Created March 9, 2022 09:55
Comment crée une séquance de nombre en Erlang ?
% 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
@mrsolarius
mrsolarius / flat.erl
Created March 9, 2022 10:08
Comment aplatire une liste de liste en une liste Erlang ?
% 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)?
@mrsolarius
mrsolarius / inv.erl
Created March 9, 2022 10:11
Comment faire une fonction d'inversion de liste en Erlang ?
% 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
@mrsolarius
mrsolarius / mini.erl
Last active March 16, 2022 09:13
Comment trouver le minimum d'une liste en Erlang ?
% 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)