1. Ορισμός και Χρήση
Ο μονοδιάστατος πίνακας είναι ένα πεπερασμένο και διατεταγμένο σύνολο στοιχείων του ίδιου τύπου, τα οποία αποθηκεύονται σε συνεχόμενες θέσεις μνήμης και αναγνωρίζονται με έναν δείκτη θέσης (index).
Ο δείκτης παίρνει ακέραιες τιμές και δείχνει σε ποια θέση βρίσκεται το κάθε στοιχείο.
Στη ΓΛΩΣΣΑ, η αρίθμηση των θέσεων ξεκινά πάντα από το 1. Δηλαδή, το πρώτο στοιχείο είναι το Α[1].
Παράδειγμα:
Α[1] = 5
Α[2] = 10
Α[3] = -2
Εδώ ο πίνακας Α έχει τρία στοιχεία: 5, 10 και -2.
2. Πότε χρησιμοποιούμε πίνακες
Η χρήση πινάκων είναι ιδιαίτερα χρήσιμη όταν:
- Θέλουμε να αποθηκεύσουμε μεγάλο αριθμό δεδομένων του ίδιου τύπου.
- Χρειάζεται να εφαρμόσουμε επαναλαμβανόμενες πράξεις σε όλα τα στοιχεία.
- Τα δεδομένα σχετίζονται και η διατήρησή τους σε μία ενιαία δομή είναι πιο αποδοτική.
Πλεονέκτημα (+):
- Εύκολη διαχείριση μεγάλου όγκου δεδομένων.
Μειονεκτήματα (-):
- Δεσμεύουν μνήμη από την αρχή της εκτέλεσης (στατικοί πίνακες).
- Το μέγεθός τους είναι σταθερό και δεν αλλάζει κατά την εκτέλεση (περιορισμένη ευελιξία).
- Η άσκοπη χρήση μπορεί να οδηγήσει σε σπατάλη μνήμης.
3. Στατικές και Δυναμικές Δομές
Οι πίνακες που χρησιμοποιούμε στη ΓΛΩΣΣΑ είναι στατικές δομές:
- Το μέγεθός τους καθορίζεται κατά τη δήλωση.
- Τα στοιχεία αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
Στον προγραμματισμό γενικότερα υπάρχουν και δυναμικές δομές (λίστες, ουρές, στοίβες) που:
- Δεν έχουν σταθερό μέγεθος.
- Αυξομειώνουν τον αριθμό στοιχείων κατά την εκτέλεση.
- Δεν αποθηκεύονται απαραίτητα σε συνεχόμενες θέσεις μνήμης.
4. Σχέση Αλγορίθμου και Δομών Δεδομένων
Σύμφωνα με την εξίσωση του Wirth:
ΑΛΓΟΡΙΘΜΟΣ + ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ = ΠΡΟΓΡΑΜΜΑ
Η δομή δεδομένων (π.χ. πίνακας) και ο αλγόριθμος που την επεξεργάζεται είναι αλληλένδετα:
Δεν υπάρχει σωστή λύση χωρίς την κατάλληλη επιλογή και χρήση της δομής.
5. Τυπικές Επεξεργασίες Μονοδιάστατων Πινάκων
- Εισαγωγή στοιχείων – καταχώρηση δεδομένων στον πίνακα.
- Εμφάνιση στοιχείων – προβολή των τιμών.
- Υπολογισμός αθροίσματος όλων των στοιχείων.
- Εύρεση μέγιστου/ελάχιστου στοιχείου και της θέσης του.
- Ταξινόμηση στοιχείων κατά αύξουσα ή φθίνουσα σειρά.
- Αναζήτηση συγκεκριμένου στοιχείου.
- Συγχώνευση δύο πινάκων σε έναν νέο.
6. Δημιουργία και Δήλωση Πίνακα στη ΓΛΩΣΣΑ
- Οι πίνακες δηλώνονται αποκλειστικά στο τμήμα δηλώσεων του προγράμματος, ποτέ στο τμήμα εντολών.
- Η δήλωση συνοδεύεται από τον τύπο των στοιχείων και το μέγεθος.
Παράδειγμα:
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[100]
Αυτό δεσμεύει 100 θέσεις μνήμης για ακέραιους αριθμούς.
7. Τύπος Στοιχείων
- Όλα τα στοιχεία ενός πίνακα πρέπει να είναι του ίδιου τύπου.
- Δεν μπορεί ένας πίνακας να περιέχει διαφορετικούς τύπους (π.χ. και χαρακτήρες και αριθμούς).
8. Αποθήκευση στη Μνήμη
- Οι στατικοί πίνακες καταλαμβάνουν συνεχόμενες θέσεις μνήμης.
- Η προσπέλαση γίνεται μέσω του δείκτη.
9. Αναζήτηση Στοιχείων
- Σειριακή αναζήτηση: ελέγχουμε κάθε στοιχείο με τη σειρά.
- Δυαδική αναζήτηση: εφαρμόζεται μόνο σε ταξινομημένους πίνακες, πιο γρήγορη μέθοδος.
10. Εντολή Εκχώρησης
Χρησιμοποιείται για να δώσουμε ή να αλλάξουμε τιμή σε ένα στοιχείο πίνακα:
Α[5] ← 100
