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

Πρόβλημα:

Να αναπτύξετε ένα πρόγραμμα σε Γλώσσα το οποίο, αφού διαβάσει τα ύψη 20 παιδιών που βρίσκονται το ένα πίσω από το άλλο θα εμφανίζει τον αριθμό των παιδιών που βλέπουν την είσοδο του κυλικείου. ΕΠΥ, 27ος ΠΔΠ (2015), Α’ Φάση

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ ΑΣΚ15_ΠΑΡ_Β_ΠΙΝΑΚΕΣ_ΚΥΛΙΚΕΙΟ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j, ΥΨ[20], πλήθος
  ΛΟΓΙΚΕΣ: βλέπει
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΔΙΑΒΑΣΕ ΥΨ[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  πλήθος <-- 1
  i <-- 2
  ΟΣΟ i <= 20  ΕΠΑΝΑΛΑΒΕ
      βλέπει <-- ΑΛΗΘΗΣ
      j <-- 1
      ΟΣΟ j < i ΚΑΙ βλέπει = ΑΛΗΘΗΣ  ΕΠΑΝΑΛΑΒΕ
          ΑΝ ΥΨ[j]>ΥΨ[i] ΤΟΤΕ
             βλέπει <-- ΨΕΥΔΗΣ
          ΑΛΛΙΩΣ
             j <-- j+1
          ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

      ΑΝ βλέπει = ΑΛΗΘΗΣ ΤΟΤΕ
         πλήθος <-- πλήθος + 1
      ΤΕΛΟΣ_ΑΝ
      i <-- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ πλήθος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ