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

Τουρνουά LOL

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

 

Σε ένα τουρνουά LOL(league of legends) συμμετέχουν 40 παίκτες. Για τις ανάγκες της τελικής κατάταξης θα χρειαστεί ένας αλγόριθμος. Ο αλγόριθμος να διαβάζει και να αποθηκεύει σε κατάλληλους πίνακες τα ονόματα και το πλήθος των νικών κάθε συμμετέχοντα (να ελέγχεται αν ο αριθμός που δόθηκε είναι ακέραιος) και να εμφανίζει τα ονόματα των 3 νικητών.

Επιμέλεια: Σπύρος Λακασάς

Λύση Άσκησης: 
 
Αλγόριθμος LOL
 
!Για το πρώτο ερώτημα της άσκησης θα πρέπει να καταχωρήσουμε τα ονόματα και το πλήθος των νικών κάθε παίκτη σε κατάλληλους μονοδιάστατους πίνακες.
 
Για ι από 1 μέχρι 40
  Εμφάνισε "Δώσε το όνομα του παίκτη"
  Διάβασε ΟΝ[ι] 
  Εμφάνισε "Δώσε το πλήθος των νικών του. Ο αριθμός να είναι ακέραιος."
  Διάβασε ΠΝΙΚ[ι] 
 
!Με τη συνθήκη στην Όσο ελέγχουμε αν ο αριθμός που δόθηκε σαν είσοδο είναι ακέραιος.
 
  Όσο ΠΝΙΚ[ι] ≠ Α_Μ(ΠΝΙΚ[ι]) επανάλαβε
    Εμφάνισε "Ο αριθμός που δώσατε δεν είναι ακέραιος. Ξαναδώστε!"
    Διάβασε ΠΝΙΚ[ι] 
  Τέλος_επανάληψης
Τέλος_επανάληψης
 
!Για το επόμενο ερώτημα θα χρειαστεί να ταξινομήσουμε τον πίνακα των ονομάτων με βάση το πλήθος των νικών κάθε παίκτη. Χρειαζόμαστε ταξινόμηση και όχι την τεχνική εύρεσης Μεγίστου γιατι θέλει τους 3 καλύτερους και όχι μόνο τον 1ο. Ο αλγόριθμος ταξινόμησης που θα χρησιμοποιήσουμε θα είναι αυτός της φυσαλίδας.
 
Για ι από 2 μέχρι 40
  Για j από 40 μέχρι ι με_βήμα -1
    Αν ΠΝΙΚ[j] > ΠΝΙΚ[j - 1] τότε
      Αντιμετάθεσε ΠΝΙΚ[j], ΠΝΙΚ[j] 
      Αντιμετάθεσε ΟΝ[j], ΟΝ[j - 1] 
    Τέλος_αν
  Τέλος_επανάληψης
Τέλος_επανάληψης
 
Εμφάνισε "Οι 3 νικητές είναι "
Για ι από 1 μέχρι 3
  Εμφάνισε ΟΝ[ι] 
Τέλος_επανάληψης
Τέλος LOL