ΑΣΚΗΣΕΙΣ ΣΤΟΥΣ ΠΙΝΑΚΕΣ

 Μάθημα: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

1. Σε ένα διαγωνισμό συμμετέχουν 500 υποψήφιοι. Να γραφεί αλγόριθμος που

 α) να διαβάζει τα ονοματεπώνυμά τους και να τα καταχωρεί σε έναν πίνακα. Επίσης να καταχωρεί τις βαθμολογίες τους σε έναν άλλο πίνακα. Οι βαθμολογίες είναι ακέραιοι αριθμοί στην κλίμακα 0 έως 100.

 β) να υπολογίζει το πλήθος των διαφορετικών βαθμολογιών που έχουν πετύχει οι υποψήφιοι.

 γ) να διαβάζει έναν αριθμό Ν. Κατόπιν να εκτυπώνει τα ονόματα όλων όσων έχουν πετύχει την Ν-ιοστή καλύτερη βαθμολογία. (π.χ. αν Ν=3 να εκτυπώνει τα ονόματα αυτών που έχουν την 3η καλύτερη βαθμολογία). Εάν το Ν έχει τέτοια τιμή που δε θα αντιστοιχεί σε αυτήν καμία βαθμολογία να εμφανίζει σχετικό μήνυμα.

 

 2. Nα γραφεί πρόγραμμα που:

α. να διαβάζει έναν αριθμό Ν. Ο αριθμός αυτός θα προσδιορίζει το πλήθος των πραγματικών αριθμών που θα δοθούν στο βήμα β. Ο αριθμός αυτός πρέπει να είναι μεγαλύτερος του 0 και μικρότερος ή ίσος του 100. Να γίνεται ο έλεγχος ότι ο αριθμός Ν που πληκτρολογήθηκε πληροί τις παραπάνω προϋποθέσεις.

β. Να διαβάζει Ν πραγματικούς αριθμούς  και να τους αποθηκεύει σε έναν πίνακα Α.

γ. Να αλλάζει τη θέση των Ν στοιχείων του Πίνακα Α κάνοντας το πρώτο στοιχείο τελευταίο, το δεύτερο προτελευταίο, το τρίτο στοιχείο τρίτο από το τέλος  κ.ο.κ.

 

3. Να γραφεί αλγόριθμος που :

 α. να διαβάζει από το πληκτρολόγιο Ν ακέραιους αριθμούς ( θετικούς και αρνητικούς) και να τους αποθηκεύει σε έναν πίνακα Α.

 β. να αναδιατάσσει τα στοιχεία του πίνακα Α έτσι ώστε οι θετικοί αριθμοί να είναι τοποθετημένοι στις πρώτες θέσεις του πίνακα κατά φθίνουσα σειρά και οι αρνητικοί να ακολουθούν στις επόμενες θέσεις τοποθετημένοι με αύξουσα σειρά. π.χ. αν δόθηκαν οι αριθμοί 12, -3, 14, -2, 15, -1, 17, 11, 19 αυτοί θα πρέπει να τοποθετούνται από τον αλγόριθμο όπως παρακάτω: 19 17 15 14 12 11 -3 -2 -1

γ. να εκτυπώνει τα στοιχεία του πίνακα Α μετά την αναδιάταξή τους στο βήμα β.

 

4. Να γραφεί αλγόριθμος που :

  α. να διαβάζει από το πληκτρολόγιο Ν ακέραιους αριθμούς ( θετικούς και αρνητικούς) και να τους αποθηκεύει σε έναν πίνακα Α.

  β. να αναδιατάσσει τα στοιχεία του πίνακα Α έτσι ώστε οι θετικοί αριθμοί να είναι τοποθετημένοι στις πρώτες θέσεις του πίνακα κατά αύξουσα σειρά και οι αρνητικοί να ακολουθούν στις επόμενες θέσεις τοποθετημένοι και αυτοί με αύξουσα σειρά. π.χ. αν δόθηκαν οι αριθμοί 12, -5, 14, -2, 15, -1, 17, 11, 19 αυτοί θα πρέπει να τοποθετούνται από τον αλγόριθμο όπως παρακάτω: 11 12 14 15 17 19 -5 -2 -1

 γ. να εκτυπώνει τα στοιχεία του πίνακα Α μετά την αναδιάταξή τους στο βήμα β.

 

 5. Δίνεται πίνακας Α με Ν στοιχεία. Να γραφεί αλγόριθμος που να τα αναδιατάσσει έτσι ώστε τα Μ μεγαλύτερα (Μ<Ν) να είναι τοποθετημένα στις πρώτες θέσεις του πίνακα κατά αύξουσα σειρά και τα υπόλοιπα (Ν-Μ) στοιχεία να τοποθετηθούν στις επόμενες θέσεις του πίνακα

 α. κατά αύξουσα σειρά

 β. κατά φθίνουσα σειρά

 

 6. Δίνεται πίνακας Α με Ν στοιχεία. Να γραφεί αλγόριθμος που να τα αναδιατάσσει έτσι ώστε τα στοιχεία του πίνακα με τιμή μεγαλύτερη του 1000 (Α[ι]>1000) να είναι τοποθετημένα στις πρώτες θέσεις του πίνακα κατά αύξουσα σειρά και τα υπόλοιπα  στοιχεία με τιμή μικρότερη του 1000 να τοποθετηθούν στις επόμενες θέσεις του πίνακα

 α. κατά αύξουσα σειρά

 β. κατά φθίνουσα σειρά

 

 7. Δίνεται πίνακας Α με Ν στοιχεία. Να γραφεί αλγόριθμος που να διαγράφει το τελευταίο στοιχείο του πίνακα (δηλαδή αυτό που βρίσκεται στη θέση Ν) και να μεταφέρει όλα τα υπόλοιπα στοιχεία του πίνακα κατά μία θέση πάνω έτσι ώστε να καλύψουν το κενό του διαγραμμένου στοιχείου. [δηλαδή το 1ο στοιχείο του πίνακα να γίνει 2ο, το 2ο να γίνει 3ο κ.ο.κ. το (Ν-1) στοιχείο του πίνακα να γίνει Ν-ιοστό] Στην κενή θέση του πρώτου στοιχείου να γραφεί ο αριθμός 0.

 Παράδειγμα ο πίνακας Α με τα ακόλουθα 6 στοιχεία: 3, 7, 2, 1, 12, 10. Θα πρέπει να τροποποιείται για να έχει την παρακάτω μορφή: 0, 3, 7, 2, 1, 12.

 

 8. Να γραφεί αλγόριθμος που

 α. να διαβάζει και να καταχωρεί Μ αριθμούς σε έναν πίνακα Α[Μ] και άλλους Ν αριθμούς σε έναν πίνακα Β[Ν].                                                        

 β. Να ενώνει τους 2 πίνακες Α και Β σε έναν πίνακα Γ[Μ+Ν] τοποθετώντας πρώτα τα στοιχεία του Α και στις αμέσως επόμενες θέσεις τα στοιχεία του πίνακα Β

 Παράδειγμα Α: 1, 5, 3, 2, 7   B: 4, 12, 6, 0.   

 O πίνακας Γ θα εxει τα στοιχεία : 1, 5, 3, 2, 7, 4, 12, 6, 0                 

 γ. Να υπολογίζει το μέσο όρο των στοιχείων του πίνακα Γ.             

     ( Οι αριθμοί Μ και Ν να θεωρηθούν ως δεδομένοι για τον αλγόριθμο)

 

    9. Σε μια χώρα της Ευρωπαϊκής Ένωσης γίνονται εκλογές. Συμμετέχουν 10 εκλογικοί συνδυασμοί. Η χώρα διαιρείται σε 12 εκλογικές περιφέρειες.

    Να γραφεί αλγόριθμος που:

    α. να διαβάζει τα ονόματα των 12 εκλογικών συνδυασμών και να τα αποθηκεύει σε πίνακα  με το όνομα Ε.

    β. Να διαβάζει το πλήθος των ψήφων κάθε εκλογικού συνδυασμού σε καθεμία από τις 12 περιφέρειες.

    γ. Να υπολογίζει το συνολικό ποσοστό ψήφων κάθε συνδυασμού για το σύνολο της χώρας

    δ. Να εκτυπώνει το όνομα κάθε συνδυασμού ακολουθούμενο από το συνολικό  ποσοστό του που υπολογίστηκε στο προηγούμενο βήμα.

    ε. Να βρίσκει και να εκτυπώνει τον συνδυασμό με το συνολικό μεγαλύτερο πλήθος ψήφων.

   ( Σημ : Θεωρείστε ότι δεν υπάρχουν λευκά ή άκυρα ψηφοδέλτια)

 

10. Σε ένα διαγωνισμό συμμετέχουν 500 υποψήφιοι. Εξετάζονται σε 9 μαθήματα. Το 3ο από αυτά είναι η Πληροφορική. Οι 100 καλύτεροι με βάση το μέσο όρο τους θα πάρουν υποτροφία. Επιπλέον η Ένωση Επιστημόνων Πληροφορικής (Ε.Ε.Π.) προτίθεται να βραβεύσει τους 30 καλύτερους υποψήφιους στο μάθημα της πληροφορικής εφόσον όμως βρίσκονται μέσα στους 100 πρώτους σύμφωνα με την κατάταξη που έγινε με βάση τους μέσους όρους τους. Να γραφεί αλγόριθμος που:

α. Να διαβάζει τα ονόματα των υποψηφίων και να τα καταχωρεί σε έναν πίνακα με το όνομα Ο.

β. Να διαβάζει τους βαθμούς καθενός υποψηφίου και στα 9 μαθήματα και να τους καταχωρεί σε πίνακα δύο διαστάσεων με το όνομα Β.

γ. Να βρίσκει και να εκτυπώνει τα ονόματα των 30 καλύτερων στο μάθημα της πληρ/κής

δ. Να υπολογίζει τους μέσους όρους και στα 9 μαθήματα για όλους τους υποψήφιους και να τους καταχωρεί σε ξεχωριστό πίνακα.

ε. να εκτυπώνει τα ονόματα των 100 καλύτερων υποψηφίων με βάση το μέσο όρο τους ξεκινώντας από αυτόν με τον μεγαλύτερο μέσο όρο.

στ. Να εκτυπώνει τα ονόματα αυτών που θα βραβεύσει η Ε.Ε.Π.

Σημείωση : Μη λαμβάνετε υπ' όψιν σας περιπτώσεις ισοβαθμίας.

 

 11.   Μια πολυεθνική εταιρία έχει παρουσία σε 50 χώρες σε όλο τον κόσμο. Σε κάθε χώρα από τις 50 έχει 5 υποκαταστήματα. Να γραφεί αλγόριθμος που :

  α. Να διαβάζει τους κωδικούς αριθμούς κάθε υποκ/τος και να τους αποθηκεύει σε πίνακα 2 διαστάσεων (50χ5) όπου κάθε γραμμή αντιστοιχεί στη χώρα.

  β. Να διαβάζει τις πωλήσεις κάθε υποκ/τος και για τις 50 χώρες και να τις αποθηκεύει σε άλλο πίνακα 2 διαστάσεων (50χ5).

  γ. Να εμφανίζει τους κωδικούς αριθμούς και τις αντίστοιχες πωλήσεις των 50 υποκ/των που έχουν τις περισσότερες πωλήσεις.

 

 12.   Δίνεται πίνακας Α δύο διαστάσεων (Ν γραμμών και Μ στηλών) και μονοδιάστατος πίνακας Β με πλήθος στοιχείων το γινόμενο ΝχΜ. Να γραφεί αλγόριθμος που μεταφέρει με τη σειρά όλα τα στοιχεία του πίνακα Β, ξεκινώντας από το πρώτο στον πίνακα Α γεμίζοντας πρώτα την 1η γραμμή του Α, μετά τη 2η κ.ο.κ. μέχρι και την Νιοστή. (Παράδειγμα : Αν Ν=3 και Μ=2 και ο πίνακας Β έχει τα στοιχεία [12  18  2  4  7  11] τότε αυτά θα μεταφερθούν στον πίνακα Α όπως παρακάτω:   [12  18 

                                                                                                   2  4 

                                                                                                   7  11]

 

   13. Σε ένα τουρνουά μπάσκετ συμμετέχουν 12 ομάδες. Κάθε ομάδα παίζει μόνο μια φορά με όλες τις υπόλοιπες του τουρνουά. Κάθε ομάδα έχει 10 παίκτες.

 Να γραφτεί αλγόριθμος που:

 α. Να διαβάζει τα ονόματα των παικτών μίας ομάδας και να τα καταχωρεί σε πίνακα με όνομα Ο.

 β. Να διαβάζει τους πόντους που σημείωσε ο κάθε παίκτης της ομάδας σε όλα τα παιχνίδια του τουρνουά που σημείωσε η ομάδα. (Σημ. Αν ένας παίκτης σε κάποιον αγώνα δεν είχε χρόνο συμμετοχής δεν καταχωρούμε 0 στον πίνακα αλλά -1)

 γ. Θα εμφανίζει για κάθε παίκτη το ονοματεπώνυμό του, ακολουθούμενο από το μέσο όρο πόντων του στους αγώνες που είχε συμμετοχή.

 

 14. Πενήντα (50) διαγωνιζόμενοι συμμετέχουν σε ένα διαγωνισμό που αποτελείται από  πολλές δοκιμασίες. Ισχύει ο παρακάτω κανόνας:

          Κανόνας: Όταν ο διαγωνιζόμενος βαθμολογηθεί σε κάποια δοκιμασία με βαθμό μικρότερο του  

         τρία (3) χάνει το δικαίωμα να συμμετέχει σε επιπλέον δοκιμασίες και τερματίζει η συμμετοχή του  

         στο διαγωνισμό.

         Να γραφεί αλγόριθμος που:

         α. Να διαβάζει τα ονόματα των 50 υποψηφίων και να τα αποθηκεύει σε πίνακα ΟΝ.

         β. Να διαβάζει για κάθε διαγωνιζόμενο τους πόντους με τους οποίους βαθμολογήθηκε σε κάθε

         δοκιμασία που συμμετείχε. Η ανάγνωση των πόντων της βαθμολογίας ενός διαγωνιζόμενου

         σταματά σύμφωνα με το κριτήριο του κανόνα που αναφέρεται παραπάνω και ο αλγόριθμος

         συνεχίζει με την ανάγνωση της βαθμολογίας του επόμενου διαγωνιζόμενου.

         γ. Να εμφανίζει το όνομα και τους συνολικούς πόντους του νικητή.

         δ. Να εμφανίζει το πλήθος των δοκιμασιών στις οποίες εξετάστηκε ο νικητής.

         Σημ. 1: Θεωρείστε ότι οι δοκιμασίες είναι κλιμακούμενης δυσκολίας και κάθε υποψήφιος θα 

         βαθμολογηθεί οπωσδήποτε σε κάποια δοκιμασία με βαθμό μικρότερο του τρία.

         Σημ. 2: Δεν υπάρχουν ισοβαθμήσαντες.

         Σημ. 3: Στη συνολική βαθμολογία του διαγωνιζόμενου θα λαμβάνεται υπόψιν και ο βαθμός της

         τελευταίας δοκιμασίας στην οποία βαθμολογήθηκε χαμηλότερα του τρία.