Αποστολέας Θέμα: Ερωτηση σε ασκηση  (Αναγνώστηκε 3642 φορές)

Μαρια Κ.

  • Επισκέπτης
Ερωτηση σε ασκηση
« στις: 28 Απρ 2006, 11:27:15 πμ »
Μια ερωτηση στο πρακατω θεμα

Να αναπτύξετε έναν αλγόριθμο, ώστε
α) να διαβάζει έναν πραγματικό αριθμό μεγαλύτερο του μηδενός και μικρότερο του 1000 και να κάνει έλεγχο ορθής καταχώρησης του αριθμού,
β) να ελέγχει αν είναι ακέραιος και να εμφανίζει τη λέξη «ΑΚΕΡΑΙΟΣ» αλλιώς να εμφανίζει τη λέξη «ΠΡΑΓΜΑΤΙΚΟΣ»,
γ) να ελέγχει, στην περίπτωση που ο αριθμός είναι ακέραιος, αν είναι άρτιος ή περιττός και να εμφανίζει τη λέξη «ΑΡΤΙΟΣ» ή «ΠΕΡΙΤΤΟΣ» αντίστοιχα. 


Το ερωτημα β) πως μπορει να γίνει χωρις της συναρτησης Α_Μ
μιας και η λύση είναι σε αλγόριθμο;
Ευχαριστώ


xaidi

  • Ομάδα διαγωνισμάτων 2009
  • *
  • Μηνύματα: 111
  • who is WHO!!!!!!
Απ: Ερωτηση σε ασκηση
« Απάντηση #1 στις: 28 Απρ 2006, 11:40:18 πμ »
Η κατασκευή κώδικα με χρησιμοποίηση "γλώσσας" δεν είναι αλγόριθμος????
έχω την εντύπωση ότι όταν ζητείται αλγόριθμος μπορούμε να χρησιμοποιήσουμε όποια κωδικοποίηση θέλουμε.
Ευχαριστώ,

κωστας

  • Επισκέπτης
Απ: Ερωτηση σε ασκηση
« Απάντηση #2 στις: 28 Απρ 2006, 01:38:56 μμ »
Ναι αλλα ολες οι ασκησεις των πανελλαδικων ασκήσεων που ζηταν αλγοριθμο η επιλυση τους δίνεται σε ψευδογλώσσα.Δεν εχω δει ενα θεμα τετοιο το οποιο η λύση του να δίνεται σε ΓΛΩΣΣΑ.
Σε παλιοτερα  θεματα υπήρχε σημειωση που έλεγε οτι μπορείς να χρησιμοποιήσεις οτι θελεις, τα δυο τελευταια χρονια νομιζω δεν υπάρχει αυτη η σημειωση.

Μαρια Κ.

  • Επισκέπτης
Απ: Ερωτηση σε ασκηση
« Απάντηση #3 στις: 28 Απρ 2006, 06:57:47 μμ »
Δηλαδή οταν η ασκηση αναφερει 'να γινει αλγοριθμος'
ειναι σωστη η λύση της σε ΓΛΩΣΣΑ;

Στη νεοτερη βιβλιογραφια αλλα και στιςΠανελλαδικες η λυση δίνεται με ψευδογλώσσα.

Vangelis

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 786
  • Για ακούτε και κανένα μεγαλύτερο!!!
Απ: Ερωτηση σε ασκηση
« Απάντηση #4 στις: 29 Απρ 2006, 11:02:11 μμ »
Παιδιά να μην τρελαθούμε φυσικά και μπορεί να χρησιμοποιήσει ΓΛΩΣΣΑ σε αλγόριθμο (είναι μια μορφή αλγορίθμου).
Επίσης μπορεί να χρησιμοποιήσει τη συνάρτηση Α_Μ  όχι απαραίτητα με αυτό το όνομα μπορεί να χρησιμοποιήσει ΙΝΤ(Χ), Ακέραιο_Μέρος(Χ) και όποια άλλη σύνταξη θέλει ο μαθητής.  Καλό είναι βέβαια σε περίπτωση που χρησιμοποιήσει κάποιο περιέργο όνομα να διευκρινήσει τι κάνει αυτή η συνάρτησ με μια σημείωση.
Επίσης προσωπικά θα δεχόμουν σα σωστό και το Χmod1=0, δεν νομίζω ότι το βιβλίο να αναφέρει  πουθενά ότι η συνάρτηση mod χρησιμοποιείται μόνο για ακεραιους  (Αν κάνω λάθος παρακαλώ να μου το πείτε) οπότε φυσικό είναι ο μαθητής  να θεωρεί ότι μπορεί να χρησιμοποιηθεί και για πραγματικούς.

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: Ερωτηση σε ασκηση
« Απάντηση #5 στις: 29 Απρ 2006, 11:50:51 μμ »

  Βαγγέλη δεν έχω μπροστά μου το βιβλίο αλλά έχω την εντύπωση ότι χρησιμοποιούμε τον τελεστή mod με ακέραιους αριθμούς. Αν υποθέσουμε ότι οι αριθμοί είναι πραγματικοί τότε και το υπόλοιπο θα πρέπει να είναι πραγματικός. Για παράδειγμα αν διαιρέσουμε το 3,5 με το 2 έχουμε πηλικό 1 και υπόλοιπο 1,5. Όμως έχουμε πει ότι το αποτέλεσμα του mod είναι ακέραιος. Άρα για τον ίδιο ακριβώς λόγο και οι αριθμοί που χρησιμοποιούμε πρέπει να είναι ακέραιοι.
     Αν πάλι κοιτάξεις σε κάποιο βιβλίο διακριτών μαθηματικών ή άλγεβρας έχω την εντύπωση ότι ο τελεστής modulo και γενικότερα η αριθμητική modulo ορίζεται μόνο για ακέραιους αριθμούς αν θύμαμαι καλά.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Christos

  • Θαμώνας
  • ***
  • Μηνύματα: 24
Απ: Ερωτηση σε ασκηση
« Απάντηση #6 στις: 01 Μάι 2006, 07:59:46 μμ »
Οι τελεστές div και mod χρησιμοποιούνται μόνο με ακεραίους.

Νομίζω οτι μπορούν να χρησιμοποιηθούν στη σύνταξη αλγορίθμων όλες οι συναρτήσεις της ΓΛΩΣΣΑΣ, όπως Α_Μ(χ),Α_Τ(χ) κ.λ.π. Αποτελούν μορφή κωδικοποίησης.

filippos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 139
Απ: Ερωτηση σε ασκηση
« Απάντηση #7 στις: 01 Μάι 2006, 09:53:26 μμ »
Δηλαδή Βαγγέλη, αν κάποιο θέμα ζητούσε να γίνει αλγόριθμος που θα ζητάει δύο αριθμούς και θα εμφανίζει το μεγαλύτερο, αυτό θα νομιμοποιούσε το μαθητή να χρησιμοποιήσει αυθαίρετα τη "συνάρτηση" MAX αρκεί να εξηγήσει ΤΙ κάνει;

Δε θα συμφωνήσω ότι πρέπει να "ξεθαρεύουμε" τους μαθητές προς "αυθαίρετους" αυτοσχεδιασμούς.  Ας μην ανοίξουμε το κουτί της Πανδώρας γιατί ο καθένας μετά θα εκφράζεται όπως αυτός υποκειμενικά ορίζει την "αυστηρότητα στην έκφραση" (ένας από τους σαφώς διατυπωμένους στόχους του μαθήματος.

Βέβαια στην περίπτωση του INT (αντί του Α_Μ) δε βλέπω λόγο γιατί θα έπρεπε κάποιος να το θεωρήσει λάθος αφγού δε συνιστά ένδειξη αδυναμίας τουμαθητή σε επίπεδο αλγοριθμικής σκέψης, εν τούτοις νομίζω ότι θα πρέπει να είμαστε προσεκτικοί και να αποτρέπουμε τους μαθητές μας από τέτοιους αυτοσχεδιασμούς.

Όσο για το MOD, θα διαφωνήσω με το Βαγγέλη.  Το mod και το div είναι οι τελεστές της ακέραιας (ευκλείδιας ή αλγοριθμικής) διαίρεσης που (πρέπει να) γνωρίζουν οι μαθητές από τα Μαθηματικά κατεύθυνσης της Β' Λυκείου.  Δεν είναι ο ρόλος του μαθήματος να τους επανακαθορίσει, και μάλιστα έτσι αυθαίρετα.  Πρόκειται για τελεστές ακεραίων.  Διαφορετικά ο μαθητής είναι ελεύθερος να υποθέσει είτε ότι:
4.5 div 2.5 = 1
4.5 mod 2.5 = 2
ή ότι:
4.5 div 2.5 = 1.5
4.5 mod 2.5 = 0.75
είτε οτιδήποτε άλλο ικανοποιεί την Δ = δ x π + υ που όμως πρόκειται για τον ορισμό της ΑΚΕΡΑΙΑΣ διαίρεσης

Εξ άλλου, στη σελίδα 153, ΚΑΙ το βιβλίο τους ορίζει σε σχέση με τη διαίρεση ακέραιων, ορισμός που είναι απόλυτα σύμφωνος με αυτό που δίνουν και τα μαθηματικά που ξέρουν (και ξέρουμε).

Vangelis

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 786
  • Για ακούτε και κανένα μεγαλύτερο!!!
Απ: Ερωτηση σε ασκηση
« Απάντηση #8 στις: 01 Μάι 2006, 11:06:35 μμ »
Φιλλιπε
με την ίδια λογική, αν το επεκτείνουμε λιγάκι, θα μου προσάψεις ότι  μπορούσε ο μαθητής να γράψει το υποπρόγραμμα Λύση  το οποίο θα λύνει την άσκηση που του έβαλαν (χωρίς να λέει πως) και θα το θεωρούσα σωστό!!. 
Παραδέχεσε  σα σωστή την έκφραση ΙΝΤ(Χ) αλλά όχι το ΑΚΕΡΑΙΑ_ΤΙΜΗ(Χ), εδώ πράγματι διαφωνούμε ριζικά.  Ο σκοπός του μαθήματος δεν είναι να μάθουμε το μαθητή ότι η συνάρτηση Ακέραιο Μέρος (και κάθε συνάρτηση)  ονομάζεται Α_Μ, ΙΝΤ κ.λπ αλλά τι κάνει αυτή η συνάρτηση.  Αν λοιπόν εμένα μου γράψει ΑΚΕΡΑΙΑ_ΤΙΜΗ(Χ) ή ΑΚΕΡΑΙΟ_ΜΕΡΟΣ(Χ) ή ΙΝΤ(Χ) μου είναι απολύτως το ίδιο, ο μαθητής έχει καταλάβει τι πρέπει να κάνει και πως θα το συμβολισει λίγο με ενδιαφέρει (δεν κάνω προγραμματισμό ούτε μεταγλώτττιση).
Τώρα σχετικά με το div και το mod  συμφωνώ με τον Φίλλιπο ( και ευχαριστώ) ότι εφόσον στη σελίδα 153 διευκρινίζεται ότι χρησιμοποιούνται μόνο για ακεραίους αριθμούς δεν μπορεί να χρησιμοποιηθεί με τον τρόπο που ανέφερα.  Αν δεν το έλεγε πουθενά θα υπήρχε πάντως πρόβλημα το ότι το έμαθαν στα Μαθηματικά της Β λυκείου δεν είναι επαρκής δικαιολογία.

Vangelis

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 786
  • Για ακούτε και κανένα μεγαλύτερο!!!
Απ: Ερωτηση σε ασκηση
« Απάντηση #9 στις: 01 Μάι 2006, 11:08:09 μμ »
Ερώτηση
Αν ο μαθητής γράφοντας σε ΓΛΩΣΣΑ  χρησιμοποιήσει την εντολή Εμφάνισε  αντί για την ΓΡΑΨΕ το θεωρείτε λάθος;

filippos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 139
Απ: Ερωτηση σε ασκηση
« Απάντηση #10 στις: 03 Μάι 2006, 08:10:43 πμ »
Παιδιά να μην τρελαθούμε φυσικά και μπορεί να χρησιμοποιήσει ΓΛΩΣΣΑ σε αλγόριθμο (είναι μια μορφή αλγορίθμου).

Σωστά..  η κωδικοποίηση σε μία γλώσσα προγραμματισμού είναι απόλυτα σωστός τρόπος αναπαράστασης αλγόριθμου, όπως και η κωδικοποίηση σε ψευδογλώσσα.  Ας μην διατηρούμε τη σύγχιση που έχουμε καταφέρει να δημιουργήσουμε στους μαθητές.  Συχνά ρωτάνε... αλγόριθμος ή πρόγραμμα ;;; Λες και το πρόγραμμα δεν είναι αλγόριθμος.  Έχω την αίσθηση ότι τη "ζημιά" κάνει η χρήση της δηλωτικής εντολής "Αλγόριθμος" στην πρώτη περίπτωση και της δεσμευμένης λέξης ΠΡΟΓΡΑΜΜΑ στη δεύτερη.  Προσωπικά τους "διορθώνω" με τη φράση: κωδικοποίηση σε ψευδογλώσσα ή ΓΛΩΣΣΑ;

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

Κατ' αρχήν δε σου προσάπτω τίποτα... μην το παίρνεις προσωπικά :) κουβέντα κάνουμε ;)

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

Ασφαλώς δεν εννοούσα ότι εσύ, ή οποιοσδήποτε άλλος θα μπορούσε να δεχτεί κάτι τόσο ακραίο όμως, επαναλαμβάνω, πιστεύω ότι θα πρέπει να είμαστε ιδιαίτερα προσεκτικοί με τις "ελευθερίες" που δίνουμε στους μαθητές ώστε ΚΑΙ τους στόχους του μαθήματος να υπηρετούμε αλλά ΚΑΙ τους ίδιους να προστατεύουμε.

Παραδέχεσε  σα σωστή την έκφραση ΙΝΤ(Χ) αλλά όχι το ΑΚΕΡΑΙΑ_ΤΙΜΗ(Χ), εδώ πράγματι διαφωνούμε ριζικά. 
Δε διαφωνούμε καθόλου!  Πώς έβγαλες αυτό το συμπέρασμα;  Συμφωνώ απόλυτα με αυτά που λες, τουλάχιστον σε αυτό το σημείο.  Το θέμα δεν είναι αν θα το πει Α_Μ(), ΙΝΤ(), ΑΚΕΡΑΙΟ_ΜΕΡΟΣ() ή οτιδήποτε άλλο.  Το θέμα είναι να το χρησιμοποιήσει σωστά για να δώσει αλγοριθμικά σωστή λύση στο πρόβλημα.  Επομέννως, και εγώ, και ελπίζω όλοι μας, θα θεωρούσαμε κάτι τέτοιο σωστό, τόσο για την Α_Τ όσο και για όποια από τις υπόλοιπες συναρτήσεις "ορίζονται" στο βιβλίο.  (Δε βλέπω βέβαια για ποιό λόγο να πρέπει να γίνει κάτι τέτοιο... Τόσο δύσκολο είναι να θυμάται τα ονόματα;)

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

Έτσι όπως το διατυπώνεις δείχνει να "εννοεί" ότι ο μαθητής δικαιούται να "χρησιμοποιήσει" μία οποιαδήποτε "συνάρτηση" αρκεί να διευκρυνίσει τι κάνει.  Πιστεύω ότι θα ήταν λάθος να επεκταθεί ο μαθητής σε αυτοσχεδιασμούς αυτού του είδους θεωρώντας ότι αν απλά διευκυνίσει ΤΙ κάνει μία "αυτοσχέδια" συνάρτηση, νομιμοποιείται να τη χρησιμοποιήσει για την επίλυση ενός προβλήματος.  Φαντάζεσαι στο περυσινό θέμα 4, ερώτημα 3 κάποιος μαθητής να χρησιμοποιούσε μία count(), να ... διευκρύνιζε ΤΙ κάνει αυτή η συνάρτηση ... να τη χρησιμοποιούσε ως πρώτο βήμα (υπολογισμός αριθμού σωστών απαντήσεων) και μετά να προχωρούσε κανονικά με τα επόμενα δύο(1. εύρεση ελάχιστου στοιχείου πίνακα και 2. μέτρηση πλήθους εμφανίσεων του ελάχιστου) ;;;  Θέλει λίγη φαντασία βέβαια, αλλα δεν πιστεύω να δυσκολευτούν να τη βρουν αν ξέρουν ότι μπορούν να χρησιμοποιήσουν υποθετικές συναρτήσεις αρκεί να διευκρυνίζουν ΤΙ κάνουν !!!

Τώρα σχετικά με το div και το mod  συμφωνώ με τον Φίλλιπο ( και ευχαριστώ) ότι εφόσον στη σελίδα 153 διευκρινίζεται ότι χρησιμοποιούνται μόνο για ακεραίους αριθμούς δεν μπορεί να χρησιμοποιηθεί με τον τρόπο που ανέφερα.  Αν δεν το έλεγε πουθενά θα υπήρχε πάντως πρόβλημα το ότι το έμαθαν στα Μαθηματικά της Β λυκείου δεν είναι επαρκής δικαιολογία.

Δεν καταλαβαίνω γιατί δεν είναι επαρκής δικαιολογία το γεγονός ότι το γνωρίζουν από προηγούμενη τάξη;  Ποιά είναι η παιδαγωγική αξία του να επανακαθορίζουμε κάτι το οποίο ήδη γνωρίζουν όταν πρόκειται για το ίδιο πράγμα;

Ερώτηση
Αν ο μαθητής γράφοντας σε ΓΛΩΣΣΑ  χρησιμοποιήσει την εντολή Εμφάνισε  αντί για την ΓΡΑΨΕ το θεωρείτε λάθος;

Δε νομίζω ότι συνιστά ένδειξη αδυναμίας του μαθητή να εκφράσει αλγοριθμική λύση οπότε δεν πιστεύω ότι θα έπρεπε να "κόψει μονάδες" αν το θέμα ήταν απαντημένο σωστά. 

Αρκεί να μην ήταν στους στόχους του θέματος η αναγνώριση της ικανότητας του μαθητή να συντάξει σωστά σε ΓΛΩΣΣΑ!!

Ας το σκεφτούμε επομένως και ανάποδα!!

Αν σε δεδομένο θέμα δίνεται κομμάτι προγράμματος στο οποίο:
1) αντί του ΓΡΑΨΕ
χρησιμοποιείται το ΕΜΦΑΝΙΣΕ και

2) αντί του
ΑΝ <συνθήκη> ΤΟΤΕ
   Εντολές
ΤΕΛΟΣ_ΑΝ
χρησιμοποιείται το
ΑΝ <συνθήκη> ΤΟΤΕ εντολή
(χωρίς ΤΕΛΟΣ_ΑΝ)

και αντί του Α_Τ(Χ) χρησιμοποιείται το Α_Τ[Χ]

και το θέμα ζητάει να βρεθούν συντακτικά και γραμματικά λάθη με βάση τη γραμματική της ΓΛΩΣΣΑΣ (τυπικό και συντακτικό) ΤΙ θα έπρεπε να παρατηρήσει ο μαθητής και ΤΙ ο βαθμολογητής;  Γιατί νομίζω ότι είναι δόκιμο ένα τέτοιο ερώτημα όταν στο κεφάλαιο 6 διδάσκεται η έννοια της γραμματικής γλωσσών προγραμματισμού και στα κεφάλαι 7 - 10 η κωδικοποίηση σε μία "γλώσσα προγραμματισμού" (εντός ή εκτός εισαγωγικών)

nekis

  • Βετεράνος
  • ****
  • Μηνύματα: 76
  • U R NT A #
Απ: Ερωτηση σε ασκηση
« Απάντηση #11 στις: 03 Μάι 2006, 09:01:25 πμ »
Εγώ πάντως συνάδελφοι λέω ότι ο έλεγχος χ-Α_Μ(χ)=0 κάνει τη δουλειά

filippos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 139
Απ: Ερωτηση σε ασκηση
« Απάντηση #12 στις: 03 Μάι 2006, 10:11:03 πμ »
Σωστά,

όπως και ο (απλούστερος ίσως, ή λιγότερο μαθηματικο-στρεφής)

Α_Μ(Χ) = Χ

Θα μπορούσε να σκεφτεί κανείς (συντακτικά ορθή) υλοποίηση για τη συνάρτηση Α_Μ() σε προγραμματιστικό περιβάλλον;

Για την Α_Τ() όλοι έχουμε σίγουρα πολλές εξίσου σωστές εκδοχές.

Για την Α_Μ() όμως;