Skip to content

Instantly share code, notes, and snippets.

@mrsolarius
Created March 16, 2022 10:14
Show Gist options
  • Save mrsolarius/ae0456d08b5104c8c4f161120757e042 to your computer and use it in GitHub Desktop.
Save mrsolarius/ae0456d08b5104c8c4f161120757e042 to your computer and use it in GitHub Desktop.
Comment vérifier que un élément existe bien dans une liste ?
% Specification :
% existe/2
% existe(P,L) est vrai si est seulement si il existe
% un element E appartenant à la liste L qui n'est pas un element de P(E) vrai
% avec L une liste quelconque
% Exemples :
% > existe(fun(E)->E>0 end,[-3,0,-2]).
% false
%
% > existe(fun(E)->E>0 end,[-3,0,2]).
% true
% Réalisation :
% 1) L = [] -> Doit renvoyer faux peut importe P
existe(_,[])->
false;
% 2) L=/=[]
% Si P(E) est vrai alors existe(P,L) est vrai et on renvoie vrai
% Sinon existe(P,L) est faux alors on rappelle existe(P,L) avec L la liste
existe(P,[Pr|Liste])->
P(Pr) or existe(P,Liste);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment