τι θα εμφανισει?η δε θα εμφανισει?

Ξεκίνησε από zwoula, 26 Ιαν 2010, 11:45:58 ΠΜ

« προηγούμενο - επόμενο »

pgrontas

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

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

Σαφώς η καλύτερη λύση είναι αυτή που ακολουθείται στις πιο πρόσφατες παραλλαγές της C (C++, Java, C#), όπου η μεταβλητή - μετρητής στον βρόχο, μπορεί να δηλωθεί τοπικά στο μπλοκ του βρόχου και να μην είναι ορατή από τα υπόλοιπα μπλοκ. Αλλά...
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

evry

  Υπάρχουν περιπτώσεις που μας ενδιαφέρει η τιμή του μετρητή μετά το τέλος της επανάληψης. Για παράδειγμα στην συγχώνευση για να ξέρουμε που σταματήσαμε.
   Η άποψη αυτή περί της τιμής του μετρητή μετά τη Για εντάσσεται σε ένα μεγαλύτερο πλαίσιο στρεβλώσεων που έχει δημιουργήσει το μάθημα και ο τρόπος που διδάσκεται του στυλ "Η για είναι η προτιμότερη δομή για προκαθορισμένο πλήθος επαναλήψεων", "δεν αλλάζουμε τον μετρητή μέσα στη Για γιατί είναι λάθος (και όχι κακή πρακτική)" κα.
  Τέτοιοι κανόνες ίσως να μας βοηθούν στη διδασκαλία σε κάποιες περιπτώσεις αλλά δεν βασίζονται πάνω σε κανένα απολύτως επιστημονικό κριτήριο.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Λάμπρος Μπουκουβάλας

Παράθεση από: Τσιωτάκης Παναγιώτης στις 30 Ιαν 2010, 07:51:16 ΜΜ
αν και είναι σωστές οι απαντήσεις, το πάω ένα βήμα πίσω και αναφέρω

οτι ΔΕ ΜΑΣ ΕΝΔΙΑΦΕΡΕΙ (δεν πρέπει τουλάνιστον) τι τιμή έχει ο μετρητής του Για, μετά το πέρας της επανάληψης

Μερικές φορές μας ενδιαφέρει. Και σε πανελλαδικές έχουμε δει και ίσως το δούμε ξανά.
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

P.Tsiotakis

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

Πάντως Ευρυπίδη, ωραίο το παράδειγμά σου, αλλά μπορείς να πάρεις μετρητές και να μη χρειάζεται ο μετρητής του Για!!

Laertis

Παράθεση από: Τσιωτάκης Παναγιώτης στις 01 Φεβ 2010, 04:35:11 ΜΜ
Πάντως Ευρυπίδη, ωραίο το παράδειγμά σου, αλλά μπορείς να πάρεις μετρητές και να μη χρειάζεται ο μετρητής του Για!!

Χμμ οπότε κακώς η μεταβλητή στην εντολή Για λέγεται μετρητής ...
Πάντα υπάρχουν τρόποι να βρει λύση κανείς ...
Αυτό είναι σαν να έχεις ένα ρολόι που χάνει ή τρέχει και αντί να προσπαθήσεις να το φτιάξεις για να βλέπεις τη σωστή ώρα ή να το πετάξεις και να πάρεις άλλο, βάζεις ταυτόχρονα ένα άλλο δίπλα σε αυτό στον τοίχο να μετρά την κανονική ώρα και τα βλέπεις και τα 2.
Ώρα Τόκιο ο μετρητής Για, ώρα Ελλάδας ο εμβόλιμος μετρητής  :)
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

Σπύρος Δουκάκης

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

Έξω από την επανάληψη είναι περιττή και μάλιστα άχρηστη. Σε καμία περίπτωση δεν είναι απαραίτητη. Πάντα αυτά τα προβλήματα λύνονται με τη χρήση της μεταβλητής θέση.

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

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

ΣΔ

ΥΓ: Είναι κρίμα να γινόμαστε μεταγλωττιστές



Σπύρος Δουκάκης

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

Ήδη το ανέφερε ο Ευριπίδης για το διαγώνισμα ΟΕΦΕ 2010...

Πρόκειται για ένα ακόμα μοναδικό θέμα...

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3
  Β[Ι] <- ΕΠΙΤΥΧΙΑ (Χ)
  Χ <- Χ -1
  ΓΡΑΨΕ Β[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ Ι

Ποια είναι η τιμή του Ι; Ποιος μοναδικός νους το σκέφτηκε να μπει η εντολή Γράψε Ι; Ή εργάστηκαν πολλά μυαλά μαζί;

Παράθεση από: Τσιωτάκης Παναγιώτης στις 01 Φεβ 2010, 04:35:11 ΜΜ
όταν η Αλεξάνδρα ΨΑλτίδου είπε στην ημερίδα επι λέξει: "Δεν πρέπει να ενδιαφέρει κανέναν η τιμή του Για μετά την επανάληψη", μονολόγησα "Ναι, αλλά πρέπει να το ξέει και ο κανένας"
εννοώντας τον θεματοδότη των εξετάσεων.

Πάντως Ευρυπίδη, ωραίο το παράδειγμά σου, αλλά μπορείς να πάρεις μετρητές και να μη χρειάζεται ο μετρητής του Για!!

evry

Βασικά δεν εννοούσα αυτό. Αυτό είναι πταίσμα. Το παρακάτω μου έκανε εντύπωση

Κ <- 1
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 60 ΜΕ ΒΗΜΑ Κ
   .......
   Κ <- 1
   .........
    ΟΣΟ ....
          Κ <- Κ + 1
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

διέρρευσε το απόρρητο διαγώνισμα;

Το μόνο που απομένει για την κατάρρευση είναι να γυρίσουμε στην ευρωδραχμή.

evry

βασικά απλά μπήκα στο σάιτ και το κατέβασα. Δεν είναι κλειδωμένο, από ότι φαίνεται φέτος το έχουν διαθέσιμο για το κοινό
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Αλεξόπουλος Ανδρέας

βασικά αυτό που έγραψα και σε ένα άλλο thread λίγο πριν (πριν δω οτι είχατε γράψει εδώ την λύση), είναι πως για μένα είναι απαράδεκτος αυτός ο τρόπος επίλυσης. Αυτό με το ΜΕ_ΒΗΜΑ Κ , και τη μεταβολή του μέσα στο ΓΙΑ, δε μπορώ να καταλάβω πώς το σκέφτηκε κάποιος. Εκτός του ότι δεν το θεωρώ σωστό στα πλαίσια του μαθήματος είναι πολύ πιο απλό και κατανοητό να γίνει με ΟΣΟ