Português

Αναζήτηση σε Πίνακες

Εισαγωγή

Η αναζήτηση αποτελεί μία από τις πιο συχνές επεξεργασίες δεδομένων στους πίνακες. Με την αναζήτηση, προσπαθούμε να εντοπίσουμε αν ένα συγκεκριμένο στοιχείο υπάρχει σε έναν πίνακα και, αν ναι, σε ποια θέση ή θέσεις.
Υπάρχουν διάφοροι αλγόριθμοι αναζήτησης, καθένας με τα δικά του πλεονεκτήματα και περιορισμούς. Στο σχολικό πλαίσιο, οι πιο σημαντικές μέθοδοι είναι η σειριακή (ή γραμμική) αναζήτηση και η δυαδική αναζήτηση.

Δισδιάστατοι Πίνακες: Παραδείγματα Ασκήσεων

1) Εισαγωγή στοιχείων σε πίνακα

Για i από 1 μέχρι M

Για j από 1 μέχρι Ν

Γράψε "Δώσε το στοιχείο", i, j, "του πίνακα"

Διάβασε Α[i,j]

Τέλος_Επανάληψης

Τέλος_Επανάληψης


2) Εμφάνιση στοιχείων του πίνακα

Για i από 1 μέχρι M

Για j από 1 μέχρι Ν

Γράψε Α[i,j]

Τέλος_Επανάληψης

Τέλος_Επανάληψης


3) Άθροισμα στοιχείων όλου του πίνακα και μέσος όρος

sum <-- 0

Για i από 1 μέχρι M

Για j από 1 μέχρι Ν

sum <-- sum + Α[i,j]

Τέλος_Επανάληψης

Τέλος_Επανάληψης

mo <-- sum / (M * N)

Γράψε "Το άθροισμα είναι", sum, "και ο μέσος όρος", mo


4) Άθροισμα και μέσος όρος κατά γραμμή

Για i από 1 μέχρι M

sum <-- 0

Για j από 1 μέχρι Ν

sum <-- sum + Α[i,j]

Τέλος_Επανάληψης

Γράψε "Το άθροισμα της γραμμής", i, "είναι", sum

Γράψε "και ο μέσος όρος των στοιχείων της γραμμής είναι", sum / N Τέλος_Επανάληψης


5) Άθροισμα και μέσος όρος κατά στήλη

Για j από 1 μέχρι N

sum <-- 0

Για i από 1 μέχρι M

sum <-- sum + Α[i,j]

Τέλος_Επανάληψης

Γράψε "Το άθροισμα της στήλης", j, "είναι", sum

Γράψε "και ο μέσος όρος των στοιχείων της στήλης είναι", sum / M Τέλος_Επανάληψης

Δισδιάστατοι Πίνακες: Θεωρία

1. Ορισμός

Ο δισδιάστατος πίνακας είναι μια δομή δεδομένων που αποτελείται από στοιχεία του ίδιου τύπου, τα οποία είναι οργανωμένα σε γραμμές και στήλες.
Κάθε στοιχείο αναγνωρίζεται με δύο δείκτες (indices):

  • Ο πρώτος δείχνει τη γραμμή
  • Ο δεύτερος δείχνει τη στήλη

Παράδειγμα:
Ο πίνακας Α[3,4] έχει 3 γραμμές και 4 στήλες, άρα συνολικά 3 × 4 = 12 στοιχεία.


2. Δήλωση Δισδιάστατου Πίνακα στη ΓΛΩΣΣΑ

Η δήλωση γίνεται στο τμήμα δηλώσεων μεταβλητών πριν από την έναρξη των εντολών:

ΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ: Α[3,4]

Αυτό σημαίνει ότι ο πίνακας Α έχει 3 γραμμές και 4 στήλες, με όλα τα στοιχεία να είναι ακέραιοι αριθμοί.


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

  • Ομοιογένεια: Όλα τα στοιχεία είναι του ίδιου τύπου (π.χ. όλα ακέραια).
  • Στατικότητα: Στη ΓΛΩΣΣΑ οι πίνακες είναι στατικοί· το μέγεθος δηλώνεται εκ των προτέρων και δεν αλλάζει κατά την εκτέλεση.
  • Συνεχόμενη αποθήκευση: Όλα τα στοιχεία αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
  • Δείκτες: Οι δείκτες ξεκινούν από 1 (π.χ. Α[1,1] είναι το πρώτο στοιχείο).

4. Πρόσβαση και Τροποποίηση Στοιχείων

Η πρόσβαση σε ένα στοιχείο γίνεται με δύο δείκτες:

Α[2,3]   ! στοιχείο στη 2η γραμμή και 3η στήλη

Η ανάθεση νέας τιμής γίνεται με εντολή εκχώρησης:

Α[2,3] ← 15


5. Εισαγωγή και Εμφάνιση Δεδομένων

Η εισαγωγή δεδομένων σε δισδιάστατο πίνακα απαιτεί δύο εμφωλευμένους βρόχους (ένας για τις γραμμές και ένας για τις στήλες):

Εισαγωγή

Για i από 1 μέχρι γραμμές

Για j από 1 μέχρι στήλες

Γράψε 'Δώσε το στοιχείο [', i, ',', j, ']'

Διάβασε Α[i,j]

Τέλος_Επανάληψης

Τέλος_Επανάληψης

Εμφάνιση

Για i από 1 μέχρι γραμμές

Για j από 1 μέχρι στήλες

Γράψε Α[i,j]

Τέλος_Επανάληψης

Τέλος_Επανάληψης


6. Συνήθεις Χρήσεις

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

Δισδιάστατοι Πίνακες

Εισαγωγή στους Δισδιάστατους Πίνακες

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

Οι δισδιάστατοι πίνακες είναι ιδανικοί για:

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

Στη ΓΛΩΣΣΑ, οι δισδιάστατοι πίνακες είναι στατικές δομές:

  • Το μέγεθός τους (αριθμός γραμμών και στηλών) ορίζεται από την αρχή στο τμήμα δηλώσεων.
  • Όλα τα στοιχεία τους είναι του ίδιου τύπου και αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
  • Η πρόσβαση σε κάθε στοιχείο γίνεται με δύο δείκτες: έναν για τη γραμμή και έναν για τη στήλη.

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

Μονοδιάστατοι Πίνακες: Παραδείγματα Ασκήσεων

Εισαγωγή στοιχείων σε πίνακα

Για i από 1 μέχρι Ν

Γράψε 'Δώσε το στοιχείο', i, 'του πίνακα'

Διάβασε Α[i]

Τέλος_Επανάληψης


Εμφάνιση στοιχείων του πίνακα

Για i από 1 μέχρι Ν

Γράψε Α[i]

Τέλος_Επανάληψης


Άθροισμα στοιχείων του πίνακα και μέσος όρος

sum ← 0

Για i από 1 μέχρι Ν

sum ← sum + Α[i]

Τέλος_Επανάληψης

mo ← sum / Ν

Γράψε 'Το άθροισμα είναι', sum, 'και ο μέσος όρος', mo


Εύρεση μεγαλύτερου στοιχείου και της θέσης του

max ← Α[1]

θ ← 1

Για i από 2 μέχρι Ν

Αν Α[i] > max τότε

max ← Α[i]

θ ← i

Τέλος_Αν

Τέλος_Επανάληψης

Γράψε 'Το μέγιστο στοιχείο είναι το', max, 'και βρίσκεται στη θέση', θ


Εύρεση μικρότερου στοιχείου και της θέσης του

min ← Α[1]

θ ← 1

Για i από 2 μέχρι Ν

Αν Α[i] < min τότε

min ← Α[i]

θ ← i

Τέλος_Αν

Τέλος_Επανάληψης

Γράψε 'Το ελάχιστο στοιχείο είναι το', min, 'και βρίσκεται στη θέση', θ

Μονοδιάστατοι Πίνακες: Θεωρία

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

Μονοδιάστατοι Πίνακες

Εισαγωγή στους Μονοδιάστατους Πίνακες

Οι μονοδιάστατοι πίνακες αποτελούν μια από τις πιο βασικές και χρήσιμες δομές δεδομένων στον προγραμματισμό. Μας επιτρέπουν να αποθηκεύουμε και να διαχειριζόμαστε ένα σύνολο στοιχείων του ίδιου τύπου σε διαδοχικές θέσεις μνήμης, χρησιμοποιώντας έναν δείκτη θέσης (δείκτη πίνακα) για την πρόσβαση σε κάθε στοιχείο.

Με λίγα λόγια, ένας πίνακας είναι σαν μια σειρά κουτιών, όλα ίδιου μεγέθους, που φυλάσσουν δεδομένα του ίδιου τύπου και μπορούμε να τα βρούμε γρήγορα με τον αριθμό τους. Αυτό διευκολύνει:

  • Την αποθήκευση μεγάλου πλήθους δεδομένων.
  • Την ομαδοποίηση σχετικών τιμών.
  • Την εφαρμογή επαναληπτικών διαδικασιών (π.χ. εύρεση μέγιστου, αθροίσματα).

Χρήση των μοντέλων μάθησης στην ενότητα

  • Bloom
    Η παρουσίαση των πινάκων ξεκινά από το στάδιο «Θυμάμαι» (ορισμός, δομή) και προχωρά σε «Κατανοώ» (παραδείγματα χρήσης), «Εφαρμόζω» (ασκήσεις επεξεργασίας πινάκων) και σταδιακά σε «Αναλύω» και «Δημιουργώ» (σύνθετες ασκήσεις και δικά σας προγράμματα).
  • Laurillard
    Η μάθηση γίνεται διαδραστική: βλέπουμε τη θεωρία, εφαρμόζουμε μικρές ασκήσεις βήμα-βήμα, παίρνουμε άμεση ανατροφοδότηση και επανερχόμαστε σε ό,τι χρειάζεται βελτίωση. Οι ασκήσεις έχουν διαφορετικά επίπεδα δυσκολίας για να καλύπτουν διαφορετικούς ρυθμούς μάθησης.

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

Οδηγός Χρήσης Διερμηνευτή

Στο βίντεο που ακολουθεί θα δείτε την υλοποίηση ενός εύκολου προγράμματος στον Διερμηνευτή ώστε να καταλάβετε το πως λειτουργεί.

Στο βίντεο δοκιμάσαμε να κάνουμε και αρκετά λάθη ώστε να μάθετε κι εσείς να προσέχετε τις λεπτομέρειες. Δώστε προσοχή στην ονοματοδωσία, στη δήλωση των μεταβλητών, στη χρήση μη αποδεκτών λέξεων για όνομα (ΔΙΑΒΑΣΕ, ΓΡΑΨΕ) και κυρίως στη σύνταξη!