Γ’ ΓΕΛ
Διαχείριση ουράς σε ταχυδρομείο
Κατεβάστε το αρχείο του προγράμματος στον Η/Υ σας και στη συνέχεια μπείτε στην ιστοσελίδα https://gloglossa.gr/ όπου υπάρχει ο οnline διερμηνευτής της ΓΛΩΣΣΑΣ. Ανοίξτε το αρχείο όπως δείχνει η εικόνα και εκτελέστε το πατώντας το ομώνυμο πλήκτρο. |
Πρόγραμμα για διαγωνισμό ρομποτικής
(Πηγή: Θέμα 27545 που αναρτήθηκε στην τράπεζα θεμάτων στις 3-1-2023)
Σε ένα διαγωνισμό ρομποτικής συμμετέχουν 10 σχολεία. Κάθε σχολείο παρουσιάζει το έργο της και βαθμολογείται από μια κριτική επιτροπή καθώς και από τα υπόλοιπα σχολεία. Οι βαθμοί που δίνονται είναι ακέραιες τιμές από το 1 μέχρι το 10. Να γραφτεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο :
4.1 Να περιλαμβάνει το τμήμα δηλώσεων.
Μονάδες 2
4.2 Να διαβάζει τις τιμές εισόδου με την εξής σειρά:
Α) Τα ονόματα των 10 σχολείων σε πίνακα ΣΧΟΛΕΙΟ[10].
Β) Τις βαθμολογίες που έλαβε το κάθε σχολείο από την κριτική επιτροπή και καταχωρούνται στην κύρια διαγώνιο του τετραγωνικού πίνακα ΒΑΘΜΟΙ[10,10]. (Μονάδες 3)
Γ) Τις βαθμολογίες που έλαβε το κάθε σχολείο από τα υπόλοιπα σχολεία και καταχωρούνται στις υπόλοιπες θέσεις του πίνακα ΒΑΘΜΟΙ. Για παράδειγμα, η τιμή της θέσης ΒΑΘΜΟΙ[4,5] αντιστοιχεί στο βαθμό που πήρε το 4ο σχολείο από το 5ο σχολείο. (Μονάδες 4)
Μονάδες 15
4.3 Να υπολογίζει και να τυπώνει για κάθε σχολείο το άθροισμα των βαθμών που πήρε και να τα καταχωρεί στο πίνακα Σ_ΒΑΘΜΩΝ[10].
Μονάδες 8
Το πρόγραμμα να κάνει έλεγχο δεδομένων.
Αλγόριθμος για επισκέψεις ιστοτόπων
(Θέμα πανελληνίων εξετάσεων έτους 2014 για το μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον)
Μια εταιρεία Πληροφορικής καταγράφει, για δέκα ιστότοπους, τον αριθμό των επισκέψεων που δέχεται ο καθένας, κάθε μέρα, για τέσσερις εβδομάδες.
Να αναπτύξετε αλγόριθμο, ο οποίος:
Δ1. Για καθένα από τους ιστότοπους να διαβάζει το όνομά του και τον αριθμό των επισκέψεων που δέχθηκε ο ιστότοπος για καθεμιά ημέρα.
Δεν απαιτείται έλεγχος εγκυρότητας τιμών.
Δ2. Να εμφανίζει το όνομα κάθε ιστοτόπου και τον συνολικό αριθμό των επισκέψεων που δέχθηκε αυτός στο διάστημα των τεσσάρων εβδομάδων.
Δ3. Να εμφανίζει τα ονόματα των ιστοτόπων που κάθε μέρα στο διάστημα των τεσσάρων εβδομάδων δέχθηκαν περισσότερες από 500 επισκέψεις.
Αν δεν υπάρχουν τέτοιοι ιστότοποι, να εμφανίζει κατάλληλο μήνυμα.
Δ4. Να διαβάζει το όνομα ενός ιστοτόπου. Αν το όνομα αυτό δεν είναι ένα από τα δέκα ονόματα που έχουν δοθεί, να το ξαναζητά, μέχρι να δοθεί ένα από αυτά τα ονόματα. Να εμφανίζει τους αριθμούς των εβδομάδων (1-4) κατά τη διάρκεια των οποίων ο συνολικός (εβδομαδιαίος) αριθμός επισκέψεων στον ιστότοπο αυτό είχε τη μέγιστη τιμή.
Εργασίες σε έναν μονοδιάστατο πίνακα
Έλεγχος αν ένας πίνακας είναι ταξινομημένος
Αν σε κάποια άσκηση ζητείται να ελεγχθεί αν ένας πίνακας είναι ταξινομημένος - έστω κατ' αύξουσα σειρά - τότε στην πραγματικότητα θα πρέπει να ελεγχθεί αν υπάρχει ένα τουλάχιστον ζεύγος γειτονικών στοιχείων που δεν είναι στη σωστή σειρά. Αυτό υλοποιείται με το παρακάτω απόσπασμα αλγορίθμου για έναν πίνακα έστω 50 στοιχείων:
flag <- ΑΛΗΘΗΣ ΓΙΑ i ΑΠΟ 50 ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ -1 ΑΝ Α[i] < Α[i - 1] ΤΟΤΕ flag <- ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ flag = 'ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ 'Πίνακας ταξινομημένος κατά αύξουσα σειρά' ΤΕΛΟΣ_ΑΝ
Συμμετρικός μονοδιάστατος πίνακας
Επεξήγηση πότε ένας μονοδιάστατος πίνακας είναι συμμετρικός και πότε όχι (αρχείο pdf).
Εκτός από τον αλγόριθμο που παρατίθεται στο αρχείο pdf, ένας εναλλακτικός αλγόριθμος για να ελεγχθεί αν ένας μονοδιάστατος πίνακας είναι συμμετρικός ή όχι είναι ο εξής:
(Πηγή: http://users.sch.gr//paris/index.php?option=com_content&view=article&id=41:kef39monoalgor&catid=10:kef39monpin&Itemid=6)
Αλγόριθμος Συμμετρικός_πίνακας
Ίσα_στοιχεία ← 0
! Ελέγχουμε τον πίνακα μέχρι τη μέση
Για i από 1 μέχρι (ν DIV 2)
Αν Α[i] = A[ν+1-i] τότε
Ίσα_στοιχεία ← Ίσα_στοιχεία + 1
Τέλος_αν
Τέλος_επανάληψης
Αν Ίσα_στοιχεία = (ν DIV 2) τότε
Εμφάνισε "Ο πίνακας είναι συμμετρικός."
Αλλιώς
Εμφάνισε "Ο πίνακας δεν είναι συμμετρικός."
Τέλος_αν
Τέλος
Ταξινόμηση δισδιάστατου πίνακα
Ταξινόμηση των στοιχείων ενός δισδιάστατου πίνακα Π[3,4] σε αύξουσα σειρά ώστε το μικρότερο να βρίσκεται στην θέση 1,1 και το μεγαλύτερο στην θέση 3,4. https://aepp.edu.gr/eidika-themata/taksinomisi-disdiastatou-pinaka/ |
Ταξινόμηση των στοιχείων ενός δισδιάστατου πίνακα ανά γραμμή, ανά στήλη και με βάση τα στοιχεία μιας συγκεκριμένης στήλης. |
Ταξινόμηση ευθείας ανταλλαγής (φυσαλίδας) – Βίντεο και προσομοίωση εκτέλεσης αλγορίθμου
Άσκηση για δυαδική και σειριακή αναζήτηση
- Να γραφτεί πρόγραμμα το οποίο να διαβάζει 10 ονόματα και ισάριθμα τηλέφωνα. (Θεωρήστε ότι τα ονόματα δίνονται ταξινομημένα.)
- Να διαβάζει ένα όνομα για αναζήτηση του τηλεφώνου του.
- Να αναζητά το όνομα σειριακά. Αν βρεθεί, να εμφανίζει το τηλέφωνό του, διαφορετικά μήνυμα ότι δεν βρέθηκε.
- Να εμφανίζει επίσης το πλήθος των αναζητήσεων που έκανε.
(Επισημαίνεται ότι επειδή ο πίνακας είναι ταξινομημένος, να σταματά όταν ξεπεράσει το ζητούμενο όνομα.)
- Να αναζητά το όνομα δυαδικά. Αν βρεθεί, να εμφανίζει το τηλέφωνό του, διαφορετικά μήνυμα ότι δεν βρέθηκε.
- Να εμφανίζει επίσης το πλήθος των αναζητήσεων που έκανε.
(Πηγή άσκησης: http://2lyk-gerak.att.sch.gr/aepp/aepp-binary-search.htm)