Χαίρετε και πάλι,
Ακολουθεί μια λύση για το Θέμα Γ. Φυσικά ενδέχεται να υπάρχουν λάθη (αν και έγινε έλεγχος). Και να μην υπάρχουν, πιθανόν να μην είναι η καλύτερη και σίγουρα δεν είναι η μοναδική. Συγχαρητήρια και πάλι στους συναδέλφους που κουράστηκαν και έβγαλαν τόσο ωραίο αποτέλεσμα. Τους ευχαριστούμε για τον κόπο τους!
Καλό κουράγιο και καλή επιτυχία στα παιδιά
Πάρης
ΠΡΟΓΡΑΜΜΑ ΦΙΔΑΚΙ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Θ[3], Π[100], νικητής, πρώτος, δεύτερος, τρίτος, παίζει, ζμεγ, ζ, i, θέση_μετά_ζαριά
ΛΟΓΙΚΕΣ: τέρμα
ΑΡΧΗ
ΚΑΛΕΣΕ ΠΙΣΤΑ (Π)
Θ[1] <- 1
Θ[2] <- 1
Θ[3] <- 1
πρώτος <- 1 !πρώτος ο 1 ως εδώ
ζμεγ <- ΤΥΧΑΙΟΣ (1,6) !ζαριά πρώτου
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 3
ζ <- ΤΥΧΑΙΟΣ(1,6)
ΑΝ ζ > ζμεγ ΤΟΤΕ
πρώτος <- i
ζμεγ <- ζ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ πρώτος = 1 ΤΟΤΕ
δεύτερος <- 2
τρίτος <- 3
ΑΛΛΙΩΣ_ΑΝ πρώτος = 2 ΤΟΤΕ
δεύτερος <- 3
τρίτος <- 1
ΑΛΛΙΩΣ
δεύτερος <- 1
τρίτος <- 2
ΤΕΛΟΣ_ΑΝ
τέρμα <- ΨΕΥΔΗΣ
ΟΣΟ (ΟΧΙ τέρμα) ΕΠΑΝΑΛΑΒΕ
i <- 1
ΟΣΟ (ΟΧΙ τέρμα) ΚΑΙ i <= 3 ΕΠΑΝΑΛΑΒΕ !έναρξη γύρου παιχνιδιού: πρώτος-δεύτερος-τρίτος
ΑΝ i = 1 ΤΟΤΕ
παίζει <- πρώτος
ΑΛΛΙΩΣ_ΑΝ i = 2 ΤΟΤΕ
παίζει <- δεύτερος
ΑΛΛΙΩΣ
παίζει <- τρίτος
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'Σειρά του παίκτη: ', παίζει
ζ <- ΤΥΧΑΙΟΣ(1,6)
θέση_μετά_ζαριά <- Θ[παίζει] + ζ !θα εξαρτηθεί όμως που θα καταλήξει
ΑΝ θέση_μετά_ζαριά > 100 ΤΟΤΕ
θέση_μετά_ζαριά <- 100 - (θέση_μετά_ζαριά - 100)
ΤΕΛΟΣ_ΑΝ
ΑΝ θέση_μετά_ζαριά < 100 ΤΟΤΕ !εδώ και κάτω θα φανεί που θα καταλήξει
ΑΝ Π[θέση_μετά_ζαριά] = θέση_μετά_ζαριά + 1 ΤΟΤΕ !απλός προορισμός
Θ[παίζει] <- θέση_μετά_ζαριά !δεν θέτουμε Π[θέση_μετά_ζαριά] γιατί θα το πήγαινε μια θέση ακόμα δεξιά χωρίς λόγο
ΑΛΛΙΩΣ_ΑΝ Π[θέση_μετά_ζαριά] > θέση_μετά_ζαριά + 1 ΤΟΤΕ !σκάλα
Θ[παίζει] <- Π[θέση_μετά_ζαριά]
ΓΡΑΨΕ <- 'ΣΚΑΛΑ'
ΑΛΛΙΩΣ
Θ[παίζει] <- Π[θέση_μετά_ζαριά]
ΓΡΑΨΕ <- 'ΥΠΟΧΩΡΗΣΗ'
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ !εννοείται θέση_μετά_ζαριά=100, μεγαλύτερο αποκλείεται
Θ[παίζει] <- 100
τέρμα <- ΑΛΗΘΗΣ
νικητής <- παίζει
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'Νέα θέση του παίκτη ', παίζει, ':', Θ[παίζει]
i <- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ !τέλος για γύρο παικτών πρώτος-δεύτερος-τρίτος
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Νίκησε ο παίκτης ', νικητής, '!!!'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΙΑΔΙΚΑΣΙΑ ΠΙΣΤΑ(Π)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Π[100], ι, εν, πρ
ΛΟΓΙΚΕΣ: οκ
ΑΡΧΗ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 99
Π[ι] <- ι + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Π[100] <- 100
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 8 !έστω διάβασμα πρώτα για σκάλες & μετά για φιδάκια
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ εν, πρ
ΑΝ ι <= 4 ΤΟΤΕ ! σκάλα
οκ <- (πρ >= εν + 2) !περιορισμός για σκάλα
ΑΛΛΙΩΣ !φιδάκι
οκ <- (πρ < εν) !περιορισμός για φιδάκι
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ (Π[εν] = εν + 1) ΚΑΙ (Π[πρ] = πρ + 1) ΚΑΙ οκ
Π[εν] <- πρ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ