ΠΡΟΓΡΑΜΜΑ Χειρισμός_Ουράς_ΕΙΣΑΓΩΓΗ_ΚΑΙ_ΟΛΙΣΘΗΣΗ ΣΤΑΘΕΡΕΣ N = 4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: front, rear, επιλογή ΧΑΡΑΚΤΗΡΕΣ: Q[N] ΑΡΧΗ front <- 0 rear <- 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ ΔείξεΜενού(επιλογή) ΕΠΙΛΕΞΕ επιλογή ΠΕΡΙΠΤΩΣΗ 1 ΚΑΛΕΣΕ Εισαγωγή(Q, front, rear) ΚΑΛΕΣΕ ΔείξεΟυρά(Q, front, rear) ΠΕΡΙΠΤΩΣΗ 2 ΚΑΛΕΣΕ Εξαγωγή(Q, front, rear) ΚΑΛΕΣΕ ΔείξεΟυρά(Q, front, rear) ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ ΜΕΧΡΙΣ_ΟΤΟΥ επιλογή = 0 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ ΔείξεΜενού(επιλογή) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: επιλογή ΑΡΧΗ ΓΡΑΨΕ '0. Έξοδος από το πρόγραμμα' ΓΡΑΨΕ '1. Εισαγωγή στοιχείου στην ουρά' ΓΡΑΨΕ '2. Εξαγωγή στοιχείου από την ουρά' ΓΡΑΨΕ 'Δώστε επιλογή: ' ΔΙΑΒΑΣΕ επιλογή ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή(Q, front, rear) ΣΤΑΘΕΡΕΣ N = 4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: front, rear ΧΑΡΑΚΤΗΡΕΣ: Q[N], στοιχείο ΑΡΧΗ ΑΝ rear = N ΤΟΤΕ ! Η ουρά είναι γεμάτη ΑΝ front = 1 ΤΟΤΕ ΓΡΑΨΕ "Η ουρά είναι γεμάτη" ΑΛΛΙΩΣ ! Ολίσθηση. Υπάρχουν κενές θέσεις στην αρχή της ουράς ΚΑΛΕΣΕ Ολίσθηση(Q, front, rear) rear <- rear + 1 ΓΡΑΨΕ "Δώστε κείμενο για εισαγωγή στην ουρά : " ΔΙΑΒΑΣΕ Q[rear] ΓΡΑΨΕ "Μπήκε το ", rear, "ο στοιχείο : ", Q[rear] ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ! Η ουρά δεν είναι γεμάτη ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ ! Η ουρά ήταν άδεια front <- 1 rear <- 1 ΑΛΛΙΩΣ ! Η ουρά δεν ήταν άδεια rear <- rear + 1 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ "Δώστε κείμενο για εισαγωγή στην ουρά : " ΔΙΑΒΑΣΕ Q[rear] ΓΡΑΨΕ "Μπήκε το ", rear, "ο στοιχείο : ", Q[rear] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Ολίσθηση(Q, front, rear) ΣΤΑΘΕΡΕΣ N = 4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, front, rear ΧΑΡΑΚΤΗΡΕΣ: Q[N] ΑΡΧΗ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ rear - front + 1 Q[i] <- Q[front - 1 + i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ j ΑΠΟ i ΜΕΧΡΙ rear Q[j] <- " " ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ front <- 1 rear <- i - 1 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ ΔείξεΟυρά(Q, front, rear) ΣΤΑΘΕΡΕΣ N = 4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, front, rear ΧΑΡΑΚΤΗΡΕΣ: Q[N] ΑΡΧΗ ΑΝ front <> 0 ΚΑΙ rear <> 0 ΤΟΤΕ ! Η ουρά δεν είναι άδεια ΓΡΑΨΕ "Η ουρά περιέχει ", (rear + 1) - front, " στοιχεία : " ΓΙΑ i ΑΠΟ front ΜΕΧΡΙ rear ΓΡΑΨΕ Q[i], " (", i, "ο) " ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ ΓΡΑΨΕ "front = ", front, " rear = ", rear ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Εξαγωγή(Q, front, rear) ΣΤΑΘΕΡΕΣ N = 4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: front, rear ΧΑΡΑΚΤΗΡΕΣ: Q[N] ΑΡΧΗ ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ ! Η ουρά είναι άδεια ΓΡΑΨΕ "Η ουρά είναι άδεια" ΑΛΛΙΩΣ_ΑΝ front = rear ΤΟΤΕ ! Η ουρά έχει 1 μόνο στοιχείο ΓΡΑΨΕ "Βγήκε το ", front, "ο στοιχείο : ", Q[front] Q[front] <- " " ! Η ουρά άδειασε front <- 0 rear <- 0 ΑΛΛΙΩΣ ! Η ουρά δεν είναι άδεια ΓΡΑΨΕ "Βγήκε το ", front, "ο στοιχείο : ", Q[front] Q[front] <- " " front <- front + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ