Αποστολέας Θέμα: Μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΓΙΑ  (Αναγνώστηκε 281 φορές)

ilias_s

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 261
Μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΓΙΑ
« στις: 21 Οκτ 2019, 09:14:51 μμ »
Καλησπέρα!

Θα ήθελα τη γνώμη σας για την Άσκηση 6 Σελ 58 των Οδηγιών Μελέτης

Παραθέτει το τμήμα προγράμματος :

Παράθεση
  sum <- 10
  ΔΙΑΒΑΣΕ x
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    sum <- sum + x
    ΔΙΑΒΑΣΕ x
  ΜΕΧΡΙΣ_ΟΤΟΥ x <= 0

και ζητάει τη μετατροπή σε ΟΣΟ...ΕΠΑΝΑΛΑΒΕ (οκ!) και ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ

Μιλάμε για μη-προκαθορισμένο αριθμό επαναλήψεων οπότε η χρήση της ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ δεν συνίσταται από τον ίδιο τον ορισμό της. Κάποιος που θέλει να κάνει αυτή τη μετατροπή μπορεί μεν, αλλά αυτό προϋποθέτει χρήση της ΓΙΑ με "ανορθόδοξο" τρόπο (αλλαγή της μεταβλητής εντός του βρόγχου κτλ). Εκτός αυτού, το ίδιο το διδακτικό πακέτο, κάπου αναφέρει (στο τετράδιο μαθητή αν θυμάμαι καλά) πως κάτι τέτοιο πρέπει να αποφεύγεται...

Έχει νόημα τώρα αυτό το πράγμα;

Η συγκεκριμένη άσκηση πάντως υπήρχε και στην 1η έκδοση των Οδηγιών Μελέτης και συνεχίζει να υπάρχει και στη 2η.
« Τελευταία τροποποίηση: 21 Οκτ 2019, 09:27:25 μμ από ilias_s »

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 201
Απ: Μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΓΙΑ
« Απάντηση #1 στις: 21 Οκτ 2019, 09:50:38 μμ »
μηπως εννοει οτι πρεπει να το δειξεις ως παραδειγμα στους μαθητες περιπτωσης που δεν μπορεις να το μετατρεψεις σε για?? αλλιως δεν εχει νοημα ειναι λαθος

FANBOY_21

  • Οπαδός
  • **
  • Μηνύματα: 14
Απ: Μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΓΙΑ
« Απάντηση #2 στις: 21 Οκτ 2019, 10:07:40 μμ »
Κι όμως μπορεί να γίνει, αλλά... είναι ΠΟΛΥ ΑΙΣΧΡΗ πρακτική:

Κώδικας: [Επιλογή]
  sum <- 10
  ΔΙΑΒΑΣΕ x
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 1
    sum <- sum + x
    ΔΙΑΒΑΣΕ x
    ΑΝ ΟΧΙ (x <= 0) ΤΟΤΕ
      i <- 0
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Χμ... ναι, πιστεύω πως η αποφυγή ή η αρνητική διαπίστωση είναι καλύτερη λύση.

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 201
Απ: Μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΓΙΑ
« Απάντηση #3 στις: 21 Οκτ 2019, 10:19:42 μμ »
γενικα ναι γινεται αλλα στο συγκεκριμενο μαθημα απαγορευεται να αλλαζεις το μετρητη της για

FANBOY_21

  • Οπαδός
  • **
  • Μηνύματα: 14
Απ: Μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΓΙΑ
« Απάντηση #4 στις: 21 Οκτ 2019, 10:26:36 μμ »
γενικα ναι γινεται αλλα στο συγκεκριμενο μαθημα απαγορευεται να αλλαζεις το μετρητη της για

Ακριβώς, εξού και γιατί είναι αισχρότατος ο κώδικας που παρέθεσα.

Επίσης, λίγο άσχετο, αλλά νομίζω πως ο αρχικός κώδικας είναι λίγο κακοφτιαγμένος, καθώς αν ο πρώτος αριθμός είναι αρνητικός, δεν τον μετράει για τιμή-φρουρό.

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 201
Απ: Μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΓΙΑ
« Απάντηση #5 στις: 21 Οκτ 2019, 10:44:51 μμ »
Ακριβώς, εξού και γιατί είναι αισχρότατος ο κώδικας που παρέθεσα.

Επίσης, λίγο άσχετο, αλλά νομίζω πως ο αρχικός κώδικας είναι λίγο κακοφτιαγμένος, καθώς αν ο πρώτος αριθμός είναι αρνητικός, δεν τον μετράει για τιμή-φρουρό.

βασικα οντως δικιο εχεις. μαλλον τους ξεφυγε τελειως αυτη η ασκηση

ApoAntonis

  • Θαμώνας
  • ***
  • Μηνύματα: 28
Απ: Μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΓΙΑ
« Απάντηση #6 στις: 22 Οκτ 2019, 09:39:48 πμ »
βασικα οντως δικιο εχεις. μαλλον τους ξεφυγε τελειως αυτη η ασκηση

Υπάρχει και στην προηγούμενη έκδοση στις ασκήσεις 5 και 6.

Σε ν εκδόσεις από τώρα, θα γίνει διόρθωση.