ΝΕΕΣ ΑΣΚΗΣΕΙΣ 1. Να φτιαχτεί αλγόριθμος που θα διαβάζει 2 αριθμούς και θα μας τους εμφανίζει κατά αύξουσα σειρά (από τον μικρότερο προς τον μεγαλύτερο). 2. Να φτιαχτεί αλγόριθμος που θα διαβάζει 3 αριθμούς και θα μας εμφανίζει μήνυμα για το είναι ετερόσημοι ή ομόσημοι, αν θεωρήσουμε ότι δεν είναι κανένας μηδέν. (εμφωλευμένες και απλές ΑΝ) 3. Να φτιαχτεί αλγόριθμος που θα διαβάζει 3 γωνίες και θα μας εμφανίζει μήνυμα για το αν σχηματίζουν ή δεν σχηματίζουν τρίγωνο. 4. Να φτιαχτεί αλγόριθμος που θα διαβάζει για 2 ανθρώπους το επώνυμο και το βάρος (2 τιμές για τον καθένα κιλά και γραμμάρια) τους και θα μας εμφανίζει το επώνυμο του βαρύτερου. 5. Να φτιαχτεί αλγόριθμος που θα διαβάζει το μήκος των 2 μικρότερων πλευρών ενός τριγώνου και μετά το μήκος της τρίτης πλευράς και θα μας εμφανίζει μήνυμα για το αν είναι ορθογώνιο ή όχι το τρίγωνο. 6. Έστω κάποιος έχει ένα ορθογώνιο παραλληλόγραμμο οικόπεδο και θέλει να διαπιστώσει αν είναι ή όχι οικοδομήσιμο. Ένα οικόπεδο είναι οικοδομήσιμο όταν το εμβαδόν του είναι από 4000 τμ και πάνω. Να φτιαχτεί αλγόριθμος που θα διαβάζει το μήκος των δύο κάθετων πλευρών και θα εμφανίζει ανάλογο μήνυμα. 7. Να φτιαχτεί αλγόριθμος που θα διαβάζει έναν αριθμό και θα μας εμφανίζει μήνυμα για το είναι άρτιος ή όχι. 8. Να φτιαχτεί αλγόριθμος που θα διαβάζει δύο αριθμούς και θα μας εμφανίζει μήνυμα για το είναι ο ένας πολλαπλάσιο του άλλου, ή μήνυμα ότι δεν είναι. (εμφωλευμένες και απλές) 9. Να φτιαχτεί αλγόριθμος που θα διαβάζει τα μόρια και το βαθμό πρόσβασης ενός μαθητή και θα μας εμφανίζει μήνυμα για το αν έχει ή όχι το δικαίωμα να καταθέσει μηχανογραφικό. Ένας μαθητής μπορεί να καταθέσει μηχανογραφικό όταν έχει βαθμό πρόσβασης τουλάχιστον 10 ή τουλάχιστον 10000 μόρια. 10. Ένας άνθρωπος θέλει να αγοράσει 5 τεμάχια από το προϊόν Α και 10 από το προϊόν Β. Να φτιαχτεί αλγόριθμος που θα διαβάζει για δύο πολυκαταστήματα Χ και Υ την τιμή του κάθε προϊόντος και θα μας εμφανίζει ποιο είναι το φθηνότερο πολυκατάστημα για την αγορά των παραπάνω ποσοτήτων από ένα πολυκατάστημα. 11. Μία εταιρία θέλει να αγοράσει αυτοκίνητα για τους πωλητές της και έχει καταλήξει στα μοντέλα Α και Β, και θα αγοράσει το οικονομικότερο στην κατανάλωση βενζίνης. Για την εύρεση του μοντέλου αυτοκινήτου που θα αγοράσει, να φτιαχτεί αλγόριθμος που θα διαβάζει τα χιλιόμετρα που έκανε και τα λίτρα βενζίνης που κατανάλωσε το κάθε μοντέλο στην δοκιμή, και θα μας εμφανίζει το μοντέλο που θα αγοράσει. 12. Να φτιαχτεί αλγόριθμος που θα διαβάζει σε μοίρες τις 2 γωνίες ενός τριγώνου και αν είναι σωστές οι τιμές των γωνιών να μας εμφανίζει μήνυμα ανάλογα με το είδος του τριγώνου «ορθογώνιο», «οξυγώνιο» ή «αμβλυγώνιο», διαφορετικά μήνυμα ότι δεν σχηματίζουν τρίγωνο. 13. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και την ηλικία δύο ανθρώπων και θα μας εμφανίζει το όνομα του ανθρώπου με την μικρότερη ηλικία με δεδομένο (γνωστό) ότι δεν έχουν την ίδια ηλικία. 14. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και την ηλικία δύο ανθρώπων και θα μας εμφανίζει το όνομα του ανθρώπου με την μικρότερη ηλικία ή και τα δύο ονόματα αν έχουν την ίδια ηλικία. 15. Να φτιαχτεί αλγόριθμος που θα διαβάζει 2 αριθμούς και αν είναι και οι δύο θετικοί θα μας εμφανίζει τον μεγαλύτερο, αλλιώς τον μικρότερο. (επιπλέον με σύνθετη ΑΝ αν γίνεται) 16. Να φτιαχτεί αλγόριθμος που θα διαβάζει τον αριθμό των αγοριών και τον αριθμό των κοριτσιών μίας τάξης και αν είναι και οι δύο μη αρνητικοί και το άθροισμα τους μεγαλύτερο του μηδέν (0) να μας εμφανίζει το ποσοστό των αγοριών και το ποσοστό των κοριτσιών, αλλιώς μήνυμα με το ποια ή ποιες τιμές ήταν λάθος. 1 Σελίδα
17. Να χαρακτηρίσετε τις παρακάτω εκφράσεις - τύπους (στις εκχωρήσεις και τύπο μεταβλητών): Χ + Υ Χ Χ < Υ +2 Χ Χ + 3 Χ ΚΑΙ Υ ΚΑΙ Ζ >= 0 123 12 + 24 Ζ Ζ ΓΙΩΡΓΟΣ Ω Λ <= 12 ΑΛΗΘΗΣ ΛΟΓΙΚΑ ΝΑΙ Χ+2 Υ / 3 Χ Χ-3 Μ 10/2 ΕΜΦΑΝΙΣΕ Μ, Χ+2 ΚΑΙ Χ Υ DIV A X Y DIV 5,5 ΝΑΙ ΕΜΦΑΝΙΣΕ 2,Χ Χ 2 ΚΑΙ Υ 4 ΔΙΑΒΑΣΕ Χ, Υ+2 Χ>0 ΚΑΙ Χ = ΑΛΗΘΗΣ ΟΝ ΓΙΑΝΝΗΣ ΒΡΗΚΑ ΑΛΗΘΗ ΕΝΗΛΙΚΑΣ ΟΧΙ ΕΠΩΝΥΜΟ ΧΧ ΨΕΥΔΗΣ ΧΧ 18. Να βρείτε τι θα εμφανιστεί στην οθόνη μετά την εκτέλεση του παρακάτω τμήματος αλγορίθμου ΑΡΧΗ Χ 10 Υ 20 ΟΝ ΓΙΑΝΝΗΣ ΟΘΟΝΗ ΕΜΦΑΝΙΣΕ Χ+ Υ ΕΜΦΑΝΙΣΕ Χ MOD Y ΕΜΦΑΝΙΣΕ Χ, =Χ ΕΜΦΑΝΙΣΕ Ο, ΟΝ, ΠΕΡΝΑΕΙ ΜΕ Υ ΕΜΦΑΝΙΣΕ Ο ΟΝ ΠΕΡΑΣΕ ΜΕ,Υ ΕΜΦΑΝΙΣΕ Ο,ΟΝ, ΠΕΡΑΣΕ ΜΕ,2Χ ΕΜΦΑΝΙΣΕ Χ+Υ=,Χ+Υ ΕΜΦΑΝΙΣΕ Χ, +,Υ, =,Χ+Υ ΕΜΦΑΝΙΣΕ Χ+Υ=30 ΕΜΦΑΝΙΣΕ ΧΥ ΕΜΦΑΝΙΣΕ Ο, ΟΝ, ΔΕΝ ΠΕΡΑΣΕ ΕΜΦΑΝΙΣΕ Ο, ΟΝ,ΔΕΝ ΠΕΡΑΣΕ ΕΜΦΑΝΙΣΕ ((Χ+Υ)/2 ΤΕΛΟΣ 2 Σελίδα
19. Να φτιαχτεί αλγόριθμος που θα διαβάζει έναν ακέραιο αριθμό και αν είναι θετικός, θα μας εμφανίζει μήνυμα για το αν είναι «διψήφιος» ή «όχι διψήφιος, διαφορετικά μήνυμα «δεν είναι θετικός». 20. Να φτιαχτεί αλγόριθμος που θα διαβάζει έναν θετικό ακέραιο αριθμό (έλεγχος ορθής εκχώρησης) και θα μας εμφανίζει μήνυμα για το αν είναι «διψήφιος» ή «όχι διψήφιος. 21. Να φτιαχτεί αλγόριθμος που θα διαβάζει ακέραιους αριθμούς μέχρι να δώσουμε κάποιον μη θετικό, και για κάθε θετικό που δίνουμε θα μας εμφανίζει μήνυμα για το αν είναι «διψήφιος» ή «όχι διψήφιος. 22. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και το ύψος ενός ενήλικου ανθρώπου και αν είναι σωστό [140..240] να μας εμφανίζει το όνομα του και κοντός κάτω από 165, ψηλός για πάνω από 185, αλλιώς κανονικός, ενώ για λάθος ύψος αντίστοιχο μήνυμα. 23. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και το ύψος ενηλίκων ανθρώπων όσο το ύψος τους είναι σωστό [140..240] και να μας εμφανίζει το όνομα του και κοντός κάτω από 165, ψηλός για πάνω από 185, αλλιώς κανονικός, ενώ για λάθος ύψος να σταματάει η εισαγωγή. 24. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και τον τελικό βαθμό ενός μαθητή και αν το όνομα του δεν είναι «ΤΕΛΟΣ» και ο τελικός βαθμός του είναι σωστός [0,20], να μας εμφανίζει το όνομα του ακολουθούμενο από το μήνυμα «προάγεται» (τελικός βαθμός >= 9,5) ή δεν προάγεται (τελικός βαθμός < 9,5), ενώ αν δώσουμε τουλάχιστον μία τιμή λάθος αντίστοιχο μήνυμα με το ποια ή ποιες ήταν λάθος. 25. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και τον τελικό βαθμό ενός μαθητή (έλεγχος ορθής εκχώρησης ώστε το όνομα να είναι διαφορετικό από «ΤΕΛΟΣ» και ο τελικός βαθμός του είναι σωστός [0,20]) και να μας εμφανίζει το όνομα του ακολουθούμενο από το μήνυμα «προάγεται» (τελικός βαθμός >= 9,5) ή δεν προάγεται (τελικός βαθμός < 9,5). 26. Να φτιαχτεί αλγόριθμος που θα διαβάζει συνέχεια το όνομα και τον τελικό βαθμό μαθητών μέχρι το όνομα να είναι «ΤΕΛΟΣ» ή ο τελικός βαθμός του είναι λάθος (κάτω του 0 ή μεγαλύτερος του 20) και να μας εμφανίζει το όνομα του ακολουθούμενο από το μήνυμα «προάγεται» (τελικός βαθμός >= 9,5) ή δεν προάγεται (τελικός βαθμός < 9,5). 27. Ένας άνθρωπος κέρδισε στο στοίχημα 30.000 και θέλει να τα ξοδέψει όλα σε ταξίδια στο εξωτερικό. Να φτιαχτεί αλγόριθμος που θα διαβάζει για κάθε ταξίδι που θέλει να κάνει, το όνομα του κάθε προορισμού καθώς και το κόστος του και να μας εμφανίζει μήνυμα με τον προορισμό και αν θα πραγματοποιηθεί ή όχι και το νέο περίσσευμα ή ότι του τελείωσαν τα χρήματα και δεν μπορεί να κάνει άλλο ταξίδι. Ο αλγόριθμος θα σταματάει στο πρώτο ταξίδι που δεν μπορεί να πραγματοποιήσει και να μας εμφανίζει το πλήθος των ταξιδιών που έκανε, καθώς και το περίσσευμα αν υπάρχει. 28. Ένα μυρμήγκι έχει μία φωλιά χωρητικότητας 100 κυβικών εκατοστών. Να φτιαχτεί αλγόριθμος που θα διαβάζει συνεχώς τον όγκο των τροφίμων που κουβαλάει μέχρι να μην χωράει κάποιο τρόφιμο που θα μεταφέρει. Στο τέλος θα μας εμφανίζει το πλήθος των τροφίμων που μπήκαν μέσα στη φωλιά, καθώς και το ποσοστό που είναι γεμάτη η φωλιά του. 29. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα, το φύλο (Α ή Γ) και το ύψος σε εκατοστά (>140) ενός ενήλικα (να γίνεται έλεγχος ορθής εκχώρησης για το φύλο και το ύψος) και να μας εμφανίζει μήνυμα με το όνομα και τον χαρακτηρισμό του σύμφωνα με τον παρακάτω πίνακα: ΧΑΡΑΚΤΗΡΙΣΜΟΣ ΦΥΛΟ ΑΝΔΡΑΣ ΓΥΝΑΙΚΑ Κοντός/ή Ύψος < 170 Ύψος < 160 Κανονικός/ή 170 Ύψος 185 160 Ύψος 175 Ψηλός/ή Ύψος > 185 Ύψος > 175 30. Να τροποποιηθεί η παραπάνω άσκηση, ώστε να διαβάζει συνεχώς τιμές για ανθρώπους μέχρι να δώσουμε τουλάχιστον μία λάθος τιμή, και να μας εμφανίζει για κάθε άτομο που είναι σωστές οι τιμές το όνομα ακολουθούμενο με τον αντίστοιχο χαρακτηρισμό. 3 Σελίδα
31. Να φτιαχτεί αλγόριθμος που θα διαβάζει συνεχώς το ύψος ενός ανθρώπου σε εκατοστά, μέχρι να δώσουμε μία σωστή τιμή [150,230], και να μας εμφανίζει μήνυμα λάθους για κάθε μη έγκυρο ύψος. (με ΟΣΟ και ΜΕΧΡΙΣ_ΟΤΟΥ) 32. Ένας υποψήφιος των πανελλαδικών θέλει να δει βάσει των μορίων που συγκέντρωσε και των σχολών που δήλωσε στο μηχανογραφικό σε ποια σχολή πέρασε ή ότι δεν πέτυχε φέτος. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και τα μόρια του υποψήφιου και στην συνέχεια με τη σειρά δήλωσης το όνομα σχολής και τα μόρια του τελευταίου που πέρασε. Η εισαγωγή σχολών θα σταματάει στην πρώτη που περνάει (τουλάχιστον τα μόρια του τελευταίου) ή όταν τελειώσουν οι σχολές του μηχανογραφικού και πληκτρολογήσει σαν όνομα σχολής «ΤΕΛΕΙΩΣΑΝ ΟΙ ΣΧΟ- ΛΕΣ». Τέλος θα μας εμφανίζει το όνομα του υποψηφίου και το όνομα της σχολής που πέρασε, ή μήνυμα «ΤΟΥ ΧΡΟΝΟΥ ΠΑΛΙ» αν δεν πέρασε σε καμία. 33. Να φτιαχτεί αλγόριθμος που θα διαβάζει έναν ακέραιο αριθμό διάφορο του 0 (να γίνεται έλεγχος ορθής εκχώρησης) και θα μας εμφανίζει στην οθόνη όλους τους ακέραιους από το μηδέν (0) μέχρι και τον αριθμό που δώσαμε (ψευδοκώδικας και διάγραμμα ροής). 34. Ένα σχολείο έχει 400 μαθητές και έγινε ένας έρανος από τον Ερυθρό Σταυρό. Να φτιαχτεί αλγόριθμος που θα διαβάζει για κάθε μαθητή την τάξη του (Α, Β ή Γ κάνοντας έλεγχο εγκυρότητας) και τα χρήματα που έδωσε και να μας εμφανίζει την τάξη (είναι μόνο μία) που συγκέντρωσε τα περισσότερα χρήματα. 35. Να φτιαχτεί αλγόριθμος που θα διαβάζει τις τιμές των 3 γωνιών για κάθε ένα από 300 τρίγωνα και θα μας εμφανίζει το ποσοστό των τριγώνων που είχαν λάθος τιμές δηλ δεν μπορούσαν να σχηματίσουν τρίγωνο. 36. Να φτιαχτεί αλγόριθμος που θα διαβάζει το πλήθος των μαθητών ενός τμήματος και αν είναι σωστό [10-35] να διαβάζει για κάθε μαθητή το φύλο του (Α ή Γ) και να μας εμφανίζει το ποσοστό του κάθε φύλου, διαφορετικά μήνυμα ότι δώσαμε λάθος αριθμό μαθητών. 37. Να φτιαχτεί αλγόριθμος που θα διαβάζει το πλήθος των μαθητών για κάθε τμήμα ενός σχολείου και αν είναι σωστό [10-35] να διαβάζει για κάθε μαθητή το φύλο του (Α ή Γ) και να μας εμφανίζει το ποσοστό του κάθε φύλου σε όλο το σχολείο. Ο αλγόριθμος θα σταματάει να διαβάζει αριθμό μαθητών τμήματος όταν δοθεί λάθος τιμή. 38. Να φτιαχτεί πίνακας τιμών και τι θα εμφανιστεί στη οθόνη αν εκτελεστεί το παρακάτω τμήμα αλγόριθμου. 4 Σελίδα Σ 0 Κ 100 Λ 1 ΟΣΟ Κ >= 10 ΕΠΑΝΑΛΑΒΕ Λ Λ * 2 Κ Κ DIV 2 ΓΙΑ Ι ΑΠΌ Λ ΜΕΧΡΙ Κ ΜΕ_ΒΗΜΑ 10 Σ Σ + Ι ΕΜΦΑΝΙΣΕ Κ, Λ, Σ ΕΜΦΑΝΙΣΕ Κ, Λ
39. Να γίνει αλγόριθμος που θα διαβάζει το αρχικό κεφάλαιο που καταθέτει κάποιος στην τράπεζα, το επιτόκιο και πόσα χρόνια θα αφήσει τα χρήματα στην τράπεζα (μπορεί να είναι και πραγματικός πχ 3,5). Στο τέλος κάθε χρόνο ο τόκος προστίθεται στο αρχικό κεφάλαιο. Να υπολογιστεί το κεφάλαιο του καταθέτη μετά το τέλος της χρονικής περιόδου που θα τα αφήσει στην τράπεζα, γνωρίζοντας ότι για τον τελευταίο μη ολόκληρο χρόνο θα πάρει αναλογικά τους τόκους. 40. Να φτιαχτούν για τα παρακάτω διαγράμματα τα αντίστοιχα τμήματα ψευδοκώδικα, καθώς και τα αντίστοιχα διαγράμματα και οι ψευδοκώδικες με αποκλειστική χρήση απλών δομών ΑΝ. Ι) ΙΙ) Συνθ1 Συνθ1 Εντολές1 Εντολές2 Συνθ3 Συνθ2 Εντολές3 Εντολές4 Συνθ3 Εντολές3 Συνθ2 Εντολές4 Εντολές1 Εντολές2 ΙΙΙ) ΙV) Συνθ1 Συνθ1 Εντολές1 Συνθ4 Εντολές1 Εντολές5 Συνθ3 Συνθ2 Εντολές2 Εντολές5 Συνθ3 Συνθ2 Εντολές2 Εντολές4 Εντολές3 Εντολές4 Εντολές3 Εντολές6 5 Σελίδα
41. Να βρείτε πόσες από τις παρακάτω ομάδες εντολών είναι πιθανόν να εκτελεστούν σε κάθε ένα από τα παρακάτω τμήματα αλγορίθμων Α) ΚΑΜΙΑ Β) ΜΙΑ ΑΠΟ ΑΥΤΈΣ Γ) ΔΥΟ ΑΠΟ ΑΥΤΕΣ Δ) ΚΑΙ ΟΙ ΤΡΕΙΣ ΑΣΚΗΣΗ Α1 ΑΝ ΣΥΝΘ1 ΤΟΤΕ ΕΝΤΟΛΕΣ1 ΑΝ ΣΥΝΘ2 ΤΟΤΕ ΕΝΤΟΛΕΣ2 ΑΝ ΣΥΝΘ3 ΤΟΤΕ ΕΝΤΟΛΕΣ 3 ΑΣΚΗΣΗ Α2 ΑΝ ΣΥΝΘ1 ΤΟΤΕ ΕΝΤΟΛΕΣ1 ΑΛΛΙΩΣ_ΑΝ ΣΥΝΘ2 ΤΟΤΕ ΕΝΤΟΛΕΣ2 ΑΛΛΙΩΣ_ΑΝ ΣΥΝΘ3 ΤΟΤΕ ΕΝΤΟΛΕΣ 3 ΑΣΚΗΣΗ Α3 ΑΝ ΣΥΝΘ1 ΤΟΤΕ ΕΝΤΟΛΕΣ1 ΑΛΛΙΩΣ ΕΝΤΟΛΕΣ2 ΑΣΚΗΣΗ Α4 ΑΝ ΣΥΝΘ1 ΤΟΤΕ ΕΝΤΟΛΕΣ1 ΑΛΛΙΩΣ ΕΝΤΟΛΕΣ2 ΑΝ ΣΥΝΘ3 ΤΟΤΕ ΕΝΤΟΛΕΣ3 42. Να βρείτε αν τα παρακάτω τμήματα αλγορίθμων πληρούν όλα τα κριτήρια ή ποια λάθη έχουν και δικαιολογήστε την απάντησή σας. Α) Β) Γ) 6 Σελίδα ΑΝ Χ > Υ ΤΟΤΕ ΑΘΡ Χ+Υ ΑΛΛΙΩΣ ΑΘΡ 2*Χ+Υ ΔΙΑΒΑΣΕ Χ, Υ ΑΝ Χ < > Υ ΤΟΤΕ ΠΗΛ Χ / Υ ΕΜΦΑΝΙΣΕ ΠΗΛ Δ) Ε) ΣΤ) ΔΙΑΒΑΣΕ Χ, Υ ΑΝ Χ > 0 ΤΟΤΕ ΠΗΛ Χ / Υ ΕΜΦΑΝΙΣΕ ΠΗΛ ΑΡΧΗ ΔΙΑΒΑΣΕ Χ ΑΝ Χ <> 10 ΤΟΤΕ ΔΙΑΒΑΣΕ Υ ΑΝ Χ <> 0 ΤΟΤΕ ΠΗΛ Υ / Χ ΕΜΦΑΝΙΣΕ ΠΗΛ ΤΕΛΟΣ ΑΡΧΗ ΔΙΑΒΑΣΕ Χ ΑΝ Χ <> 0 ΤΟΤΕ ΔΙΑΒΑΣΕ Υ ΠΗΛ Υ / Χ ΕΜΦΑΝΙΣΕ ΠΗΛ ΑΛΛΙΩΣ ΕΜΦΑΝΙΣΕ Χ+Υ ΤΕΛΟΣ ΑΡΧΗ ΔΙΑΒΑΣΕ Χ, Υ ΑΝ Χ > Υ ΤΟΤΕ ΑΘΡ Χ+Υ ΑΛΛΙΩΣ ΑΘΡ 2*Χ+Υ ΤΕΛΟΣ
43. Μία τράπεζα για να αποκτήσει καινούργιους πελάτες για χρήση πιστωτικής κάρτας δίνει την εξής προσφορά: για αγορές μέσω τις κάρτας από 250 μέχρι 1000 του κάνει έκπτωση 5% στο ποσό αγορών, για ποσό κάτω των 250 δεν του κάνει καμία έκπτωση, ενώ για ποσό πάνω από 1000 του κάνει έκπτωση 5% μόνο στα 1000. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και το ποσό αγορών του πελάτη και θα μας εμφανίζει το όνομα του ακολουθούμενο από το ποσό που πρέπει να πληρώσει, ή μήνυμα λάθους αν δώσουμε αρνητικό ποσό. 44. Μία τράπεζα Α για να αποκτήσει καινούργιους πελάτες για χρήση πιστωτικής κάρτας δίνει την εξής προσφορά: για μηνιαίες αγορές μέσω τις κάρτας από 250 μέχρι 1000 του κάνει έκπτωση 5% στο ποσό αγορών, για ποσό κάτω των 250 δεν του κάνει καμία έκπτωση, ενώ για ποσό πάνω από 1000 του κάνει έκπτωση 5% μόνο στα 1000, ενώ μία άλλη τράπεζα Β δίνει έκπτωση 2% για οποιοδήποτε ποσό αγορών. Να φτιαχτεί αλγόριθμος που θα διαβάζει το ποσό αγορών που έκανε ένας άνθρωπος κάθε μήνα τον τελευταίο χρόνο και θα μας εμφανίζει ποια τράπεζα θα μας έκανε μεγαλύτερη έκπτωση. 45. Σε μία γειτονιά θέλουν να κάνουν έρανο και να αγοράσουν ένα δώρο αξίας 1000 σε μία οικογένεια που έχει πρόβλημα. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και τα χρήματα που δίνει κάθε κάτοικος της γειτονιάς μέχρι να καλυφθεί το ποσό τον 1000 και να μας εμφανίζει πόσα άτομα έδωσαν αυτά τα χρήματα, και ποιος έδωσε τα περισσότερα. Ο τελευταίος δεν μπορεί να δώσει παραπάνω από το ποσό που λείπει, ώστε να συμπληρωθούν ακριβώς τα 1000. Δηλ αν κάποιος δώσει παραπάνω από το ποσό που χρειάζεται για τα 1000, να μην το δέχεται, να εμφανίζει το ακριβές ποσό που λείπει και να ξαναδιαβάζει ποσό. 46. Να χαρακτηρίσετε τις παρακάτω εντολές ενός αλγόριθμου (στις εκχωρήσεις και τον τύπο των μεταβλητών): ΑΡΧΗ Χ 20 Υ 15,5 Ζ 20 < 15,5 Ω ΑΛΗΘΗΣ Χ < Ζ +2 Χ Υ + 10 ΑΝ Χ ΚΑΙ Υ <= 0 ΤΟΤΕ Σ Χ + Υ / 2 ΑΝ Ζ ΚΑΙ Χ < 0 ΤΟΤΕ Σ Χ + Ζ / 2 Κ ΔΙΟΝΥΣΗΣ Ω Λ <= 12 Χ ΑΛΗΘΗΣ ΕΜΦΑΝΙΣΕ Χ, Υ ΕΜΦΑΝΙΣΕ Ζ, Ω ΔΙΑΒΑΣΕ Χ ΚΑΙ Υ Μ ΧMODY ΕΜΦΑΝΙΣΕ X ΜOD Y Ω Χ + Υ ΤΕΛΟΣ 47. Να φτιαχτεί αλγόριθμος που θα διαβάζει το πλήθος των τμημάτων ενός σχολείου και αν είναι θετικός αριθμός θα διαβάζει για κάθε τμήμα το πλήθος των μαθητών (έλεγχος ορθής εκχώρησης 10-7 Σελίδα
35) και μετά τον τελικό βαθμό του κάθε μαθητή και θα μας εμφανίζει α) για κάθε τμήμα το ποσοστό μαθητών που περνάει την τάξη (βαθμό >= 9,5) και το ποσοστό αυτών που έμειναν (βαθμός < 9,5) και β) το ποσοστό σε όλο το σχολείο αυτών που πέρασαν και αυτών που έμειναν. 48. Μία τάξη έχει 30 μαθητές. Να φτιαχτεί αλγόριθμος που θα διαβάζει για καθένα τον τελικό του βαθμό (έλεγχος ώστε να είναι 0-20) και θα μας εμφανίζει ποιος είναι ο μικρότερος τελικός βαθμός και πόσοι μαθητές τον είχαν (α. με χρήση πίνακα και β. χωρίς πίνακα). 49. Στον τελικό του μήκους στο πανελλήνιο τους μήκους συμμετέχουν 10 αθλητές και μετά τις 3 πρώτες προσπάθειες συνεχίζουν οι 8 καλύτεροι. Να φτιαχτεί αλγόριθμος που θα διαβάζει την καλύτερη από τις 3 πρώτες προσπάθειες και το όνομα του κάθε αθλητή και θα μας εμφανίζει τα ονόματα των 2 αθλητών που δεν θα συνεχίσουν μετά τις προσπάθειες. 50. Η Γ Λυκείου ενός σχολείου έχει 4 τμήματα. Να φτιαχτεί αλγόριθμος που θα διαβάζει για κάθε τμήμα το πλήθος των μαθητών (έλεγχος ώστε να είναι μεταξύ 5-30) και στη συνέχεια για κάθε μαθητή να διαβάζει το όνομα και τον βαθμό που έβγαλε πέρσι και να μας εμφανίζει το όνομα του καλύτερου για να οριστεί ως απουσιολόγος του τμήματος. 51. Να φτιαχτεί αλγόριθμος που θα διαβάζει τις ετήσιες αποδοχές ενός υπαλλήλου και θα υπολογίζει και εμφανίζει κλιμακωτά τον φόρο που πρέπει να πληρώσει σύμφωνα με τον παρακάτω πίνακα: ΕΙΣΟΔΗΜΑ ΠΟΣΟΣΤΟ ΦΟΡΟΥ από 0 έως και 10000 0% Πάνω από10000 έως και 12000 10% Πάνω από12000 έως και 15000 20% Πάνω από15000 έως και 20000 30% Πάνω από 20000 40% 52. Να φτιαχτεί αλγόριθμος που θα διαβάζει δύο αριθμούς και θα μας εμφανίζει ανάλογά μήνυμα για το αν είναι ο πρώτος πολλαπλάσιο του δεύτερου, ή ο δεύτερος πολλαπλάσιο του πρώτου, ή κάποιος μηδέν ή δεν είναι ο ένας πολλαπλάσιο του άλλου. (και με απλές αν γίνεται) 53. Να φτιαχτεί αλγόριθμος που θα διαβάζει δύο αριθμούς και αν είναι και οι δύο διάφοροι του μηδέν (0) θα μας εμφανίζει ανάλογά μήνυμα για το αν είναι ο πρώτος πολλαπλάσιο του δεύτερου, ή ο δεύτερος πολλαπλάσιο του πρώτου, ή δεν είναι ο ένας πολλαπλάσιο του άλλου, ενώ σε περίπτωση που είναι κάποιος μηδέν μήνυμα για το είναι ο πρώτος αριθμός, ή ο δεύτερος ή και οι δύο. 54. Να φτιαχτεί αλγόριθμος που θα διαβάζει συνεχώς δυάδες αριθμών μέχρι να είναι τουλάχιστον ο ένας μηδέν και όταν δεν είναι κάποιος μηδέν θα εμφανίζει ανάλογά μήνυμα για το αν είναι ο πρώτος πολλαπλάσιο του δεύτερου, ή ο δεύτερος πολλαπλάσιο του πρώτου, ή δεν είναι ο ένας πολλαπλάσιο του άλλου. 55. Να φτιαχτεί αλγόριθμος που θα διαβάζει το πλήθος των μαθητών για κάθε τμήμα ενός σχολείου και αν είναι σωστός [10-35] να διαβάζει για κάθε μαθητή το φύλο του (Α ή Γ) και να μας εμφανίζει το ποσοστό του κάθε φύλου για κάθε τμήμα. Ο αλγόριθμος θα σταματάει να διαβάζει αριθμό μαθητών τμήματος όταν δοθεί τιμή εκτός ορίων. 56. Ένας υποψήφιος των πανελλαδικών θέλει να δει βάσει των μορίων που συγκέντρωσε και των σχολών που δήλωσε στο μηχανογραφικό σε ποια σχολή πέρασε ή ότι δεν πέτυχε φέτος. Να φτιαχτεί αλγόριθμος που θα διαβάζει το όνομα και τα μόρια του υποψήφιου και στην συνέχεια με τη σειρά δήλωσης το όνομα σχολής και την βάση της (τα μόρια του τελευταίου). Η εισαγωγή σχολών θα σταματάει όταν τελειώσουν οι σχολές του μηχανογραφικού και πληκτρολογήσει για όνο- 8 Σελίδα
μα σχολής «ΤΕΛΕΙΩΣΑΝ ΟΙ ΣΧΟΛΕΣ». Τέλος θα μας εμφανίζει το όνομα του υποψηφίου, το πλήθος των σχολών που τα μόρια του ήταν αρκετά για να περάσει σε αυτές και το όνομα της σχολής που πέρασε (δηλ της πρώτης που τα μόρια του ήταν περισσότερα ή ίσα με τα μόρια του τελευταίου που πέρασε στην σχολή), ή μήνυμα «ΤΟΥ ΧΡΟΝΟΥ ΠΑΛΙ» αν δεν πέρασε σε καμία. 57. Να φτιαχτεί αλγόριθμος που θα διαβάζει για τους 20 αθλητές που προκρίθηκαν στον τελικό του ακοντισμού, το όνομα τους, την καλύτερη βολή τους και την ηλικία τους και να μας εμφανίζει το όνομα νικητή (με την μεγαλύτερη βολή), καθώς και το όνομα του ανήλικου αν υπάρχει (ηλικία < 18) με την καλύτερη βολή. 58. Να φτιαχτεί αλγόριθμος που θα διαβάζει έναν οποιοδήποτε θετικό ακέραιο αριθμό και θα μας εμφανίζει στην οθόνη το μεγαλύτερο ψηφίο του. Δηλ αν δώσουμε το 473 θα μας εμφανίσει στην οθόνη το 7. 59. Σε έναν προκριματικό αγώνα στη δισκοβολία συμμετέχουν 30 αθλητές. Στον προκριματικό ο κάθε αθλητής κάνει το πολύ 3 προσπάθειες και περνάει στον τελικό όταν μία προσπάθεια του είναι πάνω από το όριο των 70 μέτρων και δεν κάνει τις υπόλοιπες. Δηλ αν ένας αθλητής στην πρώτη ρήψη ρίξει 69 μέτρα θα κάνει και δεύτερη προσπάθεια και αν στη δεύτερη ρίξει 72 μέτρα προκρίνεται και δεν κάνει την τρίτη του προσπάθεια. Να φτιαχτεί αλγόριθμος που θα διαβάζει το πολύ τρεις προσπάθειες για κάθε αθλητή και θα μας εμφανίζει πόσοι προκρίθηκαν με την 1 η προσπάθεια, πόσοι με την 2 η, πόσοι με την 3 η και πόσοι δεν προκρίθηκαν. Ο αλγόριθμος θα διαβάζει για τον 1 ο αθλητή 1-3 προσπάθειες, μετά του 2 ου αθλητή 1-3 προσπάθειες κοκ. 60. Να φτιαχτεί αλγόριθμος που θα διαβάζει δύο ακεραίους θετικούς αριθμούς (να γίνεται έλεγχος ορθής εκχώρησης) και να εμφανίζει τους κοινούς ακέραιους διαιρέτες τους. 61. Ένας αθλητής στο τριπλούν κάνει τρεις προσπάθειες στον προκριματικό. Αν κάνει κάποιο άλμα πάνω από 17 μέτρα προκρίνεται στο τελικό όπου κάνει άλλες 6 προσπάθειες. Το καλύτερο άλμα του το βρίσκουμε και από τις 3 ή από τις 9 προσπάθειες του. Να φτιαχτεί αλγόριθμος που υλοποιεί τα παραπάνω και μας εμφανίζει μήνυμα για το αν προκρίθηκε στο τελικό ή όχι και ποιο άλμα του από τα 3 ή 9 ήταν το καλύτερο. 62. Ένα ξενοδοχείο έχει 30 Δίκλινα δωμάτια, 20 Τρίκλινα και 2 Σουίτες. Το κάθε δίκλινο χρεώνεται 80, το κάθε τρίκλινο 120 και η σουίτα 250. Να φτιαχτεί αλγόριθμος που θα διαβάζει για κάθε μέρα του προηγούμενου μήνα το δωμάτιο («Τρίκλινο», «Δίκλινο», «Σουίτα») που θέλει κάθε πελάτης του ξενοδοχείου και αν υπάρχει διαθέσιμο του το δίνει, αλλιώς μήνυμα ότι δεν υπάρχει τέτοιο δωμάτιο σήμερα. Η εισαγωγή πελατών κάθε μιας μέρας θα σταματάει, όταν δώσουμε για δωμάτιο «Τέλος πελατών». Να υπολογίζει και εμφανίζει για κάθε μέρα τις εισπράξεις, τις συνολικές μηνιαίες εισπράξεις, καθώς και ποια μέρα είχε τις μεγαλύτερες εισπράξεις και ποιες ήταν αυτές. 63. Να γραφεί αλγόριθμος που θα διαβάζει ένα αριθμό από το πληκτρολόγιο και θα εμφανίζει θετικός, αρνητικός ή μηδέν και στη συνέχεια θα ρωτά τον χρήστη αν επιθυμεί να εισάγει κι άλλο αριθμό, οπότε η διαδικασία θα επαναλαμβάνεται μέχρι ο χρήστης να απαντήσει ( Ο ή ο ), ενώ θα συνεχίζει και θα διαβάζει και άλλο αριθμό όταν απαντάει ( Ν ή ν ). 64. Να φτιαχτεί αλγόριθμος που θα διαβάζει 2 θετικούς ακέραιους Α, Β, όπου Α ο αριθμητής του κλάσματος και Β ο παρονομαστής του κλάσματος και να μας εμφανίζει απλοποιημένο δηλ αν δώσουμε 10 και 5 θα μας εμφανίσει το 2 (και όχι 2/1), ενώ αν δώσουμε 4 και 10 το 2/5. 9 Σελίδα
65. Να βρείτε τι τιμές θα έχουν οι δείκτες μίας ουράς α) τράπεζας με νούμερα β) σε ένα φούρνο, αν μπουν 5 άτομα και εξυπηρετηθούν τα 2 από αυτά. 66. Ο Γιώργος και ο Κώστας ρίχνουν 200 ζαριές (2 ζάρια κάθε ζαριά) ο καθένας. Σε κάθε ζαριά προσθέτουν τις τιμές των ζαριών στους πόντους τους, ενώ όταν είναι διπλή (ίδια και τα δύο ζάρια) προστίθονται οι τιμές και των δύο ζαριών επί 2. Στο τέλος να εμφανίζεται το όνομα του νικητή αν υπάρχει. Επίσης να γίνεται έλεγχος ορθής εκχώρησης σε κάθε ζάρι κατά το διάβασμα κάθε ζαριάς, ώστε να είναι από 1 μέχρι και 6. 67. Ο Γιώργος και ο Κώστας ρίχνουν τα 2 ζάρια συνεχώς, μέχρι κάποιος από τους δύο να ξεπεράσει τους 500 πόντους και ο άλλος να έχει λιγότερους πόντους. Σε κάθε ζαριά προσθέτουν τις τιμές των ζαριών στους πόντους τους, ενώ αν είναι διπλή (ίδια και τα δύο ζάρια) προστίθενται οι τιμές και των δύο ζαριών επί 2. Και οι δύο θα ρίχνουν τον ίδιο αριθμό ζαριών. Να φτιαχτεί αλγόριθμος που θα υλοποιεί την παραπάνω διαδικασία και θα εμφανίζει το όνομα του νικητή. 68. Ένα σουβλατζίδικο πουλάει μόνο σουβλάκια με 1,7 το τεμάχιο και πατάτες με 2,5 ανά μερίδα. Για κάθε 5 σουβλάκια παραγγελία το επόμενο 1 είναι δώρο. Δηλ αν παραγγείλει 15 σουβλάκια θα πληρώσει τα 13 σουβλάκια, ενώ αν παραγγείλει 11 θα πληρώσει 10. Στις πατάτες για κάθε 3 μερίδες παίρνει την επόμενη δώρο. Μία παραγγελία πραγματοποιείται όταν το κόστος της είναι από 7 και πάνω χωρίς τα μεταφορικά. Επίσης χρεώνει και μεταφορικά 10% επί τις παραγγελίας, αλλά τα μεταφορικά πρέπει να μην είναι κάτω από 1 και πάνω από 3. Να φτιαχτεί αλγόριθμος που θα διαβάζει την παραγγελία (σουβλάκια και πατάτες) και θα μας εμφανίζει αν θα πραγματοποιηθεί και ποιο θα είναι το κόστος της ή ότι δεν πραγματοποιείται. 69. Να βρείτε τι θα εμφανιστεί στην οθόνη μετά την εκτέλεση των παρακάτω τμημάτων: Α ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5 ΕΜΦΑΝΙΣΕ Ι Β ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΕΜΦΑΝΙΣΕ Ι 70. Να φτιαχτεί αλγόριθμος που θα διαβάζει συνεχώς τις τιμές Α, Β, Γ μέχρι να ισχύει η παράσταση 3 Α + 4 Β 7 Γ = 0. Σε κάθε τριάδα αριθμών θα μας εμφανίζει το αποτέλεσμα, και πόσες προσπάθειες χρειάστηκαν για να βρεθεί μία λύση της παράστασης. 71. Να ελεγχθεί το παρακάτω τμήμα αλγόριθμου, για το αν βρίσκει και εμφανίζει το μεγαλύτερο και το μικρότερο βαθμό από 100 βαθμούς που θα εισάγουμε, και αν είναι λάθος ποια είναι τα λάθη του. ΜΙΝ 1 ΜΑΧ 20 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΔΙΑΒΑΣΕ Β ΑΝ Β > ΜΑΧ ΤΟΤΕ ΜΑΧ Β ΑΛΛΙΩΣ_ΑΝ ΜΙΝ < Β ΤΟΤΕ ΜΙΝ Β 10 Σελίδα
ΕΜΦΑΝΙΣΕ ΜΙΝ, ΜΑΧ 72. Να ελεγχθεί αν το παρακάτω τμήμα αλγόριθμου εκχωρεί σε ένα δισδιάστατο πίνακα Α 10Χ10 100 αριθμούς μεταξύ 0-20 και να δικαιολογήσετε την απάντησή σας. ΑΡΧH_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 10 ΔΙΑΒΑΣΕ Α[Ι, Κ] ΜΕΧΡΙΣ_ΟΤΟΥ Α[Ι, Κ] >= 0 ΚΑΙ Α[Ι, Κ] <= 20 73. Σε ένα σχολείο η Α τάξη έχει 100 μαθητές και θέλουμε να την χωρίσουμε σε 4 τμήματα των 25 μαθητών με αλφαβητική σειρά. Να φτιαχτεί αλγόριθμος που θα διαβάζει τα 100 ονόματα των μαθητών (τυχαία σειρά) και θα τους τοποθετεί και μετά εμφανίζει τα ονόματα των μαθητών α) με 4 πίνακες των τμημάτων Α1, Α2, Α3 και Α4 β) με έναν δισδιάστατο πίνακα 25Χ4. 74. Να φτιαχτεί πρόγραμμα που θα διαβάζει ακέραιους αριθμούς και θα τους τοποθετεί σε ένα δισδιάστατο πίνακα 10Χ20 κατά στήλη, χρησιμοποιώντας μόνο μία επαναληπτική δομή ΓΙΑ. 75. Στις εκλογές 15μελούς σε ένα σχολείο κάθε μαθητής έχει το δικαίωμα να βάλει από 1 μέχρι 5 σταυρούς. Ένα δελτίο θεωρείται λευκό όταν δεν έχει κανένα σταυρό και άκυρο όταν έχει πάνω από 5 σταυρούς και δεν υπολογίζεται κανένας από τους σταυρούς που έβαλε. Στις εκλογές αυτές υπάρχουν 30 υποψήφιοι και ψηφίζουν 290 μαθητές. Να φτιαχτεί αλγόριθμος που α) θα διαβάζει τα ονόματα των 30 υποψηφίων β) θα διαβάζει για κάθε μαθητή σε ποιους υποψήφιους (αριθμούς 1-30) δίνει τους σταυρούς του, η εισαγωγή σταυρών σε κάθε μαθητή θα σταματάει όταν δώσει την τιμή 0 για υποψήφιο γ) θα υπολογίζει και εμφανίζει πόσα ήταν τα λευκά και πόσα τα άκυρα ψηφοδέλτια και δ) εμφανίζει τα ονόματα των 15 που εκλέγονται στο 15μελές του σχολείου. Θεωρούμε ότι ο κάθε μαθητής δεν έχει ψηφίσει δύο φορές τον ίδιο υποψήφιο και ότι δεν υπάρχει ισοβαθμία σε σταυρούς του 15 ου με τους επόμενους υποψηφίους μετά την ολοκλήρωση της καταμέτρησης των ψήφων. 76. Να φτιαχτεί αλγόριθμος που θα διαβάζει 150 ζαριές (δύο ζάρια κάθε ζαριά) και θα μας εμφανίζει το πλήθος της κάθε πιθανής διαφορετικής ζαριάς. Προσοχή στο ότι στις μονές ζαριές υπάρχουν δύο συνδυασμοί και εμφανίζουμε το άθροισμα και των δύο συνδυασμών δηλ. το 6-2 είναι η ίδια ζαριά 2-6 και εμφανίζεται σαν πλήθος το άθροισμα τους, ενώ στις διπλές υπάρχει μόνο ένας συνδυασμός. Επίσης να γίνεται έλεγχος ορθής εκχώρησης σε κάθε ζάρι, ώστε να είναι 1-6. 77. Να φτιαχτεί αλγόριθμος που θα διαβάζει έναν πίνακα Α με Ν ακέραια στοιχεία και έναν πίνακα Β με Μ ακέραια στοιχεία. Στη συνέχεια θα φτιάχνει έναν νέο πίνακα με μέγεθος ίσο με το μεγαλύτερο των δύο πινάκων και σε κάθε στοιχείο θα βάζει το άθροισμα των αντίστοιχων στοιχείων των πινάκων Α και Β όπου υπάρχουν, αλλιώς θα μεταφέρει το αντίστοιχο στοιχείο του πίνακα που έχει ακόμα στοιχεία. 78. Να φτιαχτεί αλγόριθμος που θα διαβάζει έναν πίνακα 10Χ10 με μονοψήφιες ακέραιες τιμές και μας εμφανίζει ποια δυάδα γειτονικών στοιχείων (είτε κατακόρυφα, είτε οριζόντια, είτε διαγώνια) έχει το μεγαλύτερο άθροισμα. 79. Να φτιαχτεί αλγόριθμος που θα διαβάζει τα ονόματα και τους βαθμούς 100 μαθητών και θα εμ- 11 Σελίδα
φανίζει τα ονόματα των 5 καλύτερων μαθητών χωρίς ταξινόμηση. 80. Να φτιαχτεί αλγόριθμος που θα διαβάζει έναν ακέραιο αριθμό στο δεκαδικό σύστημα αρίθμησης μεταξύ 0-65535 και τη βάση μετατροπής Β (2 ή 8 ή 16) και θα μετατρέπει τον αριθμό από το δεκαδικό σύστημα αρίθμησης στο άλλο με βάση το Β. Δηλ αν δώσουμε το 13 και το 2 θα μας εμφανίσει το 13 στο δυαδικό σύστημα 1101, ενώ αν δώσουμε σαν αριθμό το 20 και σαν βάση το 16 θα μας εμφανίσει το Α4. Στο δεκαεξαδικό σύστημα (βάση το 16) για την παράσταση των 16 διαφορετικών τιμών χρησιμοποιούμε για τα πρώτα ψηφία 0..9 και στη συνέχεια τα γράμματα Α, B, C, D, E, F για το 10, 11, 12, 13, 14 και 15 αντίστοιχα. 81. Να φτιαχτεί υποπρόγραμμα που θα δέχεται έναν πίνακα μονοδιάστατο το πολύ 100 αριθμών και το πλήθος των αριθμών που έχει, και θα μας επιστρέφει τη διάμεσο τιμή, των αριθμών του πίνακα. 82. Να φτιαχτεί πρόγραμμα που θα διαβάζει έναν δισδιάστατο πίνακα 100Χ100, και αν είναι αραιός τοποθετεί τα μη μηδενικά στοιχεία σε ένα μονοδιάστατο πίνακα (πρώτα τη θέση τους στον δισδιάστατο πίνακα και μετά την τιμή) και στη συνέχεια θα εμφανίζει τη θέση και τα μη μηδενικά στοιχεία από τον μονοδιάστατο πίνακα. Τέλος από τον μονοδιάστατο πίνακα να βρίσκει ποια γραμμή έχει τα περισσότερα μηδενικά στοιχεία. Αν ο πίνακας δεν είναι αραιός εμφανίζει αντίστοιχο μήνυμα και τελειώνει το πρόγραμμα. Ένας πίνακας θεωρείται αραιός, όταν πάνω από 70% των στοιχείων του έχουν την τιμή 0. 83. Να λυθούν οι πρακάτω ασκήσεις από το τετράδιο μαθητή: Σελ 96 ΔΣ4, ΔΣ6 Σελ 109 ΔΤ1, ΔΤ Σελ 100 ΔΣ1, ΔΣ3 84. Να φτιαχτεί πρόγραμμα που θα διαβάζει για 100 μαθητές το επώνυμο τους και το βαθμό που έβγαλαν στο τέλος του χρόνου σε κάθε ένα από τα 14 μαθήματα. Να γίνεται έλεγχος ορθής εκχώρησης κατευθείαν για κάθε στοιχείο του πίνακα ξεχωριστά με υποπρόγραμμα, ώστε να είναι μεταξύ 0-20. Στη συνέχεια για κάθε μαθητή να εμφανίζει το επώνυμο του και από κάτω για κάθε μάθημα να εμφανίζει τον αριθμό του μαθήματος και δίπλα περνάει (>=9,5) ή μένει (<9,5). Το μήνυμα για κάθε μάθημα του μαθητή το βρίσκουμε μέσω μίας συνάρτησης. 85. Το υπουργείο Οικονομικών θέλει να βρει σε ποια από τα 100 προϊόντα με την μεγαλύτερη κατανάλωση και να βρει ποια από αυτά αυξήθηκαν περισσότερο ποσοστιαία και ποια λιγότερο από το 2000 μέχρι σήμερα. Να φτιαχτεί πρόγραμμα που θα διαβάζει για κάθε προϊόν το όνομα του, την τιμή που είχε το 2000 σε δραχμές και τη σημερινή τιμή σε Ευρώ. Στη συνέχεια να μετατρέπει τις τιμές του 2000 από δραχμές σε Ευρώ μέσω συνάρτησης γνωρίζοντας ότι το 1 Ευρώ = 340,75 δραχμές. Τέλος θα μας εμφανίζει τα ονόματα των 5 προϊόντων με την μεγαλύτερη ποσοστιαία αύξηση, καθώς και των 5 με την μικρότερη ποσοστιαία αύξηση μέσα σε ένα άλλο υποπρόγραμμα. 86. Να φτιαχτεί πρόγραμμα που θα διαβάζει τα ονόματα 100 πρατηρίων βενζίνης και την τιμή της αμόλυβδης της προηγούμενης Κυριακής και θα μας εμφανίζει τα ονόματα των πρατηρίων και την αντίστοιχη τιμή τους ξεκινώντας από το φθηνότερο και καταλήγοντας στο ακριβότερο. Επίσης με ένα υποπρόγραμμα να βρίσκει σε πόσα πρατήρια υπάρχει η φθηνότερη τιμή και να εμφανίζει το αποτέλεσμα στο κύριο πρόγραμμα, και τέλος στο κυρίως πρόγραμμα να βρίσκει και να εμφανίζει ποια είναι η πέμπτη διαφορετική κατά αύξουσα σειρά τιμή (αν υπάρχει). 87. Στον ημιτελικό των 400μ του Παγκόσμιου πρωταθλήματος υπάρχουν δύο σειρές με οκτώ αθλητές η κάθε μία και στον τελικό προκρίνονται οι πρώτοι δύο αθλητές από κάθε σειρά και από τους υπόλοιπους οι τέσσερις με τους καλύτερους χρόνους. Να φτιαχτεί πρόγραμμα που θα διαβάζει τα 12 Σελίδα
ονόματα και τις επιδόσεις των αθλητών κάθε σειράς και θα μας εμφανίζει τα ονόματα των 8 αθλητών που προκρίνονται στον τελικό με φθίνουσα σειρά. 88. Να φτιαχτεί πρόγραμμα που θα διαβάζει 100 ακέραιους αριθμούς και θα μας εμφανίζει ποιοι από αυτούς υπάρχουν μέσα στον πίνακα τουλάχιστον 3 φορές. 89. Να φτιαχτεί πρόγραμμα που θα διαβάζει σε έναν πίνακα 20Χ10 ακέραιους αριθμούς και θα μας εμφανίζει πόσοι διαφορετικοί αριθμοί υπάρχουν μέσα στον πίνακα και ποιοι είναι αυτοί οι αριθμοί. 90. Να φτιαχτεί πρόγραμμα που θα διαβάζει σε έναν πίνακα 20Χ10 ακέραιους αριθμούς και θα μας εμφανίζει ποιος αριθμός εμφανίζεται συχνότερα μέσα στον πίνακα. 91. Να φτιαχτεί υποπρόγραμμα και με τους δύο τύπους αν γίνεται που θα επιλύει μία εξίσωση α βαθμού επιστρέφοντας τη λύση της, ενώ αν έχει άπειρες λύσεις επιστρέφει το 10^20, ενώ αν είναι αδύνατη το -10^20. 92. Να φτιαχτεί υποπρόγραμμα και με τους δύο τύπους αν γίνεται που θα επιλύει μία εξίσωση α βαθμού επιστρέφοντας τη λύση της και το μήνυμα μία λύση, ενώ αν έχει άπειρες λύσεις επιστρέφει το μήνυμα «άπειρες», ενώ αν είναι αδύνατη το μήνυμα «αδύνατη». 93. Στις πανελλαδικές εξετάσεις στο μάθημα ΑΕΠΠ βαθμολογήθηκαν 45000 γραπτά. Για κάθε γραπτό να διαβάζουμε το επώνυμο του μαθητή και τους βαθμούς (ακέραιος 0-100 έλεγχος ορθής εκχώρησης) που έβαλαν οι δύο πρώτοι βαθμολογητές και να βρίσκουμε και εμφανίζουμε: Α) ποια ήταν η μεγαλύτερη διαφορά μεταξύ των βαθμολογητών σε ένα γραπτό Β) σε ποιους μαθητές υπήρχε η παραπάνω διαφορά Γ) το ποσοστό των γραπτών που πήγαν για αναβαθμολόγηση (διαφορά μεγαλύτερη από 12 βαθμ) Δ) σε πόσα γραπτά ήταν ίδιος ο βαθμός του πρώτου και του δεύτερου βαθμολογητή 94. Να φτιαχτεί πρόγραμμα που θα διαβάζει το πολύ 100 ακέραιους αριθμούς και θα τους τοποθετεί σε έναν πίνακα μέχρι να γεμίσει ο πίνακας ή μόλις το άθροισμα όλων των αριθμών να ξεπεράσει το 1000. Στη συνέχεια μέσω υποπρογράμματος να μας επιστρέφει το πλήθος των διαφορετικών αριθμών καθώς και τον αριθμό με την συχνότερη εμφάνιση στον πίνακα (θεωρούμε ότι είναι ένας). 95. Σε έναν αγώνα τριπλούν αγωνίζονται 12 αθλητές και κάνουν αρχικά όλοι 3 προσπάθειες. Οι πρώτοι 9 αθλητές (με τις μεγαλύτερες επιδόσεις) συνεχίζουν και κάνουν άλλες 3 προσπάθειες. Να φτιαχτεί πρόγραμμα που θα διαβάζει τα ονόματα και τις προσπάθειες του καθενός και μας εμφανίζει τα ονόματα τους ξεκινώντας από τον καλύτερο και καταλήγοντας στον χειρότερο. Για την τελική κατάταξη μετράει η καλύτερη προσπάθεια του κάθε αθλητή, ενώ σε περίπτωση που είναι ίδια σε δύο ή παραπάνω αθλητές κατατάσσονται αυτοί σύμφωνα με την δεύτερη καλύτερη τους, ενώ αν είναι πάλι ίση, ελέγχουμε την τρίτη καλύτερη προσπάθεια τους. 96. Στους πανευρωπαϊκούς αγώνες στον αγώνα ταχύτητας υπάρχουν 3 προκριματικές σειρές με 8 αθλητές η κάθε μία και στον τελικό προκρίνονται οι 2 καλύτεροι από κάθε σειρά και από τους υπόλοιπους οι 2 με τους καλύτερους χρόνους. Να φτιαχτεί πρόγραμμα που θα υλοποιεί την παραπάνω διαδικασία και θα μας εμφανίζει τα ονόματα αυτών που προκρίνονται κατά φθίνουσα σειρά σύμφωνα με την επίδοση τους, αφού διαβάσει τα ονόματα και τις επιδόσεις των αθλητών της κάθε σειράς. 97. Να φτιαχτεί πρόγραμμα που θα διαβάζει τα ονόματα 100 μαθητών και το βαθμό που έγραψαν στα 6 πανελλαδικά μαθήματα. Μέσω συνάρτησης να βρίσκουμε το Μέσο Όρο σε κάθε μάθημα και να 13 Σελίδα
τον αποθηκεύουμε σε έναν πίνακα ΜΟ. Στη συνέχεια για κάθε μάθημα μέσω υποπρογράμματος θα εμφανίζουμε τα ονόματα των μαθητών με την μεγαλύτερη απόκλιση από το μέσο όρο του μαθήματος. 98. Μία εταιρεία έχει 50 πωλητές και θέλει να δώσει έξτρα αμοιβή στους 3 καλύτερους σύμφωνα με τις περσινές ετήσιες πωλήσεις τους. Να φτιαχτεί πρόγραμμα που θα διαβάζει τα ονόματα των πωλητών και τις μηνιαίες πωλήσεις που είχαν πέρσι και θα μας εμφανίζει τους τρεις καλύτερους μαζί με την έξτρα αμοιβή του καθενός. Ο πρώτος παίρνει 10000, ο δεύτερος 8000 και ο τρίτος 3000. Αν ο πρώτος έχει διαφορά στις ετήσιες πωλήσεις μικρότερη των 2000 με τον δεύτερο τότε και οι δύο παίρνουν από 9000, αν η διαφορά του δεύτερου με τον τρίτο είναι μικρότερη των 2000 παίρνουν και οι δύο από 5500, ενώ αν ο πρώτος με τον δεύτερο και ο δεύτερος με τον τρίτο έχουν διαφορά στις ετήσιες πωλήσεις μικρότερη των 2000, τότε όλοι παίρνουν από 7000 ο καθένας. 99. Να φτιαχτεί αλγόριθμος που θα διαβάζει 100 αριθμούς και θα μας εμφανίζει ποιο είναι το μεγαλύτερο πλήθος συνεχόμενων θετικών αριθμών (χωρίς πίνακες). 100. Να φτιαχτεί αλγόριθμος που θα διαβάζει συνεχώς τιμές μέχρι να δώσουμε μία αρνητική τιμή και αν δώσουμε τουλάχιστον 2 μη αρνητικές τιμές μήνυμα για το αν αυτές οι τιμές ήταν κατά αύξουσα σειρά ή όχι, ενώ αν δεν δώσουμε τουλάχιστον 2 μη αρνητικές τιμές μήνυμα λάθους. 101. Να φτιαχτεί τμήμα αλγορίθμου που θα διαβάζει τις τιμές ενός τριγωνικού πίνακα 25Χ25 ακεραίων αριθμών χωρίς τη χρήση συνθήκης ΑΝ. 102. Να φτιαχτεί πρόγραμμα που θα διαβάζει τα ονόματα 100 μαθητών με αλφαβητική σειρά και στη συνέχεια ένα όνομα που θα ψάξουμε αν ανήκει στους μαθητές. Η αναζήτηση να γίνεται σειριακά και να σταματάει μόλις βρει ή ξεπεράσει το όνομα που ψάχνουμε. 103. Να συμπληρωθούν τα κενά στο παρακάτω τμήμα αλγορίθμου ώστε να ταξινομεί τα στοιχεία ενός πίνακα Α 20 στοιχείων κατά αύξουσα σειρά. ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ. ΓΙΑ Κ ΑΠΟ ΜΕΧΡΙ ΜΕ_ΒΗΜΑ -1 ΑΝ Α[.] < Α[..] ΤΟΤΕ ΑΝΤΙΜΕΤΑΘΕΣΕ Α[ ], Α[. ] 104. Να φτιαχτεί αλγόριθμος που θα διαβάζει τα ονόματα και τους βαθμούς 100 μαθητών και θα εμφανίζει στην οθόνη μόνο τα ονόματα αυτών που προάγονται (βαθμό>=9,5) από τον καλύτερο προς τον χειρότερο. 105. Να τροποποιηθεί η παραπάνω άσκηση ώστε να σταματάει η ταξινόμηση μόλις μπουν σε σειρά αυτοί που προάγονται, και οι υπόλοιποι που δεν προάγονται να μην ταξινομούνται. 106. Να φτιαχτεί αλγόριθμος που θα διαβάζει συνεχώς αριθμούς και θα μας εμφανίζει τον αριθμό που εμφανίζεται τις περισσότερες φορές σε συνεχόμενες θέσεις. Η εισαγωγή των αριθμών θα σταματάει όταν εισάγουμε την τιμή -99. Πχ αν δώσουμε 1,2,3,3,2,1,2,-99, θα μας εμφανίσει το 3. 107. Να φτιαχτεί αλγόριθμος που θα υλοποιεί το παιχνίδι φιδάκι θεωρώντας ότι κάθε παίκτης ξεκινάει από τη θέση μηδέν και τερματίζει όταν φτάσει στη θέση εκατό. Θεωρούμε ότι στο φιδάκι υπάρχουν 10 σκάλες, που όταν σταματήσεις μετά από κάποια ζαριά στην αρχή τους σε πηγαίνουν 14 Σελίδα
σε μεγαλύτερη θέση και 10 φιδάκια, που όταν σταματήσεις στο κεφάλι τους σε πηγαίνουν σε χαμηλότερη θέση. Αρχικά θα διαβάσουμε σε δύο δισδιάστατους πίνακες ΣΚΑΛ και ΦΙΔ 10Χ2 όπου ο καθένας περιέχει στην 1 η στήλη την αρχική θέση και στην 2 η στήλη την τελική θέση όταν σταματήσουμε στην αρχή της σκάλας ή στο κεφάλι του φιδιού αντίστοιχα. Στη συνέχεια να διαβάζουμε για κάθε έναν από τους 4 παίκτες κυκλικά (από το 1 ο μέχρι τον 4 ο ) τη ζαριά που έφεραν 15 Σελίδα