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

Το ράλλυ Βορείων Σποράδων είναι ένας αγώνας ιστοπλοΐας ανοικτής θάλασσας που γίνεται κάθε χρόνο. Στην τελευταία διοργάνωση συμμετείχαν 35 σκάφη που διαγωνίστηκαν σε διαδρομή συνολικής απόστασης 70 μιλίων. Κάθε σκάφος ανήκει σε μια από τις κατηγορίες C1, C2, C3. Επειδή στον αγώνα συμμετέχουν σκάφη διαφορετικών δυνατοτήτων, η κατάταξη δεν προκύπτει από τον «πραγματικό» χρόνο τερματισμού αλλά από ένα «σχετικό» χρόνο, που υπολογίζεται διαιρώντας τον «πραγματικό» χρόνο του σκάφους με τον «ιδανικό». Ο ιδανικός χρόνος είναι διαφορετικός για κάθε σκάφος και προκύπτει πολλαπλασιάζοντας την απόσταση της διαδρομής με τον δείκτη GPH του σκάφους. Ο δείκτης GPH αντιπροσωπεύει τον ιδανικό χρόνο που χρειάζεται το σκάφος για να καλύψει απόσταση ενός μιλίου. Να κατασκευάσετε αλγόριθμο ο οποίος

Δ1.    Να ζητάει για κάθε σκάφος:

  • το όνομά του
  • την κατηγορία του ελέγχοντας την ορθή καταχώρηση
  • τον χρόνο (σε δευτερόλεπτα) που χρειάστηκε για να τερματίσει
  • τον δείκτη GPH (σε δευτερόλεπτα).

Μονάδες 4

Δ 2.  Να υπολογίζει τον σχετικό χρόνο κάθε σκάφους.

Μονάδες 5

Δ3. Να εμφανίζει την κατηγορία στην οποία ανήκουν τα περισσότερα σκάφη.

Μονάδες 6

Δ4. Να εμφανίζει για κάθε κατηγορία καθώς και για την γενική κατάταξη τα ονόματα των σκαφών που κερδίζουν μετάλλιο. (Μετάλλια απονέμονται στους 3 πρώτους κάθε κατηγορίας και στους 3 πρώτους της γενικής κατάταξης).

Μονάδες 5

Σημείωση: Να θεωρήσετε ότι κάθε κατηγορία έχει διαφορετικό αριθμό σκαφών και τουλάχιστον τρία σκάφη.

ΛΥΣΗ

Αλγόριθμος Θέμα_Δ
! Δ1
Για i από 1 μέχρι 35
 Διάβασε ον[i], χρ[i], GPH[i] 
 Αρχή_επανάληψης
     Διάβασε κατ[i] 
 Μέχρις_ότου κατ[i] = 'C1' ή κατ[i] = 'C2' ή κατ[i] = 'C3'
Τέλος_επανάληψης

! Δ2
Για i από 1 μέχρι 35
 σχετ[i] ← χρ[i]/(70* GPH[i]) 
Τέλος_επανάληψης

! Δ4
Για i από 2 μέχρι 35
 Για j από 35 μέχρι i με_βήμα -1
     Αν σχετ[j - 1] > σχετ[j] τότε
        Αντιμετάθεσε σχετ[j - 1], σχετ[j] 
        Αντιμετάθεσε ον[j - 1], ον[j] 
        Αντιμετάθεσε κατ[j - 1], κατ[j] 
 Τέλος_αν
 Τέλος_επανάληψης
Τέλος_επανάληψης

! Δ3
π1 ← 0
π2 ← 0
π3 ← 0
Για i από 1 μέχρι 35
    Αν κατ[i] = 'C1' τότε
       π1 ← π1 + 1
       ον1[π1] ← ον[i] 
   αλλιώς_αν κατ[i] = 'C2' τότε
       π2 ← π2 + 1
       ον2[π2] ← ον[i]
   αλλιώς
       π3 ← π3 + 1
       ον3[π3] ← ον[i] 
   Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε 'Τα περισσότερα Σκάφη ανήκουν στη κατηγορία: '
Αν π1 > π2 και π1 > π3 τότε
   Εμφάνισε 'C1'
αλλιώς_αν π2 > π1 και π2 > π3 τότε
   Εμφάνισε 'C2'
αλλιώς
   Εμφάνισε 'C3'
Τέλος_αν

! Δ4
Εμφάνισε 'ΜΕΤΑΛΛΙΑ'
Εμφάνισε 'Γενική Κατηγορία: '
Για i από 1 μέχρι 3
 Εμφάνισε ον[i] 
Τέλος_επανάληψης

Εμφάνισε 'Κατηγορία C1:'
Για i από 1 μέχρι 3
 Εμφάνισε ον1[i] 
Τέλος_επανάληψης

Εμφάνισε 'Κατηγορία C2:'
Για i από 1 μέχρι 3
 Εμφάνισε ον2[i] 
Τέλος_επανάληψης

Εμφάνισε 'Κατηγορία C3:'
Για i από 1 μέχρι 3
 Εμφάνισε ον3[i] 
Τέλος_επανάληψης

Τέλος Θέμα_Δ

Αλγόριθμος Αρχείο_Εισόδου_ΗμερήσιαΜαιουΘΔ2010
Για i από 1 μέχρι 35
    Εμφάνισε 'ον', i
    Εμφάνισε i + 40
    Εμφάνισε 100 - i
    Αν i mod 2 = 0 τότε
       Εμφάνισε 'C1'
    αλλιώς_αν i mod 3 = 0 τότε
       Εμφάνισε 'C2'
    αλλιώς
       Εμφάνισε 'C3'
    Τέλος_αν
Τέλος_επανάληψης
Τέλος

Share This