ΤΕΛΙΚΗ ΤΙΜΗ ΣΤΗΝ ΓΙΑ ΑΚΟΜΗ ΜΙΑ ΦΟΡΑ

Ξεκίνησε από agathos, 03 Ιαν 2008, 04:27:14 ΜΜ

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

agathos

  Χρόνια πολλά και καλή χρονιά σε όλους
Μια ακόμη παρατήρηση ( ελπίζω να μην έχει ξαναγίνει και επαναλαμβάνομε) σε ένα από ότι διάβασα αρκετά συζητημένο στο forum θέμα
Στο κομμάτι του αλγόριθμου
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10
<ΕΝΤΟΛΕΣ>
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ Ι

τι εμφανίζεται στην οθόνη
10 ή 11?

Μεταφέρω από το βιβλίο του καθηγητή σελ 69
«..Όπως είναι φανερό στην εντολή αυτή εμπεριέχονται όλα τα στοιχεία που αφορούν
το μετρητή, δηλ. αρχική τιμή, τελική τιμή και βήμα μεταβολής. Ο βρόχος
τερματίζει αυτόματα όταν εκτελεστεί για την τελική τιμή...»

Δεν ισχυρίζομαι ότι η τιμή που εμφανίζεται είναι 10 αλλά νομίζω ότι είναι η πιο ξεκάθαρη θέση πάνω στο ζήτημα από την μεριά του «διδακτικού πακέτου» και είναι και μέσα στην ύλη. Επομένως δεν νομίζω πως είναι σωστό να ισχυρίζονται κάποιοι, όσο σημαντικό η ασήμαντο είναι το θέμα, πως έχει ξεκάθαρα απαντηθεί και πως η τιμή θα είναι 11. Το αντίθετο μάλιστα θα έλεγα ότι εξορισμού σύμφωνα με το διδακτικό πακέτο είναι 10 αν δεν υπήρχε και η εξής περίπτωση που με προβληματίζει για την έννοια «τελική τιμή»:

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


miekb

Καλή χρονιά!

Στο βιβλίο μαθητή σελ. 178 στην παρ. 8.2.3 Εντολή ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ αναφέρει:
"Η εντολή αυτή χειρίζεται μια μεταβλητή, στην οποία αρχικά εκχωρείται η αρχική τιμή. Η τιμή της μεταβλητής συγκρίνεται με την τελική τιμή και εφόσον είναι μικρότερη από αυτή, τότε εκτελούνται οι εντολές που βρίσκονται στον βρόχο..... .... Η διαδικασία επαναλαμβάνεται συνεχώς, έως ότου η τιμή ελέγχου γίνει μεγαλύτερη της τελικής τιμής, οπότε τερματίζεται η επανάληψη ..."
Νομίζω λοιπόν ότι η τιμή θα γίνει 11 για το πρώτο παράδειγμα και 12 για το δεύτερο παράδειγμα.


P.Tsiotakis


Προσθέτω οτι η τιμή του I μετά το βρόχο, δεν πρέπει ΝΑ ΜΑΣ ΕΝΔΙΑΦΕΡΕΙ

gpapargi

Καλή χρονιά και χρόνια πολλά

Συμφωνώ απόλυτα με τον Παναγιώτη. Σε παλαιότερο θέμα είχα γράψει (βάζω 2 μικροδιορθώσεις στην έκφραση σε πλάγια γραφή):

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

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

Μάλιστα υπό μορφή σπαζοκεφαλιάς βρέθηκε και αναλυτική έκφραση αυτής της αχρείαστης τελικής τιμής του ι μετρητή της Για.

Αναλυτικά η κουβέντα (καθώς και η τελική τιμή του ι) μπορεί να βρεθεί παρακάτω:
https://alkisg.mysch.gr/steki/index.php?topic=287.0

Έχει γίνει η παραδοχή της μετατροπής της Για σε ισοδύναμη Όσο (αν και αυτό δεν είναι απόλυτα σαφές).

EleniK

Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

Stavros

ΠαράθεσηΝομίζω λοιπόν ότι η τιμή θα γίνει 11 για το πρώτο παράδειγμα και 12 για το δεύτερο παράδειγμα.
Δεν συμφωνώ με αυτό. Νομίζω ότι και στα 2 παραδείγματα το Ι θα είναι 11
__________________________________________________________________________________________

Έχω μάθει πως σε όλες αυτές τις εντολές επανάληψης γίνεται το εξής:
π.χ.
ΓΙΑ Χ ΑΠΟ 1 ΜΕΧΡΙ 10
ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Το πρόγραμμα όταν φτάνει στο ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ <<πάει>> ξανά στο 10 βήμα <<ΓΙΑ ... 10>> και εκτελείται η εντολή. Αν δει ότι δεν ισχύει τότε πάει ξανά στο ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ και φεύγει από το βρόχο με το Χ να έχει την τιμή που ήταν ΨΕΥΔΗΣ στο <<ΓΙΑ ... 10>>, γι` αυτό και μετά θα έχει την τιμή π.χ. 11

Επίσης θέλω να ρωτήσω κάτι: Λέτε ότι δεν χρειάζεται αυτό το βήμα και ότι θα ξέρουμε από που θα αρχίζει και που θα τελειώνει. Στο παρακάτω όμως;
(Χ<Ζ)
ΔΙΑΒΑΣΕ Χ
ΔΙΑΒΑΣΕ Ζ
ΓΙΑ Ι ΑΠΟ Χ ΜΕΧΡΙ Ζ ΜΕ_ΒΗΜΑ 2
ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ Ι

Πως θα μπορούσαμε να το γράψουμε κατευθείαν το Ι; Αν λέγαμε Ι<-Ζ+2;;;; Αυτό όμως ισχύει μόνο για αν Χ και Ζ ζυγοί αριθμοί. Σε κάθε άλλη περίπτωση νομίζω θα πρέπει να πούμε Ι<-Ζ+1. Άρα θα πρέπει να βάλουμε ένα ΑΝ για να βρει το πρόγραμμα τι αριθμοί είναι οι Χ, Ζ ή υπάρχει και πιο εύκολος τρόπος;;;;
Stavros
3ετής φοιτητής πληροφορικής


Το νέο φοιτητικό site
www.universitas.gr
www.csforces.gr/forums
All about computers!!!
Join us!!!!

evry

γιατί?

Παράθεση από: Τσιωτάκης Παναγιώτης στις 03 Ιαν 2008, 08:11:31 ΜΜ

Προσθέτω οτι η τιμή του I μετά το βρόχο, δεν πρέπει ΝΑ ΜΑΣ ΕΝΔΙΑΦΕΡΕΙ
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

gpapargi

Παράθεση από: Stavros στις 06 Ιαν 2008, 07:55:40 ΜΜ
Επίσης θέλω να ρωτήσω κάτι: Λέτε ότι δεν χρειάζεται αυτό το βήμα και ότι θα ξέρουμε από που θα αρχίζει και που θα τελειώνει. Στο παρακάτω όμως;
(Χ<Ζ)
ΔΙΑΒΑΣΕ Χ
ΔΙΑΒΑΣΕ Ζ
ΓΙΑ Ι ΑΠΟ Χ ΜΕΧΡΙ Ζ ΜΕ_ΒΗΜΑ 2
ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ Ι

Πως θα μπορούσαμε να το γράψουμε κατευθείαν το Ι; Αν λέγαμε Ι<-Ζ+2;;;; Αυτό όμως ισχύει μόνο για αν Χ και Ζ ζυγοί αριθμοί. Σε κάθε άλλη περίπτωση νομίζω θα πρέπει να πούμε Ι<-Ζ+1. Άρα θα πρέπει να βάλουμε ένα ΑΝ για να βρει το πρόγραμμα τι αριθμοί είναι οι Χ, Ζ ή υπάρχει και πιο εύκολος τρόπος;;;;

Σταύρο είχαμε κουβεντιάσει παλαιότερα το θέμα του να βρεις την τελική τιμή του μετρητή κατευθείαν. Να μια σούμα των περιπτώσεων.
https://alkisg.mysch.gr/steki/index.php?topic=287.15
Λίγο πιο πάνω υπάρχει και η ανάλυση.

Ωστόσο είναι μια καλή άσκηση για να εξασκήσεις τις μαθηματικές σου ικανότητες σε ένα χώρο που δε σχετίζεται με τη σχολική ύλη (θυμήσου τις κουβέντες για τα ψυχαγωγικά μαθηματικά).

Θα έλεγα λοιπόν ζωγράφισε την ευθεία των πραγματικών αριθμών και σχεδίασε πάνω τα Χ και Ζ. Σχεδίασε και τις τιμές πάνω από τις οποίες θα περάσει ο μετρητής Ι (Χ, Χ+2, Χ+4 κλπ) μέχρι να ξεπεράσει το Ζ οπότε δε θα μπει μέσα. Ίσως είναι πιο βολικό να κάνεις μια μετατόπιση της αρχής του άξονα των πραγματικών στο Χ. Τότε το Χ θα πέσει πάνω στο 0, το Ζ πάνω στο Ζ-Χ, το Χ+2 πάνω στο 2 κλπ.

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

gpapargi

Στην πράξη συνηθίσουμε να συλλαμβάνουμε την άσκηση με  Για όταν ξέρουμε από που ξεκινάμε από πού θα περάσουμε και που τερματίζουμε και δε μας ενδιαφέρει τι θα κάνει έξω ο μετρητής. Βέβαια το να επικαλούμαι συνήθεια είναι κάτι υποκειμενικό και εύκολα μπορεί κάποιος να διαφωνήσει.
Υπάρχουν και πιο αντικειμενικοί λόγοι.
Η τιμή του μετρητή της Για δεν είναι σε όλες τις γλώσσες ίδια μετά την εκτέλεση του βρόχου. Έχει να κάνει με την εσωτερική υλοποίηση δηλαδή αν μετατρέπεται σε Όσο ή σε Μέχρις_ότου. Δηλαδή θα πρέπει να σκεφτόμαστε με ένα ενιαίο τρόπο τα προβλήματα που λύνονται με τη Για και αυτό θα πρέπει να είναι ανεξάρτητο από τη γλώσσα προγραμματισμού.
Επίσης στην περίπτωση μετατροπής της Για σε Όσο, δεν εκτελείται ο βρόχος για την τελική τιμή. Ο τρόπος σύλληψης της Για σχετίζεται με τις τιμές για τις οποίες θα εκτελεστεί ο βρόχος. Πχ θέλω να εκτελεστεί κάτι για τιμές από 1 μέχρι 100. Έτσι παίρνω μια Για με το μετρητή να σαρώνει αυτές τις τιμές. Με το 101 δεν θα γίνει εκτέλεση και γι αυτό δεν με απασχολεί. Δηλαδή ο μαθητής για να χρησιμοποιήσει τη Για ρωτάει τον εαυτό του «Για ποιες τιμές θέλω να εκτελεστεί ο βρόχος;»   
Αυτοί οι αντικειμενικοί λόγοι νομίζω οδήγησαν και στο να μην αναρωτιόμαστε τι γίνεται μετά τη Για και να ασχολούμαστε για το τι γίνεται μέσα της. Άλλωστε είναι και αυτό που λέω παραπάνω: πάντα ξέρουμε την τελική τιμή χωρίς να γίνει η εκτέλεση. ʼρα τι είδους πρόβλημα θα ήταν αυτό που θα απαιτούσε τη χρήση κάποιας μεταβλητής της οποίας θα ξέραμε την τιμή εκ των προτέρων; Θα ήταν σαν να ξέραμε την απάντηση ενός προβλήματος πριν τη λύση του. Από αυτό συμπεραίνω ότι κάθε πρόβλημα το οποίο το λύνουμε με χρήση της τιμής του ι μετά τη Για, θα έχει σίγουρα και καλύτερη λύση. 

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

θα εμφανιστεί το 11. με το διάγραμμα ροής βγαίνει εύκολα!
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

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