Στην έκτη επαναληπτική άσκηση της σειράς "10 επαναληπτικές ασκήσεις για το μάθημα της Πληροφορικής" καλείστε να υλοποιήσετε ένα πρόγραμμα το οποίο θα επιδεικνύει τη χρήση μίας ουράς. Ο χειρισμός των δύο βασικών λειτουργιών της ουράς απαιτείται να γίνει με χρήση διαδικασιών και όχι με χρήση ενός μενού.
6η Επαναληπτική Άσκηση
Ένας καθηγητής Πληροφορικής επιθυμεί να υλοποιήσει ένα πρόγραμμα το οποίο θα επιδεικνύει τη χρήση μίας ουράς η οποία θα υλοποιείται με έναν μονοδιάστατο πίνακα 50 ακεραίων αριθμών και δύο δείκτες ΕΜΠΡΟΣ και ΠΙΣΩ. Το πρόγραμμα θα πρέπει να περιλαμβάνει ένα υποπρόγραμμα για την εισαγωγή ενός στοιχείου στην ουρά και ένα υποπρόγραμμα για την εξαγωγή ενός στοιχείου από την ουρά (στα υποπρογράμματα θα πρέπει να εμφανίζονται κατάλληλα μηνύματα όταν δεν είναι δυνατό να υλοποιηθεί μία ενέργεια).
Να γραφεί πρόγραμμα το οποίο:
α) Θα αρχικοποιεί μία ουρά 50 θέσεων και θα εκτελεί, με χρήση κατάλληλων υποπρογραμμάτων, τις παρακάτω ενέργειες: εισαγωγή του αριθμού 10 στην ουρά, εισαγωγή του αριθμού 20 στην ουρά, εξαγωγή ενός στοιχείου από την ουρά και εμφάνιση του στο κυρίως πρόγραμμα, εισαγωγή του αριθμού 30 στην ουρά και εξαγωγή ενός στοιχείου από την ουρά και εμφάνιση του στο κυρίως πρόγραμμα,
β) Θα περιέχει υποπρόγραμμα το οποίο θα εισάγει ένα στοιχείο στην ουρά και
γ) Θα περιέχει υποπρόγραμμα το οποίο θα εξάγει ένα στοιχείο από την ουρά και θα το επιστρέφει.
Λύση 6ης επαναληπτικής άσκησης
ΠΡΟΓΡΑΜΜΑ Επίδειξη_Ουράς
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΟΥΡΑ[50], ΕΜΠΡΟΣ, ΠΙΣΩ, ΣΤΟΙΧΕΙΟ
ΑΡΧΗ
ΕΜΠΡΟΣ <- 0
ΠΙΣΩ <- 0
ΚΑΛΕΣΕ ΕΙΣΑΓΩΓΗ(ΟΥΡΑ, ΕΜΠΡΟΣ, ΠΙΣΩ, 10)
ΚΑΛΕΣΕ ΕΙΣΑΓΩΓΗ(ΟΥΡΑ, ΕΜΠΡΟΣ, ΠΙΣΩ, 20)
ΚΑΛΕΣΕ ΕΞΑΓΩΓΗ(ΟΥΡΑ, ΕΜΠΡΟΣ, ΠΙΣΩ, ΣΤΟΙΧΕΙΟ)
ΓΡΑΨΕ ΣΤΟΙΧΕΙΟ
ΚΑΛΕΣΕ ΕΙΣΑΓΩΓΗ(ΟΥΡΑ, ΕΜΠΡΟΣ, ΠΙΣΩ, 30)
ΚΑΛΕΣΕ ΕΞΑΓΩΓΗ(ΟΥΡΑ, ΕΜΠΡΟΣ, ΠΙΣΩ, ΣΤΟΙΧΕΙΟ)
ΓΡΑΨΕ ΣΤΟΙΧΕΙΟ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Επίδειξη_Ουράς
ΔΙΑΔΙΚΑΣΙΑ ΕΙΣΑΓΩΓΗ(ΟΥΡΑ, ΕΜΠΡΟΣ, ΠΙΣΩ, ΣΤΟΙΧΕΙΟ)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΟΥΡΑ[50], ΕΜΠΡΟΣ, ΠΙΣΩ, ΣΤΟΙΧΕΙΟ
ΑΡΧΗ
ΑΝ ΕΜΠΡΟΣ = 0 ΚΑΙ ΠΙΣΩ = 0 ΤΟΤΕ
ΕΜΠΡΟΣ <- 1
ΠΙΣΩ <- 1
ΟΥΡΑ[ΠΙΣΩ] <- ΣΤΟΙΧΕΙΟ
ΑΛΛΙΩΣ_ΑΝ ΠΙΣΩ < 50 ΤΟΤΕ
ΠΙΣΩ <- ΠΙΣΩ + 1
ΟΥΡΑ[ΠΙΣΩ] <- ΣΤΟΙΧΕΙΟ
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Γεμάτη ουρά.'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΔΙΑΔΙΚΑΣΙΑ ΕΞΑΓΩΓΗ(ΟΥΡΑ, ΕΜΠΡΟΣ, ΠΙΣΩ, ΣΤΟΙΧΕΙΟ)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΟΥΡΑ[50], ΕΜΠΡΟΣ, ΠΙΣΩ, ΣΤΟΙΧΕΙΟ
ΑΡΧΗ
ΑΝ ΕΜΠΡΟΣ = 0 ΚΑΙ ΠΙΣΩ = 0 ΤΟΤΕ
ΓΡΑΨΕ 'Άδεια ουρά.'
ΑΛΛΙΩΣ_ΑΝ ΕΜΠΡΟΣ = ΠΙΣΩ ΤΟΤΕ
ΣΤΟΙΧΕΙΟ <- ΟΥΡΑ[ΕΜΠΡΟΣ]
ΕΜΠΡΟΣ <- 0
ΠΙΣΩ <- 0
ΑΛΛΙΩΣ
ΣΤΟΙΧΕΙΟ <- ΟΥΡΑ[ΕΜΠΡΟΣ]
ΕΜΠΡΟΣ <- ΕΜΠΡΟΣ + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Άλλες επαναληπτικές ασκήσεις
Οι υπόλοιπες επαναληπτικές ασκήσεις της σειράς υπάρχουν στο άρθρο:
10 Επαναληπτικές Ασκήσεις στην Πληροφορική (2021)
Παρόμοιες επαναληπτικές ασκήσεις υπάρχουν στο άρθρο:
30 Επαναληπτικές Ασκήσεις για το μάθημα της Πληροφορικής
Σχόλια
Δημοσίευση σχολίου