Επιλογή Σελίδας

 

 1)ΚΡΕΜΑΛΑ

Να γίνει πρόγραμμα που:

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

Β) να γεμίζει ένα πίνακα Β[8] με κάτω παύλες ( _ )

Γ) στη συνέχεια επαναληπτικά και με την ακόλουθη σειρά 

να τυπώνει τον πίνακα Β,

να ζητά από τον αντίπαλο ένα γράμμα,

να το ψάχνει στον πίνακα Α

και να το βάζει στον πίνακα Β αν υπάρχει μία ή περισσότερες φορές (στις αντίστοιχες θέσεις)

 Η επανάληψη θα σταματά όταν βρεθούν όλα τα γράμματα της λέξης(8) ή δοθούν 3 λάθος γράμματα

Δ) να τυπώνει τη λέξη ΚΕΡΔΙΣΕΣ ή ΕΧΑΣΕΣ                                                    

ΛΥΣΗ>>>

                             

2) EUROVISION

Σε έναν υποθετικό ευρωπαϊκό διαγωνισμό έντεχνου τραγουδιού συμμετέχουν 24 χώρες. Κάθε χώρα ψηφίζει 7 άλλες χώρες δίνοντας 7 διαφορετικές (αλλά συγκεκριμένες) βαθμολογίες οι οποίες είναι αποθηκευμένες σε αύξουσα σειρά στον πίνακα Πόντοι[7].

Πόντοι

1

2

4

7

11

16

22

      1              2               3              4              5             6              7          

Κάθε μια χώρα με τη σειρά δίνει τη βαθμολογία της σε άλλες 7 χώρες. Διαδοχικά δίνει το όνομα της χώρας που θα πάρει τον ένα βαθμό, στη συνέχεια δίνει το όνομα της χώρας που δίνει  τους 2 βαθμούς κλπ μέχρι να δώσει και τους 22 βαθμούς.

Για λόγους αρχειοθέτησης αποθηκεύουμε σε πίνακα Β[24,24] τη βαθμολογία που έδωσε κάθε χώρα στις 7,  της προτίμησής της και στις υπόλοιπες τοποθετούμε το 0. Το στοιχείο Β[i,j],  περιέχει τη βαθμολογία που δίνει η χώρα που βρίσκεται στη γραμμή i στη χώρα που βρίσκεται στη στήλη j.

α) Να γραφεί συνάρτηση η οποία θα δέχεται σαν παράμετρο ένα πίνακα τύπου χαρακτήρα 24 θέσεων και μια λέξη. Η συνάρτηση θα επιστρέφει τη θέση του πίνακα στην οποία υπάρχει η λέξη ή 0 αν η λέξη δεν υπάρχει σε κάποια από τις θέσεις του πίνακα.

β) Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο  αποθηκεύει στον πίνακα Ο[24] τα ονόματα των χωρών που συμμετέχουν στο διαγωνισμό και αποθηκεύει στον πίνακα Πόντοι[7] τους συγκεκριμένους πόντους σε κάθε θέση όπως φαίνεται στο παράδειγμα

διαβάζει για κάθε χώρα τα ονόματα 7  διαφορετικών χωρών στις οποίες δίνει βαθμολογία και θα αποθηκεύει στον πίνακα Β[24,24] την αντίστοιχη βαθμολογία κάνοντας χρήση του πίνακα Πόντοι[7] και με τη βοήθεια της συνάρτησης . Θα πραγματοποιείται έλεγχος εισόδου που θα εξασφαλίζει ότι η κάθε χώρα δεν βαθμολογεί τον εαυτό της και ότι κάθε όνομα χώρας στην οποία δίνει βαθμολογία είναι καταχωρημένη στον πίνακα  Ο[24].

γ) Στη συνέχεια το πρόγραμμα θα υπολογίζει τη συνολική βαθμολογία κάθε χώρας και θα εκτυπώνει μια λίστα με τα ονόματα των χωρών που συμμετείχαν στο διαγωνισμό και την αντίστοιχη βαθμολογία. Η λίστα θα είναι ταξινομημένη κατά φθίνουσα σειρά βαθμολογίας. Σε περίπτωση ισοβαθμίας οι χώρες θα εμφανίζονται σε αλφαβητική σειρά.    

ΛΥΣΗ>>>

3) ΜUNDIAL

Το παγκόσμιο κύπελλο ποδοσφαίρου γνωστό και ως Μουντιάλ διοργανώνεται κάθε 4 χρόνια ανελλιπώς από το 1950 και συμμετείχαν συνολικά 76 ομάδες σε 15 διοργανώσεις μέχρι και την διοργάνωση που έγινε το 2006.  Να γράψετε αλγόριθμο ο οποίος :

 

Α.    Για κάθε ομάδα διαβάζει το όνομά της και το αποθηκεύει σε μονοδιάστατο πίνακα Ομάδα[76] και για κάθε χρονιά διαβάζει τη θέση που κατέλαβε στη διοργάνωση από το 1950 μέχρι και το 2006 και αποθηκεύει σε δισδιάστατο πίνακα Θέση[76,15] θεωρώντας ότι τα αποτελέσματα του 1950 μπαίνουν στην 1η στήλη, του 1954 στη 2η … του 2006 στην 15η. Σε περίπτωση που μια ομάδα δε συμμετείχε σε κάποια διοργάνωση θα δίνεται το 0 στην αντίστοιχη θέση του Θέση[76,15]. Για παράδειγμα :

                                                        Πίνακας Ομάδα                                                    Πίνακας Θέση

ΙΤΑΛΙΑ

 

 

 

???

 

1

ΓΑΛΛΙΑ

 

 

 

???

 

2

………

 

 

 

???

 

 

ΒΡΑΖΙΛΙΑ

 

 

 

 

???

1

 

ΕΛΛΑΔΑ

 

 

 

 

0

0

ΓΕΡΜΑΝΙΑ

 

 

 

???

2

3

ΑΡΓΕΝΤΙΝΗ

 

 

 

???

 

 

 

 

1950

1954

??

2002

2006

 

 

 

 

 

 

 

 

      Z

ΒΡΑΖΙΛΙΑ

ΙΤΑΛΙΑ

 

 

 

 

 

ΓΕΡΜΑΝΙΑ

ΓΑΛΛΙΑ

 

Β.    Να εμφανίζει την ομάδα ή τις ομάδες με τις περισσότερες συμμετοχές σε τελικό.

Γ.     Να εμφανίζει τις ομάδες που όποτε έπαιξαν σε τελικό τον κέρδισαν.  Αν δεν υπάρχει τέτοια ομάδα να εμφανίζει το μήνυμα « Δεν υπάρχει ομάδα που κέρδισε κάθε τελικό που έπαιξε».

Δ.    Να εμφανίζει την ομάδα (ή τις ομάδες, αν είναι περισσότερες) που έπαιξε σε τελικό 3 συνεχόμενες φορές, διαφορετικά να εμφανίζει το μήνυμα « Δεν υπάρχει ομάδα που έπαιξε 3 συνεχόμενες φορές στον τελικό».

Ε.     Για κάθε διοργάνωση (1950 – 2006)  να βρίσκει το ζευγάρι που έπαιξε στον τελικό και να το αποθηκεύει σε ένα πίνακα Ζ[2,15] που σε κάθε στήλη του περιέχει το ζευγάρι του τελικού. (Στον τελικό έπαιξαν  οι ομάδες που κατέλαβαν  τις θέσεις  1 και 2)

ΣΤ.  Να εμφανίζει πόσες φορές έπαιξαν στο τελικό το ζευγάρι Βραζιλία ? Γερμανία

                                                                                              ΛΥΣΗ>>>                                                                              

4)ΕΚΛΟΓΕΣ ΠΕΝΤΑΜΕΛΟΥΣ ΣΥΜΒΟΥΛΙΟΥ

Να γίνει διαδικασία με όνομα ΒΡΕΣ  που να δέχεται ένα πίνακα 10 χαρακτήρων και ένα όνομα και να επιστρέφει τη θέση που βρέθηκε το όνομα στον πίνακα (ή το 0), και την τιμή ΑΛΗΘΗΣ αν βρέθηκε ή τη τιμή ΨΕΥΔΗΣ αν δεν βρέθηκε.

Να γίνει πρόγραμμα για την εκλογή του 5μελούς συμβουλίου ενός σχολείου που:

Α) να γεμίζει ένα πίνακα ΥΠ[10] με τον χαρακτήρα ‘0’.

Να διαβάζει τις υποψηφιότητες των μαθητών στον μονοδιάστατο πίνακα ΥΠ[10]. Να γίνει έλεγχος εγκυρότητας ώστε να μην υπάρχει 2 φορές το ίδιο όνομα(να χρησιμοποιηθεί η διαδικασία ΒΡΕΣ) και στην συνέχεια να τον ταξινομεί κατά αύξουσα αλφαβητική σειρά

Β) η αποθήκευση των ψηφοδελτίων θα γίνεται σε έναν δυσδιάστατο πίνακα ΨΗΦ[300,10]

ΧΑΡΑΚΤΗΡΕΣ, όπου θα έχει τόσες γραμμές όσος και ο αριθμός του εκλογικού σώματος του

σχολείου (300) και τόσες στήλες όσοι και οι υποψήφιοι (10)

Να προετοιμάζει τον πίνακα ΨΗΦ[300,10] για την ψηφοφορία. Δηλαδή να γεμίζει τον πίνακα ΨΗΦ[300,10] με τον χαρακτήρα ‘0’.

Γ) Να δέχεται το ψηφοδέλτιο κάθε μαθητή ως εξής: Ο μαθητής θα έχει την επιλογή να ψηφίσει έως

και 3 υποψηφίους, ή να ψηφίσει λευκό.  Ο αλγόριθμος θα ζητά από τον ψηφοφόρο τα ονόματα των υποψηφίων μέχρι ο ψηφοφόρος να δώσει την λέξη ?τέλος? ή αποφασίσει να ψηφίσει 3 υποψηφίους. Για

κάθε όνομα υποψηφίου που επιλέγει ο κάθε ψηφοφόρος, ο αλγόριθμος θα βάζει τον χαρακτήρα ‘+’

στην κατάλληλη θέση του δυσδιάστατου πίνακα ΨΗΦ[300,10]. (να χρησιμοποιηθεί η διαδικασία ΒΡΕΣ)

Σημ: Ο αριθμός της στήλης (υποψήφιος) του δυσδιάστατου πίνακα ΨΗΦ[300,10] είναι ίδιος με τον αριθμό της θέσης του υποψηφίου στον μονοδιάστατο πίνακα ΥΠ[10]. Για τον ψηφοφόρο που θέλει να ψηφίσει λευκό, ο αλγόριθμος θα διαβάζει την λέξη ?λευκό? και θα βάζει τον χαρακτήρα ‘Λ’ στην πρώτη θέση της αντίστοιχης γραμμής (του τρέχοντος ψηφοδελτίου δηλαδή) του δυσδιάστατου πίνακα ΨΗΦ[300,10].

Δ) Μετά την ολοκλήρωση της ψηφοφορίας θα γίνει η καταμέτρηση των ψηφοδελτίων ως εξής:

Δ1) Πρώτα θα γίνει η καταμέτρηση των λευκών ψηφοδελτίων. Να εκτυπώνει: 1) το μήνυμα ?Λευκά ψηφοδέλτια: ? , για κάθε λευκό ψηφοδέλτιο την θέση (αριθμός γραμμής) του λευκού ψηφοδελτίου, στον δυσδιάστατο πίνακα ΨΗΦ[300,10], τον συνολικό αριθμό των λευκών ψηφοδελτίων και το ποσοστό % επί του συνολικού αριθμού ψηφοδελτίων

Δ2) Η καταμέτρηση των μη λευκών ( έγκυρων )ψηφοδελτίων, θα γίνει μέσα στον μονοδιάστατο πίνακα ΚΑΤ[10] ΑΚΕΡΑΙΕΣ, όπου η κάθε θέση του πίνακα αυτού είναι ένας μετρητής ψήφων του υποψηφίου του οποίου βρίσκεται, στην αντίστοιχη θέση στον πίνακα ΥΠ[10](ψηφοδέλτιο υποψηφίων). Στη συνέχεια θα εκτυπώνει το μήνυμα: ?Σύνολο ψήφων για κάθε υποψήφιο: ? και για κάθε υποψήφιο, το όνομά του από τον πίνακα ΥΠ[10] και το σύνολο των ψήφων που έχει λάβει, από τον πίνακα ΚΑΤ[10].

Ε1) Πρώτα θα γίνει η κατάταξη των υποψηφίων (πίνακας ΥΠ[10]), στις θέσεις από 1 έως και 10, όπου στην 1η θέση θα βρίσκεται ο υποψήφιος που συγκέντρωσε τον μεγαλύτερο αριθμό ψήφων και στην 10η θέση ο υποψήφιος που συγκέντρωσε τον μικρότερο αριθμό ψήφων.

Ε2) για κάθε υποψήφιο θα εκτυπώνει: αριθμό κατάταξης υποψηφίου, όνομα υποψηφίου, αριθμός ψήφων υποψηφίου.

Ζ) Σε περίπτωση ισοψηφίας στην 5η θέση θα γίνονται επαναληπτικές εκλογές για τους ισοβαθμήσαντες (μπορεί η ισοβαθμία να είναι μετά την 5η θέση (6η,7η?.) αλλά στις επαναληπτικές εκλογές θα συμμετέχουν και οι ισοβαθμήσαντες και στις προηγούμενες θέσεις (4η, 3η, ?..) αν υπάρχουν.

Σε περίπτωση ισοψηφίας στην 5η θέση θα εμφανίζει το μήνυμα: ?Απαιτούνται επαναληπτικές εκλογές?, και για κάθε θέση ισοψηφίας τον αριθμό θέσης, και το όνομα υποψηφίου στην θέση αυτή.                                               

ΛΥΣΗ>>>


 5)F1 (ΦΟΡΜΟΥΛΑ 1)

Στο παγκόσμιο πρωτάθλημα Φόρμουλα Ένα αγωνίζονται 20 οδηγοί σε 17 αγώνες. Σε κάθε αγώνα βαθμολογούνται οι 8 πρώτοι οδηγοί ως εξής: 10 βαθμούς ο οδηγός με τον καλύτερο χρόνο, 8 ο οδηγός με τον δεύτερο καλύτερο χρόνο, 6 ο τρίτος, 5 ο τέταρτος, 4 ο πέμπτος κλπ. Να γραφεί αλγόριθμος ο οποίος:

1. Θα διαβάζει τα ονόματα των 20 οδηγών και θα τα αποθηκεύει στον πίνακα ΟΔΗΓΟΙ[20].

2. Θα διαβάζει τους χρόνους των οδηγών σε κάθε αγώνα και θα τους αποθηκεύει στον πίνακα ΕΠΙΔΟΣΕΙΣ[20,17] ελέγχοντας να μην είναι αρνητικός αριθμός.

3. Θα υπολογίζει τους συνολικούς βαθμούς των οδηγών στο πρωτάθλημα και θα τους αποθηκεύει στον πίνακα ΒΑΘΜΟΙ[20].

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

 ΛΥΣΗ>>>


 6)ΠΑΙΧΝΙΔΙ MASTERMIND

Στο επιτραπέζιο παιχνίδι mastermind συμμετέχουν δύο παίκτες. Το παιχνίδι παίζεται ως εξής: Ο πρώτος παίκτης σχηματίζει κρυφά μια λέξη τεσσάρων γραμμάτων, χρησιμοποιώντας τα γράμματα Α, Β, Γ, Δ, Ε και Ζ. Η χρήση των ίδιων γραμμάτων περισσότερες από μία φορές δεν επιτρέπεται.

Ο δεύτερος παίκτης έχει στη διάθεσή του το πολύ 8 προσπάθειες για να μαντέψει την κρυφή λέξη. Σε κάθε προσπάθεια σχηματίζει μια υποψήφια λέξη και ο πρώτος παίκτης τον ενημερώνει για τη ?βαθμολογία? της, δηλαδή:

πόσα γράμματα της υποψήφιας λέξης βρίσκονται στη σωστή θέση, σε σχέση με την κρυφή λέξη.

πόσα γράμματα της υποψήφιας λέξης υπάρχουν μεν στην κρυφή λέξη, αλλά σε διαφορετική θέση.

 

Για παράδειγμα, αν η κρυφή λέξη είναι η ΑΒΓΔ τότε:

Η υποψήφια λέξη ΓΔΕΖ βαθμολογείται με 0?2.

Η υποψήφια λέξη ΓΔΑΒ βαθμολογείται με 0?4.

Η υποψήφια λέξη ΓΒΑΔ βαθμολογείται με 2?2.

 Να αναπτύξετε πρόγραμμα το οποίο:

Γ1. Περιλαμβάνει τμήμα δηλώσεων.

Γ2. Διαβάζει από τον πρώτο παίκτη την κρυφή λέξη και για κάθε προσπάθεια του δεύτερου παίκτη διαβάζει την υποψήφια λέξη και εμφανίζει τη ?βαθμολογία? της. Για την ανάγνωση των λέξεων να χρησιμοποιήσετε το υποπρόγραμμα του ερωτήματος Γ4. Για τον υπολογισμό της βαθμολογίας κάθε υποψήφιας λέξης να χρησιμοποιήσετε το υποπρόγραμμα του ερωτήματος Γ5.

Γ3. Τερματίζει το παιχνίδι όταν εξαντληθούν οι 8 προσπάθειες ή όταν η υποψήφια λέξη συμπίπτει με την κρυφή λέξη. Σε περίπτωση εύρεσης της κρυφής λέξης θα πρέπει να εμφανίζεται το πλήθος των προσπαθειών που απαιτήθηκαν, ενώ σε διαφορετική περίπτωση θα πρέπει να εμφανίζεται η κρυφή λέξη.

Γ4. Να αναπτύξετε υποπρόγραμμα το οποίο διαβάζει από το χρήστη ένα προς ένα τα γράμματα μιας λέξης τεσσάρων γραμμάτων και επιστρέφει έναν πίνακα χαρακτήρων τεσσάρων θέσεων που περιέχει τα γράμματα αυτά. Το υποπρόγραμμα θα πρέπει να ελέγχει την εγκυρότητα της λέξης, εξασφαλίζοντας οτι δεν υπάρχει επανάληψη των ίδιων γραμμάτων εντός της λέξης. Ο έλεγχος θα πρέπει να γίνεται για κάθε γράμμα κατά τη διάρκεια ανάγνωσης των γραμμάτων και όχι μια φορά μετά την ανάγνωση όλων των γραμμάτων.

Σημείωση: να θεωρήσετε οτι τα γράμματα που διαβάζονται από το χρήστη είναι ένα από τα Α, Β, Γ, Δ, Ε και Ζ. Ο μοναδικός έλεγχος που χρειάζεται να γίνει αφορά αποκλειστικά την επανάληψη των γραμμάτων.

Γ5. Να αναπτύξετε υποπρόγραμμα το οποίο δέχεται ως παραμέτρους έναν πίνακα χαρακτήρων 4 θέσεων που περιέχει τα γράμματα της κρυφής λέξης και έναν πίνακα χαρακτήρων 4 θέσεων που περιέχει τα γράμματα της υποψήφιας λέξης και επιστρέφει πόσα γράμματα της υποψήφιας λέξης βρίσκονται στη σωστή θέση και πόσα γράμματα της υποψήφιας λέξης υπάρχουν μεν στην κρυφή λέξη, αλλά σε διαφορετική θέση.

                                                                               ΛΥΣΗ>>>