Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή επανάληψης => Μήνυμα ξεκίνησε από: nicolas στις 25 Ιαν 2020, 04:15:01 μμ

Τίτλος: Δύσκολη μετατροπή
Αποστολή από: nicolas στις 25 Ιαν 2020, 04:15:01 μμ
Καλησπέρα σας
Θα χρειαστώ την πολύτιμη βοήθειά σας στο παρακάτω
Σε κάποιο σχολείο ο καθηγητής έδωσε την παρακάτω άσκηση σε διαγώνισμα:

Άσκηση
Να ξαναγράψετε το παρακάτω τμήμα κώδικα με τη δομή επανάληψης Για...από...μέχρι

Κώδικας: Javascript
  1. Διάβασε Χ, Υ
  2. Α <-- Χ
  3. Αρχή_Επανάληψης
  4.         Α <-- Α + 2
  5.         Αν Α>5 τότε
  6.              Β <-- Α + 2
  7.              Γράψε  Β, Α
  8.         Τέλος_αν
  9. Μέχρις_ότου Α >= Υ

Προσπάθησα αλλά δεν μου βγαίνει με τίποτα, αλλά διδάσκω το μάθημα πρώτη χρονιά και δεν είμαι σίγουρος.
Θα τολμούσα να πω ότι δε βγαίνει αλλά θα ήθελα τη συνδρομή σας.
Είναι δυνατή αυτή η μετατροπή?
Τι λέτε?
Τίτλος: Απ: Δύσκολη μετατροπή
Αποστολή από: thanos_xg στις 25 Ιαν 2020, 04:25:12 μμ
Με την προϋπόθεση ότι οι μεταβλητές είναι ακέραιες τότε μια πρόταση μετατροπής είναι:

    Διάβασε Χ, Υ
    Α <-- Χ
    Α <-- Α + 2
    Αν Α>5 τότε
        Β <-- Α + 2
        Γράψε  Β, Α
    Τέλος_αν
    Για Α απο Χ+2 μέχρι Υ-1 με βήμα 2
            Αν Α+2>5 τότε
                 Β <-- (Α + 2)+2
                 Γράψε  Β, Α+2
            Τέλος_αν
    Τέλος επανάληψης

Αν οι μεταβλητές δεν είναι ακέραιες χρειάζεται να γνωρίζουμε την ακρίβεια δεκαδικών ψηφίων των πραγματικών μεταβλητών. Αυτό χρειάζεται για να εκτιμήσουμε την τελική τιμή της Για.

Αν Μεταβλητές ακέραιες η τελική τιμή θα είναι Υ-1
Αν έχω μέγιστη ακρίβεια 2 δεκαδικών τότε τελική τιμή Υ-0.01 κλπ
Τίτλος: Απ: Δύσκολη μετατροπή
Αποστολή από: akalest0s στις 25 Ιαν 2020, 04:39:34 μμ
ΔΙΑΒΑΣΕ Χ, Υ
Α <- Χ
    ΑΝ Α > 5 ΤΟΤΕ
      β <- Α + 2
      ΓΡΑΨΕ β, Α
    ΤΕΛΟΣ_ΑΝ
  ΓΙΑ Α ΑΠΟ Χ + 2 ΜΕΧΡΙ Υ + 1 ΜΕ_ΒΗΜΑ 2
    ΑΝ Α > 5 ΤΟΤΕ
      β <- Α + 2
      ΓΡΑΨΕ β, Α
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 είπε ο Θανάσης, "Με την προϋπόθεση ότι οι μεταβλητές είναι ακέραιες".
edit -> διόρθωσα τη σκέψη μου, βάσει του κώδικα του Θανάση, για να συμπεριλάβω την περίπτωση όπου το Α ξεκινάει ήδη μεγαλύτερο του 5.
Θανάση γιατί στην λύση σου περνάς τα +2 παντού;


Οκ, μετά από μπόλικες δοκιμές,... ας μείνουμε στην παραπάνω λύση  ;D ::)
(ίσως η πιο εξεζητημένη περίπτωση μετατροπής που έχω συναντήσει)
Τίτλος: Απ: Δύσκολη μετατροπή
Αποστολή από: ApoAntonis στις 25 Ιαν 2020, 05:20:39 μμ

edit:
[ignore]
Δεν είναι δύσκολη, είναι αδύνατη με αυτήν την εκφώνηση και μόνο.

Η δομή ΓΙΑ, δεν κάνει για κάθε ζεύγος Χ,Υ επαναλήψεις. [/ignore :) ]
Τίτλος: Απ: Δύσκολη μετατροπή
Αποστολή από: akalest0s στις 25 Ιαν 2020, 05:28:48 μμ
Αδύνατη λόγω του ότι δεν ορίζονται οι τύποι των μεταβλητών Χ, Υ;
γιατί κατά τα άλλα, η λύση του Θανάση προβλέπει κάθε συνδυασμό Χ, Υ.
Τίτλος: Απ: Δύσκολη μετατροπή
Αποστολή από: ApoAntonis στις 25 Ιαν 2020, 11:12:43 μμ
Η δομή ΓΙΑ, δεν κάνει για κάθε ζεύγος Χ,Υ επαναλήψεις.

 με αυτό που έγραψα...ούτε εγώ δεν καταλαβαίνω τι εννοώ  :D

ο thanos_xg έχει δίκιο



Τίτλος: Απ: Δύσκολη μετατροπή
Αποστολή από: Σάκης Δημόπουλος στις 28 Μαρ 2020, 11:55:23 μμ
https://www.youtube.com/watch?v=Gu3S7KsljAQ&list=PLQgMKB9FJMVDNDFxB0-HZpTysu36WKscn&index=4