e-ΜΑΘΗΜΑΤΑ
ΠΛΗΡΟΦΟΡΙΚΗ

Λύσεις ασκήσεων Τράπεζας Θεμάτων


34901




ΠΡΟΓΡΑΜΜΑ Αγώνας_ΤΘ_34901
!ΘΕΜΑ 4
!Σε έναν αγώνα δρόμου 5 χλμ. συμμετέχουν 148 αθλητές,
!τα ονόματα των οποίων καταγράφονται σε μονοδιάστατο πίνακα ΟΝ[148].
!Οι χρόνοι τους (σε δευτερόλεπτα)   καταγράφονται σε πίνακα ΧΡΟΝ[148].
!Η καταγραφή γίνεται βάσει της σειράς που δήλωσαν συμμετοχή.
!Να φτιάξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
!4.1 Να περιέχει τμήμα δηλώσεων.
!Για κάθε αθλητή να διαβάζει το όνομά του και τον χρόνο τερματισμό του,
!ο οποίος δίνεται σε λεπτά και δευτερόλεπτα.
!Για παράδειγμα ένας αθλητής μπορεί να τερματίσει σε 37 λεπτά και 17 δευτερόλεπτα.
!Τα στοιχεία αυτά καταχωρούνται στους πίνακες ΟΝ και ΧΡΟΝ.
!Μονάδες 6
!4.2 Να εμφανίζει την τελική κατάταξη του αγώνα, δηλαδή το όνομα και τον χρόνο
!κάθε αθλητή, ξεκινώντας από τον αθλητή με τον μικρότερο χρόνο.
!Ο χρόνος πρέπει πάλι να εμφανίζεται σε λεπτά και δευτερόλεπτα.
!Μονάδες 10
!4.3 Να εμφανίζει τα ονόματα των αθλητών των οποίων οι χρόνοι τερματισμού
!είχαν τη μικρότερη διαφορά.
!Μονάδες 9
!Σημείωση: Δεν χρειάζεται κανένας έλεγχος εγκυρότητας κατά την εισαγωγή των δεδομένων.


ΣΤΑΘΕΡΕΣ
  Ν = 148
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΧΡΟΝ[Ν], λεπτά, δευτερόλεπτα, i, j, tempΧΡΟΝ, minΔιαφορά, index1, index2
  ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[Ν], tempΟΝ
ΑΡΧΗ

! 4.1 Ανάγνωση των δεδομένων
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΓΡΑΨΕ 'Δώσε το όνομα του αθλητή ', i, ':'
    ΔΙΑΒΑΣΕ ΟΝ[i] 
    ΓΡΑΨΕ 'Δώσε το χρόνο τερματισμού σε λεπτά και δευτερόλεπτα:'
    ΔΙΑΒΑΣΕ λεπτά, δευτερόλεπτα

! Μετατροπή χρόνου σε δευτερόλεπτα για εύκολη σύγκριση
    ΧΡΟΝ[i] <- λεπτά* 60 + δευτερόλεπτα
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! 4.2 Ταξινόμηση βάσει χρόνου τερματισμού (Αντιμετάθεση - Bubble Sort)
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν
    ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
      ΑΝ ΧΡΟΝ[j - 1] > ΧΡΟΝ[j] ΤΟΤΕ
! Αντιμετάθεση χρόνων
        tempΧΡΟΝ <- ΧΡΟΝ[j] 
        ΧΡΟΝ[j] <- ΧΡΟΝ[j - 1] 
        ΧΡΟΝ[j - 1] <- tempΧΡΟΝ

! Αντιμετάθεση ονομάτων
        tempΟΝ <- ΟΝ[j] 
        ΟΝ[j] <- ΟΝ[j - 1] 
        ΟΝ[j - 1] <- tempΟΝ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Εμφάνιση τελικής κατάταξης
  ΓΡΑΨΕ 'Τελική κατάταξη:'
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    λεπτά <- ΧΡΟΝ[i] div 60
    δευτερόλεπτα <- ΧΡΟΝ[i] mod 60
    ΓΡΑΨΕ i, '. ', ΟΝ[i], ': ', λεπτά, ' λεπτά και ', δευτερόλεπτα, ' δευτερόλεπτα'
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! 4.3 Εύρεση ζευγαριού με τη μικρότερη διαφορά χρόνου
  minΔιαφορά <- Α_Τ(ΧΡΟΝ[2] - ΧΡΟΝ[1]) 

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν - 1
    ΑΝ Α_Τ(ΧΡΟΝ[i + 1] - ΧΡΟΝ[i]) < minΔιαφορά ΤΟΤΕ
      minΔιαφορά <- Α_Τ(ΧΡΟΝ[i + 1] - ΧΡΟΝ[i]) 
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Αθλητές με τη μικρότερη διαφορά χρόνου (', minΔιαφορά, ' δευτερόλεπτα):'
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν - 1
    ΑΝ Α_Τ(ΧΡΟΝ[i + 1] - ΧΡΟΝ[i]) = minΔιαφορά ΤΟΤΕ
      ΓΡΑΨΕ ΟΝ[i], ' και ', ΟΝ[i + 1] 
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

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


Κεντρική Σελίδα Αλλα e-μαθήματα ΑΕΠΠ Αλλη άσκηση Επιστροφή στην κορυφή της σελίδας
© 2025 - 2ο Γενικό Λύκειο Γέρακα - Βασίλειος Αναστόπουλος