Πίνακες Μιας Διάστασης στη ΓΛΩΣΣΑ

Εισαγωγή

Οι πίνακες μιας διάστασης στη ΓΛΩΣΣΑ αποτελούν μια από τις βασικότερες δομές δεδομένων για την αποθήκευση και διαχείριση μιας ακολουθίας ομοειδών δεδομένων. Με τους πίνακες μπορούμε να αποθηκεύουμε πολλά δεδομένα του ίδιου τύπου υπό ένα κοινό όνομα, και να έχουμε πρόσβαση σε κάθε στοιχείο ξεχωριστά.

Στόχος αυτού του μαθήματος είναι να κατανοήσετε:

  • Τι είναι οι πίνακες μιας διάστασης.
  • Πώς να δηλώνετε πίνακες στη ΓΛΩΣΣΑ.
  • Πώς να προσπελάζετε και να τροποποιείτε τα στοιχεία ενός πίνακα.
  • Πώς να εκτελείτε πράξεις με πίνακες.

Θεωρία των Πινάκων Μιας Διάστασης

Ορισμός

Ένας πίνακας μιας διάστασης είναι μια δομή δεδομένων που αποθηκεύει μια ακολουθία στοιχείων του ίδιου τύπου. Κάθε στοιχείο του πίνακα έχει μια μοναδική θέση, η οποία προσδιορίζεται από έναν δείκτη.

Χαρακτηριστικά

  • Στατικό Μέγεθος: Το μέγεθος του πίνακα καθορίζεται κατά τη δήλωσή του και δεν μπορεί να αλλάξει κατά την εκτέλεση του προγράμματος.
  • Ομοιογενής Τύπος: Όλα τα στοιχεία ενός πίνακα πρέπει να είναι του ίδιου τύπου δεδομένων.
  • Δείκτης: Η θέση κάθε στοιχείου στον πίνακα προσδιορίζεται από έναν δείκτη, ο οποίος ξεκινά από το 1.
  • Πρόσβαση: Η πρόσβαση σε οποιοδήποτε στοιχείο του πίνακα γίνεται σε σταθερό χρόνο, χρησιμοποιώντας τον δείκτη του.

Χρήσεις

Οι πίνακες μιας διάστασης χρησιμοποιούνται για:

  • Αποθήκευση μιας ακολουθίας δεδομένων (π.χ. βαθμολογίες μαθητών, θερμοκρασίες ημερών).
  • Επεξεργασία δεδομένων σε μαζική μορφή.
  • Υλοποίηση αλγορίθμων που απαιτούν αποθήκευση και διαχείριση πολλών δεδομένων.

Παράδειγμα: Ένας πίνακας που αποθηκεύει τις βαθμολογίες 5 μαθητών:

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: βαθμοί[5]

Δήλωση Πινάκων στη ΓΛΩΣΣΑ

Σύνταξη Δήλωσης

Στη ΓΛΩΣΣΑ, οι πίνακες δηλώνονται με τον ακόλουθο τρόπο:

ΜΕΤΑΒΛΗΤΕΣ
  [Τύπος]: [Όνομα Πίνακα]([Μέγεθος])

Όπου:

  • [Τύπος]: Ο τύπος δεδομένων των στοιχείων του πίνακα (π.χ. ΑΚΕΡΑΙΟΣ, ΠΡΑΓΜΑΤΙΚΟΣ, ΧΑΡΑΚΤΗΡΑΣ, κ.λπ.).
  • [Όνομα Πίνακα]: Το όνομα του πίνακα.
  • [Μέγεθος]: Ο αριθμός των στοιχείων που μπορεί να αποθηκεύσει ο πίνακας.

Παραδείγματα Δήλωσης

Παρακάτω παρουσιάζονται κάποια παραδείγματα δήλωσης πινάκων:

  • Πίνακας Ακέραιων:
    ΜΕΤΑΒΛΗΤΕΣ
      ΑΚΕΡΑΙΕΣ: βαθμοί[10]
  • Πίνακας Πραγματικών:
    ΜΕΤΑΒΛΗΤΕΣ
      ΠΡΑΓΜΑΤΙΚΕΣ: θερμοκρασίες[30]
  • Πίνακας Χαρακτήρων:
    ΜΕΤΑΒΛΗΤΕΣ
      ΧΑΡΑΚΤΗΡΕΣ: γράμματα[26]
  • Πίνακας Συμβολοσειρών:
    ΜΕΤΑΒΛΗΤΕΣ
      ΣΥΜΒΟΛΟΣΕΙΡΕΣ: ονόματα[20]

Σημείωση: Το μέγεθος του πίνακα πρέπει να είναι μια θετική ακέραια σταθερά ή έκφραση που υπολογίζεται κατά τον χρόνο μεταγλώττισης.

Πρόσβαση σε Στοιχεία Πίνακα

Πρόσβαση σε Στοιχεία

Η πρόσβαση σε ένα στοιχείο ενός πίνακα γίνεται χρησιμοποιώντας το όνομα του πίνακα ακολουθούμενο από τον δείκτη του στοιχείου μέσα σε αγκύλες.

Σύνταξη:

[Όνομα Πίνακα]([Δείκτης])

Όπου:

  • [Όνομα Πίνακα]: Το όνομα του πίνακα.
  • [Δείκτης]: Η θέση του στοιχείου στον πίνακα (ξεκινά από το 1).

Παραδείγματα Πρόσβασης

Παρακάτω παρουσιάζονται κάποια παραδείγματα πρόσβασης σε στοιχεία πινάκων:

  • Ανάθεση Τιμής:
    βαθμοί[1] ← 18
  • Ανάγνωση Τιμής:
    ΓΡΑΨΕ βαθμοί[1]
  • Χρήση σε Εκφράσεις:
    άθροισμα ← βαθμοί[1] + βαθμοί[2]

Δείκτες

Οι δείκτες των πινάκων στη ΓΛΩΣΣΑ ξεκινούν από το 1 και όχι από το 0, όπως σε πολλές άλλες γλώσσες προγραμματισμού.

Παράδειγμα:

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[5], i
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    π[i] ← i * 10
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ π[1]  ! Εκτυπώνει 10
  ΓΡΑΨΕ π[5]  ! Εκτυπώνει 50
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Σημείωση: Προσέξτε να μην ξεπεράσετε τα όρια του πίνακα, καθώς αυτό μπορεί να προκαλέσει σφάλματα στο πρόγραμμα.

Πράξεις με Πίνακες στη ΓΛΩΣΣΑ

Βασικές Πράξεις

Με τους πίνακες στη ΓΛΩΣΣΑ μπορείτε να εκτελέσετε διάφορες πράξεις, όπως:

  • Ανάθεση Τιμών: Ανάθεση μιας τιμής σε ένα στοιχείο του πίνακα.
  • Ανάγνωση Τιμών: Ανάγνωση της τιμής ενός στοιχείου του πίνακα.
  • Εκτύπωση Πίνακα: Εκτύπωση όλων των στοιχείων του πίνακα.
  • Αριθμητικές Πράξεις: Εκτέλεση αριθμητικών πράξεων με τα στοιχεία του πίνακα.

Εκτύπωση Πίνακα

Για να εκτυπώσετε όλα τα στοιχεία ενός πίνακα, μπορείτε να χρησιμοποιήσετε έναν βρόχο ΓΙΑ:

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[5], i
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    ΓΡΑΨΕ π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Αριθμητικές Πράξεις

Μπορείτε να εκτελέσετε αριθμητικές πράξεις με τα στοιχεία ενός πίνακα, όπως άθροισμα, γινόμενο, κ.λπ.

Παράδειγμα Άθροισμα:

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[5], i, άθροισμα
ΑΡΧΗ
  άθροισμα ← 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    άθροισμα ← άθροισμα + π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Το άθροισμα είναι: ', άθροισμα
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Εύρεση Μέγιστου/Ελαχίστου

Μπορείτε να βρείτε το μέγιστο ή το ελάχιστο στοιχείο ενός πίνακα χρησιμοποιώντας βρόχους και συνθήκες.

Παράδειγμα Μέγιστου:

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[5], i, μέγιστος
ΑΡΧΗ
  μέγιστος ← π[1]
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 5
    ΑΝ π[i] > μέγιστος ΤΟΤΕ
      μέγιστος ← π[i]
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Ο μέγιστος είναι: ', μέγιστος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παραδείγματα Πινάκων Μιας Διάστασης

Παράδειγμα 1: Δήλωση και Εισαγωγή Δεδομένων

Ένα πρόγραμμα που δηλώνει έναν πίνακα 10 ακέραιων αριθμών, και διαβάζει τις τιμές από τον χρήστη:

ΠΡΟΓΡΑΜΜΑ Βαθμολογίες_Μαθητών
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: βαθμοί[10], i
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ 'Δώσε τον βαθμό του ', i, '-ου μαθητή: '
    ΔΙΑΒΑΣΕ βαθμοί[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ 'Ο βαθμός του ', i, '-ου μαθητή είναι: ', βαθμοί[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 2: Άθροισμα Στοιχείων

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

ΠΡΟΓΡΑΜΜΑ Άθροισμα_Πίνακα
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[5], i, άθροισμα
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    ΓΡΑΨΕ 'Δώσε το ', i, '-οστό στοιχείο: '
    ΔΙΑΒΑΣΕ π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  άθροισμα ← 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    άθροισμα ← άθροισμα + π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Το άθροισμα των στοιχείων είναι: ', άθροισμα
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 3: Εύρεση Μέγιστου

Ένα πρόγραμμα που βρίσκει το μέγιστο στοιχείο ενός πίνακα:

ΠΡΟΓΡΑΜΜΑ Μέγιστο_Πίνακα
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[10], i, μέγιστος
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ 'Δώσε το ', i, '-οστό στοιχείο: '
    ΔΙΑΒΑΣΕ π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  μέγιστος ← π[1]
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 10
    ΑΝ π[i] > μέγιστος ΤΟΤΕ
      μέγιστος ← π[i]
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Το μέγιστο στοιχείο είναι: ', μέγιστος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 4: Αναζήτηση Στοιχείου

Ένα πρόγραμμα που αναζητά ένα στοιχείο σε έναν πίνακα:

ΠΡΟΓΡΑΜΜΑ Αναζήτηση_Πίνακα
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[10], i, α, βρέθηκε
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ 'Δώσε το ', i, '-οστό στοιχείο: '
    ΔΙΑΒΑΣΕ π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Δώσε το στοιχείο που ψάχνεις: '
  ΔΙΑΒΑΣΕ α
  βρέθηκε ← 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΑΝ π[i] = α ΤΟΤΕ
      βρέθηκε ← 1
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ βρέθηκε = 1 ΤΟΤΕ
    ΓΡΑΨΕ 'Το στοιχείο βρέθηκε.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Το στοιχείο δεν βρέθηκε.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 5: Αντιστροφή Πίνακα

Ένα πρόγραμμα που αντιστρέφει τα στοιχεία ενός πίνακα:

ΠΡΟΓΡΑΜΜΑ Αντιστροφή_Πίνακα
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[10], i, temp
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ 'Δώσε το ', i, '-οστό στοιχείο: '
    ΔΙΑΒΑΣΕ π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    temp ← π[i]
    π[i] ← π[11 - i]
    π[11 - i] ← temp
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Ο πίνακας μετά την αντιστροφή:'
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ασκήσεις

Άσκηση 1: Δήλωση και Εισαγωγή Δεδομένων

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να δηλώνει έναν πίνακα 10 ακέραιων αριθμών, να διαβάζει τις τιμές από τον χρήστη και να εκτυπώνει τα στοιχεία του.

Άσκηση 2: Άθροισμα Στοιχείων

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει 10 αριθμούς από τον χρήστη, να τους αποθηκεύει σε έναν πίνακα και να υπολογίζει και να εκτυπώνει το άθροισμά τους.

Άσκηση 3: Εύρεση Μέγιστου

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει 15 αριθμούς από τον χρήστη, να τους αποθηκεύει σε έναν πίνακα και να βρίσκει και να εκτυπώνει τον μέγιστο αριθμό.

Άσκηση 4: Εύρεση Ελαχίστου

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει 12 αριθμούς από τον χρήστη, να τους αποθηκεύει σε έναν πίνακα και να βρίσκει και να εκτυπώνει τον ελάχιστο αριθμό.

Άσκηση 5: Αναζήτηση Στοιχείου

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει 8 αριθμούς από τον χρήστη, να τους αποθηκεύει σε έναν πίνακα και να αναζητά αν ένας αριθμός που θα δώσει ο χρήστης υπάρχει στον πίνακα.

Άσκηση 6: Μέσος Όρος

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει τις βαθμολογίες 10 μαθητών, να τις αποθηκεύει σε έναν πίνακα και να υπολογίζει και να εκτυπώνει τον μέσο όρο.

Άσκηση 7: Αντιστροφή Πίνακα

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει 6 αριθμούς από τον χρήστη, να τους αποθηκεύει σε έναν πίνακα και να αντιστρέφει τα στοιχεία του πίνακα.

Άσκηση 8: Ταξινόμηση Πίνακα

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει 5 αριθμούς από τον χρήστη, να τους αποθηκεύει σε έναν πίνακα και να τους ταξινομεί σε αύξουσα σειρά.