© Ευάγγελος Κουράκος Μαυρομιχάλης, 2006
Προηγούμενο | Περιεχόμενα | Επόμενο
 

Αναπαράσταση πινάκων με λίστες

Ένας πίνακας στη Prolog μπορεί ν' αναπαρασταθεί με πολλούς τρόπους.

Ο πρώτος τρόπος είναι με χρήση γεγονότων της μορφής table(Row,Column,S) όπου η μεταβλητή Row αναπαριστά τη γραμμή στην οποία το στοιχείο S βρίσκεται, ενώ η μεταβλητή Column τη στήλη.

Για παράδειγμα, έστω ο παρακάτω πίνακας 3x3:

        | 1 2 3 |
table = | 4 5 6 |
        | 7 8 9 |

Ο πίνακας αυτός αναπαριστάται με γεγονότα ως ακολούθως:

table(1,1, 1).
table(1,2, 2).
table(1,3, 3).
table(2,1, 4).
...
table(3,3, 9).

Ο δεύτερος τρόπος είναι κάνοντας χρήση γεγονότων της μορφής table(N,RowList) ή της μορφής table(N,ColumnList). Για παράδειγμα:

table(1,[1,2,3]).
table(2,[4,5,6]).
table(3,[7,8,9]).

Ο τελευταίος τρόπος είναι αναπαριστώντας τον πίνακα ως λίστα η οποία περιέχει λίστες οι οποίες αναπαριστούν τις γραμμές ή τις στήλες του πίνακα. Για παράδειγμα:

table([[1,2,3],[4,5,6],[7,8,9]]).
ή ως
table([[1,4,7],[2,5,8],[3,6,9]]).

Η επιλογή της καταλληλότερης αναπαράστασης εξαρτάται από το πρόβλημα. Αν μας ενδιαφέρει να χειριζόμαστε μεμονωμένα κάποια από τα στοιχεία του πίνακα τότε η πρώτη από τις παραπάνω αναπαραστάσεις είναι η καταλληλότερη. Αν μας ενδιαφέρει να χειριζόμαστε περισσότερο τις γραμμές ή τις στήλες ενός πίνακα τότε χρησιμοποιούμε τον δεύτερο τρόπο αναπαράστασης. Τέλος, ο τρίτος τρόπος αναπαράστασης ενός πίνακα μέσω μίας λίστας είναι χρήσιμος όταν μας ενδιαφέρει να χειριζόμαστε τον πίνακα ως ολότητα.


Τελευταία ενημέρωση σελίδας: 24/11/2006