Η Ελλάδα εκτός από ξακουστός καλοκαιρινός προορισμός, αποτελεί και τόπο χειμερινού τουρισμού. Χιονισμένα βουνά, άγρια ποτάμια και μια συνεχής αλλαγή περιβάλλοντος μπορούν να ικανοποιήσουν κάθε σχετική προσδοκία. Ξεχωριστή φυσικά θέση στο χειμερινό τοπίο, έχουν τα 16 χιονοδρομικά κέντρα της χώρας μας. Μερικά από αυτά, όπως το χιονοδρομικό κέντρο στα “3 – 5 Πηγάδια” (Βέρμιο Ημαθίας) προσφέρουν ψυχαγωγία όλο το χρόνο. Το κέντρο, διαθέτει τεχνική χιονόπτωση και την πίστα της μεγάλης κατάβασης από τα 2005 m στα 1430 m. Σε αυτήν τη μεγάλη πίστα μέσα στα έλατα, γίνεται ο τελικός ταχύτητας με ατομική χρονομέτρηση. Ο κάθε χιονοδρόμος κατεβαίνει τη διαδρομή και με βάση το χρόνο του, οι φωτεινοί πίνακες δίνουντη θέση του στη γενική κατάταξη. Ο πρώτος για παράδειγμα θα έχει αναγκαστικά θέση 1. Ο δεύτερος 1 ή 2 και ο Νιοστός οποιαδήποτε θέση από 1 έως Ν.

Πρόβλημα:

Να αναπτύξετε ένα πρόγραμμα σε Γλώσσα το οποίο αφού καταχωρίσει σε Πίνακα 20 θέσεων τη θέση που παίρνει ο κάθε χιονοδρόμος στη γενική κατάταξη   μέχρι  εκείνη   τη   στιγμή,   θα  εμφανίζει  την  τελική   θέση κάθε χιονοδρόμου μετά το τέλος του αγώνα. ΕΠΥ, 23ος Π.Δ.Π. (2011) Β’ Φάση (Θέμα Γυμνασίου)

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ  ΑΣΚ8_ΠΑΡ_Β_ΠΙΝ_ΧΙΟΝΟΔΡΟΜΟΙ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: aa[20], seira[20], i, j, k, epidosi, rear

ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    aa[i] <-- 0          ! αύξων αριθμός χιονοδρόμου
    seira[i] <-- 0       ! σειρά κατάταξης χρόνων (επίδοσης)
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ! Ο 1ος αθλητής απευθείας στην πρώτη θέση της σειράς
  ΔΙΑΒΑΣΕ epidosi
  seira[1] <-- epidosi
  aa[i] <-- 1

  rear <-- 1
   ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20
    ΔΙΑΒΑΣΕ epidosi
    rear <-- rear + 1    ! Δείκτης στη πρώτη κενή θέση στο τέλος
    j <-- 1
    ΟΣΟ epidosi < seira[j] ΚΑΙ j<rear ΕΠΑΝΑΛΑΒΕ
      j <-- j+1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    Αν j = rear ΤΟΤΕ     ! ο αθλητής έχει χειρότερη επίδοση από τους προηγούμενους
      seira[rear] <-- epidosi
    ΑΛΛΙΩΣ
      ! εισαγωγή στοιχείου στην ενδιάμεση θέση j πίνακα
      ΓΙΑ k ΑΠΟ  rear-1 ΜΕΧΡΙ j ΜΕ ΒΗΜΑ -1
        seira[k+1] <-- seira[k]
        aa[k+1] <-- aa[k]    ! παράλληλα μετακινώ και τα στοιχεία του αα
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      seira[j] <-- epidosi   ! τοποθετώ την νέα επίδοση και τον αριθμό του δρομέα
      aa[j] <-- i            ! στη κενή θέση j που δημιούργησα
    ΤΕΛΟΣ_ΑΝ

  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

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

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