Χρήσιμο υλικό για επανάληψη στην Πληροφορική Γ΄ Λυκείου:
- ΑΕΠΠ Ασκήσεις με Λύσεις – Θέματα Γ & Δ για Πανελλήνιες
- Θέματα Πανελληνίων Πληροφορικής – ΑΕΠΠ
- Θέματα Γ ΑΕΠΠ – Εκφωνήσεις και Λύσεις
- Θέματα Δ ΑΕΠΠ – Εκφωνήσεις και Λύσεις
- Θέμα Γ 2025 ΑΕΠΠ – Αναλυτική Λύση
- Θέμα Δ 2025 ΑΕΠΠ – Αναλυτική Λύση
- Λυμένες Σειρές Ασκήσεων ΑΕΠΠ
- Ερωτήσεις Σωστό–Λάθος Πανελληνίων ΑΕΠΠ
ΕΠΕΞΕΡΓΑΣΙΑ ΟΥΡΑΣ ΜΕ ΤΟΝ ΤΡΟΠΟ ΠΡΟΣΠΕΛΑΣΗΣ FIFO
!ΑΣΚΗΣΗ
1
!Στο κέντρο αιμοδοσίας του
νοσοκομείου «Άγιος Ανδρέας», εφαρμόζεται ένα σύστημα ουράς για την εξυπηρέτηση
εθελοντών αιμοδοτών.
!Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ,
το οποίο να εμφανίζει το παρακάτω μενού επιλογών επαναληπτικά:
!Παρακαλώ επιλέξτε:
!1.Νέα εγγραφή εθελοντή αιμοδότη
!2.Εξυπηρέτηση αιμοδοσίας (ένας
αιμοδότης)
!3.Τέλος – Στατιστικά ημέρας
!Αν η επιλογή είναι 1, να
διαβάζεται το ονοματεπώνυμο του αιμοδότη και να προστίθεται στο τέλος της
ουράς.
!Αν η ουρά είναι γεμάτη (μέγιστο
40 άτομα), να εμφανίζεται μήνυμα:
!«Η ουρά είναι γεμάτη. Παρακαλώ
περιμένετε!»
!Αν η επιλογή είναι 2, να
εξυπηρετείται ο πρώτος εθελοντής της ουράς και να εμφανίζεται το μήνυμα:
!«Ο αιμοδότης [ονοματεπώνυμο]
εξυπηρετήθηκε.»
!Αν η ουρά είναι άδεια, να
εμφανίζεται το μήνυμα:
!«Δεν υπάρχουν αιμοδότες σε
αναμονή.»
!Αν η επιλογή είναι 3, το
πρόγραμμα να τερματίζει και να εμφανίζει:
!Πόσοι αιμοδότες εγγράφηκαν
!Πόσοι αιμοδότες εξυπηρετήθηκαν
!Πόσοι δεν μπόρεσαν να εγγραφούν
λόγω γεμάτης ουράς
!Δεν απαιτείται έλεγχος
εγκυρότητας δεδομένων.
!Λύση
ΠΡΟΓΡΑΜΜΑ ΑΙΜΟΔΟΣΙΑ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: front, rear, επιλογη
ΑΚΕΡΑΙΕΣ: εγγραφες, εξυπηρετηθηκαν, απορριψεις
ΧΑΡΑΚΤΗΡΕΣ: Α[40], ονομα
ΑΡΧΗ
front <- 0
rear <- 0
εγγραφες <- 0
εξυπηρετηθηκαν <- 0
απορριψεις <- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘Παρακαλώ επιλέξτε:’
ΓΡΑΨΕ ‘1. Νέα εγγραφή’
ΓΡΑΨΕ ‘2. Εξυπηρέτηση’
ΓΡΑΨΕ ‘3. Τέλος’
ΔΙΑΒΑΣΕ επιλογη
ΑΝ επιλογη = 1 ΤΟΤΕ
ΓΡΑΨΕ ‘Δώσε ονοματεπώνυμο:’
ΔΙΑΒΑΣΕ ονομα
ΑΝ rear = 40 ΤΟΤΕ
ΓΡΑΨΕ ‘Η ουρά είναι γεμάτη. Παρακαλώ
περιμένετε!’
απορριψεις <- απορριψεις + 1
ΑΛΛΙΩΣ_ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
front <- 1
rear <- 1
Α[rear] <- ονομα
εγγραφες <- εγγραφες + 1
ΑΛΛΙΩΣ
rear <- rear + 1
Α[rear] <- ονομα
εγγραφες <- εγγραφες + 1
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ επιλογη = 2 ΤΟΤΕ
ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
ΓΡΑΨΕ ‘Δεν υπάρχουν αιμοδότες σε
αναμονή.’
ΑΛΛΙΩΣ_ΑΝ front = rear ΤΟΤΕ
ΓΡΑΨΕ ‘Ο αιμοδότης ‘, Α[front], ‘ εξυπηρετήθηκε.’
front <- 0
rear <- 0
εξυπηρετηθηκαν <- εξυπηρετηθηκαν + 1
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘Ο αιμοδότης ‘, Α[front], ‘ εξυπηρετήθηκε.’
front <- front + 1
εξυπηρετηθηκαν <- εξυπηρετηθηκαν + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ επιλογη = 3
ΓΡΑΨΕ εγγραφες
ΓΡΑΨΕ εξυπηρετηθηκαν
ΓΡΑΨΕ απορριψεις
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!ΑΣΚΗΣΗ 2
!Στο δημοτικό ιατρείο της Νέας
Μηχανιώνας, οι πολίτες προσέρχονται για δωρεάν εμβολιασμό κατά της γρίπης. Για
την ομαλή εξυπηρέτηση, εφαρμόζεται σύστημα ουράς.
!Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ,
το οποίο να εμφανίζει το παρακάτω μενού επιλογών επαναληπτικά:
!Παρακαλώ επιλέξτε:
!1. Καταχώρηση πολίτη για
εμβολιασμό
!2. Εξυπηρέτηση – Εμβολιασμός
ενός πολίτη
!3. Τέλος – Προβολή συνολικών
στοιχείων
!Αν η επιλογή είναι 1, να
διαβάζεται το ΑΜΚΑ του πολίτη και να προστίθεται στην ουρά.
!Αν η ουρά έχει ήδη 30 πολίτες,
να εμφανίζεται το μήνυμα:
!«Η ουρά είναι πλήρης. Παρακαλώ
δοκιμάστε αργότερα.»
!Αν η επιλογή είναι 2, να
εξυπηρετείται ο πρώτος πολίτης της ουράς και να εμφανίζεται το μήνυμα:
!«Ο πολίτης με ΑΜΚΑ ______
εμβολιάστηκε.»
!Αν δεν υπάρχουν πολίτες σε
αναμονή, να εμφανίζεται το μήνυμα:
!«Κανένας πολίτης δεν περιμένει
για εμβολιασμό.»
!Αν η επιλογή είναι 3, το
πρόγραμμα να τερματίζει και να εμφανίζει:
!Πόσοι πολίτες καταχωρήθηκαν
!Πόσοι πολίτες εμβολιάστηκαν
!Πόσοι δεν μπόρεσαν να μπουν
στην ουρά λόγω πληρότητας
!Λύση
ΠΡΟΓΡΑΜΜΑ ΕΜΒΟΛΙΑΣΜΟΣ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: front, rear, επιλογη
ΑΚΕΡΑΙΕΣ: καταχωρηθηκαν, εμβολιαστηκαν, απορριψεις
ΧΑΡΑΚΤΗΡΕΣ: Α[30], αμκα
ΑΡΧΗ
front <- 0
rear <- 0
καταχωρηθηκαν <- 0
εμβολιαστηκαν <- 0
απορριψεις <- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘1. Καταχώρηση πολίτη’
ΓΡΑΨΕ ‘2. Εμβολιασμός’
ΓΡΑΨΕ ‘3. Τέλος’
ΔΙΑΒΑΣΕ επιλογη
ΑΝ επιλογη = 1 ΤΟΤΕ
ΓΡΑΨΕ ‘Δώσε ΑΜΚΑ:’
ΔΙΑΒΑΣΕ αμκα
ΑΝ rear = 30 ΤΟΤΕ
ΓΡΑΨΕ ‘Η ουρά είναι πλήρης.’
απορριψεις <- απορριψεις + 1
ΑΛΛΙΩΣ_ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
front <- 1
rear <- 1
Α[rear] <- αμκα
καταχωρηθηκαν <- καταχωρηθηκαν + 1
ΑΛΛΙΩΣ
rear <- rear + 1
Α[rear] <- αμκα
καταχωρηθηκαν <- καταχωρηθηκαν + 1
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ επιλογη = 2 ΤΟΤΕ
ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
ΓΡΑΨΕ ‘Κανένας πολίτης δεν
περιμένει.’
ΑΛΛΙΩΣ_ΑΝ front = rear ΤΟΤΕ
ΓΡΑΨΕ ‘Ο πολίτης με ΑΜΚΑ ‘, Α[front], ‘ εμβολιάστηκε.’
front <- 0
rear <- 0
εμβολιαστηκαν <- εμβολιαστηκαν + 1
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘Ο πολίτης με ΑΜΚΑ ‘, Α[front], ‘ εμβολιάστηκε.’
front <- front + 1
εμβολιαστηκαν <- εμβολιαστηκαν + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ επιλογη = 3
ΓΡΑΨΕ καταχωρηθηκαν
ΓΡΑΨΕ εμβολιαστηκαν
ΓΡΑΨΕ απορριψεις
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!ΑΣΚΗΣΗ 3
!Στον θερινό κινηματογράφο
«Σινεμά με Θέα», υπάρχει περιορισμένος αριθμός θέσεων και εφαρμόζεται σύστημα
ουράς για την αγορά εισιτηρίων. Η ουρά μπορεί να εξυπηρετήσει έως και 25
θεατές.
!Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ,
το οποίο να εμφανίζει επαναληπτικά το παρακάτω μενού επιλογών:
!Παρακαλώ επιλέξτε:
!Προσθήκη θεατή στην ουρά
αναμονής
!Εξυπηρέτηση – Αγορά εισιτηρίου
!Τέλος – Προβολή αναφορών
!Αν η επιλογή είναι 1, να
διαβάζεται το όνομα του θεατή και να προστίθεται στο τέλος της ουράς.
!Αν η ουρά έχει ήδη 25 άτομα, να
εμφανίζεται το μήνυμα:
!«Δεν υπάρχουν διαθέσιμες θέσεις
αναμονής.»
!Αν η επιλογή είναι 2, να
εξυπηρετείται ο πρώτος θεατής της ουράς και να εμφανίζεται το μήνυμα:
!«Ο θεατής [όνομα] αγόρασε
εισιτήριο.»
!Αν η ουρά είναι άδεια, να
εμφανίζεται το μήνυμα:
!«Δεν υπάρχουν θεατές στην
αναμονή.»
!Αν η επιλογή είναι 3, το
πρόγραμμα να τερματίζει και να εμφανίζει:
!Πόσοι θεατές καταχωρήθηκαν
!Πόσοι θεατές εξυπηρετήθηκαν
!Πόσοι δεν κατάφεραν να μπουν
στην ουρά λόγω πληρότητας
!Δεν απαιτείται έλεγχος
εγκυρότητας δεδομένων.
!Λύση
ΠΡΟΓΡΑΜΜΑ ΣΙΝΕΜΑ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: front, rear, επιλογη
ΑΚΕΡΑΙΕΣ: καταχωρηθηκαν, εξυπηρετηθηκαν, απορριψεις
ΧΑΡΑΚΤΗΡΕΣ: Α[25], ονομα
ΑΡΧΗ
front <- 0
rear <- 0
καταχωρηθηκαν <- 0
εξυπηρετηθηκαν <- 0
απορριψεις <- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘Παρακαλώ επιλέξτε:’
ΓΡΑΨΕ ‘1. Προσθήκη θεατή’
ΓΡΑΨΕ ‘2. Αγορά εισιτηρίου’
ΓΡΑΨΕ ‘3. Τέλος’
ΔΙΑΒΑΣΕ επιλογη
ΑΝ επιλογη = 1 ΤΟΤΕ
ΓΡΑΨΕ ‘Δώσε όνομα θεατή:’
ΔΙΑΒΑΣΕ ονομα
ΑΝ rear = 25 ΤΟΤΕ
ΓΡΑΨΕ ‘Δεν υπάρχουν διαθέσιμες
θέσεις αναμονής.’
απορριψεις <- απορριψεις + 1
ΑΛΛΙΩΣ_ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
front <- 1
rear <- 1
Α[rear] <- ονομα
καταχωρηθηκαν <- καταχωρηθηκαν + 1
ΑΛΛΙΩΣ
rear <- rear + 1
Α[rear] <- ονομα
καταχωρηθηκαν <- καταχωρηθηκαν + 1
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ επιλογη = 2 ΤΟΤΕ
ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
ΓΡΑΨΕ ‘Δεν υπάρχουν θεατές στην
αναμονή.’
ΑΛΛΙΩΣ_ΑΝ front = rear ΤΟΤΕ
ΓΡΑΨΕ ‘Ο θεατής ‘, Α[front], ‘ αγόρασε εισιτήριο.’
front <- 0
rear <- 0
εξυπηρετηθηκαν <- εξυπηρετηθηκαν + 1
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘Ο θεατής ‘, Α[front], ‘ αγόρασε εισιτήριο.’
front <- front + 1
εξυπηρετηθηκαν <- εξυπηρετηθηκαν + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ επιλογη = 3
ΓΡΑΨΕ ‘Θεατές που καταχωρήθηκαν: ‘, καταχωρηθηκαν
ΓΡΑΨΕ ‘Θεατές που εξυπηρετήθηκαν: ‘, εξυπηρετηθηκαν
ΓΡΑΨΕ ‘Απορρίψεις λόγω πληρότητας: ‘, απορριψεις
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!ΑΣΚΗΣΗ 4
!Στο θεματικό πάρκο Disneyland
Paris, οι επισκέπτες περιμένουν σε ουρά για να επιβιβαστούν στο δημοφιλές
παιχνίδι "Hyperspace Mountain". Για λόγους ασφαλείας και άνεσης, η
ουρά έχει περιορισμένο μήκος 35 ατόμων.
!Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ,
το οποίο να εμφανίζει επαναληπτικά το παρακάτω μενού επιλογών:
!Καλωσορίσατε στο Hyperspace
Mountain!
!Παρακαλώ επιλέξτε:
!Προσθήκη επισκέπτη στην ουρά
!Επιβίβαση ενός επισκέπτη στο
παιχνίδι
!Τέλος – Αναφορά εξυπηρέτησης
!Αν η επιλογή είναι 1, να
διαβάζεται το όνομα επισκέπτη και να προστίθεται στο τέλος της ουράς.
!Αν η ουρά είναι γεμάτη (μέγιστο
35 άτομα), να εμφανίζεται το μήνυμα:
!«Η ουρά για το Hyperspace
Mountain είναι πλήρης!»
!Αν η επιλογή είναι 2, να
επιβιβάζεται ο πρώτος επισκέπτης στην ουρά και να εμφανίζεται:
!«Ο επισκέπτης [όνομα]
επιβιβάστηκε στο Hyperspace Mountain!»
!Αν δεν υπάρχει κανένας σε
αναμονή, να εμφανίζεται:
!«Δεν υπάρχουν επισκέπτες στην
ουρά.»
!Αν η επιλογή είναι 3, το
πρόγραμμα να τερματίζει και να εμφανίζει:
!Πόσοι επισκέπτες καταχωρήθηκαν
!Πόσοι επισκέπτες επιβιβάστηκαν
!Πόσοι δεν μπόρεσαν να
περιμένουν λόγω πληρότητας
!Δεν απαιτείται έλεγχος
εγκυρότητας δεδομένων.
!Λύση
ΠΡΟΓΡΑΜΜΑ DISNEY
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: front, rear, επιλογη
ΑΚΕΡΑΙΕΣ: καταχωρηθηκαν, επιβιβαστηκαν, απορριψεις
ΧΑΡΑΚΤΗΡΕΣ: Α[35], ονομα
ΑΡΧΗ
front <- 0
rear <- 0
καταχωρηθηκαν <- 0
επιβιβαστηκαν <- 0
απορριψεις <- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘Καλωσορίσατε στο Hyperspace
Mountain!’
ΓΡΑΨΕ ‘1. Προσθήκη επισκέπτη’
ΓΡΑΨΕ ‘2. Επιβίβαση’
ΓΡΑΨΕ ‘3. Τέλος’
ΔΙΑΒΑΣΕ επιλογη
ΑΝ επιλογη = 1 ΤΟΤΕ
ΓΡΑΨΕ ‘Δώσε όνομα επισκέπτη:’
ΔΙΑΒΑΣΕ ονομα
ΑΝ rear = 35 ΤΟΤΕ
ΓΡΑΨΕ ‘Η ουρά για το Hyperspace
Mountain είναι πλήρης!’
απορριψεις <- απορριψεις + 1
ΑΛΛΙΩΣ_ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
front <- 1
rear <- 1
Α[rear] <- ονομα
καταχωρηθηκαν <- καταχωρηθηκαν + 1
ΑΛΛΙΩΣ
rear <- rear + 1
Α[rear] <- ονομα
καταχωρηθηκαν <- καταχωρηθηκαν + 1
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ επιλογη = 2 ΤΟΤΕ
ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
ΓΡΑΨΕ ‘Δεν υπάρχουν επισκέπτες στην
ουρά.’
ΑΛΛΙΩΣ_ΑΝ front = rear ΤΟΤΕ
ΓΡΑΨΕ ‘Ο επισκέπτης ‘, Α[front], ‘ επιβιβάστηκε στο Hyperspace
Mountain!’
front <- 0
rear <- 0
επιβιβαστηκαν <- επιβιβαστηκαν + 1
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘Ο επισκέπτης ‘, Α[front], ‘ επιβιβάστηκε στο Hyperspace
Mountain!’
front <- front + 1
επιβιβαστηκαν <- επιβιβαστηκαν + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ επιλογη = 3
ΓΡΑΨΕ ‘Επισκέπτες που καταχωρήθηκαν:
‘, καταχωρηθηκαν
ΓΡΑΨΕ ‘Επισκέπτες που επιβιβάστηκαν:
‘, επιβιβαστηκαν
ΓΡΑΨΕ ‘Απορρίψεις λόγω πληρότητας: ‘, απορριψεις
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ FIFO