Η συνάρτηση Α_Μ(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, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

filippos

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

Μου φαίνεται πολύ ελκυστικότερη η άποψη που διατυπώνει ο Παναγιώτης (και η κοινή λογική) ότι, σε απλά ελληνικά, ακέραιο μέρος είναι το ... ακέραιο ... μέρος.  Αν ένα κτίριο έχει πράσινο μέρος και κόκκινο μέρος, δεν υπάρχει αμφιβολία για το ποιό είναι το ένα και ποιό το άλλο.  Τώρα που έχουμε ένα πραγματικό αριθμό με ακέραιο μέρος και δεκαδικό μέρος συζητάμε για ώρες  :o

Όμως η παρατήρηση του Γιώργου και ο συλλογισμός του Σέργιου δε σηκώνουν πολλές ... αντιρρήσεις.

Όντως το βιβλίο μας καθορίζει οτι η ΓΛΩΣΣΑ υλοποιεί τις συναρτήσεις που ... είναι γνωστές από τα μαθηματικά και, όντως τα μαθηματικά ορίζουν το ακέραιο μέρος όπως παρουσίασε ο Σέργιος. 

Επομένως, μάλλον τελικά καλούμαστε να διδάξουμε κάτι που οι μαθητές θα έπρεπε να ξέρουν από τα μαθηματικά  αλλά κανείς τους δε γνωρίζει >:(

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

Να είναι άραγε σύμπτωση ότι η Α_Μ και οι DIV / MOD ορίζονται στην ίδια σελίδα;  Σε προηγούμενη ... συζήτηση είχαν εκφραστεί παρόμοιες "ανησυχίες" για τη λειτουργία των DIV / MOD με αρνητικούς αριθμούς.  Τελικά νομίζω ότι η εξήγηση ήταν πολύ απλή, στοιχειωδώς μαθηματική:

Αν δούμε το a div b ως Α_Μ(α/β) προκύπτει τελικά ο ορισμός που είχε τεκμηριώσει σε παλαιότερο σχετικό post ο Σέργιος, αφού:

-7 div 4 = A_M(-7/4) = A_M(-1.75) = -2

Surprise  ;D ;D ;D

gpapargi

Δυστυχώς δεν είναι έτσι Φίλιππε. Αυτό έγραψα και στο προηγούμενο post μου (στο τέλος).
Το -7/4 είναι ίσο με το 7/-4. Αφού είναι ίσα θα πρέπει να έχουν και το ίδιο ακέραιο μέρος. Αν δεχτούμε ότι [α/β]= α div β τότε υπάρχει πρόβλημα αφού
-7 div 4 = -2 αλλά
7 div -4 = -1

Βασικά αυτό που έδειξες είναι ότι δεν σωστό να λέμε ότι είναι το [α/β] είναι ίσο με το α div β.

Ούτε εμένα μου αρέσει το ακέραιο μέρος του -3.8 να είναι το -4. Δε μου αρέσει γιατί τότε το δεκαδικό μέρος θα πρέπει να είναι 0.2 και όχι -0.8. Αλλά καλώς ή κακώς τα μαθηματικά είναι θέμα ορισμών (έστω και κακόγουστων). :)

Χθες βράδυ είδα το σχολικό βιβλίο της ανάλυσης που είχα όταν ήμουν μαθητής στη Γ λυκείου (Α δέσμη) το 1990. Δίνει τον ορισμό του Σέργιου.

Το μόνο που με προβληματίζει ακόμα είναι το γιατί υπάρχουν και άλλοι ορισμοί. Δε μου είναι εύκολο να απορρίψω σα μαθηματική πηγή το

http://mathworld.wolfram.com/

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

filippos

Έχεις απόλυτο δίκαιο Γιώργο ... απροσεξία μου.

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

Να γίνει η μαθηματική έκφραση που θα υπολογίζει την παράσταση α DIV β χωρίς τη χρήση του αντίστοιχου τελεστή (ή του "συμπληρωματικού" τελεστή MOD).  Μπορούν να χρησιμοποιηθούν οι ενσωματωμένες συναρτήσεις της ΓΛΩΣΣΑς (με τη μαθηματική τους έννοια)

Για να δω προσπάθειες !!

Παρεπιμπτόντως, είχατε προσέξει ότι το Excel ακολουθεί τον μαθηματικό ορισμό για τη συνάρτηση INT;;;

...rounds the number down to the nearest integer...

(όχι ότι έχει σημασία)

Sergio

Μπά..

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

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

Μία λύση νομίζω είναι η:

α DIV β = Α_Μ(α/β) - (Α_Τ(β)+β)/(2*β) +1

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

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

θέσε Μ2=Μ2/2 (θεώρησε το ακέραιο μέρος)

σε κωδικοποίηση ως:

Μ2 <- [Μ2 / 2]

Ο [] είναι ο συμβολισμός του ακέραιου μέρους στα μαθηματικά, οπότε ουσιαστικά πρόκειται για αναφορά στο ακέραιο μέρος των μαθηματικών. 

Οπότε, σε αυτό το σημείο, το βιβλίο ταυτίζει το [Μ2/2] με το Μ2 DIV 2, κάτι που είναι σωστό αφού ο αλγόριθμος ορίζεται για ακέραιους Μ1, Μ2  >= 1
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

MIMIS

Καλημέρα σε όλους.

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

Τι λέτε?

evry

Ναι υπάρχει, απλά θα πρέπει να βρεις τον αμέσως μικρότερο ακέραιο από τον δεκαδικό αυτόν αριθμό.
Το πως θα το κάνεις δεν είναι ιδιαίτερα δύσκολο.

Παράθεση από: MIMIS στις 29 Οκτ 2008, 08:13:24 ΠΜ
Καλημέρα σε όλους.

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

Τι λέτε?

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

MIMIS

κολλησα evri βοήθα λίγο.... π.χ απο τον αριθμό 2,57 θέλω να πάρω το 2 χωρίς χρήση Α_Μ

evry


  Το πιο απλό και ταυτόχρονα χαζό που μου ήρθε στο μυαλό είναι να ξεκινήσεις από έναν αριθμό που ξέρεις ότι είναι σίγουρα μικρότερος από τον ζητούμενο δηλαδή τον 2.57, π.χ. 0 και να αυξάνεις κατά 1 μέχρι να ξεπεράσεις τον 2.57. Τότε το ακέραιο μέρος θα είναι ο αριθμός που έφτασες μείον 1.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

Διάβασε κ ! θεωρούμε > 0
α ← 0
Όσο α <= κ επανάλαβε
   α ← α + 1
Τέλος_επανάληψης
Αν α = κ τότε
   Εμφάνισε α
Αλλιώς
   Εμφάνισε α – 1
Τέλος_αν

MIMIS


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

Αφού μου εμφάνισε το μνμ που ακολουθεί...

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

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

Γράφω το εξής:

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

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

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

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

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

Στο www.pseudoglossa.gr ο Στάθης μπαίνει στο Αν, όταν ο Α_Μ(x) = x, με την πρώτη λύση, αλλά πιστεύω ότι εκεί η φιλοσοφία είναι ότι έχουμε αριθμητικές μεταβλητές...

Τι λέτε;

ΣΔ

ΥΓ: Υποθέτω ότι μπορώ να έχω απορίες, αφού δεν είμαι ακόμα δεινόσαυρος...

P.Tsiotakis

Μεγάλε, θα γίνεις δεινόσαυρος, στο εγγυώμαι  :D

Συμφωνώ με τη συμπεριφορά των όλων περιβαλλόντων

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

sstergou

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

Επίσης το επώνυμό μου είναι Στέργου!

alkisg

Το βιβλίο καθηγητή περιέχει παραδείγματα κλήσης αλγορίθμου από αλγόριθμο, και εντός μιας εντολής (ως συνάρτηση) και σαν ξεχωριστή εντολή (ως διαδικασία).
Μια χαρά θα ήτανε να το χρησιμοποιούσαμε και στην πράξη - χωρίς όμως την τεράστια χαλαρότητα της ψευδογλώσσας όπως την περιγράφει το βιβλίο καθηγητή. Να ήταν δηλαδή σαν τη ΓΛΩΣΣΑ αλλά με καλύτερη μεταβίβαση παραμέτρων (=χωρισμένες σε δεδομένα/αποτελέσματα) και χωρίς υποχρέωση δήλωσης μεταβλητών...

P.Tsiotakis

Όντως Στάθη, στη ουσία το βιβλίο δείχνει την κλήση τμημάτων ψευδογλώσσας, γι αυτό και οι εντολές Δεδομένα/Αποτελέσματα

P.Tsiotakis

Παράθεση από: sstergou στις 16 Οκτ 2009, 12:52:31 ΜΜ
Επίσης το επώνυμό μου είναι Στέργου!

Τώρα με έστειλες!!!  :D

Να είσαι καλά ....

sstergou

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

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

Μια ιδέα είναι : Ότι είναι στα Δεδομένα να είναι παράμετρος εισόδου, ότι είναι στα Αποτελέσματα να είναι εξόδου. Αν κάτι βρίσκεται και στα δύο τότε το πέρασμα θα είναι με αναφορά.

Η πρώτη παράμετρος στα αποτελέσματα θα είναι και ταυτόχρονα το αποτέλεσμα που θα επιστρέφει ο ίδιος ο αλγόριθμος με το όνομά του.

alkisg

> Αν κάτι βρίσκεται και στα δύο τότε το πέρασμα θα είναι με αναφορά.

Μάλλον "αν βρίσκεται κάτι στα αποτελέσματα τότε το πέρασμα θα είναι με αναφορά".

Επίσης -αν σου αρέσει- μπορείς να πεις ότι "αν το όνομα του αλγορίθμου βρίσκεται στα αποτελέσματα, τότε ο αλγόριθμος μπορεί να χρησιμοποιηθεί και σαν συνάρτηση", για παράδειγμα χ <- Μέγιστος(10, 2). Νομίζω ότι είχα δει μια τέτοια περίπτωση χρήστης στο βιβλίο, αλλά δεν είμαι καθόλου σίγουρος ότι το θυμάμαι καλά.

Ένα παράδειγμα κλήσης αλγορίθμου "σαν διαδικασία" έχει στη σελίδα 127:
Αλγόριθμος ΑΚΒ(k)
...
Αν a(k,j)=1 και mark(j) = Ψευδής τότε AKB(j)

sstergou

Ουπς!
Ναι, όταν κάτι είναι στα αποτελέσματα. Απλά είχα στο μυαλό μου για το πως κάποιος θα πετύχει κάτι αντίστοιχο με τις διαδικασίες στην ΓΛΩΣΣΑ.

Ενδιαφέρον αυτό με το ίδιο όνομα.... Κάτι σαν τις συναρτήσεις της γλώσσας.