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

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή επανάληψης => Μήνυμα ξεκίνησε από: petros93 στις 01 Φεβ 2011, 10:26:26 ΠΜ

Τίτλος: ΑΠΟΡΙΑ ΣΕ ΑΣΚΗΣΗ
Αποστολή από: petros93 στις 01 Φεβ 2011, 10:26:26 ΠΜ
ΚΑΛΗΜΕΡΑ ΣΑΣ.
ΘΑ ΗΘΕΛΑ ΝΑ ΜΕ ΒΟΗΘΗΣΕΤΕ ΣΕ ΜΙΑ ΑΠΟΡΙΑ ΜΟΥ ΠΟΥ ΕΧΩ ΣΕ ΜΙΑ ΑΣΚΗΣΗ.

ΝΑ ΕΙΣΑΓΕΤΕ ΕΝΑΝ ΑΚΕΡΑΙΟ ΑΡΙΘΜΟ>0 ΚΑΙ ΝΑ ΤΟΝ ΜΕΙΩΝΕΤΕ ΣΥΝΕΧΩΣ ΚΑΤΑ ΕΝΑ ΜΕΧΡΙ ΝΑ ΓΙΝΕΙ ΜΗΔΕΝ. ΝΑ ΓΙΝΕΙ ΜΕ ΤΗΝ ΕΝΤΟΛΗ ΓΙΑ.

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
   ΔΙΑΒΑΣΕ Χ
ΜΕΧΡΙΣ_ΟΤΟΥ Χ>0

ΓΙΑ Ι ΑΠΟ Χ ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
      Χ <- Χ-1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΠΟΡΙΑ : ΜΠΟΡΩ ΝΑ ΑΛΛΑΞΩ ΤΗΝ ΤΙΜΗ ΤΟΥ Χ ΜΕΣΑ ΣΤΗΝ ΓΙΑ ???
Τίτλος: Απ: ΑΠΟΡΙΑ ΣΕ ΑΣΚΗΣΗ
Αποστολή από: petrosp13 στις 01 Φεβ 2011, 11:41:28 ΠΜ
Δεν μπορείς
Γιατί δεν αποθηκεύεις το Χ σε μια μεταβλητή οριν την επανάληψη και να βάλεις αυτή την μεταβλητή σαν τελική τιμή;
Τίτλος: Απ: ΑΠΟΡΙΑ ΣΕ ΑΣΚΗΣΗ
Αποστολή από: Καρκαμάνης Γεώργιος στις 01 Φεβ 2011, 12:17:05 ΜΜ
Παράθεση από: petrosp13 στις 01 Φεβ 2011, 11:41:28 ΠΜ
Δεν μπορείς
Γιατί δεν αποθηκεύεις το Χ σε μια μεταβλητή οριν την επανάληψη και να βάλεις αυτή την μεταβλητή σαν τελική τιμή;
Νομίζω ότι είναι η πιο απλή υλοποίηση που αναφέρει ο Πέτρος
Τίτλος: Απ: ΑΠΟΡΙΑ ΣΕ ΑΣΚΗΣΗ
Αποστολή από: petros93 στις 01 Φεβ 2011, 02:49:41 ΜΜ
ΜΠΟΡΕΙΤΕ ΝΑ ΜΟΥ ΠΕΙΤΕ ΤΟ ΛΟΓΟ ΠΟΥ ΔΕΝ ΜΠΟΡΕΙ ΝΑ ΓΙΝΕΙ ΟΠΩΣ ΤΗΝ ΕΚΑΝΑ ?
Τίτλος: Απ: ΑΠΟΡΙΑ ΣΕ ΑΣΚΗΣΗ
Αποστολή από: Sergio στις 01 Φεβ 2011, 03:00:36 ΜΜ
Δες στο τετράδιο μαθητή, την τελευταία παρατήρηση της παραγράφου 8.3 (σελ. 78)

Πάντως η άσκηση που σου δόθηκε να κάνεις μάλλον προσπαθεί να "παίξει" με αυτή την "παγίδα" που όμως δεν πρέπει να τη θεωρήσεις πραγματικά παγίδα..  Το νόημα που έχει αυτή η "απαγόρευση" είναι να αποτρέψει από τη χρησιμοποίηση της ΓΙΑ όταν δεν είναι καθορισμένος ο αριθμός των επαναλήψεων κατά την εκτέλεση (βλ.βασικά βιβλίο επίσης μαθητή 42, καθώς και σελ.178).  Σε τέτοιες περιπτώσεις, η ενδεδειγμένη εντολή επανάληψψης είναι η ΜΕΧΡΙΣ_ΟΤΟΥ (βλ.βιβλίο μαθητή, σελίδα 176, προτελευταία παράγραφος). Εάν όμως η επανάληψη δεν είναι σίγουρο ότι θα συμβεί υποχρεωτρικά μια φορά, τότε καταλήγουμε στην ΟΣΟ.

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

Τελικά, ένας πρακτικός οδηγός για την επιλογή της κατάλληλης εντολής επανάληψης είναι ο εξής:
ΑΝ είναι καθορισμένος ο αριθμός των επαναληψεων ΤΟΤΕ
  Χρησιμοποίησε ΓΙΑ
ΑΛΛΙΩΣ_ΑΝ εη επανάληψη θα συμβεί υποχρεωτικά μια φορά ΤΟΤΕ
  Χρησιμοποίησε ΜΕΧΡΙΣ_ΟΤΟΥ
ΑΛΛΙΩΣ
  Χρησιμοποίησε ΟΣΟ
ΤΕΛΟΣ_ΑΝ

Ή, για να τα θυμάσαι.. Γ-Μ-Ο, όπως λέμε.. Γενικός Μέσος Ορος ( ένα πράμα.. ) :D
Τίτλος: Απ: ΑΠΟΡΙΑ ΣΕ ΑΣΚΗΣΗ
Αποστολή από: petros93 στις 01 Φεβ 2011, 03:11:52 ΜΜ
ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΟΛΟΥΣ.