Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Μονοδιάστατοι πίνακες => Γ΄ Λυκείου => Εισαγωγή στοιχείων, εμφάνιση και υπολογισμοί => Μήνυμα ξεκίνησε από: επισκέπτης στις 01 Φεβ 2006, 11:27:31 ΠΜ

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

Ευχαριστώ πολύ
Τίτλος: Re: Πρόβλημα με άσκηση στους Πίνακες
Αποστολή από: evry στις 01 Φεβ 2006, 01:32:18 ΜΜ
Δεν γνωρίζω σε ποια άσκηση αναφέρεσαι. Πάντως όταν έχουμε έναν πίνακα και ψάχνουμε όλες τις διαφορετικές τίμες σε αυτόν μια τεχνική είναι να ταξινομήσουμε τον πίνακα και στη συνέχει με μια σάρωση θα αυξάνουμε τον μετρητή όταν
   table[j] <> table[j+1],
Τίτλος: Re: Πρόβλημα με άσκηση στους Πίνακες
Αποστολή από: P.Tsiotakis στις 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
          ΜΟΝΑΔΙΚΟΙ[μετρητής] <- ΚΑΛΛΙΤΕΧΝΗΣ
  Τέλος_αν
Τέλος_Επανάληψης


Με εκτίμηση,
Τίτλος: Re: Πρόβλημα με άσκηση στους Πίνακες
Αποστολή από: evry στις 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
          ΜΟΝΑΔΙΚΟΙ[μετρητής] <- ΚΑΛΛΙΤΕΧΝΗΣ
  Τέλος_αν
Τέλος_Επανάληψης


Με εκτίμηση,
Τίτλος: Re: Πρόβλημα με άσκηση στους Πίνακες
Αποστολή από: P.Tsiotakis στις 05 Φεβ 2006, 01:10:00 ΜΜ
Πως θα λυθεί η άσκηση ;;

http://users.kor.sch.gr/ptsiotakis/aepp/aepp_method_3.htm
Τίτλος: Re: Πρόβλημα με άσκηση στους Πίνακες
Αποστολή από: episkeptis στις 06 Φεβ 2006, 11:26:45 ΠΜ
ο Πίνακας ΜΟΝΑΔΙΚΟΙ πόσων θέσεων θα είναι???? τι μέγεθος θα βάλουμε ότι θα έχει στη δήλωση των μεταβλητών αν το κάνουμε πρόγραμμα ??
Τίτλος: Re: Πρόβλημα με άσκηση στους Πίνακες
Αποστολή από: P.Tsiotakis στις 06 Φεβ 2006, 01:32:30 ΜΜ
Το μέγεθος του πίνακα ΜΟΝΑΔΙΚΟΙ δεν είναι συγκεκριμένο. Έχει ΤΟ ΠΟΛΥ όσες θέσεις έχει και ο ΚΑΛΛΙΤΕΧΝΗΣ και έτσι πρέπει να δηλωθεί και σε πρόγραμμα

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

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

ναι φίλε μου, αυτό είναι και ένα από τα μειονεκτήματα από τη χρήση πινάκων. Μπορούμε να επιζήσουμε όμως και παρ' όλες αυτές τις κενές και αχρησιμοποίητες θέσεις...
Τίτλος: Re: Πρόβλημα με άσκηση στους Πίνακες
Αποστολή από: evry στις 06 Φεβ 2006, 08:16:49 ΜΜ
Γενικά στον προγραμματισμό όταν έχουμε να αντιμετωπίσουμε τέτοια προβλήματα ορίζουμε μια δυναμική δομή δεδομένων. π.χ. Λίστα, Vector, ή άλλες δομές που υπάρχουν σε όλες τις γλώσσες.
    Η άσκηση που έχεις στο site προφανώς και λύνεται με τον τρόπο που λες. Ο λόγος είναι ότι στη ΓΛΩΣΣΑ δεν ορίζονται δυναμικές δομές δεδομένων.
    Αυτό όμως δεν μπορεί να είναι λόγος για να μάθουν οι μαθητές να ορίζουν πάντα πίνακες ανεξάρτητα αν πρέπει ή όχι. Η γνώμη μου είναι ότι καλό θα ήταν να μην δίνουμε στα παιδιά τέτοιες ασκήσεις όπου χρειάζεται να αποθηκεύσεις σε πίνακα πολλά αντικείμενα για τα οποία δεν γνωρίζεις τον αριθμό τους.
    Θα μπορούσες να ζητήσεις πόσα είναι ώστε να αναγκάσεις τα παιδιά να χρησιμοποιήσουν έναν μετρητή αλλά μέχρι εκεί.
Για να μην παρεξηγηθώ δε λέω ότι η άσκηση είναι λάθος από πλεύρας ορθότητας.

Παράθεσηναι φίλε μου, αυτό είναι και ένα από τα μειονεκτήματα από τη χρήση πινάκων. Μπορούμε να επιζήσουμε όμως και παρ' όλες αυτές τις κενές και αχρησιμοποίητες θέσεις...
Τίτλος: Re: Πρόβλημα με άσκηση στους Πίνακες
Αποστολή από: P.Tsiotakis στις 06 Φεβ 2006, 11:24:02 ΜΜ

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

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

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

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

Με εκτίμηση,