Prologban hogyan kell az alábbi programot értelmezni?
Nem régen kezdtem el a Prolog programozást. Elméletileg adott a maximumkiválasztás tétele Prolog nyelven, de nem igazán értem, hogy hogyan jön ki az eredmény. Valaki el tudná mondani részletesen, lépésenként, hogy mit is csinál a Prolog?
Ja, és persze maga a kód:
max([X],X).
max([First|Rest],Max):-max(Rest,Max1), (First>Max1,Max=First; First <=Max1, Max=Max1.
Az egy elemű lista maximuma az adott elem.
A hosszabb lista maximuma a fej, ha az nagyobb a farok maximumánál; ha pedig nem nagyobb, akkor a farok maximuma lesz a maximum.
Ha Prolog értelmezőt játszol, akkor először az eggyel rövidebb listza maximuma kell. A végén eljutsz az utolsó elemig, ott már tudsz egy jelöltet a maximumra. Ha már van egy jelölted, akkor a feldolgozott elemek előtti elemmel hasonlítod össze, és a nagyobbat tartod meg. A végén elérsz az első elemig, és megtudod a maximumot, amit kiírsz a konzolra.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!