Αποστολέας Θέμα: Λάθος στο βιβλίο μαθητή;  (Αναγνώστηκε 2632 φορές)

SPY

  • Βετεράνος
  • ****
  • Μηνύματα: 63
  • Γράψτε το προσωπικό σας σλόγκαν!
Λάθος στο βιβλίο μαθητή;
« στις: 11 Οκτ 2015, 03:38:42 μμ »
Συνάδελφοι γειά σας.

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

Στον πίνακα της σελίδας 91 στην "αύξηση i" του μετρητή της ΓΙΑ αναγράφεται ως αριθμός πράξεων το 5 (5 αυξήσεις).
Όμως η αύξηση είναι η εντολή i <-- i+1 που περιέχει 2 βασικές πράξεις μια πρόσθεση και μια εκχώρηση.
Έτσι οι 5 αυξήσεις θα δίνουν αριθμό πράξεων 10. Σωστά;

Τι λέτε;
Η ίδια λογική υπάρχει και σε αντίστοιχο παράδειγμα στο τετράδιο μαθητή.

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2309
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #1 στις: 11 Οκτ 2015, 06:17:36 μμ »
Πολύ πρόχειρα γραμμένο (και) το συγκεκριμένο κεφάλαιο..
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Diotima

  • Επισκέπτης
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #2 στις: 11 Οκτ 2015, 07:52:47 μμ »
Δε θα έπρεπε να υπάρχει ένας γενικός κανόνας που να μας λέει πώς μετριούνται οι πράξεις; Θα προσπαθούμε μια ζωή να βγάλουμε τους γενικούς κανόνες από τα παραδείγματα ενώ το σωστό είναι το αντίθετο; Είναι δυνατόν δύο-τρία παραδείγματα να καλύπτουν όλες τι περιπτώσεις; (Το ίδιο έχει γίνει και στο κεφάλαιο 10 σχετικά με τη χρήση διαδικασίας και συνάρτησης).

Στην εκχώρηση y <-- 4*x θα μετρήσω 2 πράξεις με βάση το παράδειγμα, στην εκχώρηση y <-- x+x+x+x πόσες πράξεις θα μετρήσω, 4;
Αν ισχύει, αυτό σημαίνει ότι το πρώτο εκτελείται πιο γρήγορα από το δεύτερο;

Στον έλεγχο της συνθήκης x > y θα μετρήσω 1 πράξη με βάση το παράδειγμα, ενώ στον έλεγχο x-y > 0 θα μετρήσω 2 πράξεις;

SPY

  • Βετεράνος
  • ****
  • Μηνύματα: 63
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #3 στις: 12 Οκτ 2015, 12:07:06 πμ »
Πολύ πρόχειρα γραμμένο (και) το συγκεκριμένο κεφάλαιο..
Προχειρότητα ετών 16!

SPY

  • Βετεράνος
  • ****
  • Μηνύματα: 63
  • Γράψτε το προσωπικό σας σλόγκαν!
Λάθος στο βιβλίο μαθητή;
« Απάντηση #4 στις: 12 Οκτ 2015, 12:14:52 πμ »
....
Στην εκχώρηση y <-- 4*x θα μετρήσω 2 πράξεις με βάση το παράδειγμα, στην εκχώρηση y <-- x+x+x+x πόσες πράξεις θα μετρήσω, 4;
Σωστά.
Αν ισχύει, αυτό σημαίνει ότι το πρώτο εκτελείται πιο γρήγορα από το δεύτερο;
Όχι. Οι βασικές πράξεις δεν έχουν ίδιο χρόνο εκτέλεσης.
Στον έλεγχο της συνθήκης x > y θα μετρήσω 1 πράξη με βάση το παράδειγμα, ενώ στον έλεγχο x-y > 0 θα μετρήσω 2 πράξεις;
Κι αυτό σωστό.

Diotima

  • Επισκέπτης
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #5 στις: 12 Οκτ 2015, 01:29:07 μμ »
Όχι. Οι βασικές πράξεις δεν έχουν ίδιο χρόνο εκτέλεσης.
Συμφωνώ απόλυτα, αλλά παρακάτω στον πίνακα 5.2 (σελ. 91) θεωρεί ως χρόνο εκτέλεσης του αλγορίθμου τον αριθμό των πράξεων σε μs και για κάθε πράξη, ανεξάρτητα από το είδος της, έχει υπολογίσει 1 μs.
(Έχω κάνει μια ανάλυση για το πως βγαίνουν οι χρόνοι μετρώντας το πλήθος των πράξεων εδώ: https://alkisg.mysch.gr/steki/index.php?topic=6275.150 και έχω εντοπίσει κάποια λαθάκια).
Αυτό μπορεί να δημιουργήσει λάθος κατανόηση σχετικά με το χρόνο εκτέλεσης των βασικών πράξεων και σε μια θεωρητική ερώτηση να απαντήσει κάποιος λάθος.
Οπότε πρέπει να τονιστεί ότι γίνεται απλώς μια σύμβαση να θεωρούμε στον πίνακα 5.2 ότι για κάθε πράξη χρειάζεται 1 μs γιατί θέλουμε να μελετήσουμε την αύξηση των πράξεων σε σχέση με το πλήθος των επαναλήψεων που εκτελούνται και όχι να μετρήσουμε πραγματικούς χρόνους εκτέλεσης.

Rathaniel

  • Βετεράνος
  • ****
  • Μηνύματα: 77
  • Έπρεπε να είχα γίνει Χημικός......
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #6 στις: 12 Οκτ 2015, 03:10:58 μμ »
Υπάρχει και άσκηση στο τέτράδιο μαθητή που δημιουργεί τα ίδια ερωτήματα για την μέτρηση πράξεων.
Προφανώς χρειάζονται διευκρινίσεις.
Χρηστίδης Αλέξανδρος,
Μηχανικός Επ/κών και Πλη/κών Συστημάτων,
Msc Στα Προηγμένα Συστήματα Πληροφορικής

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 945
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #7 στις: 11 Νοέ 2015, 11:49:59 πμ »
Συνάδελφοι γειά σας.

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

Στον πίνακα της σελίδας 91 στην "αύξηση i" του μετρητή της ΓΙΑ αναγράφεται ως αριθμός πράξεων το 5 (5 αυξήσεις).
Όμως η αύξηση είναι η εντολή i <-- i+1 που περιέχει 2 βασικές πράξεις μια πρόσθεση και μια εκχώρηση.
Έτσι οι 5 αυξήσεις θα δίνουν αριθμό πράξεων 10. Σωστά;

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

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 945
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #8 στις: 11 Νοέ 2015, 08:14:46 μμ »
Βλέπω και σε άλλα κείμενα περί επίδοσης αλγορίθμου, ότι η αύξηση ενός μετρητή (κατά 1 μόνο? ή οσοδήποτε? ) θεωρείται ως μία πράξη... δεν καταλαβαίνω γιατί...
όπως δεν καταλαβαίνω γιατί πχ μια πρόσθεση και ένας πολ/σμος θεωρούνται ισοδύναμες ως μία πράξη η καθεμιά
Υπάρχει κανένας συνάδελφος που έχει την καλοσύνη να τα εξηγήσει αυτά?
Φιλικά,
Γιώργος Θαλασσινός

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2309
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #9 στις: 11 Νοέ 2015, 09:02:11 μμ »
Η πολυπλοκότητα μπήκε στην ύλη χωρίς να έχουν αποσαφηνιστεί ούτε τα στοιχειώδη..
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 499
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #10 στις: 11 Νοέ 2015, 09:30:18 μμ »
Απορία:
Πώς η αύξηση της μεταβλητής στη  Για να θεωρείται μια πράξη, αφού συνάμα πρέπει να ελέγχεται το όριο και σε επιτυχία (εντός ορίου) να υπάρχει διακλάδωση στην πρώτη εντολή μετά τη Για.

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 429
  • Real stupidity beats ΑΙ any time
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #11 στις: 12 Νοέ 2015, 08:04:43 πμ »
Απορία:
Πώς η αύξηση της μεταβλητής στη  Για να θεωρείται μια πράξη, αφού συνάμα πρέπει να ελέγχεται το όριο και σε επιτυχία (εντός ορίου) να υπάρχει διακλάδωση στην πρώτη εντολή μετά τη Για.

Επειδή η αύξηση μιας μεταβλητής είναι η αύξηση μιας μεταβλητής. Τo bound check και το αν θα κάνεις branch, είναι άλλες διακριτές πράξεις. Προφανώς και χρησιμοποιούμε τη λέξη "πράξη" με μια σχετική ελευθερία σε αυτή τη συζήτηση.

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 499
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #12 στις: 12 Νοέ 2015, 04:17:41 μμ »
Πάντως έχει σημασία που τη βρίσκει την μεταβλητή. Σε χαμηλό επίπεδο μπορεί να είναι σε κσταχωρητή, ή στη στοίβα επιστροφής, ή κάπου στη μνήμη με διεύθυνση έμμεση ή απόλυτη, ή με προσαύξηση διαστήματος offset. Δηλαδή μια αύξηση μεταβλητής σκέτο...δεν μας λέει πολλά πράγματα. Δεν υπάρχει κανόνας που να λέει ότι η μεταβλητή στο Για είναι επακριβώς ίδια με οποιαδήποτε άλλη. Κοινές ιδιότητες θα βρεθούν. Μπορεί κανείς να αλλάξει την μεταβλητή εντός της Για, με συνέπεια να αλλάξουν τα προκαθορισμένα βήματα;

Rathaniel

  • Βετεράνος
  • ****
  • Μηνύματα: 77
  • Έπρεπε να είχα γίνει Χημικός......
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #13 στις: 12 Νοέ 2015, 08:37:29 μμ »
Πάντως έχει σημασία που τη βρίσκει την μεταβλητή. Σε χαμηλό επίπεδο μπορεί να είναι σε κσταχωρητή, ή στη στοίβα επιστροφής, ή κάπου στη μνήμη με διεύθυνση έμμεση ή απόλυτη, ή με προσαύξηση διαστήματος offset. Δηλαδή μια αύξηση μεταβλητής σκέτο...δεν μας λέει πολλά πράγματα. Δεν υπάρχει κανόνας που να λέει ότι η μεταβλητή στο Για είναι επακριβώς ίδια με οποιαδήποτε άλλη. Κοινές ιδιότητες θα βρεθούν. Μπορεί κανείς να αλλάξει την μεταβλητή εντός της Για, με συνέπεια να αλλάξουν τα προκαθορισμένα βήματα;
Ξεφύγαμε.....
Χρηστίδης Αλέξανδρος,
Μηχανικός Επ/κών και Πλη/κών Συστημάτων,
Msc Στα Προηγμένα Συστήματα Πληροφορικής

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 429
  • Real stupidity beats ΑΙ any time
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #14 στις: 12 Νοέ 2015, 09:59:56 μμ »
Πάντως έχει σημασία που τη βρίσκει την μεταβλητή. Σε χαμηλό επίπεδο μπορεί να είναι σε κσταχωρητή, ή στη στοίβα επιστροφής, ή κάπου στη μνήμη με διεύθυνση έμμεση ή απόλυτη, ή με προσαύξηση διαστήματος offset. Δηλαδή μια αύξηση μεταβλητής σκέτο...δεν μας λέει πολλά πράγματα. Δεν υπάρχει κανόνας που να λέει ότι η μεταβλητή στο Για είναι επακριβώς ίδια με οποιαδήποτε άλλη. Κοινές ιδιότητες θα βρεθούν. Μπορεί κανείς να αλλάξει την μεταβλητή εντός της Για, με συνέπεια να αλλάξουν τα προκαθορισμένα βήματα;

Δεν έχει σημασία που είναι η μεταβλητή και πώς κάνεις increment τη μεταβλητή, όταν κάνεις μια τέτοια ανάλυση μπορείς να τα αγνοήσεις παντελώς.

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 945
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #15 στις: 12 Νοέ 2015, 10:47:10 μμ »
Δεν έχει σημασία που είναι η μεταβλητή και πώς κάνεις increment τη μεταβλητή, όταν κάνεις μια τέτοια ανάλυση μπορείς να τα αγνοήσεις παντελώς.
Αυτό δεν το καταλαβαίνω ούτε εγώ, γιατί μπορούμε να τα αγνοήσουμε αυτά? (ίσως δεν μπορώ να ξεφύγω από την έννοια κύκλος μηχανής)
Αφού προσπαθούμε να έχουμε μια εκτίμηση για το χρόνο εκτέλεσης, δεν είναι αυθαίρετο να θεωρούμε ότι μια πρόσθεση και ένας πολ/σμός θα χρειαστούν τον ίδιο χρόνο? ή μια "Εμφάνισε" και μια πρόσθεση ?  Χάνω κάτι από το νόημα της ανάλυσης?

Αλλά και να δεχθώ ότι θα τα υπολογίζω με αυτές τις απλουστευμένες παραδοχές (έτσι κι αλλιώς απλουστεύουν τα πράγματα)
η αρχική απορία παραμένει:
γιατί η εντολή  i <- i + c  , όπου c σταθερή, δεν αποτελεί 2 πράξεις αλλά μία ??
Φιλικά,
Γιώργος Θαλασσινός

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 499
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #16 στις: 13 Νοέ 2015, 02:44:17 πμ »
Το ότι η C είναι σταθερή, δεν σημαίνει ότι δεν είναι αριθμός που περιέχεται κάπου στη μνήμη. Αν η πράξη είναι
Ι+=Σταθερά τότε θα μιλάμε για μια πράξη "πρόσθεσε στο Ι τη Σταθερά". Η Ι=Ι+Σταθερή έχει δυο βήματα "δώσε στην Ι το αποτέλεσμα της έκφρασης που ακολουθεί, πρόσθεσε Ι και Σταθερά". Αν ο μεταφραστής είναι "έξυπνος" θα μπορούσε το δεύτερο να το κάνει σαν το πρώτο. Υποτίθεται όμως ότι στην ΓΙΑ δεν γράφεται η εντολή από τον χρήστη (στη C όντως γράφεται), άρα θα χρησιμοποιεί την πρώτη περίπτωση με μια πράξη. Τώρα η πράξη μπορεί να χρειάζεται Ν κύκλους μηχανής. Αυτό το δεχόμαστε ως δεδομένο.

Μια ιδέα εδώ για hardware πολλαπλασιαστή:
 http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/ti/_dataBooks/1984_The_TTL_Data_Book_Vol_1.pdf
θα βρει κανείς με την αναζήτηση το 4-BIT BY 4-BIT BINARY MULTIPLIERS, όπου ένα τσιπάκι ΤΤL  παίρνει 4 και 4 Bit και δίνει άμεσα τον πολλαπλασιασμό σε 8 bit.

To Pdf το βρήκα στους εξωτερικούς συνδέσμους του https://en.wikipedia.org/wiki/List_of_7400_series_integrated_circuits
Θα ήταν ωραίο να έβλεπαν δυο τρεις σελίδες τα παιδιά με τσιπάκια διάφορα!

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 429
  • Real stupidity beats ΑΙ any time
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #17 στις: 13 Νοέ 2015, 09:33:55 πμ »
Αυτό δεν το καταλαβαίνω ούτε εγώ, γιατί μπορούμε να τα αγνοήσουμε αυτά? (ίσως δεν μπορώ να ξεφύγω από την έννοια κύκλος μηχανής)
Αφού προσπαθούμε να έχουμε μια εκτίμηση για το χρόνο εκτέλεσης, δεν είναι αυθαίρετο να θεωρούμε ότι μια πρόσθεση και ένας πολ/σμός θα χρειαστούν τον ίδιο χρόνο? ή μια "Εμφάνισε" και μια πρόσθεση ?  Χάνω κάτι από το νόημα της ανάλυσης?

Το ίδιο αυθαίρετο με το να πεις ότι ο πολ/σμος χρειάζεται Χ cycles και η πρόσθεση Υ cycles. Αυτά είναι λεπτομέρειες του ISA. Εμένα μου φαίνεται οτι μαθηματικά σε ενδιαφέρει η ασυμπτωτική συμπεριφορά του αλγόριθμου που εξετάζεις. Αν θεωρήσεις την πρόσθεση, την αφαίρεση, τον πολ/σμό ακόμα και την Εμφάνισε ως στοιχειώδη πράξεις, αρχίζεις και ασχολείσαι με το αν κάνεις  n2 πράξεις vs n πράξεις, αντί να μπλέξεις με το τι latency έχει η πρόσθεση.


Αλλά και να δεχθώ ότι θα τα υπολογίζω με αυτές τις απλουστευμένες παραδοχές (έτσι κι αλλιώς απλουστεύουν τα πράγματα)
η αρχική απορία παραμένει:
γιατί η εντολή  i <- i + c  , όπου c σταθερή, δεν αποτελεί 2 πράξεις αλλά μία ??

Συμφωνώ μαζί σου ότι είναι δύο πράξεις αυτό που έγραψες πάντως.

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 945
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #18 στις: 14 Νοέ 2015, 02:45:09 μμ »
Χαίρομαι που συμφωνούμε...
αν και είδα και σε άλλη βιβλιογραφία την αύξηση του μετρητή να την υπολογίζουν ως μία πράξη και λέω μήπως υπάρχει κάποιος λάκκος...
Άντε τώρα να δούμε αν θα το διδάξουμε όπως νομίζουμε εμείς ή όπως είναι στο βιβλίο...
Φιλικά,
Γιώργος Θαλασσινός

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 945
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #19 στις: 14 Νοέ 2015, 02:46:50 μμ »
Θα ήταν ωραίο να έβλεπαν δυο τρεις σελίδες τα παιδιά με τσιπάκια διάφορα!
Χα! Δεν έχεις ιδέα πόσο απουσιάζει το ενδιαφέρον από τους μαθητές, όχι μόνο για κάτι έξτρα αλλά και για τα ίδια αυτά που ανγακάζονται να μάθουν γιατί θα εξεταστούν :(   εξαιρούνται κάποιοι ελάχιστοι, μια στο τόσο, που έχουν προσωπικό ενδιαφέρον για το αντικείμενο (δεν ξέρω αν συναντώνται περισσότεροι τέτοιοι στα σχολεία και απλά δεν έρχονται στα φροντιστήρια γιατί δεν το έχουν ανάγκη... οπότε σχολικοί και φροντιστηριακοί καθηγητές ίσως δουλεύουμε πάνω σε διαφορετικά δείγματα :( )
Αλλά εδώ που τα λέμε ούτε το χρόνο έχουν... ούτε και ο καθηγητής. Δεν μπορώ να με φανταστώ να διαθέτω ούτε 3 λεπτά για κάτι εκτός ύλης - παρά μόνο αν το ζητήσουν οι ίδιοι. Έχω φάει την απογοήτευση στη μάπα από τα πρώτα χρόνια, όπου τους εξηγούσα (ή πρόσθετα στις σημειώσεις μου) κάποια πράγματα με απλά λόγια για να καταλάβουν (και να μην παπαγαλίσουν) ζητήματα που το βιβλίο ανέφερε ως θεωρία χωρίς κανένα έρεισμα (πχ την ολίσθιση, ως ένα τυχαίο από τα πολλά παραδείγματα) και ελάχιστοι τα άκουγαν και κανείς - μα κανείς δεν τα διάβαζε :(
Και επειδή δεν έχω εκφραστεί ακόμα για την καινούρια ύλη, και αυτή η κουβέντα μου άνοιξε την όρεξη καθώς συνδέεται αναπόφευκτα και δεν θέλω να μακρηγορήσω σ' αυτό το topic, θα αναπτύξω σε κάποιο άλλο thread σύντομα... ;)
Φιλικά,
Γιώργος Θαλασσινός