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

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

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

zwoula

  Για i απο 1 μεχρι 10
 διαβασε β[i]
τελος_επαναληψης

εμφανισε β[i]
\

        :(  :-
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

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


evry

Θα εμφανίζει το ίδιο με αυτό

 
Για i από 1 μέχρι 10
       Διάβασε β[i]
   Τέλος_Επανάληψης
   Εμφάνισε β[i-1]


Zwoula στο διόρθωσα γιατί οι αγκύλες φαίνονται μόνο μέσα σε κώδικα (είναι το κάγκελο στις επιλογές)

Αυτό που εσύ ζητάς είναι λάθος γιατί όταν βγει έξω το i θα είναι 11 και δεν υπάρχει τέτοιο στοιχείο αν ο πίνακας είναι 10 θέσεων
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

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

Επ! Ζαβολιά, το άλλαξες! Δεν είχες βάλει πίνακα! Έτσι, ναι, πράγματι: Είναι μια καλή ερώτηση!!!

Η γνώμη μου είναι ότι πλέον έτσι περνάς την λεπτή κόκκινη γραμμή! Δεν ορίζεται πουθενά το τι γίνεται με τον μετρητή έξω απλό την Για...

Κάποιοι θα .... .... μα τι .... τι στο καλό ...... συνέχεια θα το αλλάζεις;;;; Αποφάσισε και άστο λίγο σταθερό!!!  :D :D :D  ;D ;D ;D

evry

Νίκο εγώ το άλλαξα, γιατί οι αγκύλες δεν φαίνονταν

Παράθεση από: Νίκος Αδαμόπουλος στις 26 Ιαν 2010, 12:00:45 ΜΜ
Επ! Ζαβολιά, το άλλαξες! Δεν είχες βάλει πίνακα! Έτσι, ναι, πράγματι: Είναι μια καλή ερώτηση!!!

Η γνώμη μου είναι ότι πλέον έτσι περνάς την λεπτή κόκκινη γραμμή! Δεν ορίζεται πουθενά το τι γίνεται με τον μετρητή έξω απλό την Για...

Κάποιοι θα .... .... μα τι .... τι στο καλό ...... συνέχεια θα το αλλάζεις;;;; Αποφάσισε και άστο λίγο σταθερό!!!  :D :D :D  ;D ;D ;D
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

zwoula

αρα τι θα γινει? δεν ικανοποιει καποιο κριτηριο? αναλογα με ποιο κεφαλαιο του βιβλιου θα απαντησουμε??? καποιο κεφαλαιο υποστηριζει οτι θα εμφανιστει το β10 οποτε ολα μια χαρα και καποιο αλλο οτι θα πρεπει να εμφανισει το β11 και εκει υπαρχει προβλημα... αρα?
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

gthal

πού ακριβώς υποστηρίζεται ότι θα εμφανιστεί το β[10] ?
Φιλικά,
Γιώργος Θαλασσινός

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

Παράθεση από: zwoula στις 26 Ιαν 2010, 11:45:58 ΠΜ
  Για i απο 1 μεχρι 10
 διαβασε β[i]
τελος_επαναληψης

εμφανισε β[i]
\

        :(  :-

αν ο πίνακάς σου είναι 10 θέσεων, τότε ι=11 μετά την ολοκλήρωση της επανάληψης (τρέξε το σε διάγραμμα ροής και θα το δεις).
Επομένως θα επιχειρήσει να εμφανίσει το β[11], το οποίο δεν υπάρχει.

πρόκειται για λογικό λάθος. runtime error...
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

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

zwoula

στο κεφαλαιο 2 αφηνει να εννοειθει οτι η τελευταια τιμη του i θα ειναι το 10 ενω στο κεφαλαιο 8 λεει οτι η τελευταια τιμη που θα παρει θα ειναι το 11
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

andreas_p

Παράθεση από: zwoula στις 29 Ιαν 2010, 01:27:46 ΜΜ
στο κεφαλαιο 2 αφηνει να εννοειθει οτι η τελευταια τιμη του i θα ειναι το 10 ενω στο κεφαλαιο 8 λεει οτι η τελευταια τιμη που θα παρει θα ειναι το 11

Να εννοηθεί ...

ΟΧΙ.   

Σελ. 43  Σχ. 2.6 , όταν βγαίνει από την επανάληψη, i=101  !!!

zwoula

Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

xaidi

Μετά το πέρας της επανάληψης ο μετρητής έχει τιμή ίση με 11.

Β[i-1] είναι το σωστό ώστε να εμφανίσει το τελευταίο κελί του πίνακα....

Αν το i παρέμενε 10 δεν θα έβγαινε από την επανάληψη, παίρνει την επόμενη τιμή ώστε να τελειώσει η ρουτίνα
Ευχαριστώ,

gthal

Παράθεση από: zwoula στις 29 Ιαν 2010, 05:26:53 ΜΜ
εμενα λεει τελικη τιμη (=100)
εννοεί την τελευταία τιμή για την οποία θα εκτελεστεί η επανάληψη
όταν το i γίνει 101 η επανάληψη δεν εκτελείται και βγαίνουμε από το βρόχο (άρα τελειώνει με τιμή 101)
Φιλικά,
Γιώργος Θαλασσινός

P.Tsiotakis

αν και είναι σωστές οι απαντήσεις, το πάω ένα βήμα πίσω και αναφέρω

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

gthal

Κι εγώ Παναγιώτη απαντώντας τα παραπάνω θυμήθηκα την ημερίδα όπου συζητήθηκε κάτι σχετικό.
Δε συμφωνώ όμως απόλυτα.
Σίγουρα μας ενδιαφέρει με τι τιμή τερματίζει μια ισοδύναμη ΟΣΟ, έτσι δεν είναι ; Διότι σε κάποια προβλήματα ίσως να θέλουμε να συνεχίσουμε από εκεί και κάτω. (Απλά στη ΓΙΑ το "από κει και κάτω" το ξέρουμε εκ των προτέρων: τελική τιμή +1, γιαυτό υποθέτω δε μας ενδιαφέρει για την ΓΙΑ)
Οπότε ποιο το overhead στο να καταλάβει ο μαθητής ότι όμοια λειτουργεί και η ΓΙΑ;
Κατά τη γνώμη μου είναι ζήτημα κατανόησης ότι η ΓΙΑ είναι μια ΟΣΟ. Και ότι δεν είναι μια μαγική εντολή που "προβλέπει" πότε θα σταματήσει και όποιος το πιστεύει αυτό (ή τον αφήνουμε να το πιστεύει)παρεκκλίνει από την αλγοριθμική σκέψη !
Φιλικά,
Γιώργος Θαλασσινός

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