λίστα:=[1,2,4,2] ακολουθία:=(1,2,4,2) σύνολο:=%{1,2,4,2%}Οι λίστες μπορούν να περιέχουν λίστες (είναι η περίπτωση των πινάκων), ενώ οι ακολουθίες είναι επίπεδες (ένα στοιχείο μίας ακολουθίας δεν μπορεί να είναι μία ακολουθία). Σε ένα σύνολο η σειρά δεν έχει σημασία και κάθε αντικείμενο είναι μοναδικό. Υπάρχει και μία άλλη δομή, που ονομάζεται πίνακας, στην οποία θα αναφερθούμε αργότερα.
Αρκεί να βάλουμε μία ακολουθία ανάμεσα σε άγκιστρα για να την κάνουμε λίστα
ή ανάμεσα σε %
και αγκύλες για να την κάνουμε σύνολο.
Περνάμε από μία λίστα στήν αντίστοιχη ακολουθία με την συνάρτηση op
, από
μία ακολουθία στην αντίστοιχη λίστα βάζοντας την ανάμεσα σε άγκιστρα (ή
με την συνάρτηση nop
).
Το πλήθος των στοιχείων μίας λίστας δίνεται από την συνάρτηση size
(ή την nops
).
se:=(1,2,4,2) li:=[se] op(li) nop(se) nops(se) %{se%} size([se]) size(%{se%})Για να κατασκευάσουμε μία λίστα ή μία ακολουθία, χρησιμοποιούμε εντολές επανάληψης όπως
$
ή seq
(που επαναλαμβάνουν μία έκφραση) ή την makelist
(που κατασκευάζει μία λίστα με την βοήθεια μίας συνάρτησης). Προσοχή:
Η seq
με δύο ορίσματα επιστρέφει ακολουθία, ενώ με 3 ή 4 ορίσματα
επιστρέφει λίστα.
1$5 k^2 $ (k=-2..2) seq(k^2,k=-2..2) [k^2$(k=-2..2)] seq(k^2,k=-2,2) seq(k^2,k,-2,2,2) makelist(x->x^2,-2,2) makelist(x->x^2,-2,2,2)Η κενή ακολουθία σημειώνεται με
NULL
, ενώ η κενή λίστα με
[]
. Για να προσθέσουμε ένα στοιχείο σε μία ακολουθία αρκεί να
γράψουμε την ακολουθία και το στοιχείο διαχωρισμένα με ένα κόμμα.
Για προσθέσουμε ένα στοιχείο σε μία λίστα χρησιμοποιούμε την συνάρτηση
append
.
Πρόσβαση σε ένα στοιχείο μίας λίστας ή μίας ακολουθίας γίνετα με την βοήθεια
του δείκτη του στοιχείου τοποθετούμενου ανάμεσα σε άγκιστρα. Προσοχή:
Το πρώτο στοιχείο μίας λίστας ή μίας ακολουθίας έχει δείκτη 0.
se:=NULL; se:=se,k^2$(k=-2..2); se:=se,1 li:=[1,2]; (li:=append(li,k^2))$(k=-2..2) li[0],li[1],li[2]
Τα πολυώνυμα συχνά ορίζονται από μία παράσταση,
αλλά μπορούν επίσης να ορισθούν και από την λίστα των συντελεστών τους
σε φθίνουσα διάταξη εκθετών.
Ορίζονται επίσης πολυώνυμα πολλών μεταβλητών.
Η συνάρτηση symb2poly
μετασχηματίζει μία πολυωνυμική
παράσταση σε λίστα συντελεστών,
ενώ η συνάρτηση poly2symb
μετασχηματίζει μία
λίστα συντελεστών σε πολυωνυμική
παράσταση. Το δεύτερο όρισμα καθορίζει εάν πρόκειται για πολυώνυμο μίας μεταβλητής
(βάζουμε το όνομα της μεταβλητής)
ή για πολυώνυμο πολλών μεταβλητών (βάζουμε την λίστα των μεταβλητών).
Ακολουθίες και λίστες | |
E$(k=n..m) |
δημιουργία μίας ακολουθίας |
seq(E,k=n..m) |
δημιουργία μίας ακολουθίας |
[E$(k=n..m)] |
δημιουργία μίας λίστας |
makelist(f,k,n,m,p) |
δημιουργία μίας λίστας |
op(li) |
μετατροπή λίστας σε ακολουθία |
nop(se) |
μετατροπή ακολουθίας σε λίστα |
nops(li) |
πλήθος στοιχείων ακολουθίας ή λίστας |
size(li) |
πλήθος στοιχείων ακολουθίας ή λίστας |
sum |
άθροισμα των στοιχείων |
product |
γινόμενο των στοιχείων |
cumSum |
συσωρευτικό άθροισμα των στοιχείων |
apply(f,li) |
εφαρμογή μίας συνάρτησης στα στοιχεία μίας λίστας |
apply(f,matrix) |
εφαρμογή μίας συνάρτησης στα στοιχεία ενός πίνακα |
map(li,f) |
εφαρμογή μίας συνάρτησης στα στοιχεία μίας λίστας |
map(matrix,f) |
εφαρμογή μίας συνάρτησης στα στοιχεία ενός πίνακα |
poly2symb |
λίστα συντελεστών -> πολυωνυμική παράσταση |
symb2poly |
πολυωνυμική παράσταση -> λίστα συντελεστών |