Μάθημα : Πληροφορική 1
Κωδικός : 0551942428
-
Εμφάνιση όλων των ενοτήτων
Ασκήσεις
1. Γραμματόσημα
Ένας συλλέκτης γραμματοσήμων επισκέπτεται στο διαδίκτυο το αγαπημένο του ηλεκτρονικό κατάστημα φιλοτελισμού προκειμένου να αγοράσει γραμματόσημα. Προτίθεται να ξοδέψει μέχρι 1500 ευρώ.
Να αναπτύξετε αλγόριθμο ο οποίος:
α. Για κάθε γραμματόσημο, να διαβάζει την τιμή και την προέλευσή του (ελληνικό/ξένο) και να επιτρέπει την αγορά του, εφόσον η τιμή του δεν υπερβαίνει το διαθέσιμο υπόλοιπο χρημάτων. ∆ιαφορετικά να τερματίζει τυπώνοντας το μήνυμα «ΤΕΛΟΣ ΑΓΟΡΩΝ».
ΣΗΜΕΙΩΣΗ: ∆εν απαιτείται έλεγχος εγκυρότητας για τα δεδομένα εισόδου.
β. Να τυπώνει:
1. Το συνολικό ποσό που ξόδεψε ο συλλέκτης.
2. Το πλήθος των ελληνικών και το πλήθος των ξένων γραμματοσήμων που αγόρασε.
3. Το ποσό που περίσσεψε, εφόσον υπάρχει, διαφορετικά το μήνυμα «ΕΞΑΝΤΛΗΘΗΚΕ ΟΛΟ ΤΟ ΠΟΣΟ».
2. Θετικοί αριθμοί
Να γραφεί πρόγραμμα σε "ΓΛΩΣΣΑ" το οποίο να διαβάζει θετικό ακέραιο αριθμό Ν. Στη συνέχεια, να διαβάζει θετικούς αριθμούς μέχρι το άθροισμά τους να γίνει μεγαλύτερο από τον αριθμό Ν. Τέλος να υπολογίζει και να τυπώνει τον μεγαλύτερο αριθμό που πληκτρολογήθηκε. Να γίνεται έλεγχος των αριθμών που πληκτρολογούνται, ώστε να είναι θετικοί, σε αντίθετη περίπτωση να εμφανίζεται μήνυμα λάθους και να ζητείται η πληκτρολόγηση ενός θετικού αριθμού.
3. div - mod
- Ομάδα μαθητών στα πλαίσια κάποιας περιβαλλοντικής εκδρομής θα διαμείνει σε ξενοδοχείο. Η ομάδα μπορεί να αποτελείται από 2 καθηγητές και από 4 μέχρι και 15 μαθητές. Το ξενοδοχείο έχει δίκλινα και τρίκλινα δωμάτια. Στο δίκλινο η διανυκτέρευση κοστίζει 70€ ενώ στο τρίκλινο 90€. Για την κατανομή των μαθητών στα δωμάτια ισχύουν τα εξής:
Οι συνοδοί καθηγητές καταλαμβάνουν 1 δίκλινο. Οι μαθητές καταλαμβάνουν όσο το δυνατόν περισσότερα τρίκλινα. Επίσης ποτέ δεν μένει κάποιος μαθητής μόνος του σε ένα δίκλινο. (πχ. 7 μαθητές κατανέμονται σε 1 τρικλ. και 2 δικλ. ενώ οι 8 σε 2 τρικλ και 1 δικλ ).
Να γραφεί πρόγραμμα που θα διαβάζει πόσα βράδια θέλει να μείνει η ομάδα και το πλήθος των μαθητών που την αποτελούν. Αν το πλήθος των μαθητών δεν είναι σωστό να εκτυπώνεται μήνυμα λάθους και ο αλγόριθμος να σταματά. Το πρόγραμμα να υπολογίζει και να εκτυπώνει το ποσό που θα πληρώσει η ομάδα. - Να γίνει πρόγραμμα το οποίο να διαβάζει 10 ακέραιους αριθμούς και στη συνέχεια να εμφανίζει το πλήθος των άρτιων και των περιττών.
- Να γραφεί πρόγραμμα το οποίο να δέχεται από το πληκτρολόγιο έναν ακέραιο αριθμό και να ελέγχει εάν είναι διψήφιος και θετικός. Στην περίπτωση που ισχύει, να τυπώνεται το μήνυμα "Θετικός, Διψήφιος αριθμός",
ενώ διαφορετικά να τυπώνονται για κάθε περίπτωση "Μόνο θετικός" ή "Μόνο διψήφιος" ή "Ούτε θετικός, ούτε διψήφιος" - Το ακόλουθο πρόγραμμα έχει σκοπό να διαβάζει 10 θετικούς αριθμούς και να υπολογίζει και να εμφανίζει το γινόμενο όσων από αυτούς είναι πολλαπλάσιοι και του 3 και του 5 (συγχρόνως). Στο πρόγραμμα, όμως, υπάρχουν λάθη.
α) Να εντοπίσετε τα λάθη αυτά και στο τετράδιό σας να γράψετε τον αριθμό της γραμμής που βρίσκεται το λάθος και τον χαρακτηρισμό του (συντακτικό ή λογικό).
β) Στη συνέχεια να γράψετε το σωστό πρόγραμμα διορθώνοντας τα λάθη που εντοπίσατε.1. Πρόγραμμα Αριθμοί
2. Μεταβλητές
3. Πραγματικές: Χ
4. Ακέραιες: Ρ, i
5. Αρχή
6. Ρ <– 0
7. Για i από 1 μέχρι 10
8. Διάβασε Χ
9. Αν Χ MOD 3 = 0 Ή MOD 5 = 0 τότε
10 Ρ <– Ρ * Χ
11. Τέλοςεπανάληψης
12. Τέλοςεπανάληψης
13. Γράψε Ρ
14 Τέλος_προγράμματος
Σημείωση: Θεωρείστε ότι κατά την εκτέλεση του προγράμματος θα δοθεί τουλάχιστον ένας τέτοιος αριθμός.
4. Λιμάνι
Ένα λιμάνι διαθέτει αποθηκευτικό χώρο χωρητικότητας 170 εμπορευματοκιβωτίων (containers). Σε καθημερινή βάση, στο τέλος της ημέρας, καταχωρίζεται ο αριθμός των εμπορευματοκιβωτίων που έχουν εισέλθει και εξέλθει από αυτόν.
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
Γ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
β. Να διαβάζει για κάθε ημέρα το συνολικό πλήθος εμπορευματοκιβωτίων που εισήλθαν, καθώς και το συνολικό πλήθος εκείνων που εξήλθαν από τον αποθηκευτικό χώρο. Οι τιμές που διαβάζονται να ελέγχονται ώστε ο αριθμός των εμπορευματοκιβωτίων που παραμένουν στον αποθηκευτικό χώρο στο τέλος της ημέρας να είναι από 0 μέχρι και 170. Σε αντίθετη περίπτωση να θεωρούνται λανθασμένες και να επανεισάγονται.
γ. Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα εμφανίζει το μήνυμα “Τέλος Εισαγωγής Στοιχείων; ΝΑΙ / ΟΧΙ”. Αν εισαχθεί η τιμή “ΝΑΙ”, να τερματίζεται η εισαγωγή δεδομένων.
Γ2. Να βρίσκει και να εμφανίζει το ν μέγιστο ημερήσιο αριθμό εισερχόμενων εμπορευματοκιβωτίων.
Γ3. Να υπολογίζει και να εμφανίζει τη μέση ημερήσια διακίνηση εμπορευματοκιβωτίων. Η ημερήσια διακίνηση είναι το άθροισμα του πλήθους των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων της ημέρας.
Γ4. Να υπολογίζει και να εμφανίζει το πλήθος των ημερών που παρέμειναν στον αποθηκευτικό χώρο τουλάχιστον 10 εμπορευματοκιβώτια, στο τέλος κάθε ημέρας.
Γ5. Να υπολογίζει και να εμφανίζει τον μέσο όρο του πλήθους των εμπορευματοκιβωτίων που παρέμειναν στον αποθηκευτικό χώρο, στο τέλος κάθε ημέρας, από την έναρξη μέχρι τον τερματισμό εισαγωγής δεδομένων.
Σημειώσεις
Να θεωρήσετε ότι :
α) Αρχικά ο αποθηκευτικός χώρος είναι κενός.
β) Οι αριθμοί που εισάγονται για το πλήθος των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων είναι μεγαλύτεροι ή ίσοι του 0.
γ) Υπάρχει καταχώριση στοιχείων για τουλάχιστον μια ημέρα.
5. Διάγραμμα ροής 1
Να μετατρέψετε το παρακάτω διάγραμμα ροής σε ψευδογλώσσα :
6. Διάγραμμα ροής 2
Δίνεται το παρακάτω τμήμα αλγόριθμου
Αν Α>5 τότε
Αν Β<8 τότε
Γράψε ‘επιτυχία’
Αλλιώς_αν Α>8 τότε
Γράψε ‘επιτυχία’
Αλλιώς
Γράψε ‘αποτυχία’
Τέλος_αν
Αλλιώς
Γράψε ‘αποτυχία’
Τέλος_αν
α. Να σχεδιάσετε το αντίστοιχο διάγραμμα ροής .
β. Να γράψετε ισοδύναμο τμήμα αλγορίθμου χρησιμοποιώντας μόνο μία εντολή σύνθετης επιλογής.
7. Πωλητές
Μια επιχείρηση έχει 10 πωλητές. Θέλοντας να τους δώσει κίνητρο καθιέρωσε βραβείο για τον καλύτερο πωλητή κάθε μήνα.
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:
Δ1. α) Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
β) Να καταχωρίζει τα ονόματα των πωλητών σε πίνακα ON[10] και τις μηνιαίες πωλήσεις κάθε πωλητή σε πίνακα ακεραίων Π[10,12] (δεν απαιτείται έλεγχος εγκυρότητας).
Δ2. Να βρίσκει και να εμφανίζει, για κάθε μήνα, το όνομα του πωλητή που πήρε το βραβείο (είχε τις μεγαλύτερες πωλήσεις). Να θεωρήσετε ότι για κάθε μήνα ο βραβευμένος πωλητής είναι μοναδικός.
Δ3. Να υπολογίζει τις συνολικές πωλήσεις της επιχείρησης στο 1ο και στο 2ο εξάμηνο και να εμφανίζει ανάλογα με την περίπτωση ένα από τα παρακάτω μηνύματα:
- «Οι πωλήσεις του 1ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 2ου εξαμήνου».
- «Οι πωλήσεις του 2ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 1ου εξαμήνου».
- «Οι πωλήσεις του 1ου και του 2ου εξαμήνου είναι ίσες».
Δ4. Να διαβάζει το όνομα πωλητή και, κάνοντας αναζήτηση, αν υπάρχει στον πίνακα ON[10] να υπολογίζει και να εμφανίζει τις συνολικές ετήσιες πωλήσεις του. Σε περίπτωση που δεν υπάρχει να εμφανίζει το μήνυμα «Ανύπαρκτος πωλητής».
8. Πολιτιστική εκδήλωση
Ο σύλλογος γονέων και κηδεμόνων μιας περιοχής θέλει να διοργανώσει μια πολιτιστική εκδήλωση. Για το σκοπό αυτό, ζητά από κάθε σχολείο της περιοχής να προσφέρει κάποιο χρηματικό ποσό για την πραγματοποίησή της. Κάθε σχολείο έχει τη δυνατότητα να επικοινωνεί περισσότερες από μία φορές με το σύλλογο και να τροποποιεί την προσφορά του.
Να αναπτύξετε αλγόριθμο σε ψευδογλώσσα, ο οποίος:
Γ1. Να θεωρεί δεδομένο ένα πίνακα Σ[100] που περιέχει τα ονόματα των 100 σχολείων της περιοχής και να δημιουργεί πίνακα Π[100] που θα περιέχει τις αντίστοιχες χρηματικές προσφορές από κάθε σχολείο. Αρχικά να
τοποθετηθεί σε κάθε στοιχείο του πίνακα Π[100] την τιμή -1.
Γ2. α) Να διαβάζει το όνομα ενός σχολείου και να το αναζητά στον πίνακα Σ.
β) Να εμφανίζει το μήνυμα «Άγνωστο», όταν το σχολείο δε βρεθεί. Όταν το σχολείο βρεθεί, να σταματά την αναζήτηση, να διαβάζει τη χρηματική προσφορά του σχολείου και να την τοποθετεί στην αντίστοιχη θέση του πίνακα Π. (Όταν δοθεί η τιμή 0, σημαίνει ότι το σχολείο δεν μπορεί να προσφέρει χρήματα, δηλαδή έδωσε μηδενική προσφορά).Όταν δεν είναι η πρώτη φορά που δίνει προσφορά τότε να εμφανίζει το μήνυμα «ΤΡΟΠΟΠΟΙΗΣΗ ΠΡΟΣΦΟΡΑΣ» και να αντικαθιστά την προηγούμενη προσφορά του με τη νέα.
Γ3. Να επαναλαμβάνει τις ενέργειες που περιγράφονται στο ερώτημα Γ2, μέχρις ότου όλα τα σχολεία να δώσουν τουλάχιστον μία προσφορά.
Γ4. Να εμφανίζει: α) το συνολικό χρηματικό ποσό που έχει συγκεντρωθεί, β) το πλήθος των σχολείων που έδωσαν μηδενική προσφορά, γ) το πλήθος των τροποποιήσεων που έγιναν στις προσφορές.
διαγωνίσματα 1,2
9. ασκήσεις συμπλήρωσης κενών
2020, Β2
Ένας θετικός ακέραιος αριθμός μεγαλύτερος από το ένα (1) είναι πρώτος αν διαιρείται ακριβώς, μόνο με τον εαυτό του και τη μονάδα. Το
παρακάτω τμήμα προγράμματος διαβάζει έναν θετικό ακέραιο αριθμό, ελέγχει αν είναι πρώτος ή όχι και εμφανίζει αντίστοιχο μήνυμα. Για το
σκοπό αυτό διαβάζει έναν θετικό ακέραιο n (n>1), τον διαιρεί διαδοχικά με τους αριθμούς 2, 3, 4, ..., n-1, ελέγχοντας μετά από κάθε διαίρεση αν
ο αριθμός n διαιρείται ακριβώς.
Στην περίπτωση που διαιρείται ακριβώς, σταματάει η επαναληπτική διαδικασία και εμφανίζεται το μήνυμα ‘Δεν είναι πρώτος αριθμός’. Αν η
επαναληπτική διαδικασία των διαιρέσεων τερματιστεί χωρίς ο αριθμός n να έχει διαιρεθεί ακριβώς από κανέναν αριθμό εμφανίζεται το μήνυμα
‘Είναι πρώτος αριθμός’. Ο αλγόριθμος περιέχει πέντε (5) αριθμημένα κενά. Να γράψετε στο τετράδιό σας τους αριθμούς των κενών και δίπλα
ό,τι χρειάζεται να συμπληρωθεί, ώστε το τμήμα προγράμματος να λειτουργεί σωστά.
ΔΙΑΒΑΣΕ n
ΠΡΩΤΟΣ <- ...(1)...
i <- ...(2)...
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ ...(3)... =0 ΤΟΤΕ
ΠΡΩΤΟΣ <- ...(4)...
ΤΕΛΟΣ_ΑΝ
i <- i+1
ΜΕΧΡΙΣ_ΟΤΟΥ i>n-1 Ή ...(5)...
AN ΠΡΩΤΟΣ = ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ ‘Είναι πρώτος αριθμός’
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘Δεν είναι πρώτος αριθμός’
ΤΕΛΟΣ_ΑΝ
Δίνεται ο παρακάτω αλγόριθμος ο οποίος ελέγχει αν το στοιχείο key βρίσκεται στον πίνακα table[n] τουλάχιστον τρείς (3) φορές και εμφανίζει τη θέση στην οποία βρίσκεται την τρίτη φορά.
Αλγόριθμος Β1
Δεδομένα // n, table, key //
done <- ψευδής
position <- 0
i <- 1
count <- ...(1)...
Όσο i <= ...(2)... και done = ...(3)... επανάλαβε
Αν table[ ...(4)... ] = key τότε
count <- ...(5)...
Τέλος_αν
Αν count = ...(6)... τότε
done <- ...(7)...
...(8)... <- i
αλλιώς
i <- ...(9)...
Τέλος_αν
Τέλος_επανάληψης
Αν ...(10)... τότε
Εμφάνισε "Tο στοιχείο", key, "υπάρχει τουλάχιστον 3 φορές."
Εμφάνισε "Για τρίτη φορά εμφανίζεται στη θέση ", position, "."
αλλιώς
Εμφάνισε "Το στοιχείο", key, "δεν υπάρχει τουλάχιστον 3 φορές."
Τέλος_αν
Τέλος Β1
Να γράψετε στο τετράδιό σας τους αριθμούς των κενών και δίπλα ό,τι χρειάζεται να συμπληρωθεί έτσι ώστε ο αλγόριθμος να λειτουργεί σωστά.
10. Διαγωνισμός τραγουδιού
Ένας διαγωνισμός τραγουδιού διεξάγεται σε δύο φάσεις. Στην πρώτη φάση γίνεται ακρόαση των 45 τραγουδιών που διαγωνίζονται και κάθε μέλος της επταμελούς κριτικής επιτροπής βαθμολογεί το κάθε τραγούδι με βαθμό από 1 έως 10.
Στη δεύτερη φάση προκρίνεται κάθε τραγούδι που συγκέντρωσε συνολική μεγαλύτερη του 50 και το οποίο όλοι οι κριτές έχουν βαθμολογήσει τουλάχιστον με 5.
Να γραφεί πρόγραμμα, το οποίο :
Δ1. Για κάθε τραγούδι να διαβάζει τον τίτλο του και τον βαθμό που έδωσε κάθε κριτής. Απαιτείται έλεγχος εγκυρότητας.
Δ2. Να υπολογίζει και να εμφανίζει τη συνολική βαθμολογία του κάθε τραγουδιού, η οποία προκύπτει ως το άθροισμα των βαθμών όλων των κριτών.
Δ3. Να βρίσκει και να εμφανίζει τους τίτλους των τραγουδιών που προκρίνονται στη δεύτερη φάση του διαγωνισμού. Αν κανένα τραγούδι δεν προκρίνεται στη δεύτερη φάση, να εμφανίζει κατάλληλο μήνυμα.
Δ4. Να βρίσκει και να εμφανίζει το πλήθος των κριτών που έδωσαν τον μέγιστο βαθμό τους σε ένα μόνο τραγούδι.
11. Comenius
Σε ένα πρόγραμμα ανταλλαγής μαθητών Comenius συμμετέχουν μαθητές από δυο χώρες: Ελλάδα (EL) και Ισπανία (ES). Οι μαθητές αυτοί καλούνται να απαντήσουν σε μια ερώτηση όπου οι δυνατές απαντήσεις είναι:
1. Πολύ συχνά 2. Συχνά 3. Αρκετές φορές 4. Σπάνια 5. Ποτέ
Στην πρώτη φάση επεξεργασίας της ερώτησης πρέπει να καταγραφούν οι απαντήσεις από κάθε χώρα και να μετρήσουν για κάθε αριθμό απάντησης πόσες φορές υπάρχει, με σκοπό να αναφέρουν για κάθε χώρα, ποια απάντηση είχε τα μεγαλύτερα ποσοστά.
Για να βοηθήσετε στην επεξεργασία να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
Δ1. α. Να περιέχει τμήμα δηλώσεων.
β. Να δημιουργεί δύο πίνακες EL[5] και ES[5] και να καταχωρίζει σε αυτούς την τιμή 0 σε όλα τα στοιχεία τους.
Δ2. Για κάθε μαθητή να διαβάζει το όνομα της χώρας του και τον αριθμό της απάντησής του. Οι δυνατές τιμές για τη χώρα είναι: EL, ES και για την απάντηση 1,2,3,4,5. Η κάθε απάντηση θα πρέπει να προσμετράται σε έναν από τους δύο πίνακες EL[5], ES[5] ανάλογα με τη χώρα και στο αντίστοιχο στοιχείο. Δηλαδή, αν δοθούν για τιμές οι ES και 4, τότε θα πρέπει στο 4ο στοιχείο του πίνακα ES[5] να προστεθεί μια ακόμα καταχώριση. (Δεν απαιτείται έλεγχος εγκυρότητας τιμών)
Δ3. Η προηγούμενη διαδικασία εισαγωγής δεδομένων και καταχώρισης απαντήσεων θα ελέγχεται από την ερώτηση «για Διακοπή της εισαγωγής πατήστε Δ ή δ», που θα εμφανίζεται, και ο χρήστης θα πρέπει να δώσει το χαρακτήρα Δ ή δ για να σταματήσει την επαναληπτική διαδικασία.
Δ4. Στο τέλος για κάθε χώρα να εμφανίζει ποιος αριθμός απάντησης είχε το μεγαλύτερο ποσοστό, καθώς και το ποσοστό αυτό.
Θεωρήστε ότι όλες οι τιμές των πινάκων είναι διαφορετικές και ότι για κάθε χώρα υπάρχει τουλάχιστον μια απάντηση στην ερώτηση.
12. Ναυτικές λέξεις
Στο πλαίσιο μιας μελέτης, ένας φιλόλογος θέλει να ελέγξει τη χρήση ενός δείγματος εκατό (100) ναυτικών λέξεων σε σύγχρονα νεοελληνικά κείμενα. Για τον σκοπό αυτό:
Γ1. Να κατασκευάσετε υποπρόγραμμα, με όνομα ΑΝΑΖΗΤΗΣΗ, το οποίο να δέχεται
- ένα μονοδιάστατο πίνακα χαρακτήρων Π[100],
- μια ακέραια μεταβλητή Ν,
- μια αλφαριθμητική μεταβλητή Χ
και να επιστρέφει
- μια λογική μεταβλητή ΒΡΕΘΗΚΕ και
- μια ακέραια μεταβλητή ΘΕΣΗ.
Το υποπρόγραμμα να αναζητά μια λέξη, την τιμή της μεταβλητής Χ στις θέσεις 1 έως Ν του πίνακα Π. Αν βρεθεί η λέξη, το υποπρόγραμμα να
επιστρέφει την τιμή ΑΛΗΘΗΣ και τη θέση που βρέθηκε. Αν δεν βρεθεί, να επιστρέφει την τιμή ΨΕΥΔΗΣ και την τιμή 0.
Στη συνέχεια να κατασκευάσετε κύριο πρόγραμμα το οποίο :
Γ2. Να ζητά 100 ναυτικές λέξεις και να τις καταχωρίζει σε πίνακα ΛΕΞΕΙΣ[100]. Κάθε λέξη που δίνεται να τη δέχεται, μόνο εφόσον ελέγξει
ότι δεν έχει ήδη καταχωριστεί στον πίνακα. Ο έλεγχος να γίνεται με τη χρήση του υποπρογράμματος ΑΝΑΖΗΤΗΣΗ.
Γ3. Να ζητά, με τη σειρά, τις λέξεις ενός νεοελληνικού κειμένου. Η εισαγωγή να τερματίζεται όταν δοθεί ως λέξη η ακολουθία χαρακτήρων
«ΤΕΛΟΣ_ΚΕΙΜΕΝΟΥ».
Γ4. Να εμφανίζει τις σπανιότερες ναυτικές λέξεις του δείγματος που υπάρχουν στο νεοελληνικό κείμενο, δηλαδή τις λέξεις με τη μικρότερη συχνότητα εμφάνισης, χρησιμοποιώντας κατάλληλα το υποπρόγραμμα ΑΝΑΖΗΤΗΣΗ.