Καλησπέρα σας
Θα χρειαστώ την πολύτιμη βοήθειά σας στο παρακάτω
Σε κάποιο σχολείο ο καθηγητής έδωσε την παρακάτω άσκηση σε διαγώνισμα:
Άσκηση
Να ξαναγράψετε το παρακάτω τμήμα κώδικα με τη δομή επανάληψης Για...από...μέχρι
Διάβασε Χ, Υ
Α <-- Χ
Αρχή_Επανάληψης
Α <-- Α + 2
Αν Α>5 τότε
Β <-- Α + 2
Γράψε Β, Α
Τέλος_αν
Μέχρις_ότου Α >= Υ
Προσπάθησα αλλά δεν μου βγαίνει με τίποτα, αλλά διδάσκω το μάθημα πρώτη χρονιά και δεν είμαι σίγουρος.
Θα τολμούσα να πω ότι δε βγαίνει αλλά θα ήθελα τη συνδρομή σας.
Είναι δυνατή αυτή η μετατροπή?
Τι λέτε?
Με την προϋπόθεση ότι οι μεταβλητές είναι ακέραιες τότε μια πρόταση μετατροπής είναι:
Διάβασε Χ, Υ
Α <-- Χ
Α <-- Α + 2
Αν Α>5 τότε
Β <-- Α + 2
Γράψε Β, Α
Τέλος_αν
Για Α απο Χ+2 μέχρι Υ-1 με βήμα 2
Αν Α+2>5 τότε
Β <-- (Α + 2)+2
Γράψε Β, Α+2
Τέλος_αν
Τέλος επανάληψης
Αν οι μεταβλητές δεν είναι ακέραιες χρειάζεται να γνωρίζουμε την ακρίβεια δεκαδικών ψηφίων των πραγματικών μεταβλητών. Αυτό χρειάζεται για να εκτιμήσουμε την τελική τιμή της Για.
Αν Μεταβλητές ακέραιες η τελική τιμή θα είναι Υ-1
Αν έχω μέγιστη ακρίβεια 2 δεκαδικών τότε τελική τιμή Υ-0.01 κλπ
ΔΙΑΒΑΣΕ Χ, Υ
Α <- Χ
ΑΝ Α > 5 ΤΟΤΕ
β <- Α + 2
ΓΡΑΨΕ β, Α
ΤΕΛΟΣ_ΑΝ
ΓΙΑ Α ΑΠΟ Χ + 2 ΜΕΧΡΙ Υ + 1 ΜΕ_ΒΗΜΑ 2
ΑΝ Α > 5 ΤΟΤΕ
β <- Α + 2
ΓΡΑΨΕ β, Α
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
είπε ο Θανάσης, "Με την προϋπόθεση ότι οι μεταβλητές είναι ακέραιες".
edit -> διόρθωσα τη σκέψη μου, βάσει του κώδικα του Θανάση, για να συμπεριλάβω την περίπτωση όπου το Α ξεκινάει ήδη μεγαλύτερο του 5.
Θανάση γιατί στην λύση σου περνάς τα +2 παντού;
Οκ, μετά από μπόλικες δοκιμές,... ας μείνουμε στην παραπάνω λύση ;D ::)
(ίσως η πιο εξεζητημένη περίπτωση μετατροπής που έχω συναντήσει)
edit:
[ignore]
Δεν είναι δύσκολη, είναι αδύνατη με αυτήν την εκφώνηση και μόνο.
Η δομή ΓΙΑ, δεν κάνει για κάθε ζεύγος Χ,Υ επαναλήψεις. [/ignore :) ]
Αδύνατη λόγω του ότι δεν ορίζονται οι τύποι των μεταβλητών Χ, Υ;
γιατί κατά τα άλλα, η λύση του Θανάση προβλέπει κάθε συνδυασμό Χ, Υ.
Παράθεση από: ApoAntonis στις 25 Ιαν 2020, 05:20:39 ΜΜ
Η δομή ΓΙΑ, δεν κάνει για κάθε ζεύγος Χ,Υ επαναλήψεις.
με αυτό που έγραψα...ούτε εγώ δεν καταλαβαίνω τι εννοώ :D
ο thanos_xg έχει δίκιο
https://www.youtube.com/watch?v=Gu3S7KsljAQ&list=PLQgMKB9FJMVDNDFxB0-HZpTysu36WKscn&index=4