latviski

Το Blog Μας

Καλωσόρισες στο Διαδραστικό Blog Πληροφορικής Γ’ Λυκείου!
Θέμα: Πίνακες & Δομές Δεδομένων

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

Το περιεχόμενο του blog περιλαμβάνει:
📚 Θεωρία διατυπωμένη με σαφήνεια
💡 Παραδείγματα για κάθε ενότητα
📝 Λυμένες ασκήσεις & ασκήσεις προς επίλυση
🎥 Εκπαιδευτικά διαδραστικά βίντεο
❓ Κουίζ επανάληψης και αξιολόγησης
⚙️ Δραστηριότητες με χρήση Τεχνητής Νοημοσύνης (π.χ. Magic School)

Ολόκληρο το βιβλίο είναι οργανωμένο με βάση δύο σύγχρονα παιδαγωγικά μοντέλα:
🔹 Το Μοντέλο του Bloom, για την ανάπτυξη των γνωστικών δεξιοτήτων (από την απλή κατανόηση έως την εφαρμογή και αξιολόγηση γνώσεων)
🔹 Το Μοντέλο της Laurillard, που ενσωματώνει ανατροφοδότηση, επανάληψη και αλληλεπίδραση, εξασφαλίζοντας ότι κάθε μαθητής μαθαίνει με τον δικό του ρυθμό και στυλ

👉 Πριν ξεκινήσεις την ενότητα της θεωρίας, μπορείς να κάνεις ένα σύντομο Επαναληπτικό Quiz για να δεις τι ήδη γνωρίζεις. Με βάση το αποτέλεσμα, θα σου προταθεί η καλύτερη διαδρομή μελέτης για σένα!

Είσαι έτοιμος να μάθεις έξυπνα, διαδραστικά και μεθοδικά;
Καλή αρχή και καλή επιτυχία!

Μοντέλα Μάθησης

Ολόκληρο το βιβλίο είναι οργανωμένο με βάση δύο σύγχρονα παιδαγωγικά μοντέλα:
🔹 Το Μοντέλο του Bloom, για την ανάπτυξη των γνωστικών δεξιοτήτων (από την απλή κατανόηση έως την εφαρμογή και αξιολόγηση γνώσεων)
🔹 Το Μοντέλο της Laurillard, που ενσωματώνει ανατροφοδότηση, επανάληψη και αλληλεπίδραση, εξασφαλίζοντας ότι κάθε μαθητής μαθαίνει με τον δικό του ρυθμό και στυλ

🎯 Ο συνδυασμός των δύο

Με λίγα λόγια:

  • Το Bloom οργανώνει το «τι» και «πώς» μαθαίνουμε.
  • Το Laurillard οργανώνει το «πώς αλληλεπιδρούμε» με αυτό που μαθαίνουμε.

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

 

Ελπίζουμε αυτή η παιδαγωγική προσέγγιση να κάνει τη μελέτη σας πιο δομημένη, συμμετοχική και ουσιαστική.
Καλή πορεία στην εξερεύνηση της Πληροφορικής!

Πίνακες: Ασκήσεις

Εισαγωγή – Ασκήσεις με Πίνακες

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

Πίνακες: Θεωρία

Εισαγωγή – Θεωρία Πινάκων

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

Quiz Επανάληψης

Αφού ολοκληρώσετε το Quiz μας καλό θα ήταν να κρατήσετε τη βαθμολογία σας.

Αν η βαθμολογία σας είναι κάτω από 50% επισκεφθείτε την επαναληπτική ενότητα για να εξετάσετε τις βασικές σας γνώσεις πριν προχωρήσετε στους Πίνακες. Αυτό θα σας βοηθήσει στην ευκολότερη κατανόηση των επόμενων κεφαλαίων.

Αν η βαθμολογία σας είναι πάνω από 50% μπορείτε να προχωρήσετε στο Πρώτο Κεφάλαιο του βιβλίου μας, στους Μονοδιάστατους Πίνακες!

Θέματα Πανελληνίων: Λύσεις Ασκήσεων

ΘΕΜΑ Δ (2024)

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j, Π[10,12], max, θmax, Σ1, Σ2, position, ΣΠ
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[10], ονομα
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΔΙΑΒΑΣΕ ΟΝ[i]
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
ΔΙΑΒΑΣΕ Π[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
max ← Π[1,j]
θmax ← 1
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΑΝ Π[i,j] > max ΤΟΤΕ
max ← Π[i,j]
θmax ← i
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ΟΝ[θmax]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Σ1 ← 0
Σ2 ← 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
ΑΝ j <= 6 ΤΟΤΕ
Σ1 ← Σ1 + Π[i,j]
ΑΛΛΙΩΣ
Σ2 ← Σ2 + Π[i,j]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ Σ1 > Σ2 ΤΟΤΕ
ΓΡΑΨΕ 'Οι πωλήσεις του 1ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 2ου εξαμήνου'
ΑΛΛΙΩΣ_ΑΝ Σ2 > Σ1 ΤΟΤΕ
ΓΡΑΨΕ 'Οι πωλήσεις του 2ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 1ου εξαμήνου'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Οι πωλήσεις του 1ου και του 2ου εξαμήνου είναι ίσες'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΘΕΜΑ Δ (2023)

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j, ΕΠ[10,12], ΠΞ, Σ[10], ΜΙΝ, TEMP1
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[10], TEMP2
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΔΙΑΒΑΣΕ ΟΝ[i]
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
ΔΙΑΒΑΣΕ ΕΠ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
ΠΞ ← 0   ! πλήθος ξενοδοχείων με > 1000 επισκέπτες
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΑΝ ΕΠ[i,j] > 1000 ΤΟΤΕ
ΠΞ ← ΠΞ + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ ΠΞ = 0 ΤΟΤΕ
ΓΡΑΨΕ j, 'ΚΑΝΕΝΑ ΞΕΝΟΔΟΧΕΙΟ'
ΑΛΛΙΩΣ
ΓΡΑΨΕ j, ΠΞ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
Σ[i] ← 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
Σ[i] ← Σ[i] + ΕΠ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΜΙΝ ← Σ[1]
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 10
ΑΝ Σ[i] < ΜΙΝ ΤΟΤΕ
ΜΙΝ ← Σ[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΑΝ Σ[i] = ΜΙΝ ΤΟΤΕ
ΓΡΑΨΕ ΟΝ[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 10
ΓΙΑ j ΑΠΟ 10 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ Σ[j] > Σ[j-1] ΤΟΤΕ
TEMP1 ← Σ[j]
Σ[j] ← Σ[j-1]
Σ[j-1] ← TEMP1

TEMP2 ← ΟΝ[j]
ΟΝ[j] ← ΟΝ[j-1]
ΟΝ[j-1] ← TEMP2

ΑΛΛΙΩΣ_ΑΝ Σ[j] = Σ[j-1] ΤΟΤΕ
ΑΝ ΟΝ[j] < ΟΝ[j-1] ΤΟΤΕ
TEMP2 ← ΟΝ[j]
ΟΝ[j] ← ΟΝ[j-1]
ΟΝ[j-1] ← TEMP2
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΓΡΑΨΕ ΟΝ[i], Σ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΘΕΜΑ Δ (2022)

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ4
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Ι, J, B[6,6], S, MAX, ΘΜΑΧ
ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ[6], TEMP1
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[6], TEMP2
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6
ΔΙΑΒΑΣΕ ΟΝ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
ΑΝ (Ι = J) ΤΟΤΕ
ΔΙΑΒΑΣΕ B[Ι,J]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
ΑΝ (Ι <> J) ΤΟΤΕ
ΔΙΑΒΑΣΕ B[Ι,J]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6
S ← 0
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
S ← S + B[Ι,J]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ[Ι] ← S / 6
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

MAX ← 0
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6
ΑΝ (B[Ι,Ι] > MAX) ΤΟΤΕ
MAX ← B[Ι,Ι]
ΘΜΑΧ ← Ι
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Το παραπάνω μπορεί να γίνει και με έλεγχο με 2 ΓΙΑ και Ι = J

ΓΡΑΨΕ ΟΝ[ΘΜΑΧ]

ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 6
ΓΙΑ J ΑΠΟ 6 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1
ΑΝ ΜΟ[J] > ΜΟ[J-1] ΤΟΤΕ
TEMP1 ← ΜΟ[J]
ΜΟ[J] ← ΜΟ[J-1]
ΜΟ[J-1] ← TEMP1

TEMP2 ← ΟΝ[J]
ΟΝ[J] ← ΟΝ[J-1]
ΟΝ[J-1] ← TEMP2

ΑΛΛΙΩΣ_ΑΝ (ΜΟ[J] = ΜΟ[J-1]) ΤΟΤΕ
ΑΝ (ΟΝ[J] < ΟΝ[J-1]) ΤΟΤΕ
TEMP2 ← ΟΝ[J]
ΟΝ[J] ← ΟΝ[J-1]
ΟΝ[J-1] ← TEMP2
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΡΑΨΕ ΟΝ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΘΕΜΑ Δ (2021)

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Ι, J, ΑΡ, Π, Κ
ΠΡΑΓΜΑΤΙΚΕΣ: MAX, ΕΠ[20,6], TEMP
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[20]
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
ΓΡΑΨΕ 'ΔΩΣΕ ΤΟ ΟΝΟΜΑ ΤΟΥ ΑΘΛΗΤΗ'
ΔΙΑΒΑΣΕ ΟΝ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΡΑΨΕ 'ΔΩΣΕ ΤΗΝ ΕΠΙΔΟΣΗ'
ΔΙΑΒΑΣΕ ΕΠ[Ι,J]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

MAX ← 0
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
ΑΝ ΕΠ[Ι,J] > MAX ΤΟΤΕ
MAX ← ΕΠ[Ι,J]
ΑΡ ← J
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ MAX, ΑΡ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
Π ← 0
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
ΑΝ ΕΠ[Ι,J] = 0 ΤΟΤΕ
Π ← Π + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ Π >= 2 ΤΟΤΕ
ΓΡΑΨΕ ΟΝ[Ι]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ 6
ΓΙΑ J ΑΠΟ 6 ΜΕΧΡΙ Κ ΜΕ_ΒΗΜΑ -1
ΑΝ ΕΠ[Ι,J] > ΕΠ[Ι,J-1] ΤΟΤΕ
TEMP ← ΕΠ[Ι,J]
ΕΠ[Ι,J] ← ΕΠ[Ι,J-1]
ΕΠ[Ι,J-1] ← TEMP
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
ΓΡΑΨΕ ΟΝ[Ι]
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΡΑΨΕ ΕΠ[Ι,J]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Θέματα Πανελληνίων: Λύσεις Θεωρίας

  1. Σ
  2. Λ
  3. Σ
  4. Λ
  5. Σ
  6. Σ
  7. Λ
  8. Σ
  9. Λ
  10. Σ
  11. Λ
  12. Σ
  13. Εισαγωγή στοιχείων – καταχώρηση δεδομένων στον πίνακα.

    Εμφάνιση στοιχείων – προβολή των τιμών.

    Υπολογισμός αθροίσματος όλων των στοιχείων.

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

    Ταξινόμηση στοιχείων κατά αύξουσα ή φθίνουσα σειρά.

    Αναζήτηση συγκεκριμένου στοιχείου.

    Συγχώνευση δύο πινάκων σε έναν νέο.

  14. Σ
  15. Λ
  16. Σ

ΘΕΜΑΤΑ Β

  1. α) 6, 8, 10

    β)7

    γ)1, 3

  2. i ← 1
    ΟΣΟ i <= 10 ΕΠΑΝΑΛΑΒΕ
    j ← 20
    ΟΣΟ j >= 1 ΕΠΑΝΑΛΑΒΕ
    ΓΡΑΨΕ i*j
    j ← j - 1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    i ← i + 1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  3. (1) i MOD 2 = 1
    (2) Α[i,j] ← κ
    (3) κ + 2
    (4) λ
    (5) λ ← λ + 3
  4. α) 2-->1-->0 (3 φορές)

    β) 0 φορές

    γ) -3-->-1-->1-->3 (4 φορές)

  5. s ← 0
    Διάβασε x
    ΟΣΟ x > 0 ΕΠΑΝΑΛΑΒΕ
    s ← s + x
    Διάβασε x
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  6. ΔΙΑΒΑΣΕ α
    β ← 1
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    β ← β + α
    ΔΙΑΒΑΣΕ α
    ΜΕΧΡΙΣ_ΟΤΟΥ α > 5

Ταξινόμηση Πίνακα: Λύσεις Ασκήσεων

Απαντήσεις Quiz :

  1. Σ   (Βασική αρχή της μεθόδου)
  2. Λ   (Το μεγαλύτερο στοιχείο “ανεβαίνει” στο τέλος)
  3. Λ   (Μπορεί να τερματιστεί νωρίτερα αν δεν χρειαστούν ανταλλαγές)
  4. Σ   (Χρειάζονται δύο εμφωλευμένοι βρόχοι)
  5. Λ   (Είναι απλός αλλά αργός)
  6. Σ   (Αυτή είναι η βασική διαδικασία)
  7. Λ   (Κάνει λίγες μετακινήσεις, μόνο όταν αλλάζει θέση το ελάχιστο)
  8. Σ   (Ένας για την επιλογή, ένας για τη σύγκριση)
  9. Λ   (Είναι Ο(n²))
  10. Λ   (Δεν είναι σταθερή)
  11. Σ   (Αυτός είναι ο μηχανισμός της)
  12. Σ   (Σε τέτοιες περιπτώσεις είναι γρήγορη)
  13. Λ   (Και οι δύο είναι in-place (δεν απαιτούν επιπλέον χώρο))
  14. Σ   (Αν ο πίνακας είναι ήδη ταξινομημένος)
  15. Λ   (Συγκρίνεται μόνο μέχρι να βρει τη σωστή θέση)

Άσκηση 1:

ΠΡΟΓΡΑΜΜΑ Fysalida5
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ i, j, tmp
ΑΚΕΡΑΙΕΣ Α[5]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΡΑΨΕ 'Δώσε τον ', i, 'ο αριθμό:'
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Αύξουσα φυσαλίδα
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 5 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ Α[j] < Α[j-1] ΤΟΤΕ
tmp ← Α[j]
Α[j] ← Α[j-1]
Α[j-1] ← tmp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ 'Ταξινομημένοι (αύξουσα):'
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΡΑΨΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 

Άσκηση 2:

ΠΡΟΓΡΑΜΜΑ FysalidaDesc
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ Ν, i, j, tmp
ΑΚΕΡΑΙΕΣ Α[200]
ΑΡΧΗ
ΓΡΑΨΕ 'Δώσε πλήθος στοιχείων (<=200):'
ΔΙΑΒΑΣΕ Ν

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Φθίνουσα φυσαλίδα
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν
ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ Α[j] > Α[j-1] ΤΟΤΕ
tmp ← Α[j]
Α[j] ← Α[j-1]
Α[j-1] ← tmp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ 'Μεγαλύτερος: ', Α[1]
ΓΡΑΨΕ 'Μικρότερος: ', Α[Ν]
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Άσκηση 3:

ΠΡΟΓΡΑΜΜΑ MathitesVathmoi
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ i, j, tmpV
ΧΑΡΑΚΤΗΡΕΣ onoma[10], tmpN
ΑΚΕΡΑΙΕΣ vathmos[10]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΓΡΑΨΕ 'Όνομα μαθητή ', i, ':'
ΔΙΑΒΑΣΕ onoma[i]
ΓΡΑΨΕ 'Βαθμός μαθητή ', i, ':'
ΔΙΑΒΑΣΕ vathmos[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Αύξουσα φυσαλίδα στους βαθμούς με παράλληλη ανταλλαγή ονομάτων
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 10
ΓΙΑ j ΑΠΟ 10 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ vathmos[j] < vathmos[j-1] ΤΟΤΕ
tmpV ← vathmos[j]
vathmos[j] ← vathmos[j-1]
vathmos[j-1] ← tmpV

tmpN ← onoma[j]
onoma[j] ← onoma[j-1]
onoma[j-1] ← tmpN
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ 'Βαθμολογικός πίνακας (αύξουσα):'
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΓΡΑΨΕ onoma[i], ' - ', vathmos[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Άσκηση 4:

ΠΡΟΓΡΑΜΜΑ Top5Bottom5
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ i, j, tmp
ΠΡΑΓΜΑΤΙΚΕΣ moMin5, moMax5
ΑΚΕΡΑΙΕΣ Α[20], sum
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Αύξουσα φυσαλίδα
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20
ΓΙΑ j ΑΠΟ 20 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ Α[j] < Α[j-1] ΤΟΤΕ
tmp ← Α[j]
Α[j] ← Α[j-1]
Α[j-1] ← tmp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

sum ← 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
sum ← sum + Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
moMin5 ← sum / 5

sum ← 0
ΓΙΑ i ΑΠΟ 16 ΜΕΧΡΙ 20
sum ← sum + Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
moMax5 ← sum / 5

ΓΡΑΨΕ 'Μέσος όρος 5 μικρότερων: ', moMin5
ΓΡΑΨΕ 'Μέσος όρος 5 μεγαλύτερων: ', moMax5
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Άσκηση 5:

ΠΡΟΓΡΑΜΜΑ ThermokrasiesMedian
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ i, j, tmp
ΠΡΑΓΜΑΤΙΚΕΣ median
ΑΚΕΡΑΙΕΣ Θ[30]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
ΔΙΑΒΑΣΕ Θ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Αύξουσα φυσαλίδα
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 30
ΓΙΑ j ΑΠΟ 30 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ Θ[j] < Θ[j-1] ΤΟΤΕ
tmp ← Θ[j]
Θ[j] ← Θ[j-1]
Θ[j-1] ← tmp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Για άρτιο πλήθος (30): διάμεσος = μέσος των στοιχείων 15 και 16
median ← (Θ[15] + Θ[16]) / 2
ΓΡΑΨΕ 'Διάμεσος θερμοκρασιών: ', median
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Άσκηση 6:

ΠΡΟΓΡΑΜΜΑ Taxinomisi_Grammes
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ i, j, k, tmp
ΑΚΕΡΑΙΕΣ Α[5,5]
ΑΡΧΗ
! Εισαγωγή στοιχείων
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΡΑΨΕ 'Δώσε στοιχείο [', i, ',', j, ']:'
ΔΙΑΒΑΣΕ Α[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Φυσαλίδα για κάθε γραμμή ξεχωριστά
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 5
ΓΙΑ k ΑΠΟ 5 ΜΕΧΡΙ j ΜΕ_ΒΗΜΑ -1
ΑΝ Α[i,k] < Α[i,k-1] ΤΟΤΕ
tmp ← Α[i,k]
Α[i,k] ← Α[i,k-1]
Α[i,k-1] ← tmp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Εμφάνιση ταξινομημένου πίνακα
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΡΑΨΕ Α[i,j], ' '
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Άσκηση 7 :

ΠΡΟΓΡΑΜΜΑ Taxinomisi_Stiles
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ i, j, k, tmp
ΑΚΕΡΑΙΕΣ Α[4,6]
ΑΡΧΗ
! Εισαγωγή στοιχείων
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
ΔΙΑΒΑΣΕ Α[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Φυσαλίδα για κάθε στήλη
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 4
ΓΙΑ k ΑΠΟ 4 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ Α[k,j] > Α[k-1,j] ΤΟΤΕ
tmp ← Α[k,j]
Α[k,j] ← Α[k-1,j]
Α[k-1,j] ← tmp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Εμφάνιση
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΡΑΨΕ Α[i,j], ' '
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Άσκηση 8:

ΠΡΟΓΡΑΜΜΑ Taxinomisi_OlosPinakas
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ i, j, k, l, tmp, pos
ΑΚΕΡΑΙΕΣ Α[3,4], B[12]
ΑΡΧΗ
! Εισαγωγή στοιχείων
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
ΔΙΑΒΑΣΕ Α[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Αντιγραφή σε μονοδιάστατο
pos ← 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
pos ← pos + 1
B[pos] ← Α[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Αύξουσα φυσαλίδα στο B
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 12
ΓΙΑ j ΑΠΟ 12 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ B[j] < B[j-1] ΤΟΤΕ
tmp ← B[j]
B[j] ← B[j-1]
B[j-1] ← tmp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Επανατοποθέτηση στον δισδιάστατο
pos ← 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
pos ← pos + 1
Α[i,j] ← B[pos]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Εμφάνιση τελικού πίνακα
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΡΑΨΕ Α[i,j], ' '
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Αναζήτηση σε Πίνακες: Λύσεις

Λύσεις Quiz :

  1. Σ   (Είναι απλή και δεν απαιτεί ταξινόμηση.)
  2. Σ   (Σε μη ταξινομημένο πίνακα δεν λειτουργεί σωστά.)
  3. Λ   (Σε πολύ μικρά σύνολα, η σειριακή είναι συχνά πιο απλή.)
  4. Σ   (Εξετάζει διαδοχικά όλα τα στοιχεία.)
  5. Λ   (Σπάει σε 2 μέρη κάθε φορά.)
  6. Γ
  7. Β
  8. Γ
  9. Γ
  10. Γ

Άσκηση 1

ΠΡΟΓΡΑΜΜΑ Αναζήτηση1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[10], x, i
ΛΟΓΙΚΕΣ: βρέθηκε
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ x
βρέθηκε ← ΨΕΥΔΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΑΝ Α[i] = x ΚΑΙ βρεθηκε = ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός βρέθηκε στη θέση ', i
βρέθηκε ← ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ βρεθηκε = ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός δεν βρέθηκε'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 

Άσκηση 2

ΠΡΟΓΡΑΜΜΑ Αναζήτηση2
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[100], x, i, count
ΑΡΧΗ
count ← 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ x
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΑΝ Α[i] = x ΤΟΤΕ
count ← count + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Ο αριθμός εμφανίστηκε ', count, ' φορές.'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 

Άσκηση 3

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

Άσκηση 4

ΠΡΟΓΡΑΜΜΑ Αναζήτηση4
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[30], i
ΛΟΓΙΚΕΣ: βρέθηκε
ΑΡΧΗ
βρέθηκε ← ΨΕΥΔΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
ΔΙΑΒΑΣΕ Α[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
ΑΝ Α[i] < 0 ΚΑΙ Α[i] > -10 και βρεθηκε = ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Βρέθηκε στη θέση ', i
βρέθηκε ← ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ βρεθηκε = ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Δεν βρέθηκε τέτοιος αριθμός'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 

Άσκηση 5

ΠΡΟΓΡΑΜΜΑ Αναζήτηση5
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[20], ch
ΑΚΕΡΑΙΕΣ: i
ΛΟΓΙΚΕΣ: βρέθηκε
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
ΔΙΑΒΑΣΕ ΟΝ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ ch
βρέθηκε ← ΨΕΥΔΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
ΑΝ ΟΝ[i] = ch ΚΑΙ βρεθηκε= ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Ο χαρακτήρας βρέθηκε στη θέση ', i
βρέθηκε ← ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ βρεθηκε = ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Δεν βρέθηκε ο χαρακτήρας'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 

Άσκηση 6

ΠΡΟΓΡΑΜΜΑ Αναζήτηση2Δ_1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Β[5,5], i, j, x
ΛΟΓΙΚΕΣ: βρέθηκε
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΔΙΑΒΑΣΕ Β[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ x
βρέθηκε ← ΨΕΥΔΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΑΝ Β[i,j] = x ΚΑΙ βρεθηκε= ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Βρέθηκε στη θέση [', i, ',', j, ']'
βρέθηκε ← ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ βρέθηκε= ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Δεν βρέθηκε ο αριθμός'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 

Άσκηση 7

ΠΡΟΓΡΑΜΜΑ Αναζήτηση2Δ_2
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[4,6], i, j
ΛΟΓΙΚΕΣ: βρέθηκε
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
ΔΙΑΒΑΣΕ Α[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
βρέθηκε ← ΨΕΥΔΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
ΑΝ Α[i,j] = 100 ΚΑΙ βρεθηκε = ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Πρώτη εμφάνιση στη θέση [', i, ',', j, ']'
βρέθηκε ← ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ βρεθηκε = ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός 100 δεν βρέθηκε'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 

Άσκηση 8

ΠΡΟΓΡΑΜΜΑ Αναζήτηση2Δ_3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[6,6], i, j, count
ΑΡΧΗ
count ← 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
ΔΙΑΒΑΣΕ Α[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
ΑΝ Α[i,j] = -1 ΤΟΤΕ
count ← count + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Ο αριθμός -1 εμφανίστηκε ', count, ' φορές.'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Δισδιάστατοι Πίνακες: Λύσεις Ασκήσεων

Λύσεις Quiz :

  1. Σ  (Ορισμός: πίνακας με δύο διαστάσεις – σειρές και στήλες.)
  2. Λ  (Χρειάζονται δύο δείκτες: ένας για τη γραμμή και ένας για τη στήλη.)
  3. Σ  (Συντακτικά, έτσι αναφερόμαστε σε στοιχείο πίνακα δύο διαστάσεων.)
  4. Λ  (Όλα τα στοιχεία ενός πίνακα πρέπει να είναι του ίδιου τύπου.)
  5. Λ  (Είναι στατικές – το μέγεθός τους καθορίζεται κατά τη δήλωση.)
  6. Σ  (Ο ένας διατρέχει τις γραμμές, ο άλλος τις στήλες.)
  7. Λ  (Δηλώνονται πριν την εκτέλεση, στο τμήμα δηλώσεων.)
  8. Σ  (Σωστή αναφορά θέσης στοιχείου.)
  9. Λ  (Έχει 5×4 = 20 στοιχεία.)
  10. Σ  (Όλοι οι πίνακες δηλώνονται εκεί.)
  11. Σ  (10×10 = 100 θέσεις.)
  12. Λ  (Χρειαζόμαστε δύο εμφωλευμένες επαναλήψεις, όχι επιλογή.)
  13. Σ  (Τυπική πρακτική χρήση πίνακα 2 διαστάσεων.)
  14. Λ  (Μπορούν να είναι διαφορετικοί οι αριθμοί γραμμών και στηλών.)
  15. Σ  (Χρειάζονται δύο δείκτες, άρα και περισσότερος χειρισμός.)
  16. Β
  17. Γ
  18. Α
  19. Γ
  20. Γ

Άσκηση 1

ΠΡΟΓΡΑΜΜΑ ΣυγκρισηΠινακων
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Π1[3,3], Π2[3,3], i, j, ιδια, συνολο
ΠΡΑΓΜΑΤΙΚΕΣ: ποσοστο
ΑΡΧΗ
ιδια <- 0
συνολο <- 0

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΔΙΑΒΑΣΕ Π1[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΔΙΑΒΑΣΕ Π2[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
συνολο <- συνολο + 1
ΑΝ Π1[i,j] = Π2[i,j] ΤΟΤΕ
ιδια <- ιδια + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ ιδια = συνολο ΤΟΤΕ
ΓΡΑΨΕ 'Οι πίνακες είναι ίσοι.'
ΑΛΛΙΩΣ
ποσοστο <- (ιδια / συνολο) * 100
ΓΡΑΨΕ ποσοστο
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 

Άσκηση 2

ΠΡΟΓΡΑΜΜΑ ΑθροισμαΠινακων
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Π1[3,3], Π2[3,3], ΑΘ[3,3], i, j
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΔΙΑΒΑΣΕ Π1[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΔΙΑΒΑΣΕ Π2[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΑΘ[i,j] <- Π1[i,j] + Π2[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΡΑΨΕ ΑΘ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 

Άσκηση 3

ΠΡΟΓΡΑΜΜΑ ΕλαχιστοΣτηλης_ΜεγιστοΓραμμης
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Π[4,4], i, j, στηλη, γραμμη, ελαχ, μεγ
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
ΔΙΑΒΑΣΕ Π[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΔΙΑΒΑΣΕ στηλη
ελαχ <- Π[1,στηλη]
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 4
ΑΝ Π[i,στηλη] < ελαχ ΤΟΤΕ
ελαχ <- Π[i,στηλη]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ελαχ

ΔΙΑΒΑΣΕ γραμμη
μεγ <- Π[γραμμη,1]
ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 4
ΑΝ Π[γραμμη,j] > μεγ ΤΟΤΕ
μεγ <- Π[γραμμη,j]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ μεγ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 4

ΠΡΟΓΡΑΜΜΑ ΕλαχιστοΣτηλης_ΜεγιστοΓραμμης
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Π[4,4], ΕΛ[4], ΜΕ[4], i, j
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
ΔΙΑΒΑΣΕ Π[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
ΕΛ[j] <- Π[1,j]
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 4
ΑΝ Π[i,j] < ΕΛ[j] ΤΟΤΕ
ΕΛ[j] <- Π[i,j]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4
ΜΕ[i] <- Π[i,1]
ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 4
ΑΝ Π[i,j] > ΜΕ[i] ΤΟΤΕ
ΜΕ[i] <- Π[i,j]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΡΑΨΕ ΕΛ[j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΡΑΨΕ ΜΕ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 

Άσκηση 5

ΠΡΟΓΡΑΜΜΑ ΑραιοςΠινακας
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Π[5,5], i, j, μηδενικα, συνολο
ΠΡΑΓΜΑΤΙΚΕΣ: ποσοστο
ΑΡΧΗ
μηδενικα <- 0
συνολο <- 25

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΔΙΑΒΑΣΕ Π[i,j]
ΑΝ Π[i,j] = 0 ΤΟΤΕ
μηδενικα <- μηδενικα + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ποσοστο <- (μηδενικα / συνολο) * 100

ΑΝ ποσοστο > 80 ΤΟΤΕ
ΓΡΑΨΕ 'Ο πίνακας είναι αραιός.'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Ο πίνακας δεν είναι αραιός.'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 

Άσκηση 6

ΠΡΟΓΡΑΜΜΑ Ποδοσφαιρο
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΓΚΟΛ[16,32], i, j
ΑΚΕΡΑΙΕΣ: max_γκολ, ομαδα_max, αγωνιστικη_max
ΑΚΕΡΑΙΕΣ: συνολο_ομαδας, καλυτερη_ομαδα, χειροτερη_ομαδα
ΠΡΑΓΜΑΤΙΚΕΣ: μεσος[16]
ΑΚΕΡΑΙΕΣ: μετρητης[16]
ΑΡΧΗ
! Εισαγωγή γκολ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 16
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 32
ΔΙΑΒΑΣΕ ΓΚΟΛ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! i. Ομάδα και αγωνιστική με τα περισσότερα γκολ
max_γκολ <- ΓΚΟΛ[1,1]
ομαδα_max <- 1
αγωνιστικη_max <- 1
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 16
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 32
ΑΝ ΓΚΟΛ[i,j] > max_γκολ ΤΟΤΕ
max_γκολ <- ΓΚΟΛ[i,j]
ομαδα_max <- i
αγωνιστικη_max <- j
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ομαδα_max, αγωνιστικη_max

! ii και iii. Καλύτερη και χειρότερη επίθεση
καλυτερη_ομαδα <- 1
χειροτερη_ομαδα <- 1
συνολο_ομαδας <- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 32
συνολο_ομαδας <- συνολο_ομαδας + ΓΚΟΛ[1,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
μεσος[1] <- συνολο_ομαδας / 32

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 16
συνολο_ομαδας <- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 32
συνολο_ομαδας <- συνολο_ομαδας + ΓΚΟΛ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
μεσος[i] <- συνολο_ομαδας / 32
ΑΝ συνολο_ομαδας > μεσος[καλυτερη_ομαδα] * 32 ΤΟΤΕ
καλυτερη_ομαδα <- i
ΤΕΛΟΣ_ΑΝ
ΑΝ συνολο_ομαδας < μεσος[χειροτερη_ομαδα] * 32 ΤΟΤΕ
χειροτερη_ομαδα <- i
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ καλυτερη_ομαδα
ΓΡΑΨΕ χειροτερη_ομαδα

! iv. Πλήθος αγώνων με περισσότερα γκολ από το μέσο όρο κάθε ομάδας
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 16
μετρητης[i] <- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 32
ΑΝ ΓΚΟΛ[i,j] > μεσος[i] ΤΟΤΕ
μετρητης[i] <- μετρητης[i] + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 16
ΓΡΑΨΕ μετρητης[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 

Άσκηση 7

ΠΡΟΓΡΑΜΜΑ ΚρατησειςΣινεμα
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: ΕΡΓΟ[15,2], ζητουμενο_εργο
ΑΚΕΡΑΙΕΣ: ΧΩΡΗΤΙΚΟΤΗΤΑ[15], ΘΕΣΕΙΣ[15], i, διαθεσιμη_αιθουσα
ΧΑΡΑΚΤΗΡΕΣ: απαντηση
ΑΡΧΗ

! Αρχικοποίηση παραδειγματικών δεδομένων
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
ΔΙΑΒΑΣΕ ΕΡΓΟ[i,1]   ! Όνομα έργου
ΔΙΑΒΑΣΕ ΕΡΓΟ[i,2]   ! Ώρα προβολής κ.λπ.
ΔΙΑΒΑΣΕ ΧΩΡΗΤΙΚΟΤΗΤΑ[i]
ΔΙΑΒΑΣΕ ΘΕΣΕΙΣ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΕΠΑΝΑΛΑΒΕ
ΔΙΑΒΑΣΕ ζητουμενο_εργο
διαθεσιμη_αιθουσα <- 0

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
ΑΝ ΕΡΓΟ[i,1] = ζητουμενο_εργο ΚΑΙ ΘΕΣΕΙΣ[i] < ΧΩΡΗΤΙΚΟΤΗΤΑ[i] ΤΟΤΕ
διαθεσιμη_αιθουσα <- i
ΘΕΣΕΙΣ[i] <- ΘΕΣΕΙΣ[i] + 1
ΕΞΟΔΟΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ διαθεσιμη_αιθουσα = 0 ΤΟΤΕ
ΓΡΑΨΕ 'Δεν υπάρχει διαθέσιμη αίθουσα για το έργο.'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Κράτηση πραγματοποιήθηκε στην αίθουσα ', διαθεσιμη_αιθουσα
ΤΕΛΟΣ_ΑΝ

ΓΡΑΨΕ 'Θέλετε να καταχωρήσετε νέα κράτηση; (ΝΑΙ/ΟΧΙ)'
ΔΙΑΒΑΣΕ απαντηση
ΜΕΧΡΙΣ_ΟΤΟΥ απαντηση = 'ΟΧΙ'

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 8

ΠΡΟΓΡΑΜΜΑ ΣτατιστικαΤαμειων
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: ΤΑΜΕΙΑ[80]
ΠΡΑΓΜΑΤΙΚΕΣ: ΕΙΣΠΡΑΞΕΙΣ[80,360], συνολα[80], συνολο, μεσος
ΑΚΕΡΑΙΕΣ: i, j, max_ταμειο, min_ταμειο_2ου_τριμηνου
ΑΡΧΗ
! Εισαγωγή ονομάτων ταμείων
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
ΔΙΑΒΑΣΕ ΤΑΜΕΙΑ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Εισαγωγή εισπράξεων
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 360
ΔΙΑΒΑΣΕ ΕΙΣΠΡΑΞΕΙΣ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Υπολογισμός ετήσιων συνολικών εισπράξεων για κάθε ταμείο
συνολο <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
συνολα[i] <- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 360
συνολα[i] <- συνολα[i] + ΕΙΣΠΡΑΞΕΙΣ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
συνολο <- συνολο + συνολα[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! i. Ταμείο με τις περισσότερες εισπράξεις
max_ταμειο <- 1
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 80
ΑΝ συνολα[i] > συνολα[max_ταμειο] ΤΟΤΕ
max_ταμειο <- i
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ΤΑΜΕΙΑ[max_ταμειο]

! ii. Ταμείο με τις λιγότερες εισπράξεις στο 2ο τρίμηνο (μέρες 91–180)
min_ταμειο_2ου_τριμηνου <- 1
min_ποσό <- 0
ΓΙΑ j ΑΠΟ 91 ΜΕΧΡΙ 180
min_ποσό <- min_ποσό + ΕΙΣΠΡΑΞΕΙΣ[1,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 80
συνολο_2ου <- 0
ΓΙΑ j ΑΠΟ 91 ΜΕΧΡΙ 180
συνολο_2ου <- συνολο_2ου + ΕΙΣΠΡΑΞΕΙΣ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ συνολο_2ου < min_ποσό ΤΟΤΕ
min_ποσό <- συνολο_2ου
min_ταμειο_2ου_τριμηνου <- i
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ΤΑΜΕΙΑ[min_ταμειο_2ου_τριμηνου]

! iii. Ταμεία που ξεπέρασαν το συνολικό μέσο όρο
μεσος <- συνολο / 80
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
ΑΝ συνολα[i] > μεσος ΤΟΤΕ
ΓΡΑΨΕ ΤΑΜΕΙΑ[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ