Θέμα Δ, 2020, Hμερήσια και Eσπερινά, Νέο, Παλαιό

ΝΕΟ – ΠΑΛΑΙΟ
ΘΕΜΑ Δ

Οι Κινητές Ομάδες Υγείας (ΚΟΜΥ) λαμβάνουν δείγματα βιολογικού υλικού  προσώπων για έλεγχο μόλυνσης από τον κορωνοϊό Covid-19. Σε μια  περιφέρεια δραστηριοποιούνται 20 ΚΟΜΥ. Κάθε ΚΟΜΥ στη διάρκεια μιας μέρας  μπορεί να λάβει μέχρι και 100 δείγματα από μια περιοχή της περιφέρειας. Τα  δείγματα αυτά ελέγχονται και κάθε αποτέλεσμα χαρακτηρίζεται ως θετικό (Θ) ή  αρνητικό (Α) και καταγράφεται σε πληροφοριακό σύστημα.  

Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: 
Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.  
Μονάδες 2 

Δ2. α) Να διαβάζει τα ονόματα των περιοχών που δραστηριοποιούνται οι  ΚΟΜΥ και να τα καταχωρίζει σε πίνακα με όνομα Π[20] (μονάδα 1). 

β) Για κάθε ΚΟΜΥ να διαβάζει διαδοχικά τα αποτελέσματα των  ελέγχων που έχει πραγματοποιήσει και κάθε αποτέλεσμα να το  καταχωρίζει ως ένα γράμμα Α ή Θ στην αντίστοιχη θέση του πίνακα  ΑΠ[20,100]. Σε περίπτωση που λήφθηκαν λιγότερα από 100 δείγματα, μετά την καταχώριση του αποτελέσματος του τελευταίου  δείγματος διαβάζεται αντί αποτελέσματος η λέξη «ΤΕΛΟΣ», η οποία  δεν καταχωρίζεται στον πίνακα. Σε αυτή την περίπτωση  τερματίζεται η εισαγωγή τιμών για τη συγκεκριμένη ΚΟΜΥ και το  πρόγραμμα καταχωρίζει σε όλες τις υπόλοιπες θέσεις της  αντίστοιχης γραμμής το γράμμα Χ (μονάδες 5).  Μονάδες 6 

Δ3. Να εμφανίζει το όνομα ή τα ονόματα των περιοχών που βρέθηκαν τα  περισσότερα θετικά δείγματα. 
Μονάδες 6 

Δ4. Να εμφανίζει τα ονόματα των περιοχών, ταξινομημένα σε φθίνουσα  σειρά ως προς το πλήθος των θετικών δειγμάτων που εντοπίστηκαν. Σε  περίπτωση που δύο ή περισσότερες περιοχές έχουν το ίδιο πλήθος  θετικών δειγμάτων, τα ονόματά τους να εμφανίζονται με αλφαβητική σειρά. Για την ταξινόμηση να καλείται το υποπρόγραμμα ΤΑΞΙΝΟΜΗΣΗ  του ερωτήματος Δ5.  
Μονάδες 3 

Δ5. Να αναπτύξετε υποπρόγραμμα με όνομα ΤΑΞΙΝΟΜΗΣΗ, που υλοποιεί  τη λειτουργία της ταξινόμησης που περιγράφεται στο ερώτημα Δ4Μονάδες 3 

Σημειώσεις 
– Για την απάντηση των ερωτημάτων Δ3, Δ4 και Δ5 να θεωρήσετε ότι ο  πίνακας ΑΠ έχει συμπληρωθεί σωστά. 
– Δεν απαιτούνται έλεγχοι εγκυρότητας τιμών. 
– Να θεωρήσετε ότι τα ονόματα των περιοχών είναι διαφορετικά μεταξύ τους.

ΛΥΣΗ (περισσότερα…)

Θέμα Δ, 2019, Ιούνιου, Hμερήσια

ΘΕΜΑ Δ
Στην 27η Βαλκανιάδα Πληροφορικής που θα διεξαχθεί στην Αθήνα τον Σεπτέμβριο του 2019, συμμετέχουν 40 μαθητές. Κάθε μαθητής παίρνει έναν  κωδικό από 1 έως και 40, ο οποίος αντιστοιχεί στη σειρά που δήλωσε συμμετοχή. Κάθε μαθητής καλείται να επιλύσει έξι προβλήματα. Για κάθε  πρόβλημα αναπτύσσει τη λύση του σε μία γλώσσα προγραμματισμού και την  υποβάλλει για βαθμολόγηση. Η λύση βαθμολογείται σε ακέραια κλίμακα από 0  έως 100. 
Κατά τη διάρκεια του διαγωνισμού κάθε μαθητής και για κάθε πρόβλημα μπορεί  να υποβάλλει τη λύση του όσες φορές θέλει. 
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: 

Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Μονάδες 2 

Δ2. Να διαβάζει επαναληπτικά τα ονόματα των μαθητών και να τα  καταχωρίζει στον Πίνακα ΟΝ[40]. (μονάδα 1) 
Επίσης, να αρχικοποιεί με την τιμή 0 όλα τα στοιχεία του Πίνακα  ΒΑΘ[40,6], ο οποίος θα περιέχει τη βαθμολογία κάθε μαθητή για κάθε  πρόβλημα. (μονάδες 2) 

Μονάδες 3 

Δ3. Κάθε φορά που μία λύση προβλήματος υποβάλλεται και βαθμολογείται,  το πρόγραμμα να διαβάζει τον κωδικό του μαθητή (από 1 έως και 40), τον αριθμό του προβλήματος (από 1 έως και 6) και τη βαθμολογία του  (από 0 έως και 100). (μονάδα 1)  
Η βαθμολογία να καταχωρίζεται στην αντίστοιχη θέση του Πίνακα  ΒΑΘ[40,6] μόνο αν είναι μεγαλύτερη από τη βαθμολογία που είναι ήδη  καταχωρισμένη. (μονάδες 2) 
Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα να  εμφανίζει το μήνυμα «Υπάρχει νέα λύση προβλήματος; ΝΑΙ / ΟΧΙ». Αν  εισαχθεί η τιμή «ΟΧΙ», να τερματίζεται η εισαγωγή δεδομένων. (μονάδες 2) 

Μονάδες 5 

Δ4. Να υπολογίζει και να καταχωρίζει στον Πίνακα ΣΒ[40] τα αθροίσματα των βαθμολογιών κάθε μαθητή στα έξι προβλήματα. Για τον σκοπό αυτό  να καλεί μόνο μια φορά το υποπρόγραμμα με όνομα ΥΣΒ. (μονάδα 1) Να αναπτύξετε το υποπρόγραμμα ΥΣΒ το οποίο να δέχεται ως είσοδο  τον Πίνακα ΒΑΘ[40,6] και να επιστρέφει ως έξοδο συμπληρωμένο τον  Πίνακα ΣΒ[40]. (μονάδες 4) 

 Μονάδες 5 

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

Μονάδες 5 

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

ΛΥΣΗ (περισσότερα…)

Θέμα Β1, 2018, Ιούνιου, Hμερήσια και Eσπερινά

ΘΕΜΑ Β1
Το παρακάτω τμήμα αλγορίθμου αποτελεί μια παραλλαγή της ταξινόμησης φυσαλίδας, η οποία όμως σταματάει τις επαναλήψεις μόλις διαπιστώσει ότι ο πίνακας έχει ταξινομηθεί ως εξής:
Μετά την ολοκλήρωση του εσωτερικού βρόχου, ελέγχει εάν έγιναν αντιμεταθέσεις στοιχείων και αν δεν έγιναν τότε ο αλγόριθμος τερματίζεται. Το τμήμα αλγορίθμου που δίνεται περιέχει κενά που έχουν αριθμηθεί.

i  ...(1)... 
Αρχή_επανάληψης 
stop  ΑΛΗΘΗΣ 
Για j από Ν μέχρι i με_βήμα -1 
    Αν table[j-1] > table[j] τότε 
       Αντιμετάθεσε table[j-1],table[j]  
       stop  ...(2)... 
    Τέλος_αν 
Τέλος_επανάληψης 
...(3)... 
Μέχρις_ότου i ...(4)... N ή stop= ...(5)...</code class="language-javascript">

Να γράψετε στο τετράδιό σας τους αριθμούς των κενών και δίπλα από κάθε αριθμό ό,τι πρέπει να συμπληρωθεί ώστε να επιτελείται η λειτουργία που περιγράφεται.
Μονάδες 10

Θέμα Γ, 2018, Ιούνιου, Hμερήσια και Eσπερινά

ΘΕΜΑ Δ
Ένα λιμάνι διαθέτει αποθηκευτικό χώρο χωρητικότητας 170 εμπορευματοκιβωτίων (containers). Σε καθημερινή βάση, στο τέλος της ημέρας, καταχωρίζεται ο αριθμός των εμπορευματοκιβωτίων που έχουν εισέλθει και εξέλθει από αυτόν.
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
Γ1.
α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδες 2)
β. Να διαβάζει για κάθε ημέρα το συνολικό πλήθος εμπορευματοκιβωτίων που εισήλθαν, καθώς και το συνολικό πλήθος εκείνων που εξήλθαν από τον αποθηκευτικό χώρο. Οι τιμές που διαβάζονται να ελέγχονται ώστε ο αριθμός των εμπορευματοκιβωτίων που παραμένουν στον αποθηκευτικό χώρο στο τέλος της ημέρας να είναι από 0 μέχρι και 170. Σε αντίθετη περίπτωση να θεωρούνται λανθασμένες και να επανεισάγονται. (μονάδες 3)
γ. Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα εμφανίζει το μήνυμα “Τέλος Εισαγωγής Στοιχείων; ΝΑΙ / ΟΧΙ”. Αν εισαχθεί η τιμή “ΝΑΙ”, να τερματίζεται η εισαγωγή δεδομένων. (μονάδες 2) Μονάδες 7
Γ2. Να βρίσκει και να εμφανίζει τον μέγιστο ημερήσιο αριθμό εισερχόμενων εμπορευματοκιβωτίων.
Μονάδες 4
Γ3. Να υπολογίζει και να εμφανίζει τη μέση ημερήσια διακίνηση εμπορευματοκιβωτίων. Η ημερήσια διακίνηση είναι το άθροισμα του πλήθους των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων της ημέρας.
Μονάδες 4
Γ4. Να υπολογίζει και να εμφανίζει το πλήθος των ημερών που παρέμειναν στον αποθηκευτικό χώρο τουλάχιστον 10 εμπορευματοκιβώτια, στο τέλος κάθε ημέρας.
Μονάδες 2
Γ5. Να υπολογίζει και να εμφανίζει τον μέσο όρο του πλήθους των εμπορευματοκιβωτίων που παρέμειναν στον αποθηκευτικό χώρο, στο τέλος κάθε ημέρας, από την έναρξη μέχρι τον τερματισμό εισαγωγής δεδομένων.
Μονάδες 3
Σημειώσεις
Να θεωρήσετε ότι:
α) Αρχικά ο αποθηκευτικός χώρος είναι κενός.
β) Οι αριθμοί που εισάγονται για το πλήθος των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων είναι μεγαλύτεροι ή ίσοι του 0.
γ) Υπάρχει καταχώριση στοιχείων για τουλάχιστον μια ημέρα.
.

ΛΥΣΗ (περισσότερα…)

Θέμα Δ, 2018, Ιούνιου, Hμερήσια και Eσπερινά

ΘΕΜΑ Δ
O φορέας διαχείρισης μιας περιοχής οικολογικού ενδιαφέροντος , προκειμένου να εκτιμήσει την ποιότητα των υδάτων των ποταμών της περιοχής , πραγματοποιεί μία δειγματοληψία τον μήνα σε κάθε ποταμό στη διάρκεια ενός έτους. Το δείγμα νερού αναλύεται και ανιχνεύονται οι ρύποι. Η επικινδυνότητα ενός ρύπου εκφράζεται με έναν ακέραιο αριθμό από το 1 έως και το 10. Στην κλίμακα αυτή η μεγαλύτερη τιμή αντιστοιχεί σε υψηλότερη επικινδυνότητα. Ένας δείκτης της επικινδυνότητας των υδάτων είναι η επικινδυνότητα εκείνου του ρύπου που έχει τη μέγιστη τιμή.
Να αναπτύξετε κύριο πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Μονάδες 2
Δ2. α. Να διαβάζει το πλήθος των ποταμών της περιοχής, ελέγχοντας ότι δεν δίνεται τιμή μεγαλύτερη του 20. (μονάδα 1)
β. Να διαβάζει τα ονόματα των ποταμών αυτών και να τα καταχωρίζει σε διαδοχικές θέσεις του πίνακα Π[20]. (μονάδες 2)
Μονάδες 3
Δ3. Για κάθε δειγματοληψία: να εμφανίζει το όνομα καθενός ποταμού της περιοχής και να υπολογίζει την επικινδυνότητά του καλώντας το υποπρόγραμμα ΥΕ (που θα κατασκευάσετε στο ερώτημα Δ5). Την επικινδυνότητα αυτή να την καταχωρίζει κατάλληλα σε πίνακα ΕΠ[20, 12].
Μονάδες 3
Δ4. Να εμφανίζει αλφαβητικά τα ονόματα των ποταμών στους οποίους ο μέσος όρος επικινδυνότητας στη διάρκεια του έτους, κυμάνθηκε πάνω από 7. Αν δεν υπάρχει κανένας ποταμός που να ικανοποιεί το κριτήριο αυτό, να εμφανίζεται κατάλληλο μήνυμα.
Μονάδες 4
Να αναπτύξετε το υποπρόγραμμα Υ
Ε το οποίο:
Δ5. α) Να διαβάζει διαδοχικά τις τιμές της επικινδυνότητας κάθε ρύπου που βρέθηκε. Η εισαγωγή να τερματίζεται όταν δοθεί η τιμή 0 (που σημαίνει ότι δεν υπάρχει άλλος ρύπος).
β) Να επιστρέφει τη μέγιστη τιμή επικινδυνότητας από τις τιμές που διάβασε.
Μονάδες 8
Σημείωση
α) Δεν απαιτούνται επιπλέον έλεγχοι εγκυρότητας τιμών εκτός από αυτόν που ζητείται στο ερώτημα Δ2.α.
β) Να θεωρήσετε ότι υπάρχει τουλάχιστον ένας ποταμός.
γ) Να θεωρήσετε ότι σε κάθε δειγματοληψία υπάρχει τουλάχιστον ένας ρύπος.

ΛΥΣΗ (περισσότερα…)

Ταξινόμηση Επιλογής (selection sort)

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

ΠΡΟΓΡΑΜΜΑ SELECTION_SORT_MONODIASTATOS
ΣΤΑΘΕΡΕΣ
  Μ = 3
  Ν = 3
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α[Μ*Ν], Κ, Θ, Ι
ΑΡΧΗ
  Α[1] <- 10
  Α[2] <- 7
  Α[3] <- 1
  Α[4] <- 9
  Α[5] <- 2
  Α[6] <- 4
  Α[7] <- 5
  Α[8] <- 8
  Α[9] <- 3

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

  ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ (Μ*Ν) - 1
    Θ <- Κ
    ΓΙΑ Ι ΑΠΟ Κ + 1 ΜΕΧΡΙ Μ*Ν
      ΑΝ Α[Ι] < Α[Θ] ΤΟΤΕ
        Θ <- Ι
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    ΚΑΛΕΣΕ ΑΝΤΙΜΕΤΑΘΕΣΗ(Α[Κ], Α[Θ]) 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

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

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

ΔΙΑΔΙΚΑΣΙΑ ΑΝΤΙΜΕΤΑΘΕΣΗ(Α, Β) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β, TEMP
ΑΡΧΗ
  TEMP <- Α
  Α <- Β
  Β <- TEMP
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ</code class="language-javascript">

Για την εφαρμογή της Selection Sort (Ταξινόμηση Επιλογής σε διδιάστατο πίνακα θα χρειαστούμε μια διαδικασία μετατροπής της σειράς αριθμών σε συντεταγμένες του διδιάστατου πίνακα.

ΠΡΟΓΡΑΜΜΑ ΣΥΝΤΕΤΑΓΜΕΝΕΣ
ΣΤΑΘΕΡΕΣ
  Μ = 3
  Ν = 3
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α[Μ, Ν], Λ, Γ, Σ
ΑΡΧΗ
  Α[1, 1] <- 10
  Α[1, 2] <- 7
  Α[1, 3] <- 1
  Α[2, 1] <- 9
  Α[2, 2] <- 2
  Α[2, 3] <- 4
  Α[3, 1] <- 5
  Α[3, 2] <- 8
  Α[3, 3] <- 3
  ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ Μ*Ν
    ΓΡΑΨΕ Λ
    ΑΝ Λ mod Ν = 0 ΤΟΤΕ
      ΑΝ Λ div Ν = 0 ΤΟΤΕ
        Γ <- 1
        Σ <- Ν
      ΑΛΛΙΩΣ
        Γ <- Λ div Ν
        Σ <- Ν
      ΤΕΛΟΣ_ΑΝ
    ΑΛΛΙΩΣ
      ΑΝ Λ div Ν = 0 ΤΟΤΕ
        Γ <- 1
        Σ <- Λ mod Ν
      ΑΛΛΙΩΣ
        Γ <- 1 + Λ div Ν
        Σ <- Λ mod Ν
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ "Α[", Γ, ", ", Σ, "] = ", Α[Γ, Σ] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ</code class="language-javascript">

Συνδυάζοντας τους 2 αλγορίθμους, προκύπτει η selection sort για διδιάστατο πίνακα.

ΠΡΟΓΡΑΜΜΑ SELECTION_SORT_2ΔΙΑΣΤΑΤΟΣ
ΣΤΑΘΕΡΕΣ
  Μ = 3
  Ν = 3
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α[Μ, Ν], Κ, Θ, Ι, J, Γ1, Σ1, Γ2, Σ2
ΑΡΧΗ
  Α[1, 1] <- 10
  Α[1, 2] <- 7
  Α[1, 3] <- 1
  Α[2, 1] <- 9
  Α[2, 2] <- 2
  Α[2, 3] <- 4
  Α[3, 1] <- 5
  Α[3, 2] <- 8
  Α[3, 3] <- 3

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

  ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ (Μ*Ν) - 1
    Θ <- Κ
    ΓΙΑ Ι ΑΠΟ Κ + 1 ΜΕΧΡΙ Μ*Ν
      ΚΑΛΕΣΕ ΣΥΝΤΕΤΑΓΜΕΝΕΣ(Ι, Γ2, Σ2) 
      ΚΑΛΕΣΕ ΣΥΝΤΕΤΑΓΜΕΝΕΣ(Θ, Γ1, Σ1) 
      ΑΝ Α[Γ2, Σ2] > Α[Γ1, Σ1] ΤΟΤΕ
        Θ <- Ι
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΚΑΛΕΣΕ ΣΥΝΤΕΤΑΓΜΕΝΕΣ(Κ, Γ1, Σ1) 
    ΚΑΛΕΣΕ ΣΥΝΤΕΤΑΓΜΕΝΕΣ(Θ, Γ2, Σ2) 
    ΚΑΛΕΣΕ ΑΝΤΙΜΕΤΑΘΕΣΗ(Α[Γ1, Σ1], Α[Γ2, Σ2]) 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

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

ΔΙΑΔΙΚΑΣΙΑ ΣΥΝΤΕΤΑΓΜΕΝΕΣ(Λ, Γ, Σ) 
ΣΤΑΘΕΡΕΣ
  Μ = 3
  Ν = 3
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Λ, Γ, Σ
ΑΡΧΗ
  ΑΝ Λ mod Ν = 0 ΤΟΤΕ
    ΑΝ Λ div Ν = 0 ΤΟΤΕ
      Γ <- 1
      Σ <- Ν
    ΑΛΛΙΩΣ
      Γ <- Λ div Ν
      Σ <- Ν
    ΤΕΛΟΣ_ΑΝ
  ΑΛΛΙΩΣ
    ΑΝ Λ div Ν = 0 ΤΟΤΕ
      Γ <- 1
      Σ <- Λ mod Ν
    ΑΛΛΙΩΣ
      Γ <- 1 + Λ div Ν
      Σ <- Λ mod Ν
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΑΔΙΚΑΣΙΑ ΑΝΤΙΜΕΤΑΘΕΣΗ(Α, Β) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β, TEMP
ΑΡΧΗ
  TEMP <- Α
  Α <- Β
  Β <- TEMP
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ</code class="language-javascript">

Θέμα Γ, 2017, Ημερήσια

ΘΕΜΑ Γ
Στο πλαίσιο ενός τοπικού σχολικού πρωταθλήματος βόλεϊ συμμετέχουν 5 σχολεία, αριθμημένα από το 1 έως το 5. Κάθε σχολείο παίζει μία φορά με όλα τα υπόλοιπα. Άρα θα πραγματοποιηθούν συνολικά 10 αγώνες. Νικητής ενός αγώνα είναι το σχολείο που έχει κερδίσει 3 σετ. Ο νικητής παίρνει 2 βαθμούς και ο ηττημένος 1 βαθμό.
Κάθε αγώνας προσδιορίζεται από τα σχολεία που παίζουν μεταξύ τους και το αποτέλεσμα του αγώνα σε σετ. Για παράδειγμα, η σειρά των στοιχείων: 4, 5, 1, 3 σημαίνει ότι το σχολείο 4 έπαιξε με το σχολείο 5 και έχασε τον αγώνα με 1 σετ υπέρ και 3 κατά. Αυτό αντίστοιχα σημαίνει ότι το σχολείο 5 κέρδισε τον αγώνα με το σχολείο 4 με 3 σετ υπέρ και 1 σετ κατά.
Τα δεδομένα των αγώνων αποθηκεύονται σε έναν δισδιάστατο πίνακα Α[5,3], όπου κάθε γραμμή αντιστοιχεί σε ένα σχολείο. Η τελική μορφή του πίνακα Α θα περιέχει για κάθε σχολείο, στην πρώτη (1η) στήλη τη βαθμολογία του (το άθροισμα των βαθμών του), στη δεύτερη (2η) το άθροισμα των σετ υπέρ και στην τρίτη (3η) το άθροισμα των σετ κατά, από όλους τους αγώνες.
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
Γ1. α) Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδες 2)
β) Να διαβάζει τα ονόματα των 5 σχολείων και να τα καταχωρίζει στον πίνακα ΟΝ [5]. Η σειρά των σχολείων καθορίζει την αρίθμησή τους (1 έως 5). (μονάδες 2)
γ) Να αρχικοποιεί τον πίνακα Α[5,3]. (μονάδες 2)
Μονάδες 6
Γ2. Να διαβάζει για κάθε αγώνα τη σειρά των 4 στοιχείων που τον προσδιορίζουν και να ενημερώνει τον πίνακα Α και για τα δύο σχολεία όπως περιγράφεται παραπάνω.
Μονάδες 6
Γ3. Να κατατάσσει τα σχολεία σε φθίνουσα σειρά ανάλογα με τη βαθμολογία τους και σε περίπτωση ισοβαθμίας να προηγείται το σχολείο με τα περισσότερα σετ υπέρ.
Μονάδες 6
Γ4. Να εμφανίζει τα ονόματα των σχολείων, τη βαθμολογία τους, το άθροισμα των σετ υπέρ και το άθροισμα των σετ κατά, με βάση τη σειρά κατάταξής τους.
Μονάδες 2
Σημείωση: Θεωρείστε ότι δεν υπάρχει περίπτωση δύο σχολεία να έχουν και την ίδια βαθμολογία και τον ίδιο αριθμό σετ υπέρ.

ΛΥΣΗ

(περισσότερα…)

ΔΤ2, Κεφάλαιο 3, Τετράδιο Εργασιών, Έξυπνη φυσαλίδα

ΕΚΦΩΝΗΣΗ:

Ο αλγόριθμος της φυσαλίδας όπως διατυπώθηκε στην παράγραφο 3.7 έχει το μειονέκτημα ότι δεν είναι αρκετά “έξυπνος” ώστε να διαπιστώνει στην αρχή ή στο μέσο της διαδικασίας αν ο πίνακας είναι ταξινομημένος. Να σχεδιασθεί μία παραλλαγή του αλγορίθμου αυτού που να σταματά όταν διαπιστωθεί ότι τα στοιχεία του πίνακα είναι ήδη ταξινομημένα. Υπόδειξη: Να χρησιμοποιήσετε μία βοηθητική μεταβλητή που να ελέγχει το τέλος κάθε επανάληψης του εξωτερικού βρόχου (“Για i από 2 μέχρι n”) αν για την τρέχουσα τιμή του i έγιναν αντιμεταθέσεις στοιχείων.

ΛΥΣΗ: (περισσότερα…)

Θέμα Δ, 2016, Ημερήσια, Παλαιό

Μια περιβαλλοντική οργάνωση έχει εκπαιδεύσει δέκα (10) εθελοντές οι οποίοι θα ενημερώσουν το κοινό σε θέματα που αφορούν την προστασία του περιβάλλοντος.
Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:
Δ1.      
αΝα περιλαμβάνει κατάλληλο τμήμα δηλώσεων.  (μονάδα 1)
β. Για κάθε εθελοντή, να διαβάζει το όνομά του και τον αριθμό των ατόμων που ενημέρωσε κάθε μήνα, στη διάρκεια του προηγούμενου έτους (δεν απαιτείται έλεγχος εγκυρότητας). (μονάδες 2)
Μονάδες 3
Δ2. Για κάθε μήνα, να εμφανίζει το συνολικό αριθμό ατόμων που ενημέρωσαν οι δέκα (10) εθελοντές. Ο υπολογισμός του συνολικού αριθμού ατόμων, που ενημέρωσαν κάθε μήνα, να γίνει με κλήση κατάλληλης συνάρτησης.
Μονάδες 3
Δ3. Να εμφανίζει τα ονόματα των τριών εθελοντών που ενημέρωσαν  τα περισσότερα άτομα, κατά τη διάρκεια του προηγούμενου έτους. Να θεωρήσετε ότι κάθε εθελοντής ενημέρωσε διαφορετικό συνολικό αριθμό ατόμων κατά τη διάρκεια του έτους.
Μονάδες 9
Δ4. Να κατασκευάσετε τη συνάρτηση του ερωτήματος Δ2.
Μονάδες 5
Να  θεωρήσετε ότι κάθε άτομο ενημερώνεται μόνο από έναν εθελοντή.

ΛΥΣΗ (περισσότερα…)

Θέμα Δ, 2014, Επαναληπτικές, Ημερήσια

Στις πρόσφατες δημοτικές εκλογές, σε κάποιο δήμο της χώρας, χρησιμοποιήθηκαν για την ψηφοφορία 217 αίθουσες (εκλογικά τμήματα), σε 34 δημόσια κτήρια (εκλογικά καταστήματα). Τα τμήματα αριθμήθηκαν με τη σειρά, από το 1 μέχρι το 217, έτσι ώστε οι αριθμοί των εκλογικών τμημάτων κάθε καταστήματος να είναι διαδοχικοί: αριθμήθηκαν πρώτα τα τμήματα του πρώτου καταστήματος, στη συνέχεια τα τμήματα του δεύτερου καταστήματος κ.ο.κ. Το ψηφοδέλτιο ενός από τους συμμετέχοντες συνδυασμούς είχε 65 υποψηφίους. Κάθε ψηφοφόρος ψηφίζει σημειώνοντας σταυρό δίπλα στο όνομα κάθε υποψηφίου που επιλέγει.

Να αναπτύξετε αλγόριθμο, ο οποίος:

Δ1. Να διαβάζει:

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

β.   Τα ονόματα των υποψηφίων του συνδυασμού. (μονάδα 1)

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

Μονάδες 6

Δ2. Να εμφανίζει τον συνολικό αριθμό σταυρών που έλαβε κάθε υποψήφιος.

Μονάδες 2

Δ3. Να εμφανίζει τα ονόματα των υποψηφίων που έλαβαν τους περισσότερους συνολικούς σταυρούς στο δεύτερο εκλογικό κατάστημα.

Μονάδες 5

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

Μονάδες 7

Τα θέματα σε pdf, 2014, Επαναληπτικές, Ημερήσια

ΛΥΣΗ (περισσότερα…)

Θέμα Β, Ερώτημα 1, 2014, Ημερήσια

Για την ταξινόμηση, σε φθίνουσα σειρά, των στοιχείων ενός μονοδιάστατου πίνακα αριθμών Π[30] μπορεί να ακολουθηθεί η παρακάτω διαδικασία: Αρχικά, ο πίνακας σαρώνεται από την αρχή μέχρι το τέλος του, προκειμένου να βρεθεί το μεγαλύτερο στοιχείο του. Αυτό το στοιχείο τοποθετείται στην αρχή του πίνακα, ανταλλάσσοντας θέσεις με το στοιχείο της πρώτης θέσης του πίνακα. Η σάρωση του πίνακα επαναλαμβάνεται, ξεκινώντας τώρα από το δεύτερο στοιχείο του πίνακα. Το μεγαλύτερο από τα στοιχεία που απέμειναν ανταλλάσσει θέσεις με το στοιχείο της δεύτερης θέσης του πίνακα. Η σάρωση επαναλαμβάνεται, ξεκινώντας από το τρίτο στοιχείο του πίνακα, μετά από το τέταρτο στοιχείο του πίνακα κ.ο.κ.

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

Για k από 1 μέχρι 29

θ <- .(1.).

Για i από k μέχρι 30

Αν Π[i] … Π[θ] τότε
θ<- .(3..)

Τέλος_αν

Τέλοςεπανάληψης
αντιμετάθεσε .(4.). , .(5..)
Τέλος
επανάληψης
Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (5), που αντιστοιχούν στα κενά του αλγορίθμου και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε να γίνεται σωστά η ταξινόμηση.
Μονάδες 10

Τα θέματα σε pdf, 2014, Μαΐου-Ιουνίου, Ημερήσια

Θέμα Δ, 2011, Μαΐου-Ιουνίου, Ημερήσια

Στην αρχή της ποδοσφαιρικής περιόδου οι 22 παίκτες μιας ομάδας, οι οποίοι αριθμούνται από 1 έως 22, ψηφίζουν για τους 3 αρχηγούς που θα τους εκπροσωπούν. Κάθε παίκτης μπορεί να ψηφίσει όσους συμπαίκτες του θέλει, ακόμα και τον εαυτό του. Τα αποτελέσματα της ψηφοφορίας καταχωρίζονται σε έναν πίνακα ΨΗΦΟΣ με 22 γραμμές και 22 στήλες, έτσι ώστε το στοιχείο ΨΗΦΟΣ[i,j] να έχει την τιμή 1, όταν ο παίκτης με αριθμό i έχει ψηφίσει τον παίκτη με αριθμό j, και τιμή 0 στην αντίθετη περίπτωση. Να γράψετε αλγόριθμο ο οποίος:

Δ1. Να διαβάζει τα στοιχεία του πίνακα ΨΗΦΟΣ και να ελέγχει την ορθότητά τους με αποδεκτές τιμές 0 ή 1.

Μονάδες 4

Δ2. Να εμφανίζει το πλήθος των παικτών που δεν ψήφισαν κανέναν.

Μονάδες 4

Δ3. Να εμφανίζει το πλήθος των παικτών που ψήφισαν τον εαυτό τους.

Μονάδες 4

Δ4. Να βρίσκει τους 3 παίκτες που έλαβαν τις περισσότερες ψήφους και να εμφανίζει τους αριθμούς τους και τις ψήφους που έλαβαν. Θεωρήστε ότι δεν υπάρχουν ισοψηφίες.

Μονάδες 8

 Τα θέματα σε pdf, 2011, Μαΐου-Ιουνίου, Ημερήσια

ΛΥΣΗ (περισσότερα…)