Αποστολέας Θέμα: Επαναλητική Δομή Για  (Αναγνώστηκε 2735 φορές)

marg

  • Νέος
  • *
  • Μηνύματα: 3
Επαναλητική Δομή Για
« στις: 09 Μάι 2006, 07:49:24 μμ »
Τι θα εμφανίσει το παρακάτω τμήμα αλγορίθμου;

Για Κ από 1 μέχρι 4 με_βήμα -1
Εμφάνισε K
Tέλος_Επανάληψης

Ενα εξωσχολικό βιβλίο ο συγγραφέας υποστηρίζει ότι θα εμφανιστούν άπειρες τιμές (1, 0, -1 ,...).
Εγώ πιστεύω ότι δεν θα εμφανιστεί καμία τιμή (δεν θα εκτελεστεί καμία φορά η επανάληψη και κατά συνέπεια η εντολή Εμφάνισε).
 Ποια είναι η άποψή σας;

filippos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 139
Απ: Επαναλητική Δομή Για
« Απάντηση #1 στις: 09 Μάι 2006, 07:56:05 μμ »
Το εξωσχολικό βιβλίο έχει λάθος.

Αυτό που λες εσύ είναι το σωστό.

Όταν το βήμα είναι αρνητικό οι τιμές "κατεβαίνουν".  Η "συνθήκη συνέχειας" ελέγχει ότι η μεταβλητή ελέγχου έχει τιμή μεγαλύτερη ή ίση από την τιμή τερματισμού, επομένως ο ισοδύναμος αλγόριθμος χρησιμοποιώντας τη δομή ΟΣΟ είναι ο:

Κώδικας: Text
  1. κ<- 1
  2. όσο κ >= 4 επανάλαβε
  3.   Εμφάνισε κ
  4.   κ <- κ -1
  5. τελος_επανάληψης
  6.  

που εύκλολα φαίνεται ότι δε θα εκτελεστεί καμμία φορά αφού εξ αρχής το κ (1) δεν είναι μεγαλύτερο (ή ίσο) του 4

marg

  • Νέος
  • *
  • Μηνύματα: 3
Απ: Επαναλητική Δομή Για
« Απάντηση #2 στις: 09 Μάι 2006, 08:00:26 μμ »
Ευχαριστώ για την άμεση απάντηση

nikosx

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 364
  • ___
Απ: Επαναλητική Δομή Για
« Απάντηση #3 στις: 10 Μάι 2006, 03:25:08 μμ »
Καλησπέρα,

έστω ότι δίνουν στα παιδιά τον παρακάτω αλγόριθμο για να βρεθεί ο αριθμός των επαναλήψεων του βρόγχου ή τι θα εμφανίσει:

α <-- 8
Όσο α <= 12 επανάλαβε
  Εμφάνισε α
  α <-- α - 4
Τέλος_Επανάληψης

Ποια θα ήταν η απάντηση; Τι λέτε;

Από την άλλη ο παραπάνω αλγόριθμος (αν μπορούμε να τον ονομάσουμε έτσι) είναι ισοδύναμος με τον παρακάτω;

Για α από 8 μέχρι 12 με_βήμα -4
  Εμφάνισε α
Τέλος_επανάληψης

Νίκος Ξ.
Νίκος Ξένος
nkxenos@yahoo.gr

petepan

  • Επισκέπτης
Απ: Επαναλητική Δομή Για
« Απάντηση #4 στις: 10 Μάι 2006, 05:32:57 μμ »
ΣΤΗ ΠΡΩΤΗ ΠΕΡΙΠΤΩΣΗ ΘΑ ΕΚΤΕΛΕΣΤΟΥΝ ΑΠΕΙΡΕΣ ΕΠΑΝΑΛΗΨΕΙΣ (ΔΕΝ ΙΚΑΝΟΠΟΙΕΙΤΑΙ ΤΟ ΚΡΙΤΗΡΙΟ ΤΗΣ ΠΕΡΑΤΟΤΗΤΑΣ).
Ο ΔΕΥΤΕΡΟΣ ΑΛΓΟΡΙΘΜΟΣ ΔΕΝ ΕΙΝΑΙ ΙΣΟΔΥΝΑΜΟΣ ΜΕ ΤΟΝ ΠΡΩΤΟ ΑΦΟΥ ΣΥΜΦΩΝΑ ΜΕ ΤΟ ΒΙΒΛΙΟ ΟΤΑΝ ΤΟ ΒΗΜΑ ΕΙΝΑΙ ΑΡΝΗΤΙΚΟ Η ΣΥΝΘΗΚΗ ΠΟΥ ΕΛΕΓΧΕΤΑΙ ΕΙΝΑΙ Η ΕΞΗΣ:
ΟΣΟ  ΤΙΜΗ ΜΕΤΡΗΤΗ >= ΤΕΛΙΚΗ ΤΙΜΗ  ΕΠΑΝΑΛΑΒΕ.
ΕΠΟΜΕΝΩΣ Η ΕΝΤΟΛΗ «ΓΙΑ Α ΑΠΟ 8 ΜΕΧΡΙ 12 ΜΕ_ΒΗΜΑ -4»  ΔΕΝ ΘΑ ΕΚΤΕΛΕΣΤΕΙ ΟΥΔΕΜΙΑ ΦΟΡΑ.

nik

  • Επισκέπτης
Απ: Επαναλητική Δομή Για
« Απάντηση #5 στις: 01 Ιούν 2006, 08:12:05 πμ »
marg o suggrafeas exei dikio.  tha efmanistoun apeires times

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3243
  • agent romanoff you miss me?
    • P.Tsiotakis
Απ: Επαναλητική Δομή Για
« Απάντηση #6 στις: 01 Ιούν 2006, 04:04:50 μμ »
Η δομή:

Για Κ από 1 μέχρι 4 με_βήμα -1
Εμφάνισε K
Tέλος_Επανάληψης

είναι ισοδύναμη με τη δομή Όσο

κ<- 1
Όσο κ >= 4 επανάλαβε
 Εμφάνισε κ
 κ <- κ -1
Τέλος_επανάληψης

Επομένως και στις δυο δεν θα εκτελεστεί καμία επανάληψη