Η συνάρτηση Α_Μ(x) τι επιστρέφει;

Ξεκίνησε από mariaS, 07 Ιαν 2007, 10:41:39 ΠΜ

« προηγούμενο - επόμενο »

mariaS

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

Στο βιβλίο δεν διευκρινίζεται και η Γλωσσομάθεια χρησιμοπιοιεί το δεύτερο ορισμό.

EleniK

Νομίζω ότι απλά κόβει το δεκαδικό μέρος ενός αριθμού. Έτσι μπορεί να χρησιμοποιηθεί και στον έλεγχο σχετικά με το αν ενας αριθμός είναι ακέραιος ή όχι.
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

petrosp13

Προφανώς, από το όνομα της, κόβει τα δεκαδικά ψηφία και μόνο
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

andreas_p

Γεια σας και καλή χρονιά.

Επιστρέφει το  ακέραιο μέρος ενός πραγματικού αριθμού.

Παράδειγμα  :   

1)  Α_Μ(6.2) = 6
2)  Α_Μ(6.8) = 6

Δηλαδή λειτουργεί  όπως η συνάρτηση  trunc (αποκοπή) του  Excel.

Έλεγχος σχετικά με το αν ενας αριθμός είναι ακέραιος ή όχι.

Παράδειγμα  :   

 
  κλ <- χ - Α_Μ(χ)

  Αν  κλ = 0  τότε
       Γράψε 'Ο  ', χ, '  είναι ακέραιος'
  αλλιώς
       Γράψε 'Ο  ', χ, '  είναι πραγματικός'
Τέλος_αν

Ανδρέας



andreas_p


EleniK

Οπότε αν σου ζητάει το δεκαδικό μέρος ενός αριθμού τότε είναι:

6.8) -Α_Μ( 6.8)) =  8)

:)
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

gpapargi

Καλή χρονιά και από μένα

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

Πχ Α_Μ(1.2) = 1
Α_Μ(-1.2) = -1

http://mathworld.wolfram.com/IntegerPart.html

filippos

Να κάνω λίγο το δικηγόρο του διαβόλου χωρίς να παρεξηγηθώ;;;

Η συμπεριφορά της Α_Μ, όπως περιγράφηκε προηγούμενα, είναι η συμπεριφορά της αντίστοιχης συνάρτησης στις περισσότερες γλώσσες προγραμματισμού... όμως:

Σε κανένα σημείο του διδακτικού πακέττου δεν έχω βρει άλλο ορισμό εκτός από αυτόν της σελίδας 153 του βιβλίου μαθητή ο οποίος όμως ΔΕΝ ορίζει μονοσήμαντα και με επαρκή σαφήνεια αυτό που λέμε.

Οταν σε ένα σχολικό βοήθημα αναφέρεται η έκφραση  "ακέραιο μέρος του Χ" χωρίς να ορίζεται επιπρόσθετα τι ενοείται με την έκφραση "ακέραιο μέρος" το μυαλό του μέσου μαθητή, δίκαια θα ανατρέξει στην προϋπάρχουσα γνώση από τα μαθηματικά που δίνει για το ακέραιο μέρος το ΠΡΩΤΟ ορισμό της MariaS, δηλ: "ο μικρότερος ακέραιος πριν τον αριθμό".

Επομένως, από τα μαθηματικά γνωρίζουμε ότι:

Α_Μ (6. ;)) = 6

ενώ

Α_Μ(-6.;)) = -7

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

Εάν κάποια επιτροπή θέσει τέτοιο ... αμφισβητούμενο θέμα θα υπάρχουν σίγουρα δύο στρατόπεδα. Επομένως ΔΕΝ ΠΡΕΠΕΙ να υπάρξει τέτοιο θέμα (που να ζητάει το Α_Μ αρνητικού πραγματικού αριθμού) ή εάν υπάρξει θα πρέπει να καθορίζει τη συμπεριφορά της Α_Μ (για παράδειγμα... "...να θεωρήσετε ότι η συνάρτηση Α_Μ επιστρέφει τον αριθμό που δίνεται ΧΩΡΙΣ τα δεκαδικά του ψηφία...")

Διαφορετρικά, ο μαθητής που δε θα ζημιώσει νομίζω ότι είναι αυτός που θα ΟΡΙΣΕΙ τη συνάρτηση πριν τη χρησιμοποιήσει, εν ανάγκη θα την ορίσει καλύτερα από το βιβλίο.

Πιστεύει κανείς ότι ο μαθητής ο οποίος θα θεωρήσει Α_Μ(-6.2) = -7 θα πρέπει να θεωρηθεί ότι δίνει λάθος απάντηση;

Για μιλήστε, για μιλήστε...

P.Tsiotakis


Αν είναι να μοιραστούμε σε στρατόπεδα, τότε εγώ δεν θα είμαι πουθενά γιατί κανόνισα απαλλαγή από το στρατό  :D   ::)

Εγώ πάντως ακέραιο μέρος θεωρώ το κομμάτι του αριθμού που δεν περιέχει το δεκαδικό μέρος   8)  ,  δεν εμπλέκεται η λέξη στρογγυλοποίηση πουθενά

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

Τι να πεις; Εδώ υπάρχει στρατόπεδο που γράφει αλγόριθμους στοίβας και ουράς... :o Αυτό κι αν είναι καψόνι

ΚΑΛΗ ΧΡΟΝΙΑ

Τσιωτάκης Παναγιώτης

johnny_xp

Συμφωνώ με τα περισσότερα που αναφέρθηκαν παραπάνω. Πάντως εν προκειμένω το βιβλίο εμμέσως θεωρεί ότι το όρισμα της Α_Μ είναι μη αρνητικός αριθμός. Σε περίπτωση όπου το όρισμα είναι αρνητικός, το τι επιστρέφεται είναι απροσδιόριστο στο επίπεδο του μαθήματος.
Είτε το θέλουμε είτε όχι τέτοιο «αμφισβητούμενο» θέμα εχει τεθεί στις εξετάσεις. Για παράδειγμα: να διαβάσεται έναν ακέραιο αριθμό. Εν προκειμέω, θα γράφαμε
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
	ΔΙΑΒΑΣΕ Α
ΜΕΧΡΙΣ_ΟΤΟΥ (Α_Μ(A) = Α)

Είναι αποδεκτή αυτή η απάντηση; Νομίζω πως ναι. Και όμως στη παραπάνω απάντηση κάνουμε τη σιωπηρή υπόθεση ότι το Α που δίνει ο χρήστης είναι >=0, διότι για Α < 0 δε ξέρουμε πως, και αν, δουλεύει η Α_Μ.
Το ίδιο πρόβλημα θα συναντάγαμε αν δε χρησιμοποιούσαμε την Α_Μ και γράφαμε:   
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
	ΔΙΑΒΑΣΕ Α
ΜΕΧΡΙΣ_ΟΤΟΥ (Α MOD 2 = 1 ‘H A MOD 2 = 0)  !Ο Α είναι άρτιος ή περιττός (άρα ακέραιος)

Το πως συμπεριφέρεται ο MOD όταν A < 0 δεν το καθορίζει το βιβλίο (και πιθανόν να μην πρέπει).
Συμπέρασμα: Είναι ένα σημείο στο οποίο δεν πρέπει να εξαντλούμε την αυστηρότητα μας. Υποθέτωντας ότι το όρισμα της Α_Μ είναι πάντα μη αρνητικός, δεν υφίσταται πρόβλημα. Επίσης η προσέγγιση του κ. Τσιωτάκη, ότι το ακέραιο μέρος είναι οτιδήποτε βρίσκετε αριστερά της υποδιαστολής με βρίσκει σύμφωνο.

Sergio

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

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

Χωρίς να "μπαίνει" σε περισσότερο βάθος από αυτό που υπαγορεύεται από τους στόχους του μαθήματος, δεν υπεισέρχεται σε περισσότερες τεχνικές λεπτομέρειες εκτός από το σχετικό λήμμα στο περιθώριο της σελίδας 149 σχετικά με τη δυνατότητα ενός Η/Υ να αναπαραστήσει μόνο υποσύνολα αριθμητικών τιμών για τα ακέραια δεδομένα αλλά και τους περιορισμούς στην ακρίβεια των πραγματικών δεδομένων.

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

Προβλήματα επομένως συχνά δημιουργούνται στα σημεία εκείνα στα οποία η δική μας (διδασκόντων) εμπειρία από πραγματικά προγραμματιστικά περιβάλλοντα έρχεται σε "σύγκρουση" με την προϋπάρχουσα γνώση (μαθητών) για ήδη γνωστές (?) έννοιες όπως αυτή του ακέραιου μέρους πραγματικού αριθμού ή του πηλίκου / υπόλοιπου ακεραίας διαίρεσης. Και το πρόβλημα (?) μάλλον δημιουργείται από την έλλειψη "επίσημης" άποψης από το διδακτικό πακέτο που να δίνει απάντηση σε αυτούς τους προβληματισμούς.

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

Βέβαια, στο θέμα που αναφέρει ο johnny_xp,

… να διαβάσετε έναν ακέραιο αριθμό…

η συγκεκριμένη "ασάφεια" δε δημιουργεί κάποιο πρόβλημα, αφού η λύση που προτείνεται:

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
   ΔΙΑΒΑΣΕ Α
ΜΕΧΡΙΣ_ΟΤΟΥ Α_Μ(A) = Α

Δίνει σωστό αποτέλεσμα όποια "εκδοχή" και αν ακολουθήσουμε:

Α_Μ(-5.7) = -5 <> -5.7
Α_Μ(-5.7) = -6 <> -5.7

Παρόμοια, παλαιότερο θέμα που αφορούσε στην άλλη "γκρίζα ζώνη", αυτή της λειτουργίας των DIV, MOD με αρνητικούς τελεσταίους στις επαναληπτικές εξετάσεις του 2002:

… Να υπολογίσετε την τιμή της αριθμητικής έκφρασης Β * (Α DIV Β) + (Α MOD Β) για τις παρακάτω περιπτώσεις:
  i)   Α = 10 και Β = 5
  ii)  Α = -5 και Β = 1
  iii)  Α = 1 και Β = 5

δε δημιουργούσε πρόβλημα, αφού όποια "εκδοχή" και αν ακολουθήσουμε για τη λειτουργία των τελεστών αυτών με αρνητικούς τελεσταίους, καταλήγουμε στο ίδιο αποτέλεσμα:
-5 DIV 1 = -5
-5 MOD 1 = 0

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

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

Προσωπικά συμφωνώ με την άποψη του Παναγιώτη ότι η πιο "δόκιμη" ερμηνεία για τη λειτουργία της συνάρτησης Α_Μ() είναι το "..θεωρώ μόνο το ακέραιο μέρος..", επομένως:
Α_Μ(-5.7) = -5
κάτι που (απ’ όσο θυμάμαι) είναι η "άποψη" και των περισσότερων γλωσσών προγραμματισμού. Η "άποψη" αυτή νομίζω ότι ισχυροποιείται και από το γεγονός ότι η συγκεκριμένη συνάρτηση εισάγεται στο κομμάτι εκείνο της ύλης που έχει να κάνει με προγραμματιστικά περιβάλλοντα.  Αντίθετα, στο πρώτο μέρος της ύλης, στο πολυσυζητημένο σημείο του αλγόριθμου του πολλαπλασιασμού α λα ρωσσικά, δε χρησιμοποιείται ούτε κάποια συνάρτηση αλλά ούτε καν ο τελεστής DIV αλλά διατυπώνεται ως "..θεώρησε μόνο το ακέραιο μέρος.." (σελ.48, ο αλγόριθμος σε φυσική γλώσσα κατά βήματα)

Όμως κανένα από τα παραπάνω δε νομίζω ότι θα με εξασφάλιζε επαρκώς ως βαθμολογητή ώστε να θεωρήσω εσφαλμένη την απάντηση μαθητή που θεωρεί (από τα μαθηματικά) ότι το ακέραιο μέρος του -5.7 είναι το -6.

Μέχρι να βρεθεί καλύτερη, νομίζω ότι τη λύση εν μέρει δίνει η ύπαρξη  έμπειρων συναδέλφων στην επιτροπή, γεγονός που όπως και ο Vangelis ανέφερε σε άλλο post εξασφαλίζει ότι τέτοια "αμφισβητούμενα" σημεία δεν "περνάνε". 

Από την άλλη, επειδή "ουδείς ... άσφαλτος ;) " καλό είναι να εντοπίζουμε τέτοια σημεία "προσοχής" στους μαθητές μας ώστε να υιοθετούν την ασφαλέστερη λύση.  Και θα συμφωνήσω με το Vangelis, ο οποίος σε προηγούμενη συζήτηση είχε διατυπώσει την άποψη ότι ο μαθητής μπορεί να χρησιμοποιήσει οποιαδήποτε συνάρτηση αρκεί να την "ορίσει".  Νομίζω ότι τα δύο αυτά σημεία "ασάφειας" που έχουμε μέχρι στιγμής εντοπίσει (Α_Μ(), DIV/MOD) μπορούν να επισημανθούν κατάλληλα στους μαθητές ώστε να τεκμηριώνουν κατάλληλα τις λύσεις τους. 

Σε προηγούμενη συζήτηση σχετικά με τους τελεστές DIV / MOD είχα υιοθετήσει την άποψη (που βρήκε και τους περισσότερους σύμφωνους) ότι για τη λειτουργία των τελεστών αυτών θα πρέπει να ακολουθείται από τους μαθητές η "εκ των μαθηματικών" προϋπάρχουσα γνώση (Μαθηματικά κατεύθυνσης Β’ Λυκείου) ότι: -7 DIV 4 = -2, αντί του -7 DIV 4 = -1 που υιοθετούν οι περισσότερες γλώσσες προγραμματισμού (ή όλες Άλκη;; )

Εν τούτοις τείνω να αναθεωρήσω τη συγκεκριμένη άποψη δεδομένου ότι οι συγκεκριμένοι τελεστές εισάγονται (επίσης) στο πλαίσιο του προγραμματιστικού περιβάλλοντος.  Πλέον εντοπίζω στους μαθητές μου τη διαφορά στον ορισμό των συγκεκριμένων τελεστών στα προγραμματιστικά περιβάλλοντα αλλά και την έλλειψη σαφούς "ορισμού" στο βιβλίο και τους συστήνω να υιοθετήσουν μία εκ των δύο προσεγγίσεων, ταυτόχρονα διευκρινίζοντας (αν χρειαστεί) τις "παραδοχές" τους. Ίσως τελικά είναι σκόπιμο να γίνεται το ίδιο και στην περίπτωση της συνάρτησης Α_Μ(), δηλαδή να "ορίζουν" ότι το αποτέλεσμά της είναι "..θεωρώ μόνο το ακέραιο μέρος.." και να υιοθετούν (σε προγραμματιστικό περιβάλλον) την επικρατούσα άποψη: Α_Μ(-5.7) = -5

Ελπίζω να μου συγχωρήσετε το μακροσκελές του λόγου όχι μόνο εξαιτίας της αδιόρθωτης τάσης μου να λέω (γράφω) πολλά (ε ʼλκη;;) αλλά περισσότερο λόγω της καταλληλότητας αυτού του χώρου για να προβληματιζόμαστε και να διατυπώνουμε τις σκέψεις μας, δηλαδή να σκεφτόμαστε ..φωναχτά.. (ή μάλλον γραπτά!! ;) )
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

alkisg

Παράθεση από: Sergio στις 09 Ιαν 2007, 12:35:03 ΠΜ
...ότι: -7 DIV 4 = -2, αντί του -7 DIV 4 = -1 που υιοθετούν οι περισσότερες γλώσσες προγραμματισμού (ή όλες Άλκη;; )
Σέργιο αν ήξερα όλες τις γλώσσες προγραμματισμού θα ήμουν στη NASA ή σε κάτι σχετικό! :)

Από http://en.wikipedia.org/wiki/Floor_function :
ΠαράθεσηIn mathematics, the floor function of a real number x, denoted  or floor(x), is a function that returns the largest integer less than or equal to x. Formally, for all real numbers x,
  ⌊x⌋ = sup{n ε Z | n <= x}
For example, floor(2.9) = 2, floor(−2) = −2 and floor(−2.3) = −3. For nonnegative x, a more traditional name for floor(x) is the integral part or integral value of x. The function x - ⌊x⌋, also written as x mod 1, or {x}, is called the fractional part of x.

Αν καταλαβαίνω σωστά, με ⌊x⌋ ορίζεται η floor, όχι το ακέραιο μέρος... Δηλαδή τουλάχιστον με βάση τη wikipedia, "integral part" (=Α_Μ) είναι η συνάρτηση που απλά κόβει τα δεκαδικά, όχι αυτή που επιστρέφει τον προηγούμενο ακέραιο.

johnny_xp

Πολύ σωστά. Παρακαλούνται οι ενδιαφερόμενοι να αντιπαραβάλουν τις μεθόδος:
Α) Ceiling (http://msdn2.microsoft.com/en-us/library/system.math.ceiling(VS.80).aspx)
Β) Floor (http://msdn2.microsoft.com/en-us/library/system.math.floor(VS.80).aspx)
Γ) Round (http://msdn2.microsoft.com/en-us/library/system.math.round(VS.80).aspx)
Δ) Truncate (http://msdn2.microsoft.com/en-us/library/system.math.truncate(VS.80).aspx)
της κλάσσης Math του .Net Framework.
Η μόνη η οποία μιλάει για ακέραιο μέρος είναι η Truncate, η οποία δεν κάνει καμοία είδους στρογκυλοποίηση και απλά επιστρέφει ότι βρίσκετε αριστερά της υποδιαστολής.

gpapargi

Κατά τη γνώμη μου δεν είναι ασφαλές να βλέπουμε τι κάνουν οι υπαρκτές γλώσσες προγραμματισμού. Είναι κάπως αυθαίρετο (αν και λογικό). Επειδή η ΓΛΩΣΣΑ είναι μια υποθετική γλώσσα φτιαγμένη για διδακτικούς σκοπούς νομίζω πως το σωστό είναι να βλέπουμε τι γίνεται στα μαθηματικά. Αυτό υποτίθεται ότι κάνουν οι συναρτήσεις.

Στο συγκεκριμένο θέμα δεν «κακίζω» τους συγγραφείς. Πιστεύω πως δεν υπάρχει ασάφεια από μέρους τους γιατί έγραψαν ότι η συνάρτηση Α_Μ() είναι η συνάρτηση ακέραιο μέρος των μαθηματικών (ότι κι αν σημαίνει στα μαθηματικά τέλος πάντων). Ότι σημαίνει στα μαθηματικά, αυτό θέλουν να σημαίνει και στη ΓΛΩΣΣΑ. Θεωρούν δεδομένο ότι κάπου θα υπάρχει ένας αυστηρός μαθηματικός ορισμός.

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

Για μένα το θέμα είναι ποιος είναι ο μαθηματικός ορισμός. Αρχικά είχα στο νου το ορισμό που έδωσα παραπάνω
http://mathworld.wolfram.com/IntegerPart.html

Η συγκεκριμένη είναι μια έγκυρη μαθηματική σελίδα.
Επίσης σύμφωνη βρήκα και την πηγή

http://planetmath.org/encyclopedia/IntegerPart.html

Αλλά μετά βρήκα και τις πηγές
http://www.maths.uwa.edu.au/~gregg/Olympiad/1995/floor.pdf

http://www.math.northwestern.edu/~mlerma/problem_solving/results/techniques.pdf

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

Το ρώτημα είναι ισοδύναμο με το αν το δεκαδικό μέρος παίρνει αρνητικές τιμές ή είναι από 0 μέχρι 1.

Ουσιαστικά το θέμα θυμίζει το υπόλοιπο διαιρέσεως.
Ισχύει:
Διαιρετέος = διαιρέτης * πηλίκο + υπόλοιπο
Αν διαιρέσεις και τα 2 μέλη με το διαιρέτη ισχύει

Διαιρετέος/διαιρέτης = πηλίκο + υπόλοιπο/διαιρέτης

Το υπόλοιπο/διαιρέτης έχει συγγένεια με το δεκαδικό μέρος. Ο αριθμητής παίρνει μόνο θετικές τιμές (ορισμός υπολοίπου) αλλά όλο το κλάσμα μπορεί να είναι και αρνητικό λόγω διαιρέτη.

Επίσης η παραπάνω σχέση μου έδειξε ότι είναι λάθος να λέμε ότι:
Α_Μ(α/β) = α div b.

Αν ήταν θα είχαμε αντίφαση στην περίπτωση που α/β= - 19/6
Αν α=-19 και β = 6 τότε α div β = -4
Αν α=19 και β = -6 τότε α div β = -3
Οι 2 παραπάνω περιπτώσεις έχουν ίδιο α/β αλλά διαφορετικό α div β. 

Ρώτησα κάποιο μαθηματικό για τον ορισμό του ακέραιου μέρους και μου είπε ότι θα το ψάξει. Θα έλεγα όσοι μπορούν να ρωτήσουν.

Sergio

Παράθεση από: alkisg στις 09 Ιαν 2007, 08:45:47 ΠΜ
Σέργιο αν ήξερα όλες τις γλώσσες προγραμματισμού θα ήμουν στη NASA ή σε κάτι σχετικό! :)

Φίλε Άλκη, άσε τις μετριοφροσύνες ... το πού “βρίσκεσαι” είμαι σίγουρος ότι αποτελεί δική σου επιλογή και όχι της ... NASA.  Επομένως μην «προδικάζεις» την άποψη της για το άτομό σου!!

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

Ακολούθησα λοιπόν και τη δεύτερη πρόταση του Γιώργου και ανέτρεξα σε βιβλία μαθηματικών στη βιβλιοθήκη του σχολείου μου.

Οι δύο πηγές που βρήκα (σε hardcopy οπότε δε μπορώ να αναφέρω σχετικά URLs) είναι τα βιβλία:
1) Εισαγωγή στα Μαθηματικά, Τόμος Α’ ʼλγεβρα, του Θ.Εξαρχάκου, καθηγητή του Παν/μίου Αθηνών και
2) Μαθηματική Ανάλυση, του Γ.Παντελίδη, καθηγητή του ΕΜΠ

Και οι δύο συμφωνούν στον ορισμό του ακέραιου μέρους που αντιγράφω:
Για κάθε πραγματικό αριθμό α υπάρχει ένας ακέραιος ν τέτοιος, ώστε να ισχύει:
ν <= α < ν+1
Ο ακέραιος αυτός ν ονομάζεται ακέραιο μέρος του α και συμβολίζεται με [α]

Η συμφωνία των δύο βιβλίων προσωπικά με πείθει για την εγκυρότητα του «μαθηματικού» ορισμού.

Σημαντική ταυτόχρονα και η παρατήρηση του Γιώργου ότι στο βιβλίο η εν λόγω συνάρτηση ορίζεται ως “...η συνάρτηση ακέραιο μέρος των μαθηματικών...”.

Όντως, το βιβλίο του μαθητή, στη σελίδα 153 αναφέρει σαφώς “...Πολλές γνωστές συναρτήσεις από τα μαθηματικά χρησιμοποιούνται συχνά και περιέχονται στη ΓΛΩΣΣΑ...”

Επομένως αυτό το σημείο νομίζω ότι δεν επιδέχεται αμφισβήτησης:
1) οι συναρτήσεις που ορίζονται στη ΓΛΩΣΣΑ οφείλουν να ακολουθούν τους ορισμούς που δίνονται στα μαθηματικά
2) τα μαθηματικά ορίζουν το ακέραιο μέρος ως τον μεγαλύτερο ακέραιο που είναι μικρότερος ή ίσος του πραγματικού αριθμού

Επομένως Α_Μ(-4.67) = -5 αφού:
-5 <= -4.67 < -4

(στο περιθώριο της συζήτησης, ας δούμε ότι στην ίδια σελίδα ορίζονται και οι τελεστές div και mod ως το πηλίκο και το υπόλοιπο της ακέραιας διαίρεσης, η οποία στα μαθηματικά ορίζει ότι -7 div 2 = -4 και -7 mod 2 =1 !!)

ΚΑΙ  το άλλο επιχείρημα του Γιώργου πιστεύω είναι εύλογο : “... δεν είναι ασφαλές να βλέπουμε τι κάνουν οι υπαρκτές γλώσσες προγραμματισμού. Είναι κάπως αυθαίρετο (αν και λογικό) ... η ΓΛΩΣΣΑ είναι μια υποθετική γλώσσα φτιαγμένη για διδακτικούς σκοπούς...”

Εξακολουθεί βέβαια να με προβληματίζει το κατά πόσον το σύνολο των διδασκόντων έχει προβληματιστεί σχετικά με το θέμα αυτό και έχει μελετήσει / ερμηνεύσει το βιβλίο μαθητή τόσο προσεκτικά όσο ο Γιώργος. Η συλλογιστική του με έχει πείσει ότι το συγκεκριμένο σημείο δεν αποτελεί απροσεξία των συγγραφέων αλλά μάλλον δική μου ώστε να θεωρήσω ότι υπάρχει ασάφεια. Το βιβλίο είναι σαφές.  Η συνάρτηση οφείλει να “λειτουργεί” όπως ορίζεται στα μαθηματικά.

Το άλλο όμως σημείο, το οποίο δεν είμαι σίγουρος κατά πόσον μπορεί να βοηθήσει τη συζήτηση, είναι ότι κανείς σημερινός μαθητής δεν έχει διδαχθεί στα μαθηματικά Γυμνασίου και Λυκείου τον όρο ακέραιο μέρος.  Σε αυτό κατέληξα ρωτώντας σήμερα πολλούς καλούς μαθητές (Θετικής και τεχνολογικής κατεύθυνσης) αλλά και μαθητές άλλων τάξεων (καθώς και τους καθηγητές τους), αν και είμαι σίγουρος ότι εγώ (απόφοιτος 1982) το είχα διδαχθεί :)

Επομένως είναι στη δική μας αρμοδιότητα να ερμηνεύσουμε σωστά το βιβλίο και να διδάξουμε τη λειτουργία της συνάρτησης όπως ορίζεται από αυτό.  Δεν είναι επομένως θέμα αυθαίρετης (όπως αρχικά νόμισα) ισςχύος της προϋπάρχουσας γνώσης.

Στο πλαίσιο του μαθήματος νομίζω ότι είναι ασφαλές (με το γράμμα του νόμου ;) ) να θεωρεί κανείς ότι η συνάρτηση Α_Μ ορίζεται επαρκώς (όπως και οι τελεστές div και mod).
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)