Πληροφορική Λυκείου
ΘεωρίαΜεθοδολογίεςΑσκήσεις Διαγωνίσματα – Επαναλήψεις

Δομές Δεδομένων & Πίνακες – ΑΕΠΠ Γ’ Λυκείου

Σε αυτή την ενότητα θα βρεις όλες τις βασικές μεθοδολογίες για τους πίνακες (μονοδιάστατους και δισδιάστατους), με παραδείγματα και λύμένες ασκήσεις και τον αλγόριθμο σε ΓΛΩΣΣΑ για καθεμία. Το υλικό είναι βασισμένο στο σχολικό βιβλίο (κεφ. 3 & 9) και σε επιλεγμένες ασκήσεις για τις Πανελλαδικές Εξετάσεις ΑΕΠΠ. Να προσέξεις πως όλες οι μεθοδολογίες μπορούν να χρησιμοποιηθούν σε Β (2α) θέματα πανελληνίων εξετάσεων για συμπλήρωση κενών καθώς και σε ολόκληρα ερωτήματα του Δ (4ο) θέμα.

1. Άθροισμα Στοιχείων Μονοδιάστατου Πίνακα

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

Ο αλγόριθμος διατρέχει όλα τα στοιχεία του πίνακα με επανάληψη και τα προσθέτει σε μια μεταβλητή sum. Να θυμάσε πάντα ότι προσθέτουμε μεταβλητές με αριθμούς μέσα τους καθώς και ότι η αρχικοποίηση του αθροίσματος γίνεται πάντα με 0, σε αντίθεση με την αρχική τιμή που δίνουμε στο γίνομενο που είναι πάντα το 1.

Αλγόριθμος Άθροισμα_Μονοδιάστατου_Πίνακα
  sum <-- 0
  Για i από 1 μέχρι 100 ! μπορεί να έχει ότι μέγεθος θέλετε ο πίνακας Α[100]
    sum <-- sum + Α[i]
  Τέλος_επανάληψης
  Εμφάνισε "Το άθροισμα είναι:", sum
Τέλος Άθροισμα_Μονοδιάστατου_Πίνακα

2. Άθροισμα Στοιχείων Δισδιάστατου Πίνακα

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

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

Αλγόριθμος Άθροισμα_Δισδιάστατου_Πίνακα
  sum <-- 0
  Για i από 1 μέχρι Ν    ! γραμμές
    Για j από 1 μέχρι Μ  ! στήλες
      sum <-- sum + Α[i, j]
    Τέλος_επανάληψης
  Τέλος_επανάληψης
  Εμφάνισε "Το συνολικό άθροισμα είναι:", sum
Τέλος Άθροισμα_Δισδιάστατου_Πίνακα

3. Άθροισμα Στοιχείων Δισδιάστατου Πίνακα Ανά Γραμμή

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

ΠΡΟΣΟΧΗ 1: Χρησιμοποιούμε το άθροισμα για κάθε γραμμή όταν η εκφώνηση της άσκησης λέει τις λέξεις για κάθε ή ανά, αυτό δείχνει επαναληπτικότητα και κάνει το άθροισμα να επαναλαμβάνεται τόσες φορές όσες και οι γραμμές

ΠΡΟΣΟΧΗ 2: Είναι πολύ πιθανό το άθροισμα γραμμών δισδιάστατου πίνακα να χρειάζεται σε επόμενο ερώτημα ώστε να υπολογιστεί το μέγιστο ή το ελάχιστο τους. Σε αυτή τη περίπτωση όπου θέλουμε το μαξ ή το μιν από τα αθροίσματα γραμμών, βάζουμε το sum_row σε μονοδιάστατο πίνακα για να μπορέσει να χρησιμοποιηθεί σε επόμενη επανάληψη, το κάνουμε λοιπόν sum_row[i] .

Αλγόριθμος Άθροισμα_Ανά_Γραμμή_Δισδιάστατου_Πίνακα
  Για i από 1 μέχρι 100    ! για κάθε γραμμή
    sum_row <-- 0
    Για j από 1 μέχρι 200  
      sum_row <-- sum_row + Α[i, j]
    Τέλος_επανάληψης
    Εμφάνισε "Άθροισμα γραμμής:", sum_row
  Τέλος_επανάληψης
Τέλος Άθροισμα_Ανά_Γραμμή_Δισδιάστατου_Πίνακα

4. Άθροισμα Στοιχείων Δισδιάστατου Πίνακα Ανά Στήλη

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

ΠΡΟΣΟΧΗ 1: Χρησιμοποιούμε το άθροισμα για κάθε στήλη όταν η εκφώνηση της άσκησης λέει τις λέξεις "για κάθε" ή "ανά", αυτό δείχνει επαναληπτικότητα και κάνει το άθροισμα να επαναλαμβάνεται τόσες φορές όσες και οι στήλες.

ΠΡΟΣΟΧΗ 2: Είναι πολύ πιθανό το άθροισμα στηλών δισδιάστατου πίνακα να χρειάζεται σε επόμενο ερώτημα ώστε να υπολογιστεί το μέγιστο ή το ελάχιστο τους. Σε αυτή τη περίπτωση όπου θέλουμε το μαξ ή το μιν από τα αθροίσματα στηλών, βάζουμε το sum_col σε μονοδιάστατο πίνακα για να μπορέσει να χρησιμοποιηθεί σε επόμενη επανάληψη, το κάνουμε λοιπόν sum_col[j] .

Αλγόριθμος Άθροισμα_Ανά_Στήλη_Δισδιάστατου_Πίνακα
  Για j από 1 μέχρι 200    ! για κάθε στήλη
    sum_col <-- 0
    Για i από 1 μέχρι 100  
      sum_col <-- sum_col + Α[i, j]
    Τέλος_επανάληψης
    Εμφάνισε "Άθροισμα στήλης:", sum_col
  Τέλος_επανάληψης
Τέλος Άθροισμα_Ανά_Στήλη_Δισδιάστατου_Πίνακα

5. Μέγιστο Στοιχείων Μονοδιάστατου Πίνακα

Η μεθοδολογία αυτή βρίσκει τη μεγαλύτερη τιμή σε έναν μονοδιάστατο πίνακα (π.χ. υψηλότερος βαθμός, μέγιστη θερμοκρασία). Αρχικοποιούμε το max με το πρώτο στοιχείο και συγκρίνουμε με τα υπόλοιπα. Βασική συνθήκη είναι να έχει διαβαστεί πρώτα ο πίνακας ώστε να μπορεί να χρησιμοποιηθεί στη συνέχεια. Η ίδια ακριβώς μεθοδολογία ισχύει και στο ελάχιστο στοιχέιο μονοδιάστατου πίνακα, με μόνη διαφορά στην αλλαγή της ανίσωσης (Α[i] < min) .

Αλγόριθμος Εύρεση_Μεγίστου_Μονοδιάστατου_Πίνακα
  max <-- Α[1]
  Για i από 2 μέχρι 100
    Αν Α[i] > max τότε
      max <-- Α[i]
    Τέλος_αν
  Τέλος_επανάληψης
  Εμφάνισε "Το μέγιστο στοιχείο είναι:", max
Τέλος Εύρεση_Μεγίστου_Μονοδιάστατου_Πίνακα

6. Μέγιστο Στοιχείων Δισδιάστατου Πίνακα

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

ΠΡΟΣΟΧΗ 1: Η μέγιστη τιμή λειτουργεί όπως και η ελάχιστη με μοναδική διαφορά στην ανίσωση όπου αντι για > max λέμε < min.

ΠΡΟΣΟΧΗ 2: Αν θέλω τη μέγιστη τιμή δισδιάστατου πίνακα που να έχει και κάποια ακόμη προϋπόθεση (πχ. να είναι και μικρότερη του 10) τότε δεν δίνω αρχική τιμή το πρώτο κελί του πίνακα, αλλά μια ακραία μικρή τιμή ώστε να καταργηθεί από τον πρώτο κιόλλας έλεγχο.

Αλγόριθμος Εύρεση_Μεγίστου_Δισδιάστατου
  max <-- Α[1, 1]
  Για i από 1 μέχρι 100
    Για j από 1 μέχρι 200
      Αν Α[i, j] > max τότε
        max <-- Α[i, j]
      Τέλος_αν
    Τέλος_επανάληψης
  Τέλος_επανάληψης
  Εμφάνισε "Το μέγιστο στοιχείο είναι:", max
Τέλος Εύρεση_Μεγίστου_Δισδιάστατου

7. Μέγιστο Στοιχείων Δισδιάστατου Πίνακα Για Κάθε Γραμμή

Η μεθοδολογία αυτή βρίσκει το μέγιστο στοιχείο κάθε γραμμής ξεχωριστά (π.χ. υψηλότερος βαθμός μαθητή ανά μάθημα). Για κάθε γραμμή, αρχικοποιούμε το max με το πρώτο στοιχείο της γραμμής. Θέλει μεγάλη προσοχή πάλι στην έκφραση "Για κάθε" ή στην έκφραση "Ανά", αν υπάρχει μία από αυτές σημαίνει ότι η μεθοδολογία γίνεται πολλές φορές, μία για κάθε γραμμή, άρα και η εμφάνιση θα πρέπει να γίνεται ανάμεσα στα 2 τέλος επανάληψης.

Αλγόριθμος Εύρεση_Μεγίστου_Ανά_Γραμμή
  Για i από 1 μέχρι 100    ! για κάθε γραμμή
    max_row <-- Α[i, 1]
    Για j από 2 μέχρι 200
      Αν Α[i, j] > max_row τότε
        max_row <-- Α[i, j]
      Τέλος_αν
    Τέλος_επανάληψης
    Εμφάνισε "Μέγιστο γραμμής:", max_row
  Τέλος_επανάληψης
Τέλος Εύρεση_Μεγίστου_Ανά_Γραμμή

8. Μέγιστο Στοιχείων Δισδιάστατου Πίνακα Για Κάθε Στήλη

Η μεθοδολογία αυτή βρίσκει το μέγιστο στοιχείο κάθε στήλης ξεχωριστά (π.χ. υψηλότερος βαθμός τάξης ανά μάθημα). Για κάθε στήλη, αρχικοποιούμε το max με το πρώτο στοιχείο της στήλης και ξεκινάμε την επανάληψη των γραμμών από το 2. Θέλει μεγάλη προσοχή πάλι στην έκφραση "Για κάθε" ή στην έκφραση "Ανά", αν υπάρχει μία από αυτές σημαίνει ότι η μεθοδολογία γίνεται πολλές φορές, μία για κάθε στήλη, άρα και η εμφάνιση θα πρέπει να γίνεται ανάμεσα στα 2 τέλος επανάληψης.

Αλγόριθμος Εύρεση_Μεγίστου_Ανά_Στήλη
  Για j από 1 μέχρι 200    ! για κάθε στήλη
    max_col <-- Α[1, j]
    Για i από 2 μέχρι 100
      Αν Α[i, j] > max_col τότε
        max_col <-- Α[i, j]
      Τέλος_αν
    Τέλος_επανάληψης
    Εμφάνισε "Μέγιστο στήλης:", max_col
  Τέλος_επανάληψης
Τέλος Εύρεση_Μεγίστου_Ανά_Στήλη

9. Σειριακή Αναζήτηση Μονοδιάστατου Πίνακα

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

Αλγόριθμος Σειριακή_Αναζήτηση
  Διάβασε key
  βρέθηκε <-- Ψευδής
  i <-- 1
  Όσο i <= 100 και βρέθηκε = Ψευδής επανάλαβε
    Αν Α[i] = key τότε
      βρέθηκε <-- Αληθής
      θέση <-- i
    Τέλος_αν
    i <-- i + 1
  Τέλος_επανάληψης
  Αν βρέθηκε = Αληθής τότε
    Εμφάνισε "Βρέθηκε στη θέση:", θέση
  Αλλιώς
    Εμφάνισε "Δεν βρέθηκε"
  Τέλος_αν
Τέλος Σειριακή_Αναζήτηση

10. Δυαδική Αναζήτηση σε Ταξινομημένο Μονοδιάστατο Πίνακα

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

Αλγόριθμος Δυαδική_Αναζήτηση
  Διάβασε key ! στοιχείο που ψάχνω
  αριστερά <-- 1
  δεξιά <-- 100
  βρέθηκε <-- Ψευδής
  Όσο αριστερά <= δεξιά και βρέθηκε = Ψευδής επανάλαβε
    μέση <-- (αριστερά + δεξιά) DIV 2
    Αν Α[κέντρο] = key τότε
      βρέθηκε <-- Αληθής
      θέση <-- μέση
    Αλλιώς_αν Α[κέντρο] > key τότε
      δεξιά <-- κέντρο - 1
    Αλλιώς
      αριστερά <-- κέντρο + 1
    Τέλος_αν
  Τέλος_επανάληψης
  Αν βρέθηκε = Αληθής τότε
    Εμφάνισε "Βρέθηκε στη θέση:", θέση
  Αλλιώς
    Εμφάνισε "Δεν βρέθηκε"
  Τέλος_αν
Τέλος Δυαδική_Αναζήτηση

11. Ταξινόμηση Ευθείας Ανταλλαγής (Φυσαλίδα)

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

Αλγόριθμος Ταξινόμηση_Φυσαλίδας
  Για i από 2 μέχρι 100
    Για j από 100 μέχρι i με_βήμα -1
      Αν Α[j-1] > Α[j] τότε ! Αύξουσα ταξινόμηση
        temp <-- Α[j]
        Α[j] <-- Α[j-1]
        Α[j-1] <-- temp
      Τέλος_αν
    Τέλος_επανάληψης
  Τέλος_επανάληψης
  ! Εμφάνιση ταξινομημένου πίνακα
  Για i από 1 μέχρι 100
    Εμφάνισε Α[i]
  Τέλος_επανάληψης
Τέλος Ταξινόμηση_Φυσαλίδας

ΠΡΟΣΟΧΗ 1: Σε περίπτωση που θέλαμε φθίνουσα ταξινόμηση, το μόνο που θα χρειαζόταν να κάνουμε ήταν να αλλάξουμε την ανίσωση και να λέμε Α[j-1] < Α[j].

ΠΡΟΣΟΧΗ 2: Σε περίπτωση που έχουμε 2 και παραπάνω πίνακες παράλληλους, τότε τους ταξινομούμε όλους στην ίδια ταξινόμηση με διαφορετικά temp.

ΠΡΟΣΟΧΗ 3: Σε περίπτωση που ζητηθεί τότε μόνο κάνω ταξινόμηση με ισοβαθμία. Σε κάθε άλλη περίπτωση υποθέτω ότι δεν υπάρχει ισοβαθμία.

12. Ταξινόμηση Κατ Επιλογή

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

Αλγόριθμος Ταξινόμηση_Κατ_Επιλογή
  Για i από 1 μέχρι 100-1
    min_θέση <-- i
    Για j από i+1 μέχρι 100
      Αν Α[j] < Α[min_θέση] τότε
        min_θέση <-- j
      Τέλος_αν
    Τέλος_επανάληψης
    ! Αντιμετάθεση
    temp <-- Α[i]
    Α[i] <-- Α[min_θέση]
    Α[min_θέση] <-- temp
  Τέλος_επανάληψης
  ! Εμφάνιση ταξινομημένου πίνακα
  Για i από 1 μέχρι Ν
    Εμφάνισε Α[i]
  Τέλος_επανάληψης
Τέλος Ταξινόμηση_Κατ_Επιλογή

13. Διαχωρισμός Μονοδιάστατου Πίνακα

Η μεθοδολογία αυτή χωρίζει έναν μονοδιάστατο πίνακα σε δύο νέους πίνακες με βάση ένα κριτήριο (π.χ. θετικοί/αρνητικοί, άρτιοι/περιττοί). Χρησιμοποιεί δύο δείκτες (k1, k2) για τους δύο νέους πίνακες. Προφανώς και μπορείτε να επιλέξετε ότι μετρητές θέλετε για τους νέους πίνακες, αρκεί να προσέξετε στη δήλωση των ΠΡΟΓΡΑΜΜΑΤΩΝ, να δώσετε σαν μέγεθος των νέων πινάκων το αρχικό μέγεθος του πίνακα που διαχωρίσατε.

Αλγόριθμος Διαχωρισμός_Μονοδιάστατου_Πίνακα
  k1 <-- 0  ! δείκτης για πίνακα Β (π.χ. θετικοί)
  k2 <-- 0  ! δείκτης για πίνακα Γ (π.χ. αρνητικοί)
  Για i από 1 μέχρι 100
    Αν Α[i] > 0 τότε
      k1 <-- k1 + 1
      Β[k1] <-- Α[i]
    Αλλιώς
      k2 <-- k2 + 1
      Γ[k2] <-- Α[i]
    Τέλος_αν
  Τέλος_επανάληψης
  ! Εμφάνιση πινάκων Β και Γ
  Για i από 1 μέχρι k1
    Εμφάνισε Β[i]
  Τέλος_επανάληψης
  Για i από 1 μέχρι k2
    Εμφάνισε Γ[i]
  Τέλος_επανάληψης
Τέλος Διαχωρισμός_Μονοδιάστατου_Πίνακα

14. Συγχώνευση Μονοδιάστατων Πινάκων

Η συγχώνευση ενώνει δύο ταξινομημένους μονοδιάστατους πίνακες σε έναν τρίτο ταξινομημένο πίνακα. Χρησιμοποιεί τρεις δείκτες (i, j, k) για να συγκρίνει και να αντιγράφει τα στοιχεία με τη σωστή σειρά. Ο μετρητής i είναι ο μετρητής του πρώτου μονοδιάστατου πίνακα που θέλω να συγχωνεύσω και ο j είναι ο μετρητής του δεύτερου πίνακα που θέλω να συγχωνεύσω, άρα ο k είναι ο μετρητής του νέου συγχωνευμένου πίνακα που δημιουργήθηκε.

Αλγόριθμος Συγχώνευση_Μονοδιάστατων_Πινάκων
  i <-- 1  ! δείκτης για πίνακα Α
  j <-- 1  ! δείκτης για πίνακα Β
  k <-- 0  ! δείκτης για πίνακα Γ
  Όσο i <= 100 και j <= 200 επανάλαβε
    k <-- k + 1
    Αν Α[i] <= Β[j] τότε
      Γ[k] <-- Α[i]
      i <-- i + 1
    Αλλιώς
      Γ[k] <-- Β[j]
      j <-- j + 1
    Τέλος_αν
  Τέλος_επανάληψης
  /! Αντιγραφή υπολοίπων στοιχείων από Α που δεν συγχωνεύθηκαν
  Όσο i <= 100 επανάλαβε
    k <-- k + 1
    Γ[k] <-- Α[i]
    i <-- i + 1
  Τέλος_επανάληψης
  ! Αντιγραφή υπολοίπων στοιχείων από Β που δεν συγχωνεύθηκαν
  Όσο j <= 200 επανάλαβε
    k <-- k + 1
    Γ[k] <-- Β[j]
    j <-- j + 1
  Τέλος_επανάληψης
  ! Εμφάνιση συγχωνευμένου πίνακα Γ
  Για i από 1 μέχρι 300
    Εμφάνισε Γ[i]
  Τέλος_επανάληψης
Τέλος Συγχώνευση_Πινάκων

15. Συχνότητα Εμφάνισης Τιμών

Η μεθοδολογία αυτή υπολογίζει πόσες φορές εμφανίζεται κάθε τιμή σε έναν πίνακα (π.χ. βαθμοί 1–20). Χρησιμοποιεί έναν πίνακα συχνοτήτων όπου η θέση αντιστοιχεί στην τιμή. Δηλαδή στη 1η θέση του πίνακα με τις συχνότητες είναι το πλήθος των φορών που εμφαν ίστηκε στον πίνακα ο βαθμός 1, στη 2η θέση πόσες φορές εμφανίστηκε στον αρχικό πίνακα ο βαθμός 2 κ.ο.κ.

Αλγόριθμος Συχνότητα_Τιμών
  ! Αρχικοποίηση πίνακα συχνοτήτων (π.χ. για τιμές 1-20)
  Για i από 1 μέχρι 20
    ΣΥΧ[i] <-- 0
  Τέλος_επανάληψης
  ! Υπολογισμός πλήθους φορών που βρέθηκε ο κάθε βαθμός
  Για i από 1 μέχρι Ν
    ΣΥΧ[Α[i]] <-- ΣΥΧ[Α[i]] + 1
  Τέλος_επανάληψης
  ! Εμφάνιση συχνοτήτων
  Για i από 1 μέχρι 20
      Εμφάνισε "Η τιμή", i, "εμφανίζεται", ΣΥΧ[i], "φορές"
  Τέλος_επανάληψης
Τέλος Συχνότητα_Τιμών

Ερωτήσεις Σωστό / Λάθος Στη Θεωρία Των Πινάκων ΑΕΠΠ

Χαρακτήρισε τις παρακάτω προτάσεις με Σωστό (Σ) ή Λάθος (Λ).

  1. Ο πίνακας είναι μία στατική δομή δεδομένων. (Σ/Λ)
  2. Σε έναν μονοδιάστατο πίνακα μπορούμε να αποθηκεύσουμε δεδομένα διαφορετικού τύπου. (Σ/Λ)
  3. Οι διαστάσεις ενός πίνακα δεν μπορούν να μεταβάλλονται κατά την εκτέλεση ενός αλγορίθμου. (Σ/Λ)
  4. Σε έναν δισδιάστατο πίνακα 50×13 μπορούμε να αποθηκεύουμε στην 1η στήλη τα ονόματα 50 μαθητών και στις επόμενες 12 στήλες τους μέσους όρους στα 12 μαθήματα. (Σ/Λ)
  5. Η σειριακή αναζήτηση μπορεί να χρησιμοποιηθεί μόνο σε μη ταξινομημένους πίνακες. (Σ/Λ)
  6. Η δυαδική αναζήτηση μπορεί να εφαρμοστεί σε μη ταξινομημένο πίνακα. (Σ/Λ)
  7. Ο πίνακας έχει σταθερό μέγεθος, το οποίο δηλώνεται εξαρχής κατά την υλοποίηση. (Σ/Λ)
  8. Η ταξινόμηση φυσαλίδας είναι ο πιο απλός και ταυτόχρονα ο πιο γρήγορος αλγόριθμος ταξινόμησης. (Σ/Λ)
  9. Σε έναν ταξινομημένο πίνακα, η δυαδική αναζήτηση είναι πιο αποδοτική από τη σειριακή. (Σ/Λ)
  10. Για να εφαρμοστεί η δυαδική αναζήτηση, ο πίνακας πρέπει να είναι ταξινομημένος. (Σ/Λ)
  11. Στην ταξινόμηση κατ' επιλογή, σε κάθε βήμα επιλέγουμε το μικρότερο στοιχείο του μη ταξινομημένου τμήματος. (Σ/Λ)
  12. Κατά τη συγχώνευση δύο ταξινομημένων πινάκων, ο προκύπτων πίνακας είναι επίσης ταξινομημένος. (Σ/Λ)

Απαντήσεις (Σωστό / Λάθος) στις ερωτήσεις θεωρίας πληροφορικής των πινάκων

  1. Σ – Ο πίνακας είναι στατική δομή δεδομένων.
  2. Λ – Τα στοιχεία ενός πίνακα πρέπει να είναι ίδιου τύπου.
  3. Σ – Οι διαστάσεις ενός πίνακα είναι σταθερές.
  4. Σ – Μπορούμε να χρησιμοποιήσουμε τις στήλες για διαφορετικά δεδομένα (ονόματα, μέσοι όροι).
  5. Λ – Η σειριακή αναζήτηση μπορεί να χρησιμοποιηθεί και σε ταξινομημένους πίνακες, απλώς δεν εκμεταλλεύεται την ταξινόμηση.
  6. Λ – Η δυαδική αναζήτηση απαιτεί ταξινομημένο πίνακα.
  7. Σ – Ο πίνακας είναι στατική δομή με σταθερό μέγεθος.
  8. Λ – Η ταξινόμηση φυσαλίδας είναι απλή, αλλά όχι η πιο γρήγορη.
  9. Σ – Σε ταξινομημένο πίνακα, η δυαδική αναζήτηση είναι πιο αποδοτική (O(log N) vs O(N)).
  10. Σ – Η προϋπόθεση για δυαδική αναζήτηση είναι ο πίνακας να είναι ταξινομημένος.
  11. Σ – Στην ταξινόμηση κατ' επιλογή επιλέγουμε το μικρότερο στοιχείο του μη ταξινομημένου τμήματος.
  12. Σ – Η συγχώνευση δύο ταξινομημένων πινάκων παράγει έναν ταξινομημένο πίνακα.

Ερωτήσεις Πολλαπλής Επιλογής Στη Θεωρία Των Πινάκων ΑΕΠΠ

Επίλεξε τη σωστή απάντηση σε κάθε ερώτηση.

  1. Ποια από τις παρακάτω δομές δεδομένων είναι στατική;
    • α) Λίστα
    • β) Δέντρο
    • γ) Πίνακας
    • δ) Γράφος
  2. Η δυαδική αναζήτηση εφαρμόζεται:
    • α) Μόνο σε μη ταξινομημένους πίνακες
    • β) Μόνο σε ταξινομημένους πίνακες
    • γ) Σε οποιονδήποτε πίνακα
    • δ) Μόνο σε δισδιάστατους πίνακες
  3. Ποια από τις παρακάτω μεθόδους ταξινόμησης συγκρίνει γειτονικά στοιχεία και τα ανταλλάσσει αν είναι σε λάθος σειρά;
    • α) Ταξινόμηση κατ' επιλογή
    • β) Ταξινόμηση φυσαλίδας
    • γ) Δυαδική αναζήτηση
    • δ) Σειριακή αναζήτηση
  4. Σε έναν μονοδιάστατο πίνακα Α[100], η αναφορά Α[5] σημαίνει:
    • α) Το 5ο στοιχείο του πίνακα
    • β) Το 100ό στοιχείο του πίνακα
    • γ) Το άθροισμα των 5 πρώτων στοιχείων
    • δ) Το μέσο όρο των 5 πρώτων στοιχείων
  5. Ποια από τις παρακάτω προτάσεις ισχύει για τη συγχώνευση δύο ταξινομημένων πινάκων;
    • α) Ο προκύπτων πίνακας είναι πάντα ταξινομημένος
    • β) Ο προκύπτων πίνακας είναι πάντα μη ταξινομημένος
    • γ) Ο προκύπτων πίνακας έχει το μισό μέγεθος
    • δ) Η συγχώνευση δεν απαιτεί ταξινομημένους πίνακες
  6. Κατά την ταξινόμηση κατ' επιλογή, σε κάθε βήμα:
    • α) Ανταλλάσσουμε γειτονικά στοιχεία
    • β) Επιλέγουμε το μικρότερο στοιχείο του μη ταξινομημένου τμήματος
    • γ) Χωρίζουμε τον πίνακα στα μισά
    • δ) Συγχωνεύουμε δύο πίνακες

Απαντήσεις Πολλαπλής Επιλογής Θεωρία Πινάκων Πληροφορική

  1. γ) Πίνακας
  2. β) Μόνο σε ταξινομημένους πίνακες
  3. β) Ταξινόμηση φυσαλίδας
  4. α) Το 5ο στοιχείο του πίνακα
  5. α) Ο προκύπτων πίνακας είναι πάντα ταξινομημένος
  6. β) Επιλέγουμε το μικρότερο στοιχείο του μη ταξινομημένου τμήματος

Ασκήσεις Αντιστοίχισης Θεωρίας ΑΕΠΠ Πίνακες

Να αντιστοιχίσετε τα στοιχεία της Στήλης Α με τα στοιχεία της Στήλης Β.

Άσκηση 1

Στήλη Α Στήλη Β
1. Στατική δομή δεδομένων α) Πίνακας
2. Σειριακή αναζήτηση β) Εφαρμόζεται σε οποιονδήποτε πίνακα
3. Δυαδική αναζήτηση γ) Εφαρμόζεται μόνο σε ταξινομημένους πίνακες
4. Ταξινόμηση φυσαλίδας δ) Συγκρίνει γειτονικά στοιχεία
5. Ταξινόμηση κατ' επιλογή ε) Επιλέγει το μικρότερο στοιχείο του μη ταξινομημένου τμήματος
6. Συγχώνευση πινάκων στ) Ενώνει δύο ταξινομημένους πίνακες σε έναν
7. Διαχωρισμός πίνακα ζ) Χωρίζει έναν πίνακα σε δύο με βάση ένα κριτήριο
8. Άθροισμα δισδιάστατου πίνακα η) Χρησιμοποιεί δύο εμφωλευμένες επαναλήψεις
9. Μέγιστο μονοδιάστατου πίνακα θ) Συγκρίνει κάθε στοιχείο με το τρέχον μέγιστο

Απαντήσεις Αντιστοίχισης

Άσκηση 1:

  • 1 → α (Στατική δομή δεδομένων → Πίνακας)
  • 2 → β (Σειριακή αναζήτηση → Εφαρμόζεται σε οποιονδήποτε πίνακα)
  • 3 → γ (Δυαδική αναζήτηση → Εφαρμόζεται μόνο σε ταξινομημένους πίνακες)
  • 4 → δ (Ταξινόμηση φυσαλίδας → Συγκρίνει γειτονικά στοιχεία)
  • 5 → ε (Ταξινόμηση κατ' επιλογή → Επιλέγει το μικρότερο στοιχείο του μη ταξινομημένου τμήματος)
  • 6 → στ (Συγχώνευση πινάκων → Ενώνει δύο ταξινομημένους πίνακες σε έναν)
  • 7 → ζ (Διαχωρισμός πίνακα → Χωρίζει έναν πίνακα σε δύο με βάση ένα κριτήριο)
  • 8 → η (Άθροισμα δισδιάστατου πίνακα → Χρησιμοποιεί δύο εμφωλευμένες επαναλήψεις)
  • 9 → θ (Μέγιστο μονοδιάστατου πίνακα → Συγκρίνει κάθε στοιχείο με το τρέχον μέγιστο)

Άσκηση 2

Στήλη Α Στήλη Β
1. Άθροισμα μονοδιάστατου πίνακα α) Χρησιμοποιεί μία επανάληψη
2. Άθροισμα δισδιάστατου πίνακα β) Χρησιμοποιεί δύο εμφωλευμένες επαναλήψεις
3. Μέγιστο μονοδιάστατου πίνακα γ) Συγκρίνει κάθε στοιχείο με το τρέχον μέγιστο
4. Ταξινόμηση φυσαλίδας δ) Ανταλλάσσει γειτονικά στοιχεία
5. Δυαδική αναζήτηση ε) Απαιτεί ταξινομημένο πίνακα

Απαντήσεις Αντιστοίχισης

Άσκηση 2:

  • 1 → α (Άθροισμα μονοδιάστατου πίνακα → Χρησιμοποιεί μία επανάληψη)
  • 2 → β (Άθροισμα δισδιάστατου πίνακα → Χρησιμοποιεί δύο εμφωλευμένες επαναλήψεις)
  • 3 → γ (Μέγιστο μονοδιάστατου πίνακα → Συγκρίνει κάθε στοιχείο με το τρέχον μέγιστο)
  • 4 → δ (Ταξινόμηση φυσαλίδας → Ανταλλάσσει γειτονικά στοιχεία)
  • 5 → ε (Δυαδική αναζήτηση → Απαιτεί ταξινομημένο πίνακα)

Συχνές Ερωτήσεις Θεωρίας Πινάκων ΑΕΠΠ(FAQ)

Τι είναι ο πίνακας στην ΑΕΠΠ;

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

Πότε χρησιμοποιούμε σειριακή και πότε δυαδική αναζήτηση;

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

Ποια είναι η διαφορά μεταξύ ταξινόμησης φυσαλίδας και ταξινόμησης κατ' επιλογή;

Η ταξινόμηση φυσαλίδας συγκρίνει και ανταλλάσσει γειτονικά στοιχεία μέχρι να ταξινομηθεί ολόκληρος ο πίνακας. Η ταξινόμηση κατ' επιλογή βρίσκει σε κάθε βήμα το μικρότερο στοιχείο του μη ταξινομημένου τμήματος και το τοποθετεί στη σωστή θέση. Και οι δύο έχουν πολυπλοκότητα O(N²), αλλά η φυσαλίδα είναι συνήθως πιο αργή στην πράξη.

Πώς λειτουργεί η συγχώνευση δύο ταξινομημένων πινάκων;

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

Μπορούν τα στοιχεία ενός πίνακα να είναι διαφορετικού τύπου;

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

Πώς υπολογίζω το άθροισμα των στοιχείων ενός δισδιάστατου πίνακα;

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

Τι είναι ο πίνακας στην ΑΕΠΠ;2026-08-06T14:26:08+03:00

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

Πότε χρησιμοποιούμε σειριακή και πότε δυαδική αναζήτηση;2026-08-06T14:26:42+03:00

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

Ποια είναι η διαφορά μεταξύ ταξινόμησης φυσαλίδας και ταξινόμησης κατ’ επιλογή;2026-08-06T14:27:15+03:00

Η ταξινόμηση φυσαλίδας συγκρίνει και ανταλλάσσει γειτονικά στοιχεία μέχρι να ταξινομηθεί ολόκληρος ο πίνακας. Η ταξινόμηση κατ’ επιλογή βρίσκει σε κάθε βήμα το μικρότερο στοιχείο του μη ταξινομημένου τμήματος και το τοποθετεί στη σωστή θέση. Και οι δύο έχουν πολυπλοκότητα O(N²), αλλά η φυσαλίδα είναι συνήθως πιο αργή στην πράξη.

Πώς λειτουργεί η συγχώνευση δύο ταξινομημένων πινάκων;2026-08-06T14:27:46+03:00

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

Μπορούν τα στοιχεία ενός πίνακα να είναι διαφορετικού τύπου;2026-08-06T14:28:14+03:00

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

Πώς υπολογίζω το άθροισμα των στοιχείων ενός δισδιάστατου πίνακα;2026-08-06T14:28:42+03:00

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

Trusted by some of the biggest brands

Spaces Logo
Next Logo White
Hemisferio Logo White
Digitalbox White
CGLobal White
Abstract Logo White
Business Coach Glyph

We’re Waiting To Help You

Get in touch with us today and let’s start transforming your business from the ground up.

Go to Top