Αποστολέας Θέμα: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε  (Αναγνώστηκε 3706 φορές)

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 831
  • Έτερος εξ ετέρου σοφός, το τε πάλαι το τε νυν
    • http://sdoukakis.wordpress.com/
Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« στις: 25 Σεπ 2009, 06:31:53 μμ »
Δεν έχω προχωρήσει τόσο στην ύλη, αλλά καθώς έβλεπα το υλικό μελέτησα τη λύση που έχω στην άσκηση:

Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει το πολύ είκοσι τιμές προϊόντων. Ωστόσο, αν διαβαστεί ως τιμή προϊόντος η τιμή 0, θα σταματάει η εισαγωγή τιμών προϊόντων και ο αλγόριθμος θα εκτυπώνει το πλήθος των προϊόντων που διαβάστηκαν και το μέσο όρο των τιμών τους.

Αλγόριθμος Προϊόντα
πλ ← 0
Σ ← 0
Διάβασε τπ
Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
  Σ ← Σ + τπ
  πλ ← πλ + 1
  Διάβασε τπ
Τέλος_επανάληψης
Εκτύπωσε πλ
Αν πλ ≠ 0 τότε
  ΜΟ ← Σ / πλ
  Εκτύπωσε ΜΟ
Τέλος_αν
Τέλος Προϊόντα

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

Έτσι, προτείνω την ακόλουθη λύση:

Αλγόριθμος Προϊόντα
πλ ← 0
Σ ← 0
Διάβασε τπ
Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
  Σ ← Σ + τπ
  πλ ← πλ + 1
  Αν πλ ≠ 20 τότε Διάβασε τπ
Τέλος_επανάληψης
Εκτύπωσε πλ
Αν πλ ≠ 0 τότε
  ΜΟ ← Σ / πλ
  Εκτύπωσε ΜΟ
Τέλος_αν
Τέλος Προϊόντα

Τι άποψη έχετε; Θεωρείτε ότι πρέπει να μπει το Αν; Θα θεωρούσατε λάθος ότι εισάγει ο χρήστης επιπλέον τιμή;

ΣΔ

d_bam

  • Οπαδός
  • **
  • Μηνύματα: 12
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #1 στις: 25 Σεπ 2009, 07:39:43 μμ »
Καλησπέρα
πιστεύω οτι πρέπει να μπει το Αν γιατί αλλιώς αναγκάζεις τον χρήστη να δώσει μια επιπλέον τιμή!

τι θα έλεγες επίσης αντι να βάλεις το

Διάβασε τπ
Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
  Σ ← Σ + τπ
  πλ ← πλ + 1
  Αν πλ ≠ 20 τότε Διάβασε τπ
Τέλος_επανάληψης


να έβαζες

Αρχή_επανάληψης
   Διάβασε τπ
   Αν τπ <> 0 τότε
       Σ ← Σ + τπ
       πλ ← πλ + 1
   Τέλος_αν
Μέχρις_ότου τπ = 0 Ή πλ = 20

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #2 στις: 25 Σεπ 2009, 09:28:53 μμ »

Τι άποψη έχετε; Θεωρείτε ότι πρέπει να μπει το Αν; Θα θεωρούσατε λάθος ότι εισάγει ο χρήστης επιπλέον τιμή;

Ναι, και εγώ λάθος θα το έπαιρνα. Είναι σημαντικό να σταματάς την επανάληψη όταν πρέπει.
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2457
  • I 'm not young enough to know everything
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #3 στις: 25 Σεπ 2009, 09:48:58 μμ »
Ειχα πει τη γνωμη μου στο συγκεκριμενο θεμα στο παρακατω link (δευτερο post στο thread). Βεβαια εχει ενδιαφερον οτι ο τρελλαρας μαθητης το χτυπησε και με "Για"  :D :D
Αυτο θα πει "ακατεργαστο διαμαντι"

https://alkisg.mysch.gr/steki/index.php?topic=1141.0

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3247
  • agent romanoff you miss me?
    • P.Tsiotakis
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #4 στις: 25 Σεπ 2009, 10:22:36 μμ »
Νομίζω όμως, οτι στην άσκηση με τα γραμματόσημα (που ετέθη τέτοιο θέμα), δεν κόπηκαν μονάδες στο περιττό διάβασμα. Αυτό θυμάμαι από συζήτηση τότε...

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 831
  • Έτερος εξ ετέρου σοφός, το τε πάλαι το τε νυν
    • http://sdoukakis.wordpress.com/
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #5 στις: 26 Σεπ 2009, 10:58:06 πμ »
Ok. Ανακεφαλαιώντας τις γνώμες σας, νομίζω ότι πρέπει να το ζητάμε και μάλιστα να βαθμολογούμε τη χρήση περιττής εισαγωγής τιμής. Αν και ο Παναγιώτης το συγκρίνει (ορθώς) και με τις πανελλήνιες.

Αλγοριθμικά η επιπλέον εισαγωγή διαβάζει 21 τιμές, ενώ εμείς τους ζητάμε να διαβάζει 20 τιμές. Αυτό βλέπω ως λάθος. Κάτι που στη Για θα το παίρναμε λάθος.

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

Μία πρόταση που έγινε (d_bam, gpapargi) είναι η χρήση της Μέχρις_ότου.

Με προβληματίζει το ακόλουθο:
1. Ο βρόχος μπορεί να μην εκτελεστεί αν δοθεί πρώτη τιμή η μηδέν.
2. Με τη Μέχρις_ότου ο βρόχος θα εκτελεστεί τουλάχιστον μία φορά...

Παιδαγωγικά τους λέμε ότι:
Γενικά, αν ο βρόχος υπάρχει περίπτωση να μην εκτελεστεί χρησιμοποιήστε την Όσο και με αυτή την άσκηση τι θα τους πούμε; ότι έχουμε και μία περίπτωση όπου παρότι μπορεί να μην εκτελεστεί ποτέ η επανάληψη είναι προτιμότερη η Μέχρις_ότου; Θα μου πείτε ότι δεν βάζουμε τόσο στενά καλούπια... Το θέμα είναι η σκέψη και όπως αναφέρει ο gpapargi στο άλλο post, ο αλγόριθμος θα πρέπει να είναι πιο κοντά σε αυτό που σκεφτόμαστε...

Τι άποψη έχετε; Πώς το αντιμετωπίζετε;

ΣΔ

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3247
  • agent romanoff you miss me?
    • P.Tsiotakis
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #6 στις: 26 Σεπ 2009, 11:06:32 πμ »
Θεωρώ οτι είναι λάθος η εισαγωγή επιπλέον τιμής -αν και συμμερίζομαι τις απόψεις οτι μπορεί να είναι ψιλά γράμματα. Πιθανώς με μια προσεκτικά διατυπωμένη διευκρίνηση στην εκφώνηση ΜΠΟΡΕΙ να είναι ζητούμενο η σωστή λύση (όχι περιττές εισαγωγές δεδομένων).

Προφανώς διορθώνεται με χρήση επιπλέον δομής επιλογής (είτε σε Όσο είτε σε Μέχρις_ότου βρόχους)

vasiko

  • Βετεράνος
  • ****
  • Μηνύματα: 82
  • !!!!...!!!
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #7 στις: 27 Σεπ 2009, 12:45:18 μμ »
.

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2457
  • I 'm not young enough to know everything
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #8 στις: 29 Σεπ 2009, 10:43:00 πμ »
Παναγιώτη νομίζω πως το ζήτημα του περιττού διαβάσματος στο θέμα με τα γραμματόσημα είναι λίγο διαφορετικό. Δεν εμφανίζεται σε κάθε εκτέλεση του αλγορίθμου όπως η περίπτωση που αναφέρει ο Σπύρος, αλλά μόνο στην περίπτωση που εισαχθεί τιμή που μηδενίζει ακριβώς το υπόλοιπο. Εκεί θα έλεγα ότι δεν είναι σωστό να διαβαστεί άλλη τιμή και θέλουμε άμεσο τερματισμό του βρόχου. ΑΥτό ίσως και να ξέφυγε στην επιτροπή, αν και είναι πολύ οριακό... θα μπορούσε ίσως κάποιος να τεντώσει την ερμημνεία της εκφώνησης δεχόμενος γραμματόσημα μηδενικής τιμής (λέμε τώρα). Μάλλον είναι οριακά λάθος και κάνεις τα στραβά μάτια. Αλλά όσο  τπ ≠ 0 και πλ < 20 είναι χτυπητή περίπτωση.

Σπύρο αυτό το "αν ο βρόχος υπάρχει περίπτωση να μην εκτελεστεί χρησιμοποιήστε την Όσο" το έχω ακούσει κι εγώ αλλά δεν ισχύει. Οι 2 δομές μπορούν να κάνουν ακριβώς τα ίδια πράγματα και πάντα η μια μετατρέπεται στην άλλη. Ίσως σα σύσταση/υπόδειξη σε πρώτη φάση να μπορεί να λειτουργήσει, αλλά σε βαθύτερο επίπεδο δεν μπορεί να σταθεί. Εδώ πχ έχουμε περίπτωση με 2 συνθήκες διακοπής που δεν ελέγχονται ταυτόχρονα. Δεν υπάρχει καν ολόκληρος βρόχος (με την έννοια των εντολών που επαναλαμβάνονται). Εδώ αν μου επιτρέπεται η έκφραση μπορεί να εκτελεστεί και ο "μισός" ανάλογα με την αιτία διακοπής.

bagelis

  • Ομάδα διαγωνισμάτων 2009
  • *
  • Μηνύματα: 535
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #9 στις: 30 Σεπ 2009, 10:28:42 μμ »
1) Συμφωνώ ότι πρέπει να θεωρηθεί λάθος το περιττό διάβασμα αλλά χωρίς να θέλω να αποπροσανατολίσω την κουβέντα το σοβαρό για μένα είναι "πόσο να κοπεί?". Πιστεύω ότι ένα μόριο (στα είκοσι που ενδεχομένως να είχε το θέμα) είναι αρκετό.

2) Αν θυμάμαι καλά, παλαιότερα είχε κάνει μία ανάλυση ο gpapargi (σε λύση με μέχρις_ότου και σημαία) την οποία θα υιοθετούσα απόλυτα διότι περιγράφει ακριβώς το σκεπτικό που θα έκανε ο καθένας μας σε κάποιο παράδειγμα.

   

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3247
  • agent romanoff you miss me?
    • P.Tsiotakis
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #10 στις: 01 Οκτ 2009, 02:53:31 μμ »
Πρέπει η εκφώνηση να διατυπωθεί με τέτοιο τρόπο και αιτήματα, που να βαθμολογεί/κόβει μονάδες αυτό το σημείο.

Σκέφτηκα άσκηση τώρα, αλλά δεν προλαβαίνω να τη βάλω...

ikariofil

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 127
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #11 στις: 01 Οκτ 2009, 03:13:25 μμ »
Δεν πρέπει να κοπεί τίποτα!
Εδώ τρομάζουμε να τους μάθουμε να δουλεύουν με δομή επανάληψης, Λίγοι είναι οι μαθητές που μπορεί να δουλέψουν Όσο με διπλή συνθήκη και εσείς συζητάτε να κόβουμε μονάδες για διάβασμα μιας περιττής τιμής που δεν αξιοποιείται και δεν επηρεάζει το τελικό αποτέλεσμα;
Για μένα ο μαθητής πρέπει να παίρνει το άριστα (με την παραπάνω λύση)..

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 831
  • Έτερος εξ ετέρου σοφός, το τε πάλαι το τε νυν
    • http://sdoukakis.wordpress.com/
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #12 στις: 01 Οκτ 2009, 03:30:05 μμ »
Παναγιώτη συμφωνώ πρέπει να προφυλάξουμε το μαθητή στο συγκεκριμένο θέμα. Επαναλαμβάνω την άποψή μου ότι είναι λάθος, αφού αν ήταν Για και το έκανε 21 φορές αντί για 20 δεν θα έπαιρνε άριστα... Κατά τη γνώμη μου η μία μονάδα στα 20, άντε 2 είναι ok, αφού η εισαγωγή δεν επηρεάζει το αποτέλεσμα με την εκφώνηση που έδωσα.
Αλλά αν με κάποιο τρόπο (είτε με το να ζητήσουμε να εμφανίζει τις εισαγόμενες τιμές, είτε με το να ζητήσουμε να μετρήσει πόσες τιμές αποδεκτές εισήχθησαν) μπορούμε και παιδαγωγικά να του/της επισημάνουμε το σφάλμα και ο/η μαθητής/τρια θα μπορέσει να επισημάνει τον κίνδυνο και να μην κάνει το λάθος.

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

ΣΔ

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #13 στις: 01 Οκτ 2009, 04:02:23 μμ »
Δεν πρέπει να κοπεί τίποτα!
Εδώ τρομάζουμε να τους μάθουμε να δουλεύουν με δομή επανάληψης, Λίγοι είναι οι μαθητές που μπορεί να δουλέψουν Όσο με διπλή συνθήκη και εσείς συζητάτε να κόβουμε μονάδες για διάβασμα μιας περιττής τιμής που δεν αξιοποιείται και δεν επηρεάζει το τελικό αποτέλεσμα;
Για μένα ο μαθητής πρέπει να παίρνει το άριστα (με την παραπάνω λύση)..

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

Η σωστή είσοδος δεδομένων είναι κατά τη γνώμη μου αυτονόητη. Δεν λέω ότι πρέπει να το θερίσουμε το παιδί αλλά οπωσδήποτε κάτι πρέπει να κοπεί. Δεν είναι καλό να τους εξισώνουμε όλους. Εξάλλου αν δεν κόψεις τότε μπορεί να θεωρήσει ότι το έλυσε μια χαρά....
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

ikariofil

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 127
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: Άσκηση Όσο τπ ≠ 0 και πλ < 20 επανάλαβε
« Απάντηση #14 στις: 01 Οκτ 2009, 04:23:09 μμ »
Απάντησε ο μαθητής όλα τα ερωτήματα; Γιατί να μην βαθμολογήσεις άριστα;
Εκτός και αν έχεις φροντίσει να δώσεις κάποιες μονάδες στην είσοδο. Π.χ.
Να γράψετε αλγόριθμο ο οποιος:
(Α) Να παίρνει σαν είσοδο 20 αριθμούς  (Μονάδες 2)
.................................................................................