Παρασκευή, 15 Δεκεμβρίου 2017

Κομάντο εν δράση...

Βαθμός Δυσκολίας:
3/5
Εκφώνηση Ασκησης: 

 

Η διοίκηση της Α' Μοίρας Αλεξιπτωτιστών (Α' Σχολ) καταχωρεί τα ονόματα των 15 καλύτερων κομάντο της μοίρας και τους βαθμούς που πήραν καθένας τους στις 5 ελεύθερες πτώσεις από C-130 και ύψος 3000 ποδιών με χρήση μάσκας οξυγόνου και προσγείωση σε βραχονησίδα για την κατάληψη της. Να κατασκευάσετε αλγόριθμο  ο οποίος:

α) θα αποθηκεύει τα στοιχεία σε κατάλληλους πίνακες

β) να εμφανίζει το όνομα ή τα ονόματα των κομάντο που είχαν το μεγαλύτερο πλήθος βαθμών άριστα (άριστα θεωρείται ο βαθμός 9 και 10 στη κλίμακα 1-10)

γ) να εμφανίζει το μεγαλύτερο βαθμό και το όνομα του αλεξιπτωτιστή στη τελευταία πτώση (θεωρείστε ότι είναι μοναδικός)

δ) να εμφανίζει αν κάποιος αλεξιπτωτιστής είναι ικανός ή όχι για να καταλάβει μια βραχονησίδα. Αν είναι ικανός κάποιος εμφανίζει το μήνυμα "Τιμητική 5 μέρες" αν όχι να εμφανίζει "Πέσε 200 κάμψεις". Ικανός κρίνεται κάποιος αν ο Μέσος Όρος των βαθμολογιών του από τις πτώσεις είναι μεγαλύτερος του 5.

Επιμέλεια: Στράτος Κοντογεώργος

Λύση Άσκησης: 
 
Αλγόριθμος Κομάντο
 
!Ερώτημα α
!Θα αποθηκεύσουμε τα ονόματα των κομάντο σε ένα μονοδιάστατο πίνακα 15 στοιχείων. Σε ένα δισδιάστατο πίνακα με 15 γραμμές και 5 στήλες θα αποθηκεύσουμε τις βαθμολογίες που πήρε κάθε κομάντο σε κάθε πτώση.
 
Για ι από 1 μέχρι 15
  Εμφάνισε "Δώσε το όνομα του κομάντο"
  Διάβασε ΚΟΜ[ι] 
  Για j από 1 μέχρι 5
    Εμφάνισε "Δώσε την βαθμολογία του ", ΚΟΜ[ι], " για την ", j, "η άσκηση."
    Διάβασε Β[ι, j] 
  Τέλος_επανάληψης
Τέλος_επανάληψης
 
 
!Ερώτημα β
!Αρχικά θα υπολογίσουμε για κάθε κομάντο το πλήθος των βαθμών στους οποίους πήρε άριστα και θα το αποθηκεύσουμε σε ένα μονοδιάστατο. Δημιουργούμε τον μονοδιάστατο γιατί θα τον χρειαστούμε για μετέπειτα επεξεργασία. Στη συνέχεια θα βρούμε τη μεγαλύτερη τιμή του πίνακα, μεθοδολογία "Εύρεσης ΜΑΧ/ΜΙΝ". Επειδή στην εκφώνηση έμμεσα μας λέει ότι δεν υπάρχει μόνο ένα κομάντο που έχει αυτή τη μέγιστη τιμή ("να εμφανίζει το όνομα ή τα ονόματα") γι' αυτό θα χρειαστεί να ξαναψάξουμε τον πίνακα μήπως υπάρχουν περισσότερα από ένα κομάντα που έχουν αυτή τη μεγαλύτερη τιμή που βρήκαμε πριν λίγο.
 
Για ι από 1 μέχρι 15
  ΠΛΑΡ[ι] ← 0
  Για j από 1 μέχρι 5
    Αν Β[ι, j] ≥ 9 τότε
      ΠΛΑΡ[ι] ← ΠΛΑΡ[ι] + 1
    Τέλος_αν
  Τέλος_επανάληψης
Τέλος_επανάληψης
 
!Εύρεση ΜΑΧ
ΜΑΧ ← ΠΛΑΡ[1] 
Για ι από 2 μέχρι 15
  Αν ΠΛΑΡ[ι] > ΜΑΧ τότε
    ΜΑΧ ← ΠΛΑΡ[ι] 
  Τέλος_αν
Τέλος_επανάληψης
 
!Ψάχνουμε τον πίνακα ξανά μήπως έχει και κάποιος άλλος αυτό το ΜΑΧ που βρίκαμε πριν και εμφανίζουμε το όνομα του.
 
Για ι από 1 μέχρι 15
  Αν ΠΛΑΡ[ι] = ΜΑΧ τότε
    Εμφάνισε ΚΟΜ[ι] 
  Τέλος_αν
Τέλος_επανάληψης
 
!Ερώτημα γ
!Θα βρούμε το μέγιστο στοιχείο στη τελευταία στήλη του δισδιάστατου πίνακα που αντιπροσωπεύει την τελευταία πτώση για κάθε κομάντο.
 
ΜΑΧ ← Β[1, 5] 
ον_ΜΑΧ ← ΚΟΜ[1] 
Για ι από 2 μέχρι 15
  Αν Β[ι, 5] > ΜΑΧ τότε
    ΜΑΧ ← Β[ι, 5] 
    ον_ΜΑΧ ← ΚΟΜ[ι] 
  Τέλος_αν
Τέλος_επανάληψης
 
Εμφάνισε "Το κομάντο με το μεγαλύτερο βαθμό ", ΜΑΧ, " στη τελευταία πτώση είναι ο ", ον_ΜΑΧ
 
!Ερώτημα δ
!Θα βρούμε το άθροισμα των βαθμολογιών για κάθε κομάντο (άθροισμα ανά γραμμή) και στη συνέχεια θα το διαιρέσουμε με το 5 που είναι το πλήθος των πτώσεων για να βρούμε το μέσο όρο των βαθμολογιών του. Στη συνέχεια θα συγκρίνουμε αυτό το μέσο όρο για να δούμε αν ο κομάντο είναι ικανός ή όχι για να καταλάβει την βραχονησίδα.
 
Για ι από 1 μέχρι 15
  Αθρ ← 0
  Για j από 1 μέχρι 5
    Αθρ ← Αθρ + Β[ι, j] 
  Τέλος_επανάληψης
  ΜΟΒ ← Αθρ/5
  Αν ΜΟΒ > 5 τότε
    Εμφάνισε ΚΟΜ[ι], "Τιμητική 5 μέρες"
  αλλιώς
    Εμφάνισε ΚΟΜ[ι], "Πεσε 200 κάμψεις"
  Τέλος_αν
Τέλος_επανάληψης
 
 
Τέλος Κομάντο