Μάθημα : Πληροφορική 3

Κωδικός : 0551942439

0551942439 - ΑΝΤΩΝΙΟΣ ΦΩΤΕΙΝΟΣ

Ενότητες μαθήματος

Ασκήσεις

1. ΑΤΜ

Να γράψετε πρόγραμμα το οποίο να προσομοιώνει τη λειτουργία ενός μηχανήματος ΑΤΜ που εξυπηρετεί πελάτες μέσω ηλεκτρονικών καρτών. Το πρόγραμμα δέχεται, (για λόγους προσομείωσης) τον αριθμό (10ψηφία) και το pin (4ψηφία) της κάρτας για κάθε πελάτη και στη συνέχεια αφού γίνει επαλήθευση του pin από τον πελάτη (μέχρι 3 αποτυχημένες προσπάθειες), διαβάζει, (για λόγους προσομείωσης) το υπόλοιπο του τραπεζικού λογαριασμού του και εμφανίζει το παρακάτω μενού επιλογών :

1. Υπόλοιπο

2. Κατάθεση

3. Ανάληψη

4. Έξοδος

όπου ο πελάτης χρησιμοποιεί τις υπηρεσίες του ΑΤΜ.

  • στην υπηρεσία Υπόλοιπο, βλέπει το υπόλοιπο του λογαριασμού του,
  • στην Κατάθεση καταθέτει ένα ποσό στο λογαριασμό του,
  • στην Ανάληψη, δίνει το ποσό ανάληψης και αν επαρκεί το υπόλοιπο του λογαριασμού, εμφανίζεται το ποσό ανάληψης σε χαρτονομίσματα των 50, 20,10 και 5 ευρώ,
  • στην επιλογή Έξοδο ολοκληρώνει, παίρνει τη κάρτα του και το ΑΤΜ αναμένει τον επόμενο πελάτη.

Το πρόγραμμα τερματίζεται όταν δοθεί 0 ως αριθμός κάρτας.

2. Calculator

Να γράψετε πρόγραμμα που να προσομοιώνει τη λειτουργία ενός calculator. Συγκεκριμένα να ζητάει δύο αριθμούς και στη συνέχεια να εμφανίζει το μενού επιλογών :

1. Πρόσθεση

2. Αφαίρεση

3. Πολλαπλασιασμός

4. Διαίρεση

όπου με την αντίστοιχη επιλογή (1-4), εμφανίζεται το αποτέλεσμα της πράξης. Το πρόγραμμα τερματίζει όταν δωθούν δύο αριθμοί ίσοι με το μηδέν.

 

3. Ζώδια

Να γράψετε πρόγραμμα το οποίο θα δέχεται, ελέγχοντας την εγκυρότητα, την ημερομηνία γέννησης ενός ατόμου (ημέρα [1-31] και μήνα [1-12]) και να εμφανίζει το ζώδιο του, σύμφωνα με τον παρακάτω πίνακα.

  • Κριός, (21/3 – 20/4)
  • Ταύρος, (21/4 – 20/5)
  • Δίδυμοι, (21/5 – 21/6)
  • Καρκίνος, (22/6 – 22/7)
  • Λέων, (23/7 – 22/8)
  • Παρθένος, (23/8 – 22/9)
  • Ζυγός, (23/9 – 23/10)
  • Σκορπιός, (24/10 – 22/11)
  • Τοξότης, (23/11 – 21/12)
  • Αιγόκερως, (22/12 – 20/1)
  • Υδροχόος, (21/1 – 19/2)
  • Ιχθύες, (20/2 – 20/3)

Το πρόγραμμα τερματίζει όταν δωθεί ημέρα 0. 

4. div - mod

  • Ομάδα μαθητών στα πλαίσια κάποιας περιβαλλοντικής εκδρομής θα διαμείνει σε ξενοδοχείο. Η ομάδα μπορεί να αποτελείται από 2 καθηγητές και από 4 μέχρι και 15 μαθητές. Το ξενοδοχείο έχει δίκλινα και τρίκλινα δωμάτια. Στο δίκλινο η διανυκτέρευση κοστίζει 70€ ενώ στο τρίκλινο 90€. Για την κατανομή των μαθητών στα δωμάτια ισχύουν τα εξής:
    Οι συνοδοί καθηγητές καταλαμβάνουν 1 δίκλινο. Οι μαθητές καταλαμβάνουν όσο το δυνατόν περισσότερα τρίκλινα. Επίσης ποτέ δεν μένει κάποιος μαθητής μόνος του σε ένα δίκλινο. (πχ. 7 μαθητές κατανέμονται σε 1 τρικλ. και 2 δικλ. ενώ οι 8 σε 2 τρικλ και 1 δικλ ).
    Να γραφεί πρόγραμμα που θα διαβάζει πόσα βράδια θέλει να μείνει η ομάδα και το πλήθος των μαθητών που την αποτελούν. Αν το πλήθος των μαθητών δεν είναι σωστό να εκτυπώνεται μήνυμα λάθους και το πρόγραμμα να σταματά. Το πρόγραμμα να υπολογίζει και να εκτυπώνει το ποσό που θα πληρώσει η ομάδα.

  • Να γίνει πρόγραμμα το οποίο να διαβάζει 10 ακέραιους αριθμούς και στη συνέχεια να εμφανίζει το πλήθος των άρτιων και των περιττών.

  • Να γραφεί πρόγραμμα το οποίο να δέχεται από το πληκτρολόγιο έναν ακέραιο αριθμό και να ελέγχει εάν είναι διψήφιος και θετικός. Στην περίπτωση που ισχύει, να τυπώνεται το μήνυμα "Θετικός, Διψήφιος αριθμός", ενώ διαφορετικά να τυπώνονται για κάθε περίπτωση "Μόνο θετικός" ή "Μόνο διψήφιος" ή "Ούτε θετικός, ούτε διψήφιος"

5. Κολλέγιο

Να γράψετε πρόγραμμα το οποίο θα χρησιμοποιηθεί για τις εξετάσεις ενός κολλεγίου. Το πρόγραμμα πρέπει να :


∆1. Να διαβάζει το επώνυμο κάθε υποψηφίου με τη χρήση κατάλληλου μηνύματος.
∆2. Να διαβάζει τους βαθμούς στα τέσσερα μαθήματα κάθε υποψηφίου με τη χρήση κατάλληλου μηνύματος.
∆3. Να υπολογίζει το μέσο όρο και να κατατάσσει τον υποψήφιο σε μία από τις τέσσερις κατηγορίες, ανάλογα με την επίδοσή του, δηλαδή:

κλίμακα χαρακτηρισμός
1-150 D
151-300 C
301-350 B
351-400 A

 

∆4. Να εμφανίζει σε ποια κατηγορία ανήκει ο κάθε υποψήφιος.

∆5. Η επανάληψη θα συνεχίζεται έως ότου στη θέση του
επωνύμου γραφτεί η λέξη: "τέλος"
Δ6. Στο τέλος να εμφανίζονται τα συνολικά πλήθη για κάθε κατηγορία.

6. Θετικοί αριθμοί

Να γραφεί πρόγραμμα σε "ΓΛΩΣΣΑ" το οποίο να διαβάζει θετικό ακέραιο αριθμό Ν. Στη συνέχεια, να διαβάζει θετικούς αριθμούς μέχρι το άθροισμά τους να γίνει μεγαλύτερο από τον αριθμό Ν. Τέλος να υπολογίζει και να τυπώνει τον μεγαλύτερο αριθμό που πληκτρολογήθηκε.  Να γίνεται έλεγχος των αριθμών που πληκτρολογούνται, ώστε να είναι θετικοί, σε αντίθετη περίπτωση να εμφανίζεται μήνυμα λάθους και να ζητείται η πληκτρολόγηση ενός θετικού αριθμού. Επίσης να σχεδιάσετε το αντίστοιχο διάγραμμα ροή του προγράμματος μέσω του  draw.io

7. ΑΣΕΠ

Στις εξετάσεις του ΑΣΕΠ οι υποψήφιοι εξετάζονται σε τρεις θεματικές ενότητες. Ο βαθμός κάθε θεματικής ενότητας είναι από 1 έως 100. Η συνολική βαθμολογία κάθε υποψηφίου προκύπτει από τον μέσο όρο των βαθμών του στις τρεις θεματικές ενότητες. Ο υποψήφιος θεωρείται ως επιτυχών, αν η συνολική βαθμολογία του είναι τουλάχιστον 55 και ο βαθμός του σε κάθε θεματική ενότητα είναι τουλάχιστον 50.

Να γράψετε πρόγραμμα το οποίο:
Για κάθε υποψήφιο:


Γ1. Να διαβάζει το όνομά του και τους βαθμούς του σε καθεμία από τις τρεις θεματικές ενότητες. (∆εν απαιτείται έλεγχος εγκυρότητας δεδομένων).
Γ2. Να εμφανίζει τον μεγαλύτερο από τους βαθμούς που πήρε στις τρεις θεματικές ενότητες.
Γ3. Να εμφανίζει το όνομα και τη συνολική βαθμολογία του στην περίπτωση που είναι επιτυχών.
Γ4. Το πρόγραμμα να τερματίζει όταν δοθεί ως όνομα η λέξη “ΤΕΛΟΣ”.
Γ5. Στο τέλος να εμφανίζει το όνομα του επιτυχόντα με τη μικρότερη συνολική βαθμολογία. Θεωρήστε ότι είναι μοναδικός.

8. Διαγωνισμός Πληροφορικής

 

Σε έναν διαγωνισμό Πληροφορικής οι υποψήφιοι διαγωνίζονται σε 6 διαφορετικές ενότητες. Η επίδοσή τους σε κάθε ενότητα βαθμολογείται με ακέραια τιμή από 0 έως και 100.
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:

 

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

 

Γ2. Για κάθε υποψήφιο να διαβάζει το όνομά του και την επίδοσή του στις 6 ενότητες κάνοντας έλεγχο εγκυρότητας της επίδοσης.

 

Γ3. Για κάθε υποψήφιο να υπολογίζει και να εμφανίζει το όνομά του και τον μέσο όρο της επίδοσής του από τις 6 ενότητες. Αν ο μέσος όρος είναι πάνω από 60, να εμφανίζει «ΕΠΙΤΥΧΩΝ» διαφορετικά να εμφανίζει «ΑΠΟΤΥΧΩΝ». Η επαναληπτική διαδικασία να τερματίζεται, όταν δοθεί για όνομα υποψήφιου η λέξη «ΤΕΛΟΣ».

 

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

 

Γ5. Να υπολογίζει και να εμφανίζει το ποσοστό των επιτυχόντων.

 

ΣΗΜΕΙΩΣΗ: Να θεωρήσετε ότι υπάρχει ένας τουλάχιστον υποψήφιος.

9. Λιμάνι

Ένα λιμάνι διαθέτει αποθηκευτικό χώρο χωρητικότητας 170 εμπορευματοκιβωτίων (containers). Σε καθημερινή βάση, στο τέλος της ημέρας, καταχωρίζεται ο αριθμός των εμπορευματοκιβωτίων που έχουν εισέλθει και εξέλθει από αυτόν.
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

 

Γ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
      β. Να διαβάζει για κάθε ημέρα το συνολικό πλήθος εμπορευματοκιβωτίων που εισήλθαν, καθώς και το συνολικό πλήθος εκείνων που εξήλθαν από τον αποθηκευτικό χώρο. Οι τιμές που διαβάζονται να ελέγχονται ώστε ο αριθμός των εμπορευματοκιβωτίων που παραμένουν στον αποθηκευτικό χώρο στο τέλος της ημέρας να είναι από 0 μέχρι και 170. Σε αντίθετη περίπτωση να θεωρούνται λανθασμένες και να επανεισάγονται.
     γ. Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα εμφανίζει το μήνυμα “Τέλος Εισαγωγής Στοιχείων; ΝΑΙ / ΟΧΙ”. Αν εισαχθεί η τιμή “ΝΑΙ”, να τερματίζεται η εισαγωγή δεδομένων.

Γ2. Να βρίσκει και να εμφανίζει το ν μέγιστο ημερήσιο αριθμό εισερχόμενων εμπορευματοκιβωτίων.

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

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

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

 

Σημειώσεις


Να θεωρήσετε ότι :


α) Αρχικά ο αποθηκευτικός χώρος είναι κενός.
β) Οι αριθμοί που εισάγονται για το πλήθος των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων είναι μεγαλύτεροι ή ίσοι του 0.
γ) Υπάρχει καταχώριση στοιχείων για τουλάχιστον μια ημέρα.

10. Κινητή τηλεφωνία

Μια εταιρεία κινητής τηλεφωνίας καταγράφει τη διάρκεια των τηλεφωνικών κλήσεων σε δευτερόλεπτα αλλά χρεώνει ολόκληρα λεπτά από το πρώτο δευτερόλεπτο. Όταν η διάρκεια ομιλίας είναι από 1 έως 60 δευτερόλεπτα χρεώνει ένα ολόκληρο λεπτό της ώρας, όταν είναι από 61 έως 120 δευτερόλεπτα χρεώνει δύο ολόκληρα λεπτά της ώρας και ούτω καθεξής. 
Σε κάθε κλήση τα τρία πρώτα λεπτά της ώρας χρεώνονται 0.06 ευρώ το λεπτό, ενώ η διάρκεια επιπλέον των τριών λεπτών χρεώνεται 0.04 ευρώ το λεπτό (κλιμακωτή χρέωση).
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:


Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. 
Γ2. Για κάθε κλήση να ζητάει τη διάρκεια ομιλίας σε δευτερόλεπτα ελέγχοντας ότι δίνεται θετικός αριθμός και να εμφανίζει τη χρέωσή της. Ο υπολογισμός της χρέωσης να γίνεται με κλήση της συνάρτησης ΧΡΕΩΣΗ που περιγράφεται στο ερώτημα Γ5.
Γ3. Η παραπάνω διαδικασία να τερματίζεται σε οποιαδήποτε από τις εξής περιπτώσεις: 

  • όταν το σύνολο των χρεώσεων ξεπεράσει τα 10 ευρώ.
  • όταν συμπληρωθούν 100 κλήσεις.

Γ4. Μετά το τέλος της επαναληπτικής διαδικασίας να εμφανίζει το επί τοις εκατό ποσοστό των κλήσεων με χρέωση από 2 ευρώ και πάνω.

Γ5. Να κατασκευάσετε τη συνάρτηση ΧΡΕΩΣΗ, η οποία να δέχεται ως είσοδο τη διάρκεια κλήσης σε δευτερόλεπτα, να υπολογίζει τα λεπτά της ώρας που θα χρεώσει και να επιστρέφει την αντίστοιχη χρέωση. 


ΣΗΜΕΙΩΣΗ: Να θεωρήσετε ότι η διάρκεια ομιλίας εισάγεται ως ακέραια τιμή.

11. Δύο προϊόντα

Ένα ηλεκτρονικό κατάστημα προσφέρει σε μαθητές δύο προϊόντα νέας τεχνολογίας σε ειδικές τιμές.
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:


Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.

Γ2. Να διαβάζει για καθένα από τα 2 προϊόντα:


α) Τον αριθμό τεμαχίων (απόθεμα) που έχει προς πώληση, σε μεταβλητές απ1, απ2, ελέγχοντας ότι δίνεται αριθμός μεγαλύτερος του μηδενός. 
β) Την τιμή πώλησής του σε μεταβλητές τ1, τ2.

 

Γ3. Για κάθε μαθητή που εισέρχεται στο κατάστημα, να ζητάει τον αριθμό του προϊόντος (1 ή 2) που προτίθεται να αγοράσει (δεν απαιτείται έλεγχος εγκυρότητας τιμών). Εφόσον το προϊόν υπάρχει, να το αφαιρεί από το αντίστοιχο απόθεμα, διαφορετικά να εμφανίζει το μήνυμα «Δεν μπορείτε να εξυπηρετηθείτε». Ο έλεγχος του αποθέματος να γίνεται με κλήση του  υποπρογράμματος που περιγράφεται στο ερώτημα Γ5. Η παραπάνω διαδικασία να τερματίζεται σε οποιαδήποτε από τις εξής
περιπτώσεις:


α) Αν εξαντληθούν και τα δύο αποθέματα.
β) Αν ο αριθμός των εισερχόμενων μαθητών που δεν εξυπηρετήθηκαν ξεπεράσει το 20% του συνολικού αριθμού των μαθητών που έχουν προσέλθει μέχρι εκείνη τη στιγμή στο κατάστημα.

 

Γ4. Να υπολογίζει και να εμφανίζει τα συνολικά έσοδα του καταστήματος.
Γ5. Να κατασκευαστεί η συνάρτηση ΥΠΑΡΧΕΙ, η οποία:


α) Να δέχεται:
- Τον αριθμό του προϊόντος.
- Το απόθεμα του πρώτου προϊόντος.
- Το απόθεμα του δεύτερου προϊόντος.
β) Να επιστρέφει την τιμή ΑΛΗΘΗΣ εφόσον το προϊόν με τον αριθμό που δόθηκε υπάρχει σε απόθεμα, διαφορετικά την τιμή ΨΕΥΔΗΣ.

11. Φωτοβολταϊκά

Μια εταιρεία ασχολείται με εγκαταστάσεις φωτοβολταϊκών συστημάτων, με τα οποία οι πελάτες της έχουν τη δυνατότητα αφενός να παράγουν ηλεκτρική ενέργεια για να καλύπτουν τις ανάγκες της οικίας τους, αφετέρου να πωλούν την πλεονάζουσα ενέργεια προς 0,55€/kWh, εξασφαλίζοντας επιπλέον έσοδα. Η εταιρεία αποφάσισε να ερευνήσει τις εγκαταστάσεις που πραγματοποίησε την  προηγούμενη χρονιά σε δέκα (10) πελάτες που βρίσκονται ο καθένας σε διαφορετική πόλη της Ελλάδας.
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

 

∆1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
β. Να διαβάζει για κάθε πελάτη το όνομά του και το όνομα της πόλης στην οποία διαμένει και να τα αποθηκεύει στον δισδιάστατο πίνακα ΟΝ[10,2].

γ. Να διαβάζει το ποσό της ηλεκτρικής ενέργειας σε kWh που παρήγαγαν τα φωτοβολταϊκά συστήματα κάθε πελάτη, καθώς και το ποσό της ηλεκτρικής ενέργειας που κατανάλωσε κάθε πελάτης για κάθε μήνα του έτους, και να τα αποθηκεύει στους πίνακες Π[10,12] για την παραγωγή και Κ[10,12] για την κατανάλωση αντίστοιχα 
(δεν απαιτείται έλεγχος εγκυρότητας των δεδομένων).
∆2. Να υπολογίζει την ετήσια παραγωγή και κατανάλωση ανά πελάτη καθώς και τα ετήσια έσοδά του σε ευρώ (€). Θεωρήστε ότι για κάθε πελάτη η ετήσια παραγόμενη ηλεκτρική  ενέργεια είναι μεγαλύτερη ή ίση της ενέργειας που έχει καταναλώσει.

∆3. Να εμφανίζει το όνομα της πόλης στην οποία σημειώθηκε η μεγαλύτερη παραγωγή ηλεκτρικού ρεύματος.

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

12. Ιστιοπλοϊα

Το ράλλυ Βορείων Σποράδων είναι ένας αγώνας ιστοπλοΐας ανοικτής θάλασσας που γίνεται κάθε χρόνο. Στην τελευταία διοργάνωση συμμετείχαν 35 σκάφη που διαγωνίστηκαν σε διαδρομή
συνολικής απόστασης 70 μιλίων. Κάθε σκάφος ανήκει σε μια από τις κατηγορίες C1, C2, C3. Επειδή στον αγώνα συμμετέχουν σκάφη διαφορετικών δυνατοτήτων, η κατάταξη δεν προκύπτει από τον «πραγματικό» χρόνο τερματισμού αλλά από ένα «σχετικό» χρόνο, που υπολογίζεται διαιρώντας τον «πραγματικό» χρόνο του σκάφους με τον «ιδανικό». Ο ιδανικός χρόνος είναι διαφορετικός για κάθε σκάφος και προκύπτει πολλαπλασιάζοντας την απόσταση της διαδρομής με τον δείκτη GPH του σκάφους. Ο δείκτης GPH αντιπροσωπεύει τον ιδανικό χρόνο που χρειάζεται το σκάφος για να καλύψει απόσταση ενός μιλίου.
Να κατασκευάσετε αλγόριθμο ο οποίος
∆1. Να ζητάει για κάθε σκάφος:
- το όνομά του
- την κατηγορία του ελέγχοντας την ορθή καταχώρηση
- τον χρόνο (σε δευτερόλεπτα) που χρειάστηκε για να τερματίσει
- τον δείκτη GPH (σε δευτερόλεπτα).

∆2. Να υπολογίζει τον σχετικό χρόνο κάθε σκάφους.

∆3. Να εμφανίζει την κατηγορία στην οποία ανήκουν τα περισσότερα σκάφη.

∆4. Να εμφανίζει για κάθε κατηγορία καθώς και για την γενική κατάταξη τα ονόματα των σκαφών που κερδίζουν μετάλλιο.
(Μετάλλια απονέμονται στους 3 πρώτους κάθε κατηγορίας και στους 3 πρώτους της γενικής κατάταξης).

Σημείωση: Να θεωρήσετε ότι κάθε κατηγορία έχει διαφορετικό αριθμό σκαφών και τουλάχιστον τρία σκάφη.