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

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

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

Μονάδες 4

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

Μονάδες 5

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

Μονάδες 6

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

Μονάδες 5

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

ΛΥΣΗ

<pre><strong><span style="color: #0000ff;">Αλγόριθμος</span></strong> Θέμα_Δ
<span style="color: #008000;"><strong>! Δ1</strong></span>
<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 1 <strong><span style="color: #0000ff;">μέχρι</span></strong> 35
<strong><span style="color: #0000ff;">Διάβασε</span></strong> ον[i], χρ[i], GPH[i]
<strong><span style="color: #0000ff;">Αρχή_επανάληψης</span></strong>
<strong><span style="color: #0000ff;">Διάβασε</span></strong> κατ[i]
<strong><span style="color: #0000ff;">Μέχρις_ότου</span></strong> κατ[i] = 'C1' ή κατ[i] = 'C2' ή κατ[i] = 'C3'
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span></strong>

<strong>! Δ2</strong>
<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 1 <strong><span style="color: #0000ff;">μέχρι</span></strong> 35
σχετ[i] ← χρ[i]/(70* GPH[i])
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span></strong>

! Δ4
<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 2 <strong><span style="color: #0000ff;">μέχρι</span></strong> 35
<strong><span style="color: #0000ff;">Για</span></strong> j <strong><span style="color: #0000ff;">από</span></strong> 35 <strong><span style="color: #0000ff;">μέχρι</span></strong> i <strong><span style="color: #0000ff;">με_βήμα</span></strong> -1
<strong><span style="color: #0000ff;">Αν</span></strong> σχετ[j - 1] > σχετ[j] <strong><span style="color: #0000ff;">τότε</span></strong>
<strong><span style="color: #0000ff;">Αντιμετάθεσε</span></strong> σχετ[j - 1], σχετ[j]
<strong><span style="color: #0000ff;">Αντιμετάθεσε</span></strong> ον[j - 1], ον[j]
<strong><span style="color: #0000ff;">Αντιμετάθεσε</span></strong> κατ[j - 1], κατ[j]
<strong><span style="color: #0000ff;">Τέλος_αν</span></strong>
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span></strong>
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span>

<span style="color: #008000;">! Δ3</span></strong>
π1 ← 0
π2 ← 0
π3 ← 0
<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 1 <strong><span style="color: #0000ff;">μέχρι</span></strong> 35
<strong><span style="color: #0000ff;">Αν</span></strong> κατ[i] = 'C1' <strong><span style="color: #0000ff;">τότε</span></strong>
π1 ← π1 + 1
ον1[π1] ← ον[i] <span style="color: #339966;">!για Δ4, α τρόπος</span>
<strong><span style="color: #0000ff;">αλλιώς_αν</span></strong> κατ[i] = 'C2' <strong><span style="color: #0000ff;">τότε</span></strong>
π2 ← π2 + 1
ον2[π2] ← ον[i] <span style="color: #339966;">!για Δ4, α τρόπος</span>
<strong><span style="color: #0000ff;"> αλλιώς</span></strong>
π3 ← π3 + 1
ον3[π3] ← ον[i] <span style="color: #339966;">!για Δ4, α τρόπος</span>
<strong><span style="color: #0000ff;">Τέλος_αν
Τέλος_επανάληψης</span></strong>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'Τα περισσότερα Σκάφη ανήκουν στη κατηγορία: '
<strong><span style="color: #0000ff;"><span style="color: #339966;">! α τρόπος</span>
</span></strong><span style="color: #000000;">μαξ<- π1
μαξ_κατ<- 'C1'
αν π2 > μαξ τότε
μαξ_κατ<- 'C2'
τέλος_αν
αν π3 > μαξ τότε
μαξ_κατ<- 'C3'
τέλος_αν</span><strong><span style="color: #0000ff;">
Εμφάνισε </span></strong><span style="color: #0000ff;"><span style="color: #000000;">μαξ_κατ</span></span><strong><span style="color: #0000ff;">

<span style="color: #339966;">! β τρόπος</span>
Αν</span></strong> π1 > π2 και π1 > π3 <strong><span style="color: #0000ff;">τότε</span></strong>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'C1'
<strong><span style="color: #0000ff;">αλλιώς_αν</span></strong> π2 > π1 και π2 > π3 τότε
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'C2'
<strong><span style="color: #0000ff;">αλλιώς</span></strong>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'C3'
<strong><span style="color: #0000ff;">Τέλος_αν</span></strong>

<span style="color: #008000;"><strong>! Δ4</strong></span>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'ΜΕΤΑΛΛΙΑ'
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'Γενική Κατηγορία: '

<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 1 <strong><span style="color: #0000ff;">μέχρι</span></strong> 3
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> ον[i]
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span></strong>

<strong><span style="color: #339966;">! α τρόπος
! εφόσον έχουμε δημιουργήσει τους ον1,ον2,ον3 στο Δ3</span>
<span style="color: #0000ff;">Εμφάνισε '</span></strong><span style="color: #0000ff;"><span style="color: #000000;">Οι καλύτεροι ανά κατηγορία:</span></span><strong><span style="color: #0000ff;">'
Εμφάνισε</span></strong> 'Κατηγορία C1:'
<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 1 <strong><span style="color: #0000ff;">μέχρι</span></strong> 3
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> ον1[i]
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span></strong>

<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'Κατηγορία C2:'
<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 1 <strong><span style="color: #0000ff;">μέχρι</span></strong> 3
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> ον2[i]
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span></strong>

<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'Κατηγορία C3:'
<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 1 <strong><span style="color: #0000ff;">μέχρι</span></strong> 3
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> ον3[i]
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span></strong>

<strong><span style="color: #339966;">!β τρόπος
</span></strong><strong><span style="color: #0000ff;">Εμφάνισε '</span></strong><span style="color: #0000ff;"><span style="color: #000000;">Οι καλύτεροι ανά κατηγορία:</span></span><strong><span style="color: #0000ff;">'
Εμφάνισε</span></strong> 'Κατηγορία C1:'
πλήθος<- 0
i<- 1
<span style="color: #000000;">Όσο i<=35 <span style="color: #0000ff;">και <span style="color: #000000;">πλήθος <</span></span> 3 <span style="color: #0000ff;">επανάλαβε</span></span>
<span><span style="color: #000000;"> Αν κατ[i] = 'C1' τότε
</span> πλήθος <- πλήθος + 1
<span style="color: #000000;">Εμφάνισε ον[i]</span>
<span style="color: #000000;"> Τέλος_αν
i<- i + 1</span>
<span style="color: #000000;">Τέλος_επανάληψης</span><b style="color: #0000ff;">
</b></span>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'Κατηγορία C2:'
πλήθος<- 0
i<- 1
<span style="color: #000000;">Όσο i<=35 <span style="color: #0000ff;">και <span style="color: #000000;">πλήθος <</span></span> 3 <span style="color: #0000ff;">επανάλαβε</span></span>
<span style="color: #000000;"> Αν κατ[i] = 'C2' τότε
πλήθος <- πλήθος + 1
</span> <span style="color: #000000;">Εμφάνισε ον[i]</span>
<span style="color: #000000;"> Τέλος_αν
</span> i<- i + 1
<span style="color: #000000;">Τέλος_επανάληψης</span><b style="color: #0000ff;">
</b>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'Κατηγορία C3:'
πλήθος<- 0
i<- 1
<span style="color: #000000;">Όσο i<=35 <span style="color: #0000ff;">και <span style="color: #000000;">πλήθος <</span></span> 3 <span style="color: #0000ff;">επανάλαβε</span></span>
<span style="color: #000000;"> Αν κατ[i] = 'C3' τότε
πλήθος <- πλήθος + 1
</span> <span style="color: #000000;">Εμφάνισε ον[i]</span>
<span style="color: #000000;"> Τέλος_αν
i<- i + 1</span>
<span style="color: #000000;">Τέλος_επανάληψης</span>
<strong><span style="color: #0000ff;">Τέλος</span></strong> Θέμα_Δ

<strong><span style="color: #0000ff;">Αλγόριθμος</span></strong> Αρχείο_Εισόδου_ΗμερήσιαΜαιουΘΔ2010
<strong><span style="color: #0000ff;">Για</span></strong> i <strong><span style="color: #0000ff;">από</span></strong> 1 <strong><span style="color: #0000ff;">μέχρι</span></strong> 35
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'ον', i
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> i + 40
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 100 - i
<strong><span style="color: #0000ff;">Αν</span></strong> i mod 2 = 0 <strong><span style="color: #0000ff;">τότε</span></strong>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'C1'
<strong><span style="color: #0000ff;">αλλιώς_αν</span></strong> i mod 3 = 0 <strong><span style="color: #0000ff;">τότε</span></strong>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'C2'
<strong><span style="color: #0000ff;">αλλιώς</span></strong>
<strong><span style="color: #0000ff;">Εμφάνισε</span></strong> 'C3'
<strong><span style="color: #0000ff;">Τέλος_αν</span></strong>
<strong><span style="color: #0000ff;">Τέλος_επανάληψης</span></strong>
<span style="color: #0000ff;">Τέλος
</span>
</code class="language-javascript">

Share This