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

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ Δ2018ΜΑΙΟΣ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΠΟΤΑΜΟΙ, Ι, J, SUM, ΕΠ[20, 12], ΕΠΙΚΙΝΔΥΝΟΤΗΤΑ
  ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ[20], TEMP2
  ΧΑΡΑΚΤΗΡΕΣ: Π[20], TEMP
  ΛΟΓΙΚΕΣ: ΠΛΗΘ7
ΑΡΧΗ
!Δ2α
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ ΠΟΤΑΜΟΙ
  ΜΕΧΡΙΣ_ΟΤΟΥ ΠΟΤΑΜΟΙ <= 20
!Δ2β
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΠΟΤΑΜΟΙ
    ΔΙΑΒΑΣΕ Π[Ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!Δ3
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΠΟΤΑΜΟΙ
    ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 12
      ΕΠ[Ι, J] <- 0
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΠΟΤΑΜΟΙ
    ΓΡΑΨΕ Π[Ι] 
    ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 12
      ΚΑΛΕΣΕ Υ_Ε(ΕΠΙΚΙΝΔΥΝΟΤΗΤΑ) 
      ΕΠ[Ι, J] <- ΕΠΙΚΙΝΔΥΝΟΤΗΤΑ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!Δ4
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
    ΜΟ[Ι] <- 0
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΠΟΤΑΜΟΙ
    SUM <- 0
    ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 12
      SUM <- SUM + ΕΠ[Ι, J] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΜΟ[Ι] <- SUM/12
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!ΤΑΞΙΝΟΜΗΣΗ ΠΑΡΑΛΛΗΛΩΝ
  ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ ΠΟΤΑΜΟΙ
    ΓΙΑ J ΑΠΟ ΠΟΤΑΜΟΙ ΜΕΧΡΙ Ι ΜΕ ΒΗΜΑ -1
      ΑΝ Π[J - 1] > Π[J] ΤΟΤΕ
        TEMP <- Π[J - 1] 
        Π[J - 1] <- Π[J] 
        Π[J] <- TEMP
        TEMP2 <- ΜΟ[J - 1] 
        ΜΟ[J - 1] <- ΜΟ[J] 
        ΜΟ[J] <- TEMP2
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΠΛΗΘ7 <- ΨΕΥΔΗΣ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΠΟΤΑΜΟΙ
    ΑΝ ΜΟ[Ι] > 7 ΤΟΤΕ
      ΓΡΑΨΕ 'ΠΟΤΑΜΟΙ ΑΝΩ 7 ΕΠΙΚΙΝΔΥΝΟΤΗΤΑΣ'
      ΓΡΑΨΕ Π[Ι] 
      ΠΛΗΘ7 <- ΑΛΗΘΗΣ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ ΠΛΗΘ7 = ΨΕΥΔΗΣ ΤΟΤΕ
    ΓΡΑΨΕ 'ΚΑΝΕΝΑΣ ΠΟΤΑΜΟΣ ΑΝΩ 7 ΕΠΙΚΙΝΔΥΝΟΤΗΤΑΣ'
  ΤΕΛΟΣ_ΑΝ

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

!Δ5
ΔΙΑΔΙΚΑΣΙΑ Υ_Ε(ΕΠΙΚ) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΕΠΙΚ, ΜΑΧ, ΡΥΠΟΣ
ΑΡΧΗ
  ΜΑΧ <- -1
  ΔΙΑΒΑΣΕ ΡΥΠΟΣ
  ΟΣΟ ΡΥΠΟΣ <> 0 ΕΠΑΝΑΛΑΒΕ
    ΑΝ ΡΥΠΟΣ > ΜΑΧ ΤΟΤΕ
      ΜΑΧ <- ΡΥΠΟΣ
    ΤΕΛΟΣ_ΑΝ
    ΔΙΑΒΑΣΕ ΡΥΠΟΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΕΠΙΚ <- ΜΑΧ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ</code class="language-javascript">
Share This