You are on page 1of 7

Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |1

ΤΑΞΗ Γ ΓΕΛ

ΜΑΘΗΜΑ ΑΕΠΠ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ -

ΠΕΡΙΕΧΕΙ

ΣΤΟΙΒΑ ΧΡΟΝΟΥ ΕΚΤΕΛΕΣΗΣ

Α Β
ΠΡΟΓΡΑΜΜΑ ΣΤΟΙΒΑ_Α ΠΡΟΓΡΑΜΜΑ ΣΤΟΙΒΑ_Β
... ...
ΑΡΧΗ ΑΡΧΗ
.... ....
ΚΑΛΕΣΕ Δ2(...) ΚΑΛΕΣΕ Δ1(...)
① ①
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Δ1(...) ΣΥΝΑΡΤΗΣΗ Σ1(α,β): ...


.... ....
ΑΡΧΗ ΑΡΧΗ
... ...
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΔΙΑΔΙΚΑΣΙΑ Δ2(...) ΔΙΑΔΙΚΑΣΙΑ Δ1(...)


... ...
ΑΡΧΗ ΑΡΧΗ
... ...
ΚΑΛΕΣΕ Δ1(...) ② y  Σ1(α,β)
② ...
... ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Για κάθε μια από τις περιπτώσεις Α και Β και με δεδομένη τη στοίβα χρόνου εκτέλεσης (Στιγμιότυπο 1) απαντήστε
στα εξής:

1. Ποιο υποπρόγραμμα εκτελείται αυτή τη στιγμή;


2. Μόλις ολοκληρωθεί η εκτέλεση του τρέχοντος υποπρογράμματος σε ποιο σημείο θα μεταβεί η ροή
εκτέλεσης των εντολών;

...


Στιγμιότυπο 1: Στοίβα χρόνου εκτέλεσης
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |2
ΕΜΦΩΛΕΥΜΕΝΑ ΓΙΑ ΣΕ ΔΡ
Μετατρέψτε το παρακάτω πρόγραμμα γραμμένο σε ΓΛΩΣΣΑ σε ισοδύναμο Διάγραμμα Ροής
ΠΡΟΓΡΑΜΜΑ ΔΡ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j, a, b
ΑΡΧΗ
a <-- 2
b <-- 3
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
a <-- 2 * a
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 10
b <-- 2 * b
ΓΡΑΨΕ b
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Μετατρέψτε το παρακάτω πρόγραμμα γραμμένο σε ΓΛΩΣΣΑ σε ισοδύναμο Διάγραμμα Ροής

ΛΥΣΗ
ΓΙΑ ΑΠΟ ΜΕΧΡΙ ΔΡ

ΟΣΟ ΕΠΑΝΑΛΑΒΕ

Μετατρέπουμε τις ΓΙΑ ΑΠΟ ΜΕΧΡΙ σε ΟΣΟ ΕΠΑΝΑΛΑΒΕ

ΠΡΟΓΡΑΜΜΑ ΔΡ ΠΡΟΓΡΑΜΜΑ ΔΡ
ΜΕΤΑΒΛΗΤΕΣ ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j, a, b ΑΚΕΡΑΙΕΣ: i, j, a, b
ΑΡΧΗ ΑΡΧΗ
a <-- 2 a <-- 2
b <-- 3 b <-- 3
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 i <-- 1
a <-- 2 * a ΟΣΟ i <= 5 ΕΠΑΝΑΛΑΒΕ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 10 a <-- 2 * a
b <-- 2 * b j <-- 1
ΓΡΑΨΕ b ΟΣΟ j <= 10 ΕΠΑΝΑΛΑΒΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ b <-- 2 * b
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ b
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ j <-- j + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
i <-- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Μετατρέπουμε τις ΟΣΟ ΕΠΑΝΑΛΑΒΕ σε Διάγραμμα Ροής ξεκινώντας από την εσωτερική ΟΣΟ ΕΠΑΝΑΛΑΒΕ
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |3

ΑΡΧΗ

a <-- 2

b <-- 3

i <-- 1

Α
i <= 5

a <-- 2 * a

j <-- 1

Α
j <= 10

b <-- 2 * b

ΓΡΑΨΕ
b

j <-- j + 1

i <-- i + 1

ΤΕΛΟΣ
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |4
ΠΙΝΑΚΑΣ ΤΙΜΩΝ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑ
Να κατασκευάσετε πίνακα τιμών. Τι θα εμφανίσει κατά την εκτέλεσή του το πρόγραμμα;

ΠΡΟΓΡΑΜΜΑ subroutines
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: a, b
ΑΡΧΗ
a <-- 19
b <-- a + 1
ΚΑΛΕΣΕ process(a,b)
ΓΡΑΨΕ a,b
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ process(b,a)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: a,b,k
ΑΡΧΗ
b <-- a - 30
ΑΝ a * b > 0 ΤΟΤΕ
k <-- function(b,a)
ΑΛΛΙΩΣ
k <-- function(a,b)
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ k
ΓΡΑΨΕ b, a
b <-- b* 5
a <-- a - 6
ΓΡΑΨΕ function(b,a)
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ function(k,λ): ΑΚΕΡΑΙΑ


ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: k,λ
ΑΡΧΗ
k <-- k DIV 10
λ <-- (-1) * λ
function <-- k + λ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΚΠ process function
a b a b k function k λ
19 20 20 19 12 12 20 -10
-50 14 14 -10 -19 2 10
-50 -50 14
-5 -14

12

-10 20

-19

-50 14
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |5
ΓΕΜΙΣΜΑ ΠΙΝΑΚΩΝ ΜΕ ΜΟΤΙΒΟ

1. Να γράψετε κώδικα σε ΓΛΩΣΣΑ που να γεμίζει τον πίνακα Α 5Χ5, όπως εικονίζεται παρακάτω, με τρεις (3) μόνο
εκχωρήσεις.

0 1 1 1 1
1 0 2 2 2
1 2 0 3 3
1 2 3 0 4
1 2 3 4 0

ΠΡΟΓΡΑΜΜΑ πίναξ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i,j, A[5,5]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΑΝ i=j ΤΟΤΕ
A[i,j] <-- 0
ΑΛΛΙΩΣ_ΑΝ i>j ΤΟΤΕ
A[i,j] <-- j
ΑΛΛΙΩΣ_ΑΝ i<j ΤΟΤΕ
A[i,j] <-- i
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

2. Να γράψετε κώδικα σε ΓΛΩΣΣΑ προκειμένου να δημιουργήσετε το παρακάτω στιγμιότυπο πίνακα


α) με 4 εκχωρήσεις και
β) με 2 εκχωρήσεις

2 4 6
8 10 1973

ΠΡΟΓΡΑΜΜΑ πίναξ_α
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i,j,k, A[2,3]
ΑΡΧΗ
k <-- 2
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 2
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
A[i,j] <-- k
k <-- k + 2
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
A[2,3] <-- 1973
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΠΡΟΓΡΑΜΜΑ πίναξ_β
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i,j, A[2,3]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 2
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
A[i,j] <-- 2*j + (i-1) * 6
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
A[2,3] <-- 1973
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |6
GOTO
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |7
ΜΕΤΑΤΡΟΠΕΣ & ΔΡ

1. Να μετατρέψετε την παρακάτω δομή επανάληψης ΟΣΟ ΕΠΑΝΑΛΑΒΕ σε ισοδύναμη ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ


ΜΕΧΡΙΣ_ΟΤΟΥ.

ΠΡΟΓΡΑΜΜΑ μετατροπές ΠΡΟΓΡΑΜΜΑ μετατροπές


ΜΕΤΑΒΛΗΤΕΣ ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: x ΑΚΕΡΑΙΕΣ: x
ΑΡΧΗ ΑΡΧΗ
ΔΙΑΒΑΣΕ x ΔΙΑΒΑΣΕ x
ΟΣΟ x>0 ΕΠΑΝΑΛΑΒΕ ΑΝ x>0 ΤΟΤΕ
ΑΝ x mod 2 = 0 ΤΟΤΕ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ x ΑΝ x mod 2 = 0 ΤΟΤΕ
ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x
ΔΙΑΒΑΣΕ x ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ x
ΓΡΑΨΕ x ΜΕΧΡΙΣ_ΟΤΟΥ x <= 0
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ x
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

2. Δίνεται ο παρακάτω κώδικας. Κατασκευάστε ισοδύναμο κώδικα με χρήση μιας δομής επανάληψης ΓΙΑ ΑΠΟ
ΜΕΧΡΙ.

ΛΥΣΗ

Ο κώδικας δεν επιτρέπει εύκολο εντοπισμό των αρχική τιμή, τελική τιμή και βήμα – στοιχεία απαραίτητα για τη
μετατροπή.

Συνεπώς κινούμαστε διαφορετικά. Κάνουμε πίνακα τιμών και παρατηρούμε τι εμφανίζει ο κώδικας στην οθόνη.
Προχωράμε στη μετατροπή έχοντας κατά νου ότι η ΓΙΑ ΑΠΟ ΜΕΧΡΙ πρέπει να εμφανίζει ακριβώς τα ίδια.

ΠΡΟΓΡΑΜΜΑ μετατροπές ΠΡΟΓΡΑΜΜΑ μετατροπές


ΜΕΤΑΒΛΗΤΕΣ ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: x ΑΚΕΡΑΙΕΣ: x
ΑΡΧΗ ΑΡΧΗ
x <-- 2 ΓΙΑ x ΑΠΟ 1 ΜΕΧΡΙ 4
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ x
x <-- x - 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ x ΓΡΑΨΕ x + 1
x <-- x + 2 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΜΕΧΡΙΣ_ΟΤΟΥ x >5
ΓΡΑΨΕ x
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

1
2
3
4
6

You might also like