Κυριακή 24 Μαΐου 2015

EUROVISION 2015

Στο διαγωνισμό της eurovision λαμβάνουν μέρος 27 χώρες οι οποίες εμφανίζονται μια - μια και παρουσιάζουν το τραγούδι τους στο κοινό. Έπειτα ξεκινά η διαδικασία της βαθμολόγησης από κάθε μια από τις 40 χώρες (πρώτα οι 27 που συμμετέχουν στον τελικό και έπειτα οι 13 που αποκλείστηκαν από τον τελικό επειδή δεν προκρίθηκαν από τους ημιτελικούς). Κάθε χώρα πρέπει να ψηφίσει 10 άλλες με βαθμούς από 1-8, 10 και 12. Οι βαθμοί αθροίζονται και προκύπτει η τελική βαθμολογία κάθε χώρας ώστε να αναδειχθεί η νικήτρια. Εννοείται ότι μια χώρα δεν ψηφίζει τον εαυτό της. Να γραφεί αλγόριθμος ο οποίος:
α. θα διαβάζει τα ονόματα των 27 χωρών του τελικού και θα τα καταχωρεί σε πίνακα Χ[27] και σε πίνακα ΧΩΡ_ΒΑΘ[40] τα ονόματα των χωρών που ψηφίζουν με τα πρώτα 27  να είναι με τη σειρά που δόθηκαν στον Χ[27]
β. θα διαβάζει τους βαθμούς που έδωσε κάθε χώρα σε άλλες 10 ελέγχοντας την ορθότητα των βαθμών (θετικοί από 1 ως 8, 10 και 12, στον εαυτό της εισάγεται η τιμή 0). Θεωρήστε ότι στις χώρες που δεν ψηφίζει επίσης δίνεται το μηδέν ως τιμή εισόδου.
γ. θα υπολογίζει τη συνολική βαθμολογία κάθε χώρας
δ. θα ταξινομεί και θα εμφανίζει τις χώρες βάσει συνολικής βαθμολογίας καθώς και τη νικήτρια (θεωρείστε ότι δεν υπάρχουν ισόβαθμες χώρες)
ε.  θα υπολογίζει πόσα 12άρια έχει κάθε χώρα, ποια έχει τα πιο πολλά και αν τα έχει η νικήτρια να εμφανίζει σχετικό μήνυμα (θεωρείστε ότι δεν υπάρχουν χώρες με ίδιο πλήθος σε 12άρια και δεν τα έχει υποχρεωτικά η νικήτρια τα περισσότερα)
στ. θα εμφανίζει ποιες χώρες ψήφισαν την Ελλάδα και τί βαθμούς της έδωσαν (η Ελλάδα είναι στις 27 χώρες του τελικού)


Αλγόριθμος eurovision_2015_2
Για i από 1 μέχρι 27
        Διάβασε X[i]
        Για j από 1 μέχρι 40
               Αν i  j τότε
                     Αρχή_επανάληψης
                                Διάβασε βαθ[i,j]
                     Μέχρις_ότου (βαθ[i,j]  0 και βαθ[i,j]  8) ή βαθ[i,j]=10 ή βαθ[i,j]=12
               αλλιώς
                     βαθ[i,j]  0
               Τέλος_αν
         Τέλος_επανάληψης
Τέλος_επανάληψης
Για
 j από 1 μέχρι 40
        Αν j  27 τότε
             ΧΩΡ_ΒΑΘ[j]  X[i]
        αλλιώς
             Διάβασε ΧΩΡ_ΒΑΘ[j]
        Τέλος_αν
Τέλος_επανάληψης
Για
 i από 1 μέχρι 27
        ΣΒΑΘ[i]  0
        Για j από 1 μέχρι 40
              ΣΒΑΘ[i]  ΣΒΑΘ[i] + βαθ[i,j]
        Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 2 μέχρι 27
        Για j από 27 μέχρι i με_βήμα -1
               Αν ΣΒΑΘ[j-1] < ΣΒΑΘ[j] τότε
                     Αντιμετάθεσε ΣΒΑΘ[j-1], ΣΒΑΘ[j]
                     Αντιμετάθεσε X[j-1], X[j]
                     Για k από 1 μέχρι 40
                            Αντιμετάθεσε βαθ[j-1,k] , βαθ[j,k]
                     Τέλος_επανάληψης
                Τέλος_αν
        Τέλος_επανάληψης
Τέλος_επανάληψης

Εμφάνισε 'νικήτρια η:', X[1]
Για i από 2 μέχρι 27
    Εμφάνισε X[i]
Τέλος_επανάληψης
max  -1
Για i από 1 μέχρι 27
        πλ12[i]  0
        j  1
        Όσο j  40 και βαθ[i,j] =12 επανάλαβε
                  j  j + 1
         Τέλος_επανάληψης
         πλ12[i]  j - 1
         Αν πλ12[i] > max τότε
                max  πλ12[i]
                pos  i
         Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε X[pos]
Αν pos = 1 τότε
       Εμφάνισε 'η νικήτρια έχει τα πιο πολλά 12άρια'
Τέλος_αν
i  1
flag  Ψευδής
Όσο i  27 και flag = Ψευδής επανάλαβε
          Αν X[i] = 'ΕΛΛΑΔΑ' τότε
                flag  Αληθής
                pos  i
                Για j από 1 μέχρι 40
                      Αν βαθ[pos,j]  0 τότε
                            Εμφάνισε ΧΩΡ_ΒΑΘ[j]
                      Τέλος_αν
                Τέλος_επανάληψης

            αλλιώς
                 i  i + 1

            Τέλος_αν
Τέλος_επανάληψης
Τέλος eurovision_2015_2

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου