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

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

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

evry

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

Keep Growing

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

evry

Παναγιώτη τι εννοείς? δεν το κατάλαβα. Κάποια παραλλαγή της εκφώνησης?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Keep Growing

Να, λέω αν όλοι οι αριθμοί που θα διαβάζονται είναι αρνητικοί, για να μπορεί να δουλέψει ο αλγόριθμος, θα πρέπει ο πίνακας ΜΑΧ[Ν] αρχικά να αρχικοποιηθεί με τον μικρότερο ακέραιο (-max) και όχι με το 0. Είναι λεπτομέρεια,  αλλά καλό είναι να το γνωρίζουν οι μαθητές.
Ο Έρωτας (του Εκπ/κου Πληροφορικού) στ' αλώνια της καλδέρας (του υπνωτισμού).

evry

ααα κατάλαβα
λοιπόν δεν αρχικοποιείς τον πίνακα, απλά διαβάζεις στην αρχή Ν στοιχεία, τα βάζεις στον πίνακα και στη συνέχεια διαβάζεις τα υπόλοιπα ένα ένα.

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

sstergou

Παράθεση από: evry στις 06 Απρ 2011, 11:12:47 ΜΜ
Βρες κάθε φορά τον χειρότερο και δες αν αυτός που ήρθε είναι καλύτερός του.
Αν ναι βαλτόν στην θέση του.

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

Έτσι όμως χάνουμε την σειρά με την οποία διαβάστηκαν.

evry

Ναι βρε, αυτή είναι η λύση για την πρώτη (εύκολη) έκδοση της άσκησης που μπορεί να δοθεί σε μαθητές.

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


Παράθεση από: sstergou στις 07 Απρ 2011, 10:16:59 ΠΜ
Έτσι όμως χάνουμε την σειρά με την οποία διαβάστηκαν.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

Γιατί δεν ακολουθείτε μια πολύ απλή λύση;

1. είσοδος όλων των στοιχείων σε πίνακα
2. ταξινόμηση
3. Εμφάνιση των Ν (οσωνδήποτε) μεγαλύτερων

ssimaiof

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

sstergou

Παράθεση από: ptsiotakis στις 07 Απρ 2011, 11:06:58 ΠΜ
Γιατί δεν ακολουθείτε μια πολύ απλή λύση;

1. είσοδος όλων των στοιχείων σε πίνακα
2. ταξινόμηση
3. Εμφάνιση των Ν (οσωνδήποτε) μεγαλύτερων

Γιατί ο πίνακας που προκύπτει είναι δυναμικός.

Δεν υπάρχει ομοιότητα με το περσινό θέμα 3. Εκεί μπορούμε να έχουμε κανονικά στατική δομή.

P.Tsiotakis

Κι όμως, αφού έχουμε αλγόριθμο δεν μας ενδιαφέρει το πλήθος των στοιχείων του πίνακα, μπορώ να έχω όσα στοιχεία θέλω

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

evry

ακριβώς, εδώ υπάρχει τιμή φρουρός, δεν ξέρεις το μέγεθος του πίνακα παρά μόνο όταν έχει περάσει το τελευταίο στοιχείο, οπότε πρέπει να δουλέψεις με δυναμικούς πίνακες.
Πράγματι δεν είναι το ίδιο με το θέμα 3, αλλά ο γενικότερος προβληματισμός παραμένει ο ίδιος. Δηλαδή από τη μια έχεις μια λύση που προκύπτει με μια απλή σκέψη (θέση<-θέση+1) και από την άλλη κάνεις ταξινόμηση και αναζήτηση.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

Χμμ... βλέπω ότι ο Παναγιώτης το αντιμετωπίζει στην πιο γενική μορφή του.
Λέτε να αλλάξω την εκφώνηση και να βάλω πρόγραμμα?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

sstergou

Παράθεση από: ptsiotakis στις 07 Απρ 2011, 11:53:42 ΠΜ
Κι όμως, αφού έχουμε αλγόριθμο δεν μας ενδιαφέρει το πλήθος των στοιχείων του πίνακα, μπορώ να έχω όσα στοιχεία θέλω

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

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

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

P.Tsiotakis

Αυτό ακριβώς έκανα Στάθη, επανέλαβα προτάσεις που έχω διαβάσει στο παρελθόν

Καλή συνέχεια...