Αποστολέας Θέμα: Πρόβλημα με άσκηση στους Πίνακες  (Αναγνώστηκε 3863 φορές)

επισκέπτης

  • Επισκέπτης
Πρόβλημα με άσκηση στους Πίνακες
« στις: 01 Φεβ 2006, 11:27:31 πμ »
Έχω μια απορία με την άσκηση που έχει να κάνει με τον φανατικό συλλέκτηδίσκων βινυλίου και για να γίνω πιο συγκεκριμένη με το δεύτερο ερώτημα που θέλει να εκτυπώνει το πλήθος και τα ονόματα των διαφορετικών καλλιτεχνών που δίσκοι τους υπάρχουν στη συλλογή.
Δεν καταλαβαίνω γιατί παίρνετε το πίνακα ΜΟΝΑΔΙΚΟΙ και πόσο μέγεθος θα έχει αυτός? Θα υπάρχουν και κενές θέσεις στον πίνακα ????

Ευχαριστώ πολύ

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3517
  • to Iterate is human to Recurse divine
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #1 στις: 01 Φεβ 2006, 01:32:18 μμ »
Δεν γνωρίζω σε ποια άσκηση αναφέρεσαι. Πάντως όταν έχουμε έναν πίνακα και ψάχνουμε όλες τις διαφορετικές τίμες σε αυτόν μια τεχνική είναι να ταξινομήσουμε τον πίνακα και στη συνέχει με μια σάρωση θα αυξάνουμε τον μετρητή όταν
  table[j] <> table[j+1],
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3304
  • agent romanoff you miss me?
    • P.Tsiotakis
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #2 στις: 01 Φεβ 2006, 07:01:53 μμ »
Άσκηση 5, στην ιστοσελίδα http://users.kor.sch.gr/ptsiotakis/aepp/aepp_ask3_3.htm

Ο πίνακας ΜΟΝΑΔΙΚΟΙ περιέχει τα ονόματα των καλλιτεχνών από τον πίνακα ΚΑΛΛΙΤΕΧΝΗΣ αλλά χωρίς επαναλήψεις.

Η προσέγγιση που ακολουθείται είναι η εξής:
Αρχικά το πίνακας ΜΟΝΑΔΙΚΟΙ είναι κενός. Για κάθε ένα στοιχείο του πίνακα ΚΑΛΛΙΤΕΧΝΗΣ αναζητούμε ΑΝ υπάρχει ήδη στον πίνακα ΜΟΝΑΔΙΚΟΙ και αν δεν υπάρχει τότε το τοποθετούμε, αλλιώς δεν κάνουμε τίποτα. Η αναζήτηση θα μπορούσε να υλοποιηθεί και με Όσο (σχολικό βιβλίο).

Η προσέγγιση αναλύεται επαρκώς στην νέα άσκηση που δημιούργησα στην ιστοσέλίδα  http://users.kor.sch.gr/ptsiotakis/aepp/aepp_method_3.htm   για το ερώτημα γ

Δοκίμασε στο χαρτί με πίνακα 10 στοιχείων (με κάποια να επαναλαμβάνονται)


Ένας δεύτερος τρόπος είναι αυτός που περιγράφει ο envy όπου πρώτα ταξινομείται ο πίνακας (με ταξινόμηση φυσαλίδας) και στη συνέχεια δημιουργούμε τον πίνακα ΜΟΝΑΔΙΚΟΙ ως εξής:

ΜΟΝΑΔΙΚΟΙ[1] <- ΚΑΛΛΙΤΕΧΝΗΣ[1] ! περνάμε τον πρώτο
μετρητής <- 1 ! μετρητής του πίνακα ΜΟΝΑΔΙΚΟΙ
Για i από 2 μέχρι Πλήθος
 Αν (ΚΑΛΛΙΤΕΧΝΗΣ <> ΚΑΛΛΙΤΕΧΝΗΣ[i-1]) τότε
         μετρητής <- μετρητής + 1
         ΜΟΝΑΔΙΚΟΙ[μετρητής] <- ΚΑΛΛΙΤΕΧΝΗΣ
 Τέλος_αν
Τέλος_Επανάληψης


Με εκτίμηση,

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3517
  • to Iterate is human to Recurse divine
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #3 στις: 02 Φεβ 2006, 07:02:51 μμ »
Στη δική μου προσέγγιση δεν όρισα πίνακα. Απλά με έναν μετρητή υπολόγισα πόσοι είναι οι διαφορετικοί.  Ο λόγος που δε μίλησα για 2ο πίνακα είναι ότι δε γνωρίζουμε το μέγεθος του πίνακα. Εκτός αν κάνουμε δυο σαρώσεις.
  Η προσέγγισή σου δεν μπορεί να υλοποιηθεί με πρόγραμμα στη ΓΛΩΣΣΑ, (εκτός αν ορίσεις τον πίνακα ΜΟΝΑΔΙΚΟΙ με μέγεθος όσο και ο ΚΑΛΛΙΤΕΧΝΗΣ πράγμα λίγο άκομψο)
Στην περίπτωση του αλγορίθμου δεν μπορώ να πω ότι είναι λάθος αλλά ούτε και ότι είναι σωστό. Απλά δε μου κολλάει καλά.
Δεν ξέρω, εσύ τι λες?

ΥΓ. το όνομα είναι evry και όχι envy :-)



Παράθεση
Άσκηση 5, στην ιστοσελίδα http://users.kor.sch.gr/ptsiotakis/aepp/aepp_ask3_3.htm

Ο πίνακας ΜΟΝΑΔΙΚΟΙ περιέχει τα ονόματα των καλλιτεχνών από τον πίνακα ΚΑΛΛΙΤΕΧΝΗΣ αλλά χωρίς επαναλήψεις.

Η προσέγγιση που ακολουθείται είναι η εξής:
Αρχικά το πίνακας ΜΟΝΑΔΙΚΟΙ είναι κενός. Για κάθε ένα στοιχείο του πίνακα ΚΑΛΛΙΤΕΧΝΗΣ αναζητούμε ΑΝ υπάρχει ήδη στον πίνακα ΜΟΝΑΔΙΚΟΙ και αν δεν υπάρχει τότε το τοποθετούμε, αλλιώς δεν κάνουμε τίποτα. Η αναζήτηση θα μπορούσε να υλοποιηθεί και με Όσο (σχολικό βιβλίο).

Η προσέγγιση αναλύεται επαρκώς στην νέα άσκηση που δημιούργησα στην ιστοσέλίδα  http://users.kor.sch.gr/ptsiotakis/aepp/aepp_method_3.htm   για το ερώτημα γ

Δοκίμασε στο χαρτί με πίνακα 10 στοιχείων (με κάποια να επαναλαμβάνονται)


Ένας δεύτερος τρόπος είναι αυτός που περιγράφει ο envy όπου πρώτα ταξινομείται ο πίνακας (με ταξινόμηση φυσαλίδας) και στη συνέχεια δημιουργούμε τον πίνακα ΜΟΝΑΔΙΚΟΙ ως εξής:

ΜΟΝΑΔΙΚΟΙ[1] <- ΚΑΛΛΙΤΕΧΝΗΣ[1] ! περνάμε τον πρώτο
μετρητής <- 1 ! μετρητής του πίνακα ΜΟΝΑΔΙΚΟΙ
Για i από 2 μέχρι Πλήθος
 Αν (ΚΑΛΛΙΤΕΧΝΗΣ <> ΚΑΛΛΙΤΕΧΝΗΣ[i-1]) τότε
         μετρητής <- μετρητής + 1
         ΜΟΝΑΔΙΚΟΙ[μετρητής] <- ΚΑΛΛΙΤΕΧΝΗΣ
 Τέλος_αν
Τέλος_Επανάληψης


Με εκτίμηση,
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3304
  • agent romanoff you miss me?
    • P.Tsiotakis
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #4 στις: 05 Φεβ 2006, 01:10:00 μμ »
Πως θα λυθεί η άσκηση ;;

http://users.kor.sch.gr/ptsiotakis/aepp/aepp_method_3.htm

episkeptis

  • Επισκέπτης
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #5 στις: 06 Φεβ 2006, 11:26:45 πμ »
ο Πίνακας ΜΟΝΑΔΙΚΟΙ πόσων θέσεων θα είναι???? τι μέγεθος θα βάλουμε ότι θα έχει στη δήλωση των μεταβλητών αν το κάνουμε πρόγραμμα ??

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3304
  • agent romanoff you miss me?
    • P.Tsiotakis
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #6 στις: 06 Φεβ 2006, 01:32:30 μμ »
Το μέγεθος του πίνακα ΜΟΝΑΔΙΚΟΙ δεν είναι συγκεκριμένο. Έχει ΤΟ ΠΟΛΥ όσες θέσεις έχει και ο ΚΑΛΛΙΤΕΧΝΗΣ και έτσι πρέπει να δηλωθεί και σε πρόγραμμα

Αν επιθυμούμε να τα τοποθετήσουμε σε πίνακα αυτή είναι η μοναδική λύση και είναι μια χαρά σωστό

Με εκτίμηση,

επισκέπτης

  • Επισκέπτης
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #7 στις: 06 Φεβ 2006, 01:48:36 μμ »
άρα αν δηλωθεί με όσες θέσεις έχει και ο πίνακας ΚΑΛΛΙΤΕΧΝΗΣ τότε θα μείνουν κάποιες θέσεις κενές στο πίνακα ΜΟΝΑΔΙΚΟΙ ???

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3304
  • agent romanoff you miss me?
    • P.Tsiotakis
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #8 στις: 06 Φεβ 2006, 02:49:48 μμ »

ναι φίλε μου, αυτό είναι και ένα από τα μειονεκτήματα από τη χρήση πινάκων. Μπορούμε να επιζήσουμε όμως και παρ' όλες αυτές τις κενές και αχρησιμοποίητες θέσεις...

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3517
  • to Iterate is human to Recurse divine
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #9 στις: 06 Φεβ 2006, 08:16:49 μμ »
Γενικά στον προγραμματισμό όταν έχουμε να αντιμετωπίσουμε τέτοια προβλήματα ορίζουμε μια δυναμική δομή δεδομένων. π.χ. Λίστα, Vector, ή άλλες δομές που υπάρχουν σε όλες τις γλώσσες.
   Η άσκηση που έχεις στο site προφανώς και λύνεται με τον τρόπο που λες. Ο λόγος είναι ότι στη ΓΛΩΣΣΑ δεν ορίζονται δυναμικές δομές δεδομένων.
   Αυτό όμως δεν μπορεί να είναι λόγος για να μάθουν οι μαθητές να ορίζουν πάντα πίνακες ανεξάρτητα αν πρέπει ή όχι. Η γνώμη μου είναι ότι καλό θα ήταν να μην δίνουμε στα παιδιά τέτοιες ασκήσεις όπου χρειάζεται να αποθηκεύσεις σε πίνακα πολλά αντικείμενα για τα οποία δεν γνωρίζεις τον αριθμό τους.
   Θα μπορούσες να ζητήσεις πόσα είναι ώστε να αναγκάσεις τα παιδιά να χρησιμοποιήσουν έναν μετρητή αλλά μέχρι εκεί.
Για να μην παρεξηγηθώ δε λέω ότι η άσκηση είναι λάθος από πλεύρας ορθότητας.

Παράθεση

ναι φίλε μου, αυτό είναι και ένα από τα μειονεκτήματα από τη χρήση πινάκων. Μπορούμε να επιζήσουμε όμως και παρ' όλες αυτές τις κενές και αχρησιμοποίητες θέσεις...

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

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3304
  • agent romanoff you miss me?
    • P.Tsiotakis
Re: Πρόβλημα με άσκηση στους Πίνακες
« Απάντηση #10 στις: 06 Φεβ 2006, 11:24:02 μμ »

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

Ακολουθεί το παράδειγμα 2 στη σελίδα 188

Τετράδιο μαθητή:
Κεφάλαιο 9: Παράδειγμα 1, σελίδα 88
Κεφάλαιο 10: Παράδειγμα 1, σελίδα 100

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

Με εκτίμηση,