Αποστολέας Θέμα: Τί θα προτείνατε εσείς;  (Αναγνώστηκε 2065 φορές)

Ιωάννης Γκίνης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 130
  • I share because I care
    • Προσωπική ιστοσελίδα
Τί θα προτείνατε εσείς;
« στις: 22 Ιαν 2011, 08:41:52 μμ »
Ένα, από τα πολλά, θέματα που αντιμετωπίζω κατά τη διάρκεια της διδασκαλίας του συγκεκριμένου μαθήματος και όχι μόνο, είναι το εξής:
Ας υποθέσουμε ότι έχουμε να επιλύσουμε το παρακάτω πρόβλημα με χρήση, έστω, της γλώσσας Pascal.
Παράθεση
Η πιτσαρία MyPizza ακολουθεί την παρακάτω πολιτική στην χρέωση της πίτσας PopCorn που διανέμει:
ΤεμάχιαΤιμή Τεμαχίου (€)
1 - 38
4 - 77
8 και άνω5,5
Να γραφεί πρόγραμμα σε γλώσσα Pascal το οποίο:
α) Να διαβάζει το πλήθος των τεμαχίων της παραγγελίας και
β) Να υπολογίζει και να εμφανίζει το πληρωτέο ποσό για τον πελάτη.

Παρατήρηση: Δε ζητείται έλεγχος τιμών εισόδου.

Στη συνέχεια παραθέτω τρεις διαφορετικές υλοποιήσεις της λύσης του προβλήματος:

Υλοποίηση (1)
Κώδικας: [Επιλογή]
program pizza;
var x:integer;
pp:real;
begin
readln(x);
if ((x>=1) and (x<=3)) then
pp:=x*8;
if ((x>=4) and (x<=7)) then
pp:=x*7;
if (x>=8) then
pp:=x*5.5;
writeln('Πληρωτέο ποσό: ', pp:6:2);
end.

Υλοποίηση (2)
Κώδικας: [Επιλογή]
program pizza;
var x:integer;
pp:real;
begin
readln(x);
if ((x>=1) and (x<=3)) then
pp:=x*8
else if ((x>=4) and (x<=7)) then
pp:=x*7
else if (x>=8) then
pp:=x*5.5;
writeln('Πληρωτέο ποσό: ', pp:6:2);
end.

Υλοποίηση (3)
Κώδικας: [Επιλογή]
program Pizza;
var
  X: Integer;
  PP: Real;
begin
  Readln(X);
  if x <= 3 then
    PP := X * 8
  else if x <= 7 then
    PP := X * 7
  else
    PP := X * 5.5;
  Writeln('Πληρωτέο ποσό: ', PP:6:2);
end.
Ελπίζω να μην έκανα κάποιο λάθος στον κώδικα, όντας διαρκώς απρόσεχτος.

Η ερώτησή μου είναι η εξής: Εσείς τί θα επιλέγατε να διδάξετε σε ένα μαθητή της Γ' ΕΠΑΛ; Ποιά από τις τρεις υλοποιήσεις; Αν θέλετε αναφέρετε και το για ποιό λόγο.

Ευχαριστώ :)

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2225
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #1 στις: 22 Ιαν 2011, 08:44:05 μμ »
Την τρίτη χωρίς δεύτερη σκέψη...
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Ιωάννης Γκίνης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 130
  • I share because I care
    • Προσωπική ιστοσελίδα
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #2 στις: 22 Ιαν 2011, 08:45:36 μμ »
Δε θα πω τίποτα ακόμη  :-X

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2787
  • Πύργος Ηλείας
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #3 στις: 22 Ιαν 2011, 09:29:08 μμ »
Για να πας στην 3η, δεν θα έπρεπε να περάσεις από τις άλλες πρώτα;

Ιωάννης Γκίνης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 130
  • I share because I care
    • Προσωπική ιστοσελίδα
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #4 στις: 22 Ιαν 2011, 09:32:48 μμ »
Σωστά ρωτάτε κ. Αδαμόπουλε αλλά δε μας λέτε τι ακριβώς υπονοείτε.
« Τελευταία τροποποίηση: 23 Ιαν 2011, 07:07:23 μμ από jginis »

Σούλας Βασίλης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 305
    • Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #5 στις: 22 Ιαν 2011, 11:11:05 μμ »
Την 1η θα δίδασκα γιατί είναι πολύ πιο εύκολο να το κατανοήσουν. Με ανεξάρτητα if το καταλαβαίνουν καλύτερα.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

stratosg

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 301
  • Η εξουσία αποβλακώνει.
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #6 στις: 23 Ιαν 2011, 09:06:05 πμ »
Θα τους έδειχνα και τις τρεις υλοποιήσεις και στο τέλος θα υπερθεμάτιζα υπέρ της τρίτης υλοποίησης εξηγώντας τα υπέρ της έναντι των άλλων δυο. Κάπως έτσι κινούμαι σε αντίστοιχες περιπτώσεις.
Να φοβάσαι εκείνον που δεν έχει να χάσει τίποτα.

Ιωάννης Γκίνης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 130
  • I share because I care
    • Προσωπική ιστοσελίδα
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #7 στις: 23 Ιαν 2011, 01:18:26 μμ »
Είναι αυτό ακριβώς που με ανησυχεί.
  • Πού θα βρω το χρόνο να τα δείξω όλα αυτά κάθε φορά που έχω να κάνω με κάποιο αντίστοιχο θέμα;
  • Ποιό σχολικό βιβλίο να χρησιμοποιήσουμε για να τα εμπεδώσουμε;
  • Και τέλος, έρχεται ΤΟ Υπουργείο και μας λύνει όλες τις απορίες. Θυμηθείτε το 4ο θέμα των πανελλαδικών του 2010: http://users.sch.gr/jginis/?pg=sp#pascal28

Απ' την άλλη είναι και αυτό: Για να μάθει κάποιος να οδηγεί αυτοκίνητο θα πρέπει πρώτα να τρακάρει?!?!?!
Αξίζει να μάθει να αποφεύγει το τρακάρισμα όμως θα μου πείτε και έχετε απόλυτο δίκιο, αλλά είναι αυτά που ήδη ανέφερα.

Η ταπεινή μου άποψη είναι πως τα παιδιά του ΕΠΑγγελματικού Λυκείου δεν είναι ανάγκη, πάντοτε, να μαθαίνουν τις λεπτομέρειες - σκοτεινά σημεία συνήθως - που κρύβονται πίσω από το κάθε τι. Αρκεί να μαθαίνουν το σωστό και αργότερα θα έχουν το χρόνο να εμβαθύνουν.
« Τελευταία τροποποίηση: 23 Ιαν 2011, 01:50:12 μμ από jginis »

stratosg

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 301
  • Η εξουσία αποβλακώνει.
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #8 στις: 23 Ιαν 2011, 02:54:18 μμ »
Φίλε Γιάννη (αν μου επιτρέπεις), συμφωνώ απόλυτα μαζί σου, όμως κατέληξα σε αυτό που κάνω γιατί επί σειρά ετών με ρωτούσαν τα παιδιά γιατί όχι τον δεύτερο τρόπο, που παραδόξως τους ερχόταν στο μυαλό απ' ευθείας. Οπότε μπαίνοντας στη διαδικασία να τους το εξηγήσω τους έδειχνα και τον πρώτο τρόπο.

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

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2225
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #9 στις: 23 Ιαν 2011, 03:09:45 μμ »
Δεν καταλαβαίνω γιατί σε μια τόσο απλή άσκηση θα χρειαστούν πάνω από 3 λεπτά για να εξηγηθεί η ανωτερότητα του τρίτου τρόπου σαν τελική λύση
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

stratosg

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 301
  • Η εξουσία αποβλακώνει.
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #10 στις: 23 Ιαν 2011, 05:26:20 μμ »
Γιατί χρησιμοποιώ περισσότερα του ενός παραδείγματα και στη συνέχεια τους βάζω κι άσκηση.
Να φοβάσαι εκείνον που δεν έχει να χάσει τίποτα.

Ιωάννης Γκίνης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 130
  • I share because I care
    • Προσωπική ιστοσελίδα
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #11 στις: 23 Ιαν 2011, 05:38:28 μμ »
Δεν καταλαβαίνω γιατί σε μια τόσο απλή άσκηση θα χρειαστούν πάνω από 3 λεπτά για να εξηγηθεί η ανωτερότητα του τρίτου τρόπου σαν τελική λύση
Φίλε Πέτρο (αν μου επιτρέπεις), η κουβέντα δε γίνεται για την συγκεκριμένη άσκηση και μόνο. Έχει να κάνει με το ποιός είναι  ο σωστότερος και αποδοτικότερος τρόπος που πρέπει να διδάσκεται το συγκεκριμένο μάθημα στους μαθητές του ΕΠΑ.Λ., τουλάχιστον.

Μου δίνεται η ευκαιρία να αναφέρω απλά και κάτι ακόμη που με “τρώει” και θα πρέπει να το προσέξουμε, ειδικά εμείς οι καθηγητές των εργαστηρίων πληροφορικής.
Μιλάω για το style του προγραμματισμού, αυτό που το λέω “η ομορφιά του κώδικα”. Δεν θα πω τίποτα άλλο παρά μόνο το ότι με λυπεί το γεγονός ότι θα πρέπει διαρκώς να “πνίγω” τις αρχές μου για χάριν της ημιμάθειας κάποιων...
Είναι κάτι που αξίζει να γίνει κάποιος όχι απλά κακός, έτσι πιστεύω.

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2787
  • Πύργος Ηλείας
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #12 στις: 23 Ιαν 2011, 09:29:53 μμ »
Εγώ θα πρότεινα και τις τρεις! Σταδιακά από την 1η έως την 3η. Βέβαια δεν συμφωνώ πως 3 λεπτά αρκούν για να στηρίξουμε την ανωτερότητα και την κομψότητα της 3ης λύσης... όμως πιστεύω ότι ο διαθέσιμος χρόνος αρκεί... Υπάρχουν (αν δεν κάνω λάθος) 5 ώρες την εβδομάδα, υπάρχουν και τα άλλα μαθήματα ειδικότητας (ως λύση ανάγκης σε ειδικές περιπτώσεις!), η ύλη δεν περιλαμβάνει πίνακες...

_sleeper

  • Οπαδός
  • **
  • Μηνύματα: 16
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #13 στις: 31 Ιαν 2011, 07:07:09 μμ »
Η πρώτη είναι "λογικά" εσφαλμένη, μιας και οι συνθήκες είναι εξαρτόμενες κι όχι ανεξάρτητες μεταξύ τους, άσχετο με το αν η λύση που δίνει η συγκεκριμένη πρόταση είναι σωστή.

Η δεύτερη είναι η πιο παιδαγωγικά ορθή, αλλά η τρίτη είναι η πληρέστερη.

Εγώ ξεκινάω με τη δεύτερη (τους αφήνω να το λύσουν μόνοι τους με την πρώτη, ώστε να τους διορθώσω, για το εσφαλμένο της σκέψης τους) και καταλήγω στην τρίτη με την συμπλήρωση του X>=1 στην πρώτη συνθήκη, ώστε να πληροί ταυτόχρονα και το "πεδίο ορισμού" >=1. Άλλωστε πρέπει να μάθουν να κάνουν fool proof προγράμματα..  :P
what better place than here, what better time than now!

Καρκαμάνης Γεώργιος

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1095
Απ: Τί θα προτείνατε εσείς;
« Απάντηση #14 στις: 01 Φεβ 2011, 12:24:54 μμ »
Δεν θα εξετάσω τι είναι παιδαγωγικό σωστό ή όχι. Θα το δώ από την πλευρά των παιδιών το πως το καταλαβαίνουν καλύτερα:

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