2010-01-07 5 views
0

comment lire les numéros de fichiers et de tri dans (Prolog)lire les numéros de fichier dans Prolog et le tri

+2

Qu'est-ce que vous avez essayé? Si ce sont des devoirs, montrez-nous une tentative honnête et posez des questions sur les problèmes spécifiques que vous rencontrez. – Nifle

+0

http://www.learnprolognow.org/ – Nifle

+1

Quel est le format de fichier? – Kaarel

Répondre

2

Vous pouvez d'abord essayer les suivantes, la lecture de plusieurs lignes de la console:

?- repeat, read(X), (X==end_of_file, !, fail; true). 
1. 
X = 1 ; 
2. 
X = 2 ; 

No 

Explication: Le prédicat repeat/0 réussit à plusieurs reprises de sorte que read/1 soit appelé à plusieurs reprises. L'appel de read/1 ne s'arrête que lorsque le fichier end_of_file a été atteint en raison de la coupure qui le suit.

Ensuite, vous pouvez l'envelopper dans un findall/3 et appeler le tri/2:

?- findall(X,(repeat, read(X), (X==end_of_file, !, fail; true)),L), sort(L,R). 
2. 
1. 

L = [2, 1], 
R = [1, 2] 

Si nécessaire, vous pouvez utiliser votre propre genre et d'améliorer la lecture par un argument de flux.

Cordialement

(c) 2010, Jan Burse, 8004 Zürich

Questions connexes