Ποια η λειτουργία του αλγορίθμου

Ξεκίνησε από Σπύρος Δουκάκης, 03 Σεπ 2009, 02:34:08 ΠΜ

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

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

Φτιάχνοντας το παρακάτω τμήμα αλγορίθμου προβληματίστηκα στο ερώτημα: Ποια είναι η λειτουργία του;

πλ ← 0
Σ ← 0
Για i από 1 μέχρι 100
  Διάβασε αρ
  Αν αρ = Α_Μ(αρ) τότε
    πλ ← πλ + 1
    Σ ← Σ + αρ
  Τέλος_αν
Τέλος_επανάληψης
Αν πλ <> 0 τότε Εμφάνισε Σ / πλ

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

Κάποια καλύτερη απάντηση;

ΣΔ

papet

Χμ...
Προσωπικά βρίσκω την εξήγησή σου μια χαρά...
Να υποθέσω ότι ο προβληματισμός σου έχει να κάνει με τον όρο "ακέραιος αριθμός" και την κατ' εμένα σωστή μη χρήση του;
Η μόνη βελτίωση που μπορώ να φανταστώ είναι να συμπεριλαμβάνεται στην περιγραφή η λειτουργία της δομής επιλογής για την ακραία περίπτωση όπου όλοι οι αριθμοί έχουν δεκαδικό μέρος <> 0. Κάπως έτσι;

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

Ελπίζω να βοήθησα (δεν είμαι σίγουρος αν έχω καταλάβει τον προβληματισμό σου).
May the Force b with u...
papet

evry


Το παραπάνω τμήμα αλγορίθμου διαβάζει τις τιμές 100 αριθμών και υπολογίζει και εμφανίζει το μέσο όρο των ακεραίων


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

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

Ο προβληματισμός μας είναι αυτός ακριβώς.
Αν δηλώναμε μεταβλητές η αρ θα ήταν μεταβλητή πραγματικού τύπου.
Τυπικά δηλαδή, ο αλγόριθμος υπολογίζει και εμφανίζει το μέσο όρο των πραγματικών αριθμών που έχουν δεκαδικό μέρος ίσο με το μηδέν. Και ποιοι είναι στα μαθηματικά οι πραγματικοί αριθμοί που έχουν δεκαδικό μέρος ίσο με το μηδέν; Οι ακέραιοι;
Στα σχολικά μαθηματικά σύμφωνα με το ακόλουθο χωρίο από το άρθρο του κ. Μαστορίδη http://www.math.uoa.gr/me/conf2/papers/mastor.pdf υπάρχει μία σύμβαση που λέει ότι:
Παράθεσηένας δεκαδικός αριθμός αποτελείται από το ακέραιο και το δεκαδικό μέρος, που χωρίζονται με υποδιαστολή. Έτσι, "Είναι φανερό ότι κάθε φυσικός αριθμός μπορεί να γραφτεί ως δεκαδικός, που το δεκαδικό του μέρος είναι μηδέν." ή ... "κάθε φυσικός αριθμός μπορεί να γραφτεί σαν δεκαδικός με δεκαδικό μέρος μηδέν"... Ενπρώτοις, επισημοποιείται η άποψη που θέλει το 2 να αντλεί την δεκαδική του υπόσταση μέσα από τη γραφή 2,0 και τη δυαδική του, απλώς, μέσα από την 11... Το ότι ποιοτικά οι φυσικοί είναι κάτι τελείως διαφορετικό από τους δεκαδικούς, αφού μπορούν, απλώς, να εμφανίζονται και "σαν" δεκαδικοί, υποκινεί διχοτομική θεώρηση μέσα από την κατά το δοκούν επιλογή μιας εκ των δύο φύσεων."

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

potato

Ευτυχώς η πληροφορική δεν ασχολείται με ασαφής έννοιες. Δεν μας νοιάζει πώς λέγεται αφού καταλαβαίνουμε όλοι τι κάνει!
(Το παραπάνω ισχύει όταν η διαλογή από τις εμπλεκόμενες ερμηνείες αγγίζει τα όρια του ανούσιου!)
Be open source. Knowledge belongs to the world.

P.Tsiotakis

εγώ θα έγραφα ακριβώς την πρόταση που διατύπωσε ο Ευρυπίδης

κι ας είναι το -32.0 πραγματικός  :D

papet

Παράθεση από: sdoukakis στις 03 Σεπ 2009, 10:06:48 ΠΜ
Το παραπάνω τμήμα αλγορίθμου διαβάζει τις τιμές 100 αριθμών και αν ανάμεσά τους υπάρχουν αριθμοί που είναι ακέραιοι ή που έχουν δεκαδικό μέρος ίσο με το μηδέν, υπολογίζει και εμφανίζει το μέσο όρο τους.

Για μεγαλύτερη σαφήνεια, θα απέφευγα την τελυταία πρόταση. Το "τους" θα μπορούσε να αναφέρεται τόσο στους "ακεραίους", όσο και σε όλους τους (100) αριθμούς. Κάποιος που θα έβλεπε αυτήν την περιγραφή θα μπορούσε να θεωρήσει ότι παραπέμπει σε κάτι τέτοιο:

πλ ← 0
Σ ← 0
Για i από 1 μέχρι 100
  Διάβασε αρ
  Σ ← Σ + αρ
  Αν αρ = Α_Μ(αρ) τότε
    πλ ← πλ + 1
  Τέλος_αν
Τέλος_επανάληψης
Αν πλ <> 0 τότε Εμφάνισε Σ / 100

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

ΥΓ. Δεν είμαι απολύτως βέβαιος ότι η χρήση του όρου "ακέραιος" δεν είναι κατάλληλη. Απλώς τον αποφεύγω για σιγουριά.
May the Force b with u...
papet

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

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

Μήπως όμως δεν είναι καλή άσκηση για να εξετάσεις τη λειτουργία του αλγορίθμου;

ΣΠ

gpapargi

Εγώ ταυτίζομαι με τον Ευριπίδη. Ο αλγόριθμος υπολογίζει το μέσο όρο των ακεραίων.

Βασικά ο διαχωρισμός ακεραίων-πραγματικών μπορεί να οριστεί σε 2 επίπεδα:

Μαθηματικά (σύνολα Z και R) ή ας πούμε προγραμματιστικά (δηλ αποθηκευτικός χώρος που κρύβεται πίσω από τη μεταβλητή). Το δεύτερο καθορίζεται στη δήλωση της μεταβλητής και δεν αλλάζει.
Όταν λοιπόν μιλάμε για τέτοιο διαχωρισμό θα πρέπει να έχουμε κατά νου τι από τα 2 εννοούμε.

Με τη φράση του Ευριπίδη μόνο το μαθηματικό ορισμό μπορεί να εννοούμε. Δεν έχουμε τρόπο να βρούμε το πώς έχει δηλωθεί η μεταβλητή σε ΓΛΩΣΣΑ. Δεν μπορεί δηλαδή η φράση να σημαίνει «Βρίσκει το μέσο όρο των μεταβλητών που έχουν δηλωθεί ακέραιες».

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

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

Αθανάσιος Πέρδος


Μία καλημέρα σε όλους τους συναδέρφους μιας και είναι η πρώτη φορά που γράφω στο στέκι. Σπύρο μια χαρά είναι η εκφώνηση. Απλά βάλε ότι διαβάζει 100 πραγματικούς αριθμούς. Εξάλλου και το φετεινό θέμα των εξετάσεων(-32,0 αν θυμάμαι καλά) αυτό ζητούσε. Επίσης τα μαθηματικά και η πληροφορική δεν συμβαδίζουν πάντα. Λέγοντας ότι οι αριθμοί είναι πραγματικοί, καλύπτεις τη φιλοσοφία του μαθήματος.

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

Παράθεση από: evry στις 03 Σεπ 2009, 07:11:45 ΠΜ

Το παραπάνω τμήμα αλγορίθμου διαβάζει τις τιμές 100 αριθμών και υπολογίζει και εμφανίζει το μέσο όρο των ακεραίων

Υποστηρίζω και εγώ αυτήν την εκδοχή.
Για απλούστευση :Ας υποθέσουμε ότι ο κάθε ένας από τους 100 αριθμούς που διαβάζουμε αποθηκεύεται σε μια πραγματική μεταβλητή και ότι κατά την πληκτρολόγηση των αριθμών θέλουμε να δώσουμε και ορισμένους  χωρίς δεκαδικό μέρος. Η άσκηση βρίσκει το μέσο όρων αυτών των αριθμών.

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

Παράθεση από: gpapargi στις 04 Σεπ 2009, 10:19:01 ΠΜ
Βασικά ο διαχωρισμός ακεραίων-πραγματικών μπορεί να οριστεί σε 2 επίπεδα:

Μαθηματικά (σύνολα Z και R) ή ας πούμε προγραμματιστικά (δηλ αποθηκευτικός χώρος που κρύβεται πίσω από τη μεταβλητή). Το δεύτερο καθορίζεται στη δήλωση της μεταβλητής και δεν αλλάζει.
Όταν λοιπόν μιλάμε για τέτοιο διαχωρισμό θα πρέπει να έχουμε κατά νου τι από τα 2 εννοούμε.
Με τη φράση του Ευριπίδη μόνο το μαθηματικό ορισμό μπορεί να εννοούμε.

Όμως προφανώς εννοούμε προγραμματιστικά... Θυμίζω ότι μιλάμε για το μάθημα ΑΕΠΠ.  :angel:

Παράθεση από: gpapargi στις 04 Σεπ 2009, 10:19:01 ΠΜ
Δεν έχουμε τρόπο να βρούμε το πώς έχει δηλωθεί η μεταβλητή σε ΓΛΩΣΣΑ.

Προφανώς η μεταβλητή είναι (δηλωμένη σιωπηλά ως) πραγματική γιατί τότε δεν θα είχε λόγο ύπαρξης η συνάρτηση Α_Μ. Όπως και στις εντολές: Διάβασε Όνομα, Εμφάνισε Όνομα το Όνομα προφανώς θα είναι αλφαριθμητική (εκτός και αν υπήρχε και εντολή: Όνομα <- Όνομα + 1   >:D )

Παράθεση από: gpapargi στις 04 Σεπ 2009, 10:19:01 ΠΜ
Προφανώς πραγματικές είναι δηλωμένες οι μεταβλητές. Όταν ο Ευριπίδης λέει ακέραιες δεν μπορεί να εννοηθεί τίποτε άλλο εκτός από τις δηλωμένες πραγματικές με αξία ακέραια.

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

Παράθεση από: Καρκαμάνης Γεώργιος στις 07 Σεπ 2009, 09:45:49 ΠΜ
Για απλούστευση :Ας υποθέσουμε ότι ο κάθε ένας από τους 100 αριθμούς που διαβάζουμε αποθηκεύεται σε μια πραγματική μεταβλητή και ότι κατά την πληκτρολόγηση των αριθμών θέλουμε να δώσουμε και ορισμένους  χωρίς δεκαδικό μέρος. Η άσκηση βρίσκει το μέσο όρων αυτών των αριθμών.

Όλοι οι αριθμοί αποθηκεύονται σταδιακά στην πραγματική μεταβλητή αρ. Το πρόβλημα είναι ότι και το -32 να πληκτρολογήσεις θα είναι σαν να έχεις πληκτρολογήσει το -32.0. Δεν βγαίνει άκρη με τη χρήση της λέξης "πληκτρολόγηση"...

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

Τελικά όμως, επειδή μπορεί πάλι να μπλέξουμε σε σχέση με το τι εννοεί ή υπονοεί ο καθένας (όπως και με το -32.0 των περσινών θεμάτων που εκεί οι περισσότεροι θεωρήσαμε ότι δεν πρέπει να λάβουμε υπόψη την αξία του αριθμού αλλά τη δήλωσή του), πιστεύω αυτό που είπε και ο Σπύρος στο τέλος, ότι ίσως η άσκηση να μην είναι και τόσο καλή...

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

Βέβαια θα μπορούσε κάποιος να πει ότι στους αλγόριθμους οι μεταβλητές είναι αριθμητικές χωρίς να τις διακρίνουμε σε ακέραιες και πραγματικές, όπως γίνεται στη ΓΛΩΣΣΑ όπου και τις δηλώνουμε. Άρα όταν λέμε "ακέραιες" εννοούμε "ακέραιες ως προς την αξία".  >:D

:D :laugh: :D :laugh:

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

Ο aperdos μου θύμισε χτες την άσκηση των πανελληνίων του 2005. Έχω την εντύπωση ότι απαντάει σε μερικά από τα ζητήματα που τέθηκαν (αν βέβαια συμφωνούμε με την εκφώνηση των εξετάσεων):

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

bagelis

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


Τι λέτε?