Καθηγητής Πληροφορικής, ΠΕ86

3.5 (ΠΒ) – 1.2, 1.2.1, 1.2.2 (ΝΒ)

Ουρά
 ΣΥΖΗΤΗΣΕΙΣ ΕΝΟΤΗΤΑΣ

ΘΕΩΡΙΑ – ΠΑΡΑΔΕΙΓΜΑΤΑ

Από το σχολικό βιβλίο:

Κ3ΣΤ ΘΕΩΡΙΑ ΠΒ

Κ1Β ΘΕΩΡΙΑ ΝΒ

Σημειώσεις – Διαφάνειες:

ΔΙΑΦΑΝΕΙΕΣ – (627η μέχρι 641η)

MORE…

Βιντεομαθήματα:

Ουρά – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

Ουρά-Ασκήσεις 1 – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

Ουρά-Ασκήσεις 2 – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

Ουρά-Ασκήσεις 3-ΚΥΚΛΙΚΗ – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

ΕΡΩΤΗΣΕΙΣ

Από το σχολικό βιβλίο:

Από άλλο υλικό:

ΑΣΚΗΣΕΙΣ

Από το σχολικό βιβλίο:

Από άλλο υλικό:

Άσκηση 1

Να γράψετε πρόγραμμα το οποίο να διαβάζει έναν ακέραιο και να τον εισάγει στην ουρά δεδομένου ότι η ουρά είναι 50 θέσεων. Επίσης να διαβάζει τους δείκτες ΜΠΡΟΣΤΑ και ΠΙΣΩ χωρίς να απαιτείται έλεγχος ορθότητας.

Λύση

ΠΡΟΓΡΑΜΜΑ ΟΥ1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :  ΟΥΡΑ[50], ΜΠΡΟΣΤΑ, ΠΙΣΩ,  ΑΡΙΘΜΟΣ
ΛΟΓΙΚΕΣ : DONE
ΑΡΧΗ
!ΕΙΣΟΔΟΣ ΑΡΧΗΣ ΚΑΙ ΤΕΛΟΥΣ ΟΥΡΑΣ
ΔΙΑΒΑΣΕ ΜΠΡΟΣΤΑ
ΔΙΑΒΑΣΕ ΠΙΣΩ

ΔΙΑΒΑΣΕ ΑΡΙΘΜΟΣ
!ΕΛΕΓΧΟΣ ΑΝ Η ΟΥΡΑ ΔΕΝ ΕΙΝΑΙ ΓΕΜΑΤΗ
ΑΝ ΠΙΣΩ<50 ΤΟΤΕ
ΠΙΣΩ<-ΠΙΣΩ+1
ΟΥΡΑ[ΠΙΣΩ]<-ΑΡΙΘΜΟΣ
DONE<- ΑΛΗΘΗΣ
ΑΛΛΙΩΣ
DONE<-ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 2

Να γράψετε πρόγραμμα το οποίο να εξάγει έναν ακέραιο από μία ουρά 50 θέσεων.

Λύση

ΠΡΟΓΡΑΜΜΑ ΟΥ2
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :  ΟΥΡΑ[50], ΜΠΡΟΣΤΑ, ΠΙΣΩ,  ΑΡΙΘΜΟΣ
ΛΟΓΙΚΕΣ : DONE
ΑΡΧΗ
!ΕΛΕΓΧΟΣ ΑΝ Η ΟΥΡΑ ΕΙΝΑΙ ΑΔΕΙΑ
ΑΝ ΠΙΣΩ=0 Ή ΜΠΡΟΣΤΑ>ΠΙΣΩ ΤΟΤΕ
DONE<- ΨΕΥΔΗΣ
ΑΛΛΙΩΣ
ΑΡΙΘΜΟΣ<-ΟΥΡΑ[ΜΠΡΟΣΤΑ]
ΜΠΡΟΣΤΑ<-ΜΠΡΟΣΤΑ+1
DONE<-ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 3

Να γράψετε πρόγραμμα το οποίο να υλοποιεί την εξαγωγή ενός στοιχείου από μία ουρά 10 θέσεων. Μετά από κάθε εξαγωγή να μεταφέρονται όλα τα στοιχεία της ουράς μία θέση αριστερά (δηλαδή η θέση του μπροστινού δείκτη της ουράς να είναι πάντα 1). Η μετακίνηση προς τα αριστερά να γίνεται ανεξαρτήτως αν η ουρά είναι γεμάτη ή όχι.

Λύση

ΠΡΟΓΡΑΜΜΑ ΟΥ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: μπροστα, πισω, i, στοιχειο, ΟΥ[10]
ΛΟΓΙΚΕΣ: done
ΑΡΧΗ
ΑΝ μπροστα <= πισω ΚΑΙ πισω> 0 ΤΟΤΕ
στοιχειο <- ΟΥ[μπροστα]
μπροστα<- μπροστα+ 1
done <– ΑΛΗΘΗΣ
       
       !Μετακίνηση όλων των στοιχείων της ουράς μία θέση αριστερά
ΑΝ μπροστα <= πισω ΤΟΤΕ  !Για να σιγουρέψουμε ότι η ουρά δεν είναι άδεια
ΓΙΑ ι ΑΠΟ μπροστα ΜΕΧΡΙ πισω
ΟΥ[μπροστα-1] <- ΟΥ[μπροστα]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
μπροστα <- 1 !ή μπροστα <- μπροστα – 1
πισω <- πισω – 1
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
done <– ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΓΙΑ ΤΟ ΣΠΙΤΙ…

ΣΤΕΙΛΕ ΜΟΥ ΤΙΣ ΑΠΑΝΤΗΣΕΙΣ: ΕΔΩ