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

SPY

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

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

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

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

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2313
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #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
  • *
  • Μηνύματα: 946
Απ: Λάθος στο βιβλίο μαθητή;
« Απάντηση #7 στις: 11 Νοέ 2015, 11:49:59 πμ »
Συνάδελφοι γειά σας.

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

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

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

gthal

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

petrosp13

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

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 515
  • 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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 515
  • 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 τη μεταβλητή, όταν κάνεις μια τέτοια ανάλυση μπορείς να τα αγνοήσεις παντελώς.