You are on page 1of 11

Διαγράμματα Ροής

Άσκηση 1
Να μετατραπεί ο ακόλουθος αλγόριθμος σε ισοδύναμο διάγραμμα ροής
Αλγόριθμος ΆσκσησηΔΡ1
Διάβασε x
Αν x <= 0 τότε
Διάβασε y
Αν y - x < 20 τότε
y <- y + 10
x <- x + 2
Τέλος_αν
Εμφάνισε y
Αλλιώς
x<x-5
Τέλος_αν
Εμφάνισε x
Τέλος ΆσκσησηΔΡ1
Λύση
Το «δύσκολο» κομμάτι της άσκησης είναι η εμφωλευμένη εντολή Αν. Ουσιαστικά δημιουργείται
ένας ακόμη ρόμβος μέσα στον ήδη υπάρχοντα.
Άσκηση 2
Να μετατραπεί ο ακόλουθος αλγόριθμος σε ισοδύναμο διάγραμμα ροής
Αλγόριθμος ΆσκσησηΔΡ2
Διάβασε x
Αν x < 50 τότε
x <- x - x * 10/100
Αλλιώς_αν x < 150 τότε
x <- x - x * 20/100
Αλλιώς_αν x < 250 τότε
x <- x - x * 30/100
Αλλιώς
x <- x - x * 40/100
Τέλος_αν
Εμφάνισε x
Τέλος ΆσκσησηΔΡ2
Λύση
Άσκηση 3
Να μετατραπεί ο ακόλουθος αλγόριθμος σε ισοδύναμο διάγραμμα ροής
Αλγόριθμος ΆσκσησηΔΡ3
Διάβασε x
y <- 0
Για i από 1 μέχρι 8 με_βήμα 2
Εμφάνισε x
x <- x + 1
y <- y + x
Τέλος_επανάληψης
Εμφάνισε y
Τέλος ΆσκσησηΔΡ3
Λύση
Η εντολή Γιά κάνει αυτοματοποιημένα 2 πράξεις: Αρχικοποιεί την μεταβλητή που ελέγχει στην αρχή,
και πριν το Τέλος_επανάληψης αυξάνει την μεταβλητή που ελέγχει κάτα την τιμή που ορίζει το βήμα
της επανάληψης. Οι 2 αυτές πράξεις εννοούνται σε μια εντολή Για αλλά όχι και στο διάγραμμα ροής
όπου θα πρέπει να φαίνονται.

Άσκηση 4
Να μετατραπεί ο ακόλουθος αλγόριθμος σε ισοδύναμο διάγραμμα ροής
Αλγόριθμος ΆσκσησηΔΡ4
x <- 6
y <- 0
Αρχή_επανάληψης
x <- x + 1
y <- y + x
Μέχρις_ότου y > 15
Εμφάνισε y
Τέλος ΆσκσησηΔΡ4
Λύση

Άσκηση 5
Να μετατραπεί ο ακόλουθος αλγόριθμος σε ισοδύναμο διάγραμμα ροής
Αλγόριθμος ΆσκσησηΔΡ5
y <- 8
S <- 0
Όσο y < 12 επανάλαβε
Διάβασε x
S <- S + x + y
y <- y + 1
Τέλος_επανάληψης
Εμφάνισε S
Τέλος ΆσκσησηΔΡ5
Λύση

Άσκηση 6
Να μετατραπεί ο ακόλουθος αλγόριθμος σε ισοδύναμο διάγραμμα ροής
Αλγόριθμος ΆσκσησηΔΡ6
π <- 0
Για i από 1 μέχρι 14 με_βήμα 3
y <- 0
Όσο y < 8 επανάλαβε
Διάβασε x
Αν x < 0 τότε
π <- π + 1
y <- y + 1
Τέλος_αν
y <- y + 1
Τέλος_επανάληψης
Τέλος_επανάληψης
Εμφάνισε π, y
Τέλος ΆσκησηΔΡ6
Λύση

Άσκηση 7
Να μετατραπεί ο ακόλουθος αλγόριθμος σε ισοδύναμο διάγραμμα ροής
Αλγόριθμος ΆσκσησηΔΡ7
Σ <- 0
Αρχή_επανάληψης
Διάβασε x
Όσο x > 0 επανάλαβε
Εμφάνισε x
x <- x - 3
Σ <- Σ + x
Τέλος_επανάληψης
Μέχρις_ότου Σ > 200
Τέλος ΆσκησηΔΡ7
Λύση
Άσκηση 8
Να μετατραπεί το επόμενο διάγραμμα ροής σε αλγόριθμο

Λύση
Αυτό που συνήθως “μπερδεύει” σε μια μετατροπή ενός διαγράμματος ροής σε αλγόριθμο είναι οι
συνθήκες (ρόμβοι). Άλλες φορές οι συνθήκες εννοούν μια εντολή «Αν» ενώ άλλες φορές μια εντολή
επανάληψης. Μία καλή μέθοδος για να ελέγξουμε αν ένα διάγραμμα περιέχει δομή επανάληψης
είναι να παρατηρήσουμε τα βέλη του διαγράμματος. Εάν τα βέλη γυρνάνε προς τα πίσω, (ή
ανεβαίνουν προς τα επάνω) τότε το διάγραμμα περιέχει δομή επανάληψης. Σε διαφορετική
περίπτωση δεν υπάρχει δομή επανάληψης.

Αλγόριθμος ΆσκσησηΔΡ8
Διάβασε x
Αν x < 50 τότε
y <- 10
Αν x < 10 τότε
z <- y - x
Αλλιώς
z <- y + x
Τέλος_αν
Αλλιώς
y <- 30
z <- y - x
Τέλος_αν
Εμφάνισε y, z
Τέλος ΆσκησηΔΡ8
Άσκηση 9
Να μετατραπεί το επόμενο διάγραμμα ροής σε αλγόριθμο

Λύση
Το συγκεκριμένο διάγραμμα περιλαμβάνει ένα βέλος το οποίο επιστρέφει σε μια εντολή η οποία
προηγουμένως είχε εκτελεστεί. Συνεπώς περιέχεται μία επαναληπτική δομή. Παρατηρώντας ότι η
σύνθήκη γίνεται στην αρχή της επανάληψης μπορούμε εύκολα να συμπαιράνουμε πως
καταλληλότερη επαναληπτική δομή είναι η Όσο.

Αλγόριθμος ΆσκσησηΔΡ9α
S <- 0
i <- 1
Όσο i <= 10 επανάλαβε
Διάβασε α
S <- S + a
i <- i + 1
Τέλος_επανάληψης
Εμφάνισε S
Τέλος ΆσκσησηΔΡ9α

Ωστόσο μελετώντας προσεκτικότερα τον αλγόριθμο μπορούμε να παρατηρήσουμε ότι η επανάληψη


εξαρτάται από μία μεταβλητή (την i), η οποία γνωρίζουμε από ποια τιμή ξεκινάει (1), που φτάνει (10)
και κατα πόσο αυξάνεται (1). Εναλλακτικά λοιπόν μπορούμε να έχουμε

Αλγόριθμος ΆσκησηΔΡ9β
S <- 0
Για i από 1 μέχρι 10
Διάβασε α
S <- S + a
Τέλος_επανάληψης
Εμφάνισε S
Τέλος ΆσκησηΔΡ9β
Άσκηση 10
Να μετατραπεί το επόμενο διάγραμμα ροής σε αλγόριθμο

Λύση

Αλγόριθμος ΆσκησηΔΡ10
x <- 1
A <- 0
Όσο Α < 100 επανάλαβε
Β <- 0
Αρχή_επανάληψης
Β <- Β + x
x <- x + 2
Μέχρις_ότου x > 10
A <- A + x
Διάβασε x
Τέλος_επανάληψης
Εμφάνισε Α
Τέλος ΆσκησηΔΡ10
Άσκηση 11
Να μετατραπεί το επόμενο διάγραμμα ροής σε αλγόριθμο

Λύση

Αλγόριθμος ΆσκησηΔΡ11
x <- 1
S <- 0
Όσο x < 100 επανάλαβε
S <- S + x
Εμφάνισε S
x <- x + 2
y <- 10
Όσο y > 0 επανάλαβε
S <- S + y
y <- y - 2
Τέλος_επανάληψης
Τέλος_επανάληψης
Εμφάνισε S
Τέλος ΆσκησηΔΡ11

You might also like