Σε ένα πρόγραμμα ανταλλαγής μαθητών Comenius συμμετέχουν μαθητές από δυο χώρες: Ελλάδα (EL) και Ισπανία (ES). Οι μαθητές αυτοί καλούνται να απαντήσουν σε μια ερώτηση όπου οι δυνατές απαντήσεις είναι:

  1. Πολύ συχνά 2. Συχνά 3. Αρκετές φορές     4. Σπάνια    5. Ποτέ

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

Για να βοηθήσετε στην επεξεργασία να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

Δ1.   α. Να περιέχει τμήμα δηλώσεων.

β. Να δημιουργεί δύο πίνακες EL[5] και ES[5] και να καταχωρίζει σε αυτούς την τιμή 0 σε όλα τα στοιχεία τους.

Μονάδες 2

Δ2. Για κάθε μαθητή να διαβάζει το όνομα της χώρας του και τον αριθμό της απάντησής του. Οι δυνατές τιμές για τη χώρα είναι: EL, ES και για την απάντηση 1,2,3,4,5. Η κάθε απάντηση θα πρέπει να προσμετράται σε έναν από τους δύο πίνακες EL[5], ES[5] ανάλογα με τη χώρα και στο αντίστοιχο στοιχείο. Δηλαδή, αν δοθούν για τιμές οι ES και 4, τότε θα πρέπει στο 4ο στοιχείο του πίνακα ES[5] να προστεθεί μια ακόμα καταχώριση. (Δεν απαιτείται έλεγχος εγκυρότητας τιμών)

Μονάδες 5

Δ3. Η προηγούμενη διαδικασία εισαγωγής δεδομένων και καταχώρισης απαντήσεων θα ελέγχεται από την ερώτηση «για Διακοπή της εισαγωγής πατήστε Δ ή δ», που θα εμφανίζεται, και ο χρήστης θα πρέπει να δώσει το χαρακτήρα Δ ή δ για να σταματήσει την επαναληπτική διαδικασία.

Μονάδες 3

Δ4. Στο τέλος για κάθε χώρα να εμφανίζει ποιος αριθμός απάντησης είχε το μεγαλύτερο ποσοστό, καθώς και το ποσοστό αυτό. Για την υλοποίηση αυτού του ερωτήματος θα χρησιμοποιήσετε δυο φορές το υποπρόγραμμα MΕΓ_ΠΟΣ που θα κατασκευάσετε στο ερώτημα Δ5. Θεωρούμε ότι για κάθε χώρα τα ποσοστά των απαντήσεων είναι διαφορετικά μεταξύ τους και δεν υπάρχει περίπτωση ισοβαθμίας.

Μονάδες 3

Δ5.       Να αναπτύξετε το υποπρόγραμμα ΜΕΓ_ΠΟΣ το οποίο:

  1. Να δέχεται έναν πίνακα ακεραίων 5 θέσεων.
  2. Να βρίσκει το μεγαλύτερο στοιχείο του πίνακα και σε ποια θέση βρίσκεται.
  3. Να βρίσκει το ποσοστό που κατέχει το μεγαλύτερο στοιχείο σε σχέση με το άθροισμα όλων των στοιχείων του πίνακα.
  4. Να επιστρέφει στο κυρίως πρόγραμμα το ποσοστό αυτό, καθώς και την θέση στην οποία βρίσκεται.

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

Μονάδες 7

ΛΥΣΗ

ΘΕΜΑ_Δ_2013_ΙΟΥΝ_ΗΜΕΡ [demo_δεδομένα]


ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ_ΙΟΥΝ_ΗΜΕΡ_2013
ΜΕΤΑΒΛΗΤΕΣ 
 ΑΚΕΡΑΙΕΣ: EL[5],ES[5], i, ΑΠ, pos1, pos2
 ΠΡΑΓΜΑΤΙΚΕΣ: ποσοστό1, ποσοστό2
 ΧΑΡΑΚΤΗΡΕΣ: ΧΩΡΑ, ΔΙΑΚ

ΑΡΧΗ
!Δ1β Αρχικοποίηση πινάκων μετρητών 
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
     EL[i] <-- 0
     ES[i] <-- 0
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!Δ2 - Δ3
 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'ΔΩΣΕ ΧΩΡΑ ΜΑΘΗΤΗ'
    ΔΙΑΒΑΣΕ ΧΩΡΑ
    ΓΡΑΨΕ 'ΔΩΣΕ ΑΠΑΝΤΗΣΗ'
    ΔΙΑΒΑΣΕ ΑΠ

!Λόγω του ότι δεν γίνεται έλεγχος εγκυρότητας προτιμώ την απλή επιλογή 
    ΑΝ ΧΩΡΑ = 'EL' ΤΟΤΕ
       ΑΝ ΑΠ=1 ΤΟΤΕ
          EL[1] <-- EL[1] + 1
       ΑΛΛΙΩΣ_ΑΝ ΑΠ=2 ΤΟΤΕ
          EL[2] <-- EL[2] + 1
       ΑΛΛΙΩΣ_ΑΝ ΑΠ=3 ΤΟΤΕ
          EL[3] <-- EL[3] + 1
       ΑΛΛΙΩΣ_ΑΝ ΑΠ=4 ΤΟΤΕ
          EL[4] <-- EL[4] + 1
       ΑΛΛΙΩΣ_ΑΝ ΑΠ=5 ΤΟΤΕ
          EL[5] <-- EL[5] + 1
       ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ

    ΑΝ ΧΩΡΑ = 'ES' ΤΟΤΕ
       ΑΝ ΑΠ=1 ΤΟΤΕ
          ES[1] <-- ES[1] + 1
      ΑΛΛΙΩΣ_ΑΝ ΑΠ=2 ΤΟΤΕ
          ES[2] <-- ES[2] + 1
      ΑΛΛΙΩΣ_ΑΝ ΑΠ=3 ΤΟΤΕ
          ES[3] <-- ES[3] + 1
      ΑΛΛΙΩΣ_ΑΝ ΑΠ=4 ΤΟΤΕ
          ES[4] <-- ES[4] + 1
      ΑΛΛΙΩΣ_ΑΝ ΑΠ=5 ΤΟΤΕ
          ES[5] <-- ES[5] + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ

    ΓΡΑΨΕ 'για Διακοπή της εισαγωγής πατήστε Δ ή δ'
    ΔΙΑΒΑΣΕ ΔΙΑΚ
 ΜΕΧΡΙΣ_ΟΤΟΥ (ΔΙΑΚ='δ' Ή ΔΙΑΚ='Δ')
 !Δ4
 ΚΑΛΕΣΕ ΜΕΓ_ΠΟΣ(EL, ποσοστό1, pos1)
 ΚΑΛΕΣΕ ΜΕΓ_ΠΟΣ(ES, ποσοστό2, pos2)
 ΓΡΑΨΕ 'ΑΠΑΝΤΗΣΗ ΜΕ ΜΕΓΑΛΥΤΕΡΟ ΠΟΣΟΣΤΟ ΑΝΑ ΧΩΡΑ:'
 ΓΡΑΨΕ 'EL, απάντηση:', pos1 ,'με ποσοστό ', ποσοστό1
 ΓΡΑΨΕ 'ES, απάντηση:', pos2 ,'με ποσοστό ', ποσοστό2
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

!Δ5
ΔΙΑΔΙΚΑΣΙΑ ΜΕΓ_ΠΟΣ(ΧΩ, ποσοστό, θέση)
ΜΕΤΑΒΛΗΤΕΣ
 ΑΚΕΡΑΙΕΣ: ΧΩ[5], i, μέγιστο, θέση, S
 ΠΡΑΓΜΑΤΙΚΕΣ: ποσοστό
ΑΡΧΗ
!Δ5.2
 μέγιστο <-- ΧΩ[1]
 θέση <-- 1
 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 5
     ΑΝ ΧΩ[i]>μέγιστο ΤΟΤΕ
        μέγιστο <-- ΧΩ[i]
        θέση <-- i
     ΤΕΛΟΣ_ΑΝ 
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 !Δ5.3
 S <-- 0
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
     S <-- S + ΧΩ[i]
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ποσοστό <-- ΧΩ[θέση] / S * 100 
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ