3 votes

Boucles et instructions conditionnelles en Prologue ?

Y a-t-il quelque chose en Prolog qui fonctionne comme une boucle for et une condition if then ?

10voto

mat Points 7998

If/then/else peut être obtenu avec (->)/2 et ( ;)/2 :

(    If ->
     Then
;    Else
)

C'est parfois utile. Mais en général (lorsque la condition contient des variables), cela rendra vos programmes bancals et incomplets. Chaque fois qu'il est possible de décrire les conditions à l'aide du filtrage de motifs, vous devriez plutôt utiliser le filtrage de motifs. Vous pourrez alors non seulement vérifier mais aussi générer des solutions.

7voto

Jack Points 61503

Si vous cherchez ce genre de déclarations, vous ne pensez pas en Prologue :)

Je plaisante, d'ailleurs il n'y a pas de traduction simple ou de for et de if/else, mais vous pouvez réfléchir à la façon dont ils devraient être dans le prologue :

  • un si/seulement peut être obtenue en ayant simplement deux règles qui correspondent à des conditions différentes.
  • a pour la boucle peut être fait avec deux règles récursives, l'une est le cas de base et elle ne dépend pas d'elle-même pour se maintenir tandis que l'autre fait ce que vous avez l'intention de faire à l'intérieur de la boucle et se suit elle-même .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X