2 ο Σετ Ασκήσεων Δομές Δεδομένων - Πίνακες Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα: 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 Άςκθςθ 2θ: Ρίχνουμε ζνα ηάρι Ν φορζσ και ςθμειϊνουμε τισ ενδείξεισ. Να γράψετε πρόγραμμα που: α) Να διαβάηει το πλικοσ των ρίψεων ελζγχοντασ ότι είναι κετικό. β) Να διαβάηει τισ ενδείξεισ, ελζγχοντασ αν είναι ςτο διάςτθμα *1,6+, εμφανίηοντασ ςχετικό μινυμα λάκουσ. γ) Να μετράει πόςεσ φορζσ ιρκε θ κάκε ζνδειξθ και να εμφανίηει τα αποτελζςματα. Άςκθςθ 3θ: Είκοςι (20) χϊρεσ που βρίςκονται ςε οικονομικι φφεςθ δάνειςαν θ μία τθν άλλθ. Να γεμίςετε ζναν πίνακα ΟΝ*20+ με τα ονόματα των χωρϊν. Να γεμίςετε ζναν τετραγωνικό πίνακα ΔΑΝ*20, 20+ ο οποίοσ κα ζχει μθ αρνθτικά ποςά. Σο ποςό ςτθ κζςθ (I, j) είναι το ποςό που δάνειςε θ χϊρα ςτθ γραμμι i ςτθ χϊρα τθσ ςτιλθσ j. Σα διαγϊνια ςτοιχεία είναι μθδενικά αφοφ κεωρείται ότι μια χϊρα δεν μπορεί να δανείςει τον εαυτό τθσ. Να γράψετε πρόγραμμα το οποίο: 1. Ειςάγει τα δεδομζνα ςτουσ παραπάνω πίνακεσ ελζγχοντασ ταυτόχρονα τθν τιμι τουσ ϊςτε να είναι αποδεκτι. 2. Τπολογίηει ποια χϊρα δάνειςε τα περιςςότερα χριματα. 3. Τπολογίηει ποιεσ χϊρεσ χρωςτάνε περιςςότερα χριματα μετά τθν καταβολι πζντε δόςεων κακϊσ και πόςεσ χϊρεσ ζχουν μθδενικζσ οφειλζσ. Με τθν καταβολι κάκε δόςθσ, το οφειλόμενο ποςό επιβαρφνεται με τόκο 6%. Να ελζγχετε ότι οι δόςεισ δεν είναι αρνθτικόσ αρικμόσ και δεν υπερβαίνουν το οφειλόμενο ποςό. 1
Άςκθςθ 4θ: ε ζνα κερινό τουρνουά ποδοςφαίρου λαμβάνουν μζροσ 8 ομάδεσ. Κάκε ομάδα αντιμετωπίηει όλεσ τισ υπόλοιπεσ από μία φορά τθν κακεμία. ε ζναν πίνακα 8 κζςεων με όνομα ΟΝ αποκθκεφουμε τα ονόματα των 8 ομάδων και ςε ζναν πίνακα 8 γραμμϊν και 8 ςτθλϊν με όνομα ΚΟΡ αποκθκεφουμε τα αποτελζςματα των αγϊνων που διεξιχκθςαν, ωσ εξισ : για τον αγϊνα μεταξφ τθσ πζμπτθσ και τθσ τρίτθσ ομάδασ - ςτο ςτοιχείο *3,5+ του πίνακα είναι γραμμζνα τα γκολ που ζβαλε θ τρίτθ ομάδα ςτθν πζμπτθ ενϊ ςτο ςτοιχεί *5,3+ τα γκολ που ζβαλε θ πζμπτθ ομάδα ςτθν τρίτθ. Ζτςι εννοείται ότι ςτθν κφρια διαγϊνιο του πίνακα όλα τα ςτοιχεία είναι μθδενικά. Αν κάκε ομάδα παίρνει για κάκε νίκθ 3 βακμοφσ, για κάκε ιςοπαλία 1 και για κάκε ιττα 0 βακμοφσ ηθτείται να γραφεί πρόγραμμα το οποίο: Α) να διαβάηει τα ονόματα των 8 ομάδων και να τα αποκθκεφει ςε μονοδιάςτατο πίνακα ΟΝ. Β) να διαβάηει για κάκε ομάδα το αποτζλεςμα του αγϊνα με κάκε άλλθ ομάδα και να το αποκθκεφει κατάλλθλα ςτον πίνακα ΚΟΡ. (π.χ για τον αγώνα τθσ 1 θσ με τθν 3 θ ομάδα κα διαβάηει τον αρικμό των γκολ που ζβαλε θ 1 θ ςτθν 3 θ, και μετά τον αρικμό των γκολ που ζβαλε θ 3 θ ςτθν 1 θ και κα τα αποκθκεφει κατάλλθλα). Δεν κα πρζπει λοιπόν να ηθτάει ξανά ςτοιχεία για αγώνα που ζχει ιδθ καταχωρίςει) Γ) να καταςκευάηει τον μονοδιάςτατο πίνακα ΒΑΘΜΟΛΟΓΙΑ 8 κζςεων που κα περιζχει τθ βακμολογία που ςυγκζντρωςε κάκε ομάδα με το πζρασ των αγϊνων. Δ) να εμφανίηει τα ονόματα και τθν βακμολογία των ομάδων όπωσ παρουςιάηονται ςτθν τελικι κατάταξθ του τουρνουά (από τθν καλφτερθ ςτθν χειρότερθ). ε περίπτωςθ ιςοβακμίασ καλφτερθ κεωρείται θ ομάδα που θ διαφορά των τερμάτων που ζχει πετφχει ςυνολικά ςε ςχζςθ με αυτά που ζχει δεχκεί ςυνολικά είναι καλφτερθ. Να θεωρηθεί ότι δεν υπάρχουν δφο ομάδες με ίδια διαφορά τερμάτων. 2
Άςκθςθ 5θ: ε ζνα 10όροφο κτίριο λειτουργεί ζνα αςανςζρ. Τπάρχει ζνασ διακόπτθσ κλιςθσ και ανάλογα με τθ κζςθ των καλάμου όταν γίνεται θ κλιςθ, μετακινείται ο κάλαμοσ προσ τον όροφο που ζγινε θ κλιςθ. Κατόπιν ο χριςτθσ του αςανςζρ πατάει τον διακόπτθ του ορόφου ςτον οποίο κζλει να μετακινθκεί και ο κάλαμοσ μετακινείται ςτον όροφο αυτόν. Να γραφεί πρόγραμμα που να: α) αποκθκεφει ςε πίνακα Α τθν τιμι 1 ςτθν 1 θ κζςθ του και ςτισ υπόλοιπεσ τθν τιμι 0. Η τιμι 1 προςδιορίηει τθ κζςθ του αςανςζρ ςε κάκε όροφο, κι ζτςι οι αρχικζσ κζςεισ ξεκινοφν από τον 1 ο όροφο (κζςθ 1 των πινάκων). β) υλοποιεί επαναλθπτικά τθν λειτουργία του αςανςζρ ωσ εξισ: 1) διαβάηει τον αρικμό του ορόφου κλιςθσ (ελζγχοντασ ότι είναι διαφορετικόσ από τον όροφο ςτον οποίο ιδθ βρίςκεται) και ςτθ ςυνζχεια μετακινεί τθν τιμι 1 του αςανςζρ ςτον όροφο αυτό μθδενίηοντασ τθν προθγοφμενθ κζςθ και εμφανίηει μινυμα που δείχνει αν το αςανςζρ κατεβαίνει ι ανεβαίνει. 2) διαβάηει τον όροφο προοριςμοφ και αφοφ ελζγχει ότι είναι διαφορετικόσ από τον όροφο κλιςθσ, μετακινεί διαδοχικά τθν τιμι 1 ςε κάκε όροφο που διαςχίηει το αςανςζρ μζχρι τον όροφο προοριςμοφ, μθδενίηοντασ κάκε φορά τθν προθγοφμενθ τιμι και εμφανίηοντασ κάκε φορά μινυμα που δείχνει ςε ποιον όροφο βριςκόμαςτε. 3) Η διαδικαςία αυτι ςυνεχίηεται με ερϊτθςθ ςτον χριςτθ αν επικυμεί τθν επανάλθψθ κλιςθσ. γ) υπολογίηει και ςτο τζλοσ εμφανίηει πόςεσ φορζσ κλικθκε ο κάκε όροφοσ κατά τθ διάρκεια τθσ διαδικαςίασ β1. δ) Να περιγραφοφν όλεσ οι δομζσ δεδομζνων που χρθςιμοποιικθκαν. 3
Άςκθςθ 6θ: Σο Τπουργείο Παιδείασ αποφάςιςε να καταγράφει τα δεδομζνα που αφοροφν τισ πενκιμερεσ εκδρομζσ τθσ τρίτθσ τάξθσ των λυκείων τθσ χϊρασ. Η ομάδα καταγραφισ χρθςιμοποιεί πίνακα ΧΟΛΕΙΟ*Ν+ που περιζχονται τα ονόματα των λυκείων (π.χ. "Ενιαίο Λφκειο Δράμασ"), πίνακα ΜΑΘΗΣΕ*Ν+ που περιζχει το πλικοσ των μακθτϊν που κα ςυμμετάςχουν ςτθν εκδρομι από κάκε ςχολείο αντίςτοιχα. Επίςθσ, χρθςιμοποιείται παράλλθλοσ πίνακασ ΠΡΟΟΡΙΜΟ*Ν+ που περιζχει για κάκε ςχολείο, τον νομό προοριςμοφ τθσ εκδρομισ του αν πρόκειται για εκδρομι εςωτερικοφ ι το κράτοσ αν πρόκειται για εκδρομι εξωτερικοφ. Για τισ ανάγκεσ τθσ άςκθςθσ να κεωριςετε δεδομζνο πίνακα ΝΟΜΟ*52+ που περιζχει τα ονόματα των νομϊν τθσ Ελλάδασ, ενϊ κεωροφμε ότι οι πίνακεσ ΧΟΛΕΙΟ, ΜΑΘΗΣΕ, ΠΡΟΟΡΙΜΟ περιζχουν τα δεδομζνα των ςχολείων που ζχουν δθλϊςει τθν εκδρομι που κα πραγματοποιιςουν. Να αναπτφξετε πρόγραμμα το οποίο: α. Να διαβάηει τα ςτοιχεία των παραπάνω πινάκων. β. Να διαβάηει το όνομα ενόσ ςχολείου και να ελζγχει αν ζχει δθλϊςει τθν πενκιμερθ εκδρομι ι όχι και ςτθ ςυνζχεια: i. αν το ςχολείο δεν ζχει δθλϊςει τθν εκδρομι να διαβάηει το πλικοσ των μακθτϊν που κα ςυμμετάςχουν και τον προοριςμό και να ενθμερϊνει τουσ κατάλλθλουσ πίνακεσ. ii. αν το ςυγκεκριμζνο ςχολείο ζχει δθλϊςει τθν εκδρομι που κα πραγματοποιιςει να εκτυπϊνει προοριςμό και πλικοσ μακθτϊν και να διαβάηει εκ νζου τα ςτοιχεία αυτά αντικακιςτϊντασ τα παλιά ςτουσ κατάλλθλουσ πίνακεσ. γ. Να εμφανίηει τα ονόματα των νομϊν τθσ Ελλάδασ και το πλικοσ των μακθτϊν που κα τουσ επιςκεφτοφν με φκίνουςα διάταξθ ωσ προσ το δεφτερο. Επίςθσ, να εμφανίηεται το πλικοσ των μακθτϊν που κα ταξιδζψουν ςτο εξωτερικό. Παρατιρθςθ: Οι πίνακεσ ΧΟΛΕΙΟ, ΜΑΘΗΣΕ, ΠΡΟΟΡΙΜΟ αποτελοφν ζξοδο του αλγορίκμου 4
Άςκθςθ 7θ: Γνωςτό περιοδικό αυτοκινιτων πραγματοποίθςε μετριςεισ για 25 διαφορετικά μοντζλα τθσ μεςαίασ κατθγορίασ. Σα αυτοκίνθτα βακμολογοφνται ςε 10 διαφορετικζσ κατθγορίεσ με άριςτα το 10 (π.χ. επιτάχυνςθ, πακθτικι αςφάλεια κ.α.). Να αναπτφξετε πρόγραμμα το οποίο: α. Θα διαβάηει τα μοντζλα των 25 αυτοκινιτων και κα τα αποκθκεφει ςε πίνακα ΜΟΝΣΕΛΟ*25+. β. Θα διαβάηει τα ονόματα των 10 κατθγοριϊν και κα τα αποκθκεφει ςε πίνακα ΚΑΣΗΓΟΡΙΑ*10+. γ. Θα διαβάηει τθ βακμολογία κάκε μοντζλου ςε κάκε κατθγορία δθμιουργϊντασ πίνακα ΔΕΙΚΣΗ*25, 10+ πραγματοποιϊντασ ζλεγχο δεδομζνων. δ. Θα εκτυπϊνει το μοντζλο που είναι καλφτερο ςε κάκε μια από τισ κατθγορίεσ (μπορεί να είναι και περιςςότερα από ζνα) ε. Να διαβάηει το όνομα 1 μοντζλου και αν ςυμμετείχε ςτισ μετριςεισ να εκτυπϊνει ςε ποιεσ κατθγορίεσ ιταν το καλφτερο; ςτ. Να διαβάηει το όνομα ενόσ μοντζλου και αν ςυμμετείχε ςτισ μετριςεισ να διαβάηει τα ονόματα 5 κατθγοριϊν και να εκτυπϊνει το μζςο όρο μζτρθςθσ ςε αυτζσ τισ 5 κατθγορίεσ (να κεωριςετε ότι τα ονόματα των κατθγοριϊν ειςάγονται ορκά). η. i. Θα δθμιουργεί πίνακα ΤΧΝ_ΕΜΦ που κα περιζχει για κάκε αυτοκίνθτο πόςεσ φορζσ είχε τον καλφτερο δείκτθ ςε κάκε κατθγορία. ii. Ποιο αυτοκίνθτο είχε καλφτερθ μζτρθςθ τισ περιςςότερεσ φορζσ; (κεωροφμε ότι είναι μόνο ζνα ) 5