Ψηφοφορία

Στη δομή Για ... από ... μέχρι

Η αποτίμηση του βήματος, της αρχικής τιμής και της τελικής γίνεται μια φορά στην αρχή. Ο μετρητής της επανάληψης δεν μπορεί να αλλάξει κατά την διάρκεια της εκτέλεσης των επαναλήψεων
Δεν υπάρχει τέτοιος περιορισμός. Τα παραπάνω αποτελούν κακή πρακτική αλλά δεν είναι λάθος.

Αποστολέας Θέμα: Η εντολή Για με βήμα 0 (Ασάφεια διδακτικού πακέτου)  (Αναγνώστηκε 3911 φορές)

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2787
  • Πύργος Ηλείας
Απ: Η εντολή Για με βήμα 0 (Ασάφεια διδακτικού πακέτου)
« Απάντηση #15 στις: 11 Φεβ 2010, 09:49:41 μμ »
Δεν είναι αξίωμα ότι η Για με βήμα 0 είναι ατέρμων βρόχος. Είναι κάτι που προκύπτει από τη μετατροπή. Είναι... ας πούμε θεώρημα.

Αυτό ουσιαστικά εννοώ κι εγώ με το παραπάνω: "...οι άπειρες επαναλήψεις δεν μπορεί να είναι επιδιωκόμενο αποτέλεσμα του ορισμού λειτουργίας μιας εντολής επανάληψης, αλλά μάλλον είναι το αναπόφευκτο αποτέλεσμα του πραγματικού τρόπου λειτουργίας της".

Μήπως να φέρουμε στο τραπέζι και την εκδοχή: αν το βήμα είναι 0 να μην κάνει καθόλου επαναλήψεις! (εικασία 2 από τις παραπάνω). Ή να μην επιτρέπεται καν, οπότε αν τελικά προκύψει κάτι τέτοιο τότε να βγάζει run time error, όπως π.χ. όταν έχουμε διαίρεση με το 0; Ή μήπως έτσι απομακρυνόμαστε πολύ από το βιβλίο - δηλαδή πάει μακριά η βαλίτσα!

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2787
  • Πύργος Ηλείας
Απ: Η εντολή Για με βήμα 0 (Ασάφεια διδακτικού πακέτου)
« Απάντηση #16 στις: 11 Φεβ 2010, 10:33:39 μμ »
Να εκφράσω και τον εξής προβληματισμό μου: Μήπως οι πολλές ελευθερίες στη λειτουργία της Για αντί για καλύτερα αποτελέσματα μας οδηγήσουν σε αντίθετη κατεύθυνση; Δηλαδή μήπως μετά βλέπουμε όλο και πιο συχνά μέσα σε αλγορίθμους περίεργες λύσεις οι οποίες δεν θα χαρακτηρίζονταν ως σωστές πρακτικές αποτύπωσης της αλγοριθμικής σκέψης (τόσο από συναδέλφους όσο και από μαθητές); Μήπως δηλαδή η πλάστιγγα γύρει προς την εκμάθηση προγραμματιστικών τεχνικών; Πόσο ανεξέλεγκτο θα το αφήσουμε; Ποιος είναι ο σκοπός ύπαρξης της εντολής Για;  Π.χ. η goto δεν είναι η εντολή που πραγματικά μας δίνει την ελευθερία να πηγαίνουμε όπου θέλουμε; Είναι όμως επιθυμητό τελικά να μπορούμε να πηγαίνουμε όπου θέλουμε;

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Η εντολή Για με βήμα 0 (Ασάφεια διδακτικού πακέτου)
« Απάντηση #17 στις: 11 Φεβ 2010, 10:50:43 μμ »
Συμφωνώ με αυτά Νίκο. Το θέμα όμως είναι να υπάρχει η goto και εσύ να επιλέγεις να μην τη χρησιμοποιήσεις. Έτσι και με την Για και με όλες τις δομές.
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr