Τυποποίηση vs Σκέψης

Ξεκίνησε από evry, 05 Απρ 2011, 04:42:16 ΜΜ

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

odysseas

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

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

πίνακα Α με τα στοιχεία μας, σε οποιαδήπότε σειρά, π.χ. Α = [ 6 3 9 5 7 4 ] και
πίνακα Ε, όπου Ε[δ] είναι ο δείκτης του επόμενου στοιχείου στη διάταξη, π.χ [ 5 6 0 1 3 4 ].
Εδώ υποθέτουμε οτι το μεγαλύτερο στοιχείο έχει επόμενο το 0, ενώ επίσης θα χρειαστούμε μια μεταβλητή να μας δείχνει το μικρότερο στοιχείο, εδώ δmin = 2.

Αυτό πρακτικά είναι η υλοποίηση μιας συνδεδεμένης λίστας με πίνακα.

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

Αν θέλετε να γράψω και κώδικα.

evry

όχι άλλο κώδικα!!!! :laugh:

έχει δίκιο ο Οδυσσέας, η εκφώνηση δεν μπορεί να δοθεί έτσι σε μαθητές, θέλει λίγο δουλειά ώστε να μην δημιουργήσει παρανοήσεις όπως αυτή ότι οι Ν αριθμοί πρέπει ντε και καλά να είναι διατεταγμένοι. Απλά αν κάνεις την παραμικρή υπόνοια για διάταξη θα κάνουν όλοι ταξινόμηση. Εκεί είναι το πρόβλημα.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

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

Παράθεση από: sstergou στις 07 Απρ 2011, 12:01:58 ΜΜ
Δεν  με πειράζει η στατικότητα των πινάκων αλλά ο ορισμός που το βιβλίο δίνει και ο τρόπος που χειρίζεται τους πίνακες στην ψευδογλώσσα και αυτό επειδή πιστεύω ότι υπάρχει ασυνέπεια.

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

Το παράδειγμα της BogoSort είναι χαρακτηριστικό. Στο μάθημα της ΑΕΠΠ θα ήταν σωστό.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

lp

#33
Αν θέλουμε π.χ τους πρώτους 10

1.  Διαβάζω τους πρώτους 10 αριθμούς σε έναν πίνακα Α[10]
2.  Ταξινόμηση του Α
3.  Διαβάζω επαναληπτικά κάθε επόμενο αριθμό μέχρι τον 0
4.  Εισάγω κάθε νέο αριθμό στον πίνακα Α με τέτοιο τρόπο ώστε ο πίνακας να παραμείνει ταξινομημένος.
     4α. Εντοπίζω την θέση που πρέπει να μπει ο αριθμός
     4β. Ολισθαίνω τα στοιχεία του από τη θέση αυτή και μετά
     4γ. Εισάγω το νέο στοιχείο (Εφόσον βέβαια ανήκει στους 10 πρώτους) στη θέση που δημιούργησα.
5. Τυπώνω τον πίνακα Α


Ωραία ιδέα για πρόγραμμα
Λέων Προκόπης
2ο ΓΕΛ Ναυπλίου

gthal

και μια άλλη λύση
  Κ <- 0 ! το πλήθος των καταχωρημένων ααριθμών στον Μεγ
  ΓΡΑΨΕ 'Δώστε αριθμό :  '
  ΔΙΑΒΑΣΕ Α
  ΟΣΟ Α <> 0 ΕΠΑΝΑΛΑΒΕ
    i <- Κ              ! από το τελευταίο στοιχείο προς τα πάνω
    στοπ <- ΨΕΥΔΗΣ
    ΟΣΟ i > 0 ΚΑΙ ΟΧΙ στοπ ΕΠΑΝΑΛΑΒΕ
      ΑΝ Μεγ[i] >= Α ΤΟΤΕ        ! μέχρι να βρεθεί στοιχείο >= Α
        στοπ <- ΑΛΗΘΗΣ
      ΑΛΛΙΩΣ
        ΑΝ i < Ν ΤΟΤΕ
          Μεγ[i + 1] <- Μεγ[i]        ! σπρώχνω τα στοιχεία κάτω
        ΤΕΛΟΣ_ΑΝ
        i <- i - 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ i < Ν ΤΟΤΕ! αλλιώς ο Α είναι μικρότερος κι απ το Νστο στοιχ.
      Μεγ[i + 1] <- Α
    ΤΕΛΟΣ_ΑΝ
    ΑΝ Κ < Ν ΤΟΤΕ                ! προστέθηκε ένα ακόμα στοιχείο
      Κ <- Κ + 1
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ 'Δώστε αριθμό :  '
    ΔΙΑΒΑΣΕ Α
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Φιλικά,
Γιώργος Θαλασσινός

odysseas

Παράθεση από: evry στις 07 Απρ 2011, 12:12:58 ΜΜ
όχι άλλο κώδικα!!!! :laugh:

Α, δεν παίζω! Οι υπόλοιποι έγραψαν κώδικα.

tom

Παράθεση από: evry στις 06 Απρ 2011, 11:12:47 ΜΜ

    Η πιο απλή λύση όμως είναι η παρακάτω

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

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

    Δεν είναι απλό ?? και όμως δεν το σκέφτεται κανένας, όλοι πάνε στην ταξινόμηση

Καλό! Δυστυχώς οι περισσότεροι σκέφτονται σύνθετα (και εγώ μέσα) και χάνουν την απλή και όμορφη λύση.
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

evry

Ε τι να σε κάνουμε, για να μην παραπονιέσαι γράψε και εσύ κάτι
Παράθεση από: odysseas στις 07 Απρ 2011, 02:45:40 ΜΜ
Α, δεν παίζω! Οι υπόλοιποι έγραψαν κώδικα.

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

Άσχετο , λέμε συνέχεια "Να γραφτεί πρόγραμμα"
Και πολλοί μαθητές ρωτάνε να γράψω αλγόριθμο ή πρόγραμμα, λες και το πρόγραμμα δεν είναι αλγόριθμος ή ο αλγόριθμος σχεδιάζεται ώστε να μην εκτελεστεί σε μια μηχανή
Θα προτιμούσα το  "Να γραφτεί αλγόριθμος σε ΓΛΩΣΣΑ" ???
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

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

Παράθεση
ΠαράθεσηΤο μέγεθος του πίνακα πρέπει να είναι καθορισμένο στη ΓΛΩΣΣΑ. Δε μπορείς να χρησιμοποιείς πίνακα χωρίς να ξέρεις το μέγεθός του.
Αν έχεις συγκεκριμένο πρόβλημα πες να σε βοηθήσουμε.
Μπορεις.Στην γλωσσα υπαρχει ενα τρικακι με το οποιο μπορεις να λυσεις ασκησεις με αγωστο πληθος
Δεσμευεις εναν μεγαλο πινακα και χρησιμοποιεις οσες θεσεις σε συμφερουν
ΠΡΟΓΡΑΜΜΑ Π1
Σταθερες
Ν=10000000
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ Α[Ν]
Αυτο ηταν και το προβλημα περσυ στο 3 θεμα αν πρεπει να ζηταει προγραμμα η αλγοριθμο
Φιλικα Χαρης

gthal

Ντόϊνκ !!!   :o
Ορίστε ;;;
Αλλά προσέξτε! Ειδικά στη ΓΛΩΣΣΑ υπάρχει αυτό το "τρικάκι" !   :D
Α, ρε, είδες τι μπορεί να φτιάξεις άμα έχεις μελετήσει καλά τη ΓΛΩΣΣΑ ...
Φιλικά,
Γιώργος Θαλασσινός

evry

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

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

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

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

Παράθεση από: evry στις 14 Απρ 2011, 12:31:55 ΜΜ
Ενδιαφέρον, νομίζω ότι αυτό το τρικ μάλλον λύνει όλες τις ασκήσεις με άγνωστο αριθμό επαναλήψεων.
Για να δούμε μια άσκηση στην οποία μάλλον θα ήταν λίγο δύσκολο να εφαρμοστεί το παραπάνω

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

Άντε αφού γνωρίζεις όλους τους πλανήτες του σύμπαντος το νόμπελ φυσικής είναι κοντά.
Ελπίζω το Φυσικό Ιωαννίνων που πήρα πρώτα το πτυχίο Φυσικής να είναι σοβαρό τμήμα και κάτι να μάθαμε εκεί. Ή έχεις άποψη και για αυτό;

odysseas

Παράθεση από: aperdos στις 14 Απρ 2011, 12:45:05 ΜΜ
Άντε αφού γνωρίζεις όλους τους πλανήτες του σύμπαντος το νόμπελ φυσικής είναι κοντά.
Ελπίζω το Φυσικό Ιωαννίνων που πήρα πρώτα το πτυχίο Φυσικής να είναι σοβαρό τμήμα και κάτι να μάθαμε εκεί. Ή έχεις άποψη και για αυτό;

Νομίζω οτι τα προσωπικά προβλήματα πρέπει να λύνονται με προσωπικά μηνύματα...

evry

Συγγνώμη, ποιο ακριβώς είναι το πρόβλημά σου? μπήκες εδώ για να γράψεις αυτό?
μήπως έπρεπε πριν γραφτείς εδώ να διαβάσεις πρώτα τους κανόνες του φόρουμ?
Προς τι η ειρωνία?
Επίσης γιατί πρέπει να με ενδιαφέρει εμένα ή όποιον διαβάζει αυτό το thread ποια σχολή έχεις τελειώσει;  :-\

Παράθεση από: aperdos στις 14 Απρ 2011, 12:45:05 ΜΜ
Άντε αφού γνωρίζεις όλους τους πλανήτες του σύμπαντος το νόμπελ φυσικής είναι κοντά.
Ελπίζω το Φυσικό Ιωαννίνων που πήρα πρώτα το πτυχίο Φυσικής να είναι σοβαρό τμήμα και κάτι να μάθαμε εκεί. Ή έχεις άποψη και για αυτό;
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

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

Εσύ με ρώτησες χτες. Και μάλιστα την χαρακτήρισες και μη σοβαρή. Πράγματι το συγκεκριμένο thread δεν το ενδιαφέρει. Οι κανόνες όμως του forum να ισχύουν και για σένα. 

Παράθεση από: evry στις 13 Απρ 2011, 01:49:36 ΜΜ
!!!!!!!
Με συγχωρείς αλλά αυτό που περιγράφεις δεν συμβαίνει σε κανένα σοβαρό τμήμα πληροφορικής (τουλάχιστον αυτά που ξέρω εγώ).
Έχεις στο νου σου κάποιο συγκεκριμένο τμήμα πληροφορικής;
Δηλαδή η άποψη που έχεις για τα τμήματα πληροφορικής είναι ότι μαθαίνουν στους φοιτητές τους συγκεκριμένους αλγορίθμους και απλά πως να τους εφαρμόζουν?
Μου κάνει εντύπωση που έχεις αυτή την άποψη για τα τμήματα πληροφορικής. Στο δικό σου τμήμα πληροφορικής συνέβαινε κάτι τέτοιο?


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