Επιλογή Σελίδας

Ένα από τα πλέον όμορφα και ταυτόχρονα δυναμικά Ολυμπιακά Αγωνίσματα είναι το Δέκαθλο. Οι δεκαθλητές, δοκιμάζονται κυριολεκτικά σε δέκα αγωνίσματα στίβου. Σους Ολυμπιακούς Αγώνες της Αθήνας οι δεκαθλητές αγωνίστηκαν σε αυτά τα αγωνίσματα, στις 23 & 24 Αυγούστου 2004. Η τελική κατάταξη προέκυψε από το άθροισμα των βαθμών που συγκέντρωσαν οι αθλητές σε κάθε αγώνισμα. Για λόγους καθαρά σταστιστικής, σε κάθε αγώνισμα βγήκε ένας «νικητής» αγωνίσματος. Στο άλμα επί κοντώ, ο νικήτής προκύπτει από τους αθλητές που υπερπήδησαν το ίδιο ύψος με μικρότερο αριθμό συνολικών προσπαθειών. Αθλητές με ίδιο αριθμό προσπαθειών που υπερπήδησαν το ίδιο ύψος ανακηρύσσονται εξ ίσου νικητές.

Πρόβλημα:

Να αναπτύξετε πρόγραμμα σε Γλώσσα το οποίο θα δέχεται για κάθε αθλητή, με βάση τη σειρά συμμετοχής στο άθλημα, τελικό ύψος υπερπήδησης και τον αριθμό των συνολικών προσπαθειών. Η εισαγωγή δεδομένων σταματά με τον ‘αθλητή’ ο οποίος έχει σειρά 0. Το πρόγραμμα θα εμφανίζει τον αριθμό των νικητών του αγωνίσματος και τη σειρά συμμετοχής, που αυτός  / αυτοί είχε / είχαν. 17ος ΠΔΠ, 2005, Α’ Φάση

 

ΛΥΣΗ

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

ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΡΤΗΜΑ_Β_ΔΙΑΓ_ΕΠΥ_1_ΒΑΣΙΚΕΣ_ΕΝΝΟΙΕΣ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: σειρά, προσπάθειες, νικητής, προσπάθειες_νικητή, ισόβαθμοι_νικητές
  ΠΡΑΓΜΑΤΙΚΕΣ: ύψος, μέγιστο
ΑΡΧΗ
  μέγιστο <-- -100
  ισόβαθμοι_νικητές <-- 0

  ΓΡΑΨΕ 'ΔΩΣΤΕ ΣΕΙΡΑ ΑΘΛΗΤΗ:'
  ΔΙΑΒΑΣΕ σειρά

  ΟΣΟ σειρά  <> 0 ΕΠΑΝΑΛΑΒΕ

    ΓΡΑΨΕ 'ΔΩΣΤΕ ΥΨΟΣ ΑΛΜΑΤΟΣ ΑΘΛΗΤΗ:'
    ΔΙΑΒΑΣΕ ύψος
    ΓΡΑΨΕ 'ΔΩΣΤΕ ΑΡΙΘΜΟ ΠΡΟΣΠΑΘΕΙΩΝ:'                               
    ΔΙΑΒΑΣΕ προσπάθειες

    ΑΝ ύψος > μέγιστο ΤΟΤΕ
      μέγιστο <-- ύψος
      νικητής <-- σειρά
      προσπάθειες_νικητή <-- προσπάθειες
      ισόβαθμοι_νικητές <-- 1
    ΑΛΛΙΩΣ_ΑΝ ύψος = μέγιστο ΤΟΤΕ

      ΑΝ προσπάθειες < προσπάθειες_νικητή ΤΟΤΕ
        μέγιστο <-- ύψος
        νικητής <-- σειρά
        προσπάθειες_νικητή <-- προσπάθειες
        ισόβαθμοι_νικητές <-- 1
      ΑΛΛΙΩΣ_ΑΝ προσπάθειες = προσπάθειες_νικητή ΤΟΤΕ
        ισόβαθμοι_νικητές <-- ισόβαθμοι_νικητές + 1
      ΤΕΛΟΣ_ΑΝ

    ΤΕΛΟΣ_ΑΝ

    ΓΡΑΨΕ 'ΔΩΣΤΕ ΣΕΙΡΑ ΑΘΛΗΤΗ'
    ΔΙΑΒΑΣΕ σειρά

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

  ΓΡΑΨΕ 'ΑΡΙΘΜΟΣ ΝΙΚΗΤΩΝ', ισόβαθμοι_νικητές
  ! Δεν θεωρούμε ότι προκύπτει αποδοτική λύση 
  ! χωρίς πίνακα για την εμφάνιση της σειράς των αθλητών
  ΑΝ ισόβαθμοι_νικητές = 1 TOTE   
     ΓΡΑΨΕ 'ΣΕΙΡΑ', νικητής
 ΤΕΛΟΣ_ΑΝ 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Επίσης: Ασκησιολόγιο ΓλωσσοΜάθειας

Share This