Βασικές Αλγοριθμικές δομές...Μια απορία.

Ξεκίνησε από stratosg, 07 Ιαν 2009, 10:33:38 ΜΜ

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

stratosg

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

Όπως γνωρίζετε η παράγραφος 4.4.4 με τίτλο αναδρομή είναι εκτός ύλης. Η δική μου απορία είναι η απάντηση αυτής της ερώτησης. Υποθετικά η ερώτηση αυτή τίθεται στους μαθητές. Αυτοί θα πρέπει να συμπεριλάβουν στην απάντηση τους την αναδρομή (που είναι εκτός ύλης) ή όχι;

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

Εσείς τί λέτε;
Να φοβάσαι εκείνον που δεν έχει να χάσει τίποτα.

gedeon

Κατ΄αρχάς Χρόνια Πολλά και Καλή Χρονιά σε όλες και όλους, εντός και εκτός του forum...

Καλησπέρα stratosg,
εύλογο το ερώτημά σου. Μπορεί ο μαθητής να απαντά κι ας είναι εκτός ύλης η απάντησή του. Όμως είναι υποχρεωμένος να τη τεκμηριώσει κάτι που ίσως τον οδηγήσει σε 2 ειδών λάθη :

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


stratosg

Ευχαριστώ για την άμεση απάντηση, όμως η ερώτηση στο βιβλίο (σελ. 33) δεν ζητά κάποια τεκμηρίωση - ανάλυση. Το μόνο που ζητά είναι ονομαστικά τις βασικές αλγοριθμικές δομές, εκτός αν εγώ δεν μπορώ να καταλάβω την ερώτηση. Αν όμως κατάλαβα καλά τότε τι κάνει κάποιος; Συμπεριλαμβάνει την αναδρομή στην απάντηση του (που είναι εκτός ύλης) ή όχι. Δηλαδή οι πιθάνες απάντήσεις είναι :

Απάντηση 1η (Με την αναδρομή)             Απάντηση 2η (Χωρίς την αναδρομή)
Οι βασικές αλγοριθμικές δομές είναι :                    Οι βασικές αλγοριθμικές δομές είναι :
1. Ακολουθία                                                    1. Ακολουθία
2. Επιλογή (αν...τότε...αλλιώς)                            2. Επιλογή (αν...τότε...αλλιώς)
3. Επανάληψη                                                   3. Επανάληψη
4. Αναδρομή                                                     

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

pgrontas

#3
Η αναδρομή μπερδεύει αρκετά τα πραγματα καθώς καθιστά την δομή επανάληψης(όπως την γνωρίζουμε) περιττή.
Εφόσον λοιπόν μιλάμε για βασικές δομές η απάντηση είναι για να το θέσω με τους όρους σου είναι :
1.Ακολουθία
2.Επιλογή
3.Αναδρομή.

Βέβαια στην πραγματικότητα το παραπάνω ισοδυναμεί με
1.Ακολουθία
2.Επιλογή
3.Επανάληψη

Άσχετα δηλαδή με το πως υλοποιείς την επανάληψη είναι μια βασική δομή.

Κάτι τέτοιο όμως ξεφεύγει από την φιλοσοφία του μαθήματος νομίζω, είτε η αναδρομή είναι εντός ύλης είτε εκτός.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

evry


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

Τώρα όσον αφορά την ερώτηση του βιβλίου προφανώς και ο μαθητής πρέπει να απαντήσει
1. Ακολουθία
2. Επιλογή
3. Επανάληψη

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

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

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

1. Ακολουθία
2. Επιλογή
3. Επανάληψη
4. Εντολή Άλματος Goto

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

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

stratosg

#5
@pgrontas, Πραγματικά δεν ήθελα να τραβήξει η ανάλυση σε τόσο βάθος.
Παράθεση από: evry στις 08 Ιαν 2009, 12:56:35 ΜΜ

Δηλαδή αν τον μάθουμε να λέει απέξω τη λέξη αναδρομή σημαίνει ότι την έμαθε? Ποιον διδακτικό στόχο πετυχαίνουμε με αυτόν τον τρόπο? ... Ρώταγε να τους πουν τα παιδιά τρεις λέξεις ονομαστικά χωρίς να ξέρουν τι σημαίνουν. Αν αυτός δεν είναι ο ορισμός της απόλυτα στείρας παπαγαλίας τότε ποιος είναι?
Άρα το ίδιο ισχύει και για το μάθημα Βάσεις Δεδομένων που στη σελίδα 112 και στο κεφάλαιο 5 της κανονικοποίησης αναφέρει τις BCNF, τέταρτη και πέμπτη κανονικές μορφές. Εκεί όμως δυνητικά είναι εντός ύλης, οπότε και το δεχόμαστε ως μη ορισμό της παπαγαλίας; Ή εκεί θα μάθουν τις παραπάν κανονικές μορφές;

Παράθεση από: evry στις 08 Ιαν 2009, 12:56:35 ΜΜ
Εγώ όμως κάνω την άλλη ερώτηση. Αν μπει στις εξετάσεις αυτή η ερώτηση, δεδομένου ότι η αναδρομή δεν είναι στην ύλη ποια πρέπει να είναι η απάντηση του μαθητή ώστε να είναι σωστός με βάση την την ύλη?
Νομίζω είναι η παρακάτω

1. Ακολουθία
2. Επιλογή
3. Επανάληψη
4. Εντολή ʼλματος Goto

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



Α μπράβο τώρα μιλάμε. Έπιασες ακριβώς το νόημα της ερώτησής μου. Το βιβλίο αυτό είναι η απόλυτη σύγχυση (δείτε επίσης και τον τρόπο που δίνει τον ψευδοκώδικα της Case στη σελίδα 30 στο μπλέ πλαίσιο), κατ' επέκταση ο τρόπος με τον οποίον αντιμετωπίζουν την ειδικότητα περιβάλλεται από μια αβάσταχτη ελαφρότητα, μιας και στην περίπτωση του Δομημένου Προγραμματισμού που εξετάζεται Πανελλαδικά, θεωρείται μη αναγκαίο να αναφερθεί η αναδρομή ως αλγοριθμική δομή από τη στιγμή που δεν θα αναλυθεί περισσότερο,  ενώ στις Βάσεις Δεδομένων που δεν εξετάζεται Πανελλαδικα δεν τους πειράζει να αναφέρουμε δυο - τρεις "λεξούλες" βαρύτιμες και με επίσης αρκετά μεγάλο θεωρητικό υπόβαθρο.

Όπως και να 'χει εγώ ευχαριστώ για τις πολύτιμες απόψεις σας.
Να φοβάσαι εκείνον που δεν έχει να χάσει τίποτα.