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

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: landreou στις 28 Μαΐου 2013, 01:19:01 ΜΜ

Τίτλος: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: landreou στις 28 Μαΐου 2013, 01:19:01 ΜΜ
Γεια σε όλους τους φίλους του ΣτΠ.

Η ΠΡΩΤΗ ΕΡΩΤΗΣΗ (ισως χαζή) να σας κάνω για το bubble sorting

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

πχ εχουμε 3 πινακες εναν με ονοματα εναν με λεπτα συμετοχής έναν με γκολ
μπορουμε να ταξινομήσουμε ταυτόχρονα τους 3 αυξουσα ως προς λεπτά και φθίνουσα ως προς γκόλ ;

Η ΔΕΥΤΕΡΗ ΕΡΩΤΗΣΗ

Μπορούμε να κάνουμε ταξινόμηση για ένα τμήμα πίνακα (όχι απο τη αρχή μέχρι το τέλος δηλαδή)

Σας ευχαριστώ
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: petrosp13 στις 28 Μαΐου 2013, 04:01:30 ΜΜ
Για την πρώτη ερώτηση
Ταξινομημένος μπορεί να είναι πάντα ένας και μοναδικός πίνακας και οι άλλοι παράλληλοι με αυτόν
Αυτό που μπορεί να γίνει είναι σε περίπτωση ισότητας στοιχείων του ταξινομημένου πίνακα, οι υπόλοιποι να ταξινομούνται με βάση κάποιο άλλο κριτήριο

Για την δεύτερη ερώτηση
Σαφώς και μπορεί να γίνει
Για i από αρχή+1 μέχρι τέλος
   Για j από τέλος μέχρι αρχή+1 με βήμα -1

Όπου αρχή και τέλος βάζεις ό,τι θέλεις
Τίτλος: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: landreou στις 29 Μαΐου 2013, 07:49:29 ΠΜ
Από ότι κατάταλα ( αν κατάλαβα ) αν έχουμε το εξής :

Μια ποδοσφαιρική ομάδα διαθέτει 22 ποδοσφαιριστές για κάθε έναν από τους οποίους αποθηκεύουμε το ονοματεπώνυμό τους, τα λεπτά συμμετοχής τους και τη θέση στην οποία παίζουν ("Ε" για επίθεση, "Α" για άμυνα, "Κ" για κέντρο και "Τ" όταν ο παίκτης είναι τερματοφύλακας). Να γίνει αλγόριθμος που θα διαβάζει τα παραπάνω δεδομένα και θα εντοπίζει τους παίκτες που έχουν τα περισσότερα λεπτά συμμετοχής για κάθε θέση.

Στην παραπάνω άσκηση μπορούμε να ταξινομήσουμε
[α] τον πίνακα ΘΕΣΗ κατα αύξουσα
[β] τον πίνακα ΛΕΠΤΑ_ΣΥΜΜΕΤΟΧΗΣ κατα φθίνουσα

και να βρούμε το ζητούμενο ;

Αν είναι έτσι ο πίνακας με τ αονόματα πως θα ταξινομηθεί .
κατα αύξουσα σειρά ή κατα φθίνουσα ;
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: petrosp13 στις 29 Μαΐου 2013, 08:02:39 ΠΜ
Δεν κατάλαβες τι έγραψα μάλλον
Ένας πίνακας είναι πάντα ταξινομημένος και οι άλλοι παράλληλοι με αυτόν
Αν 2 πίνακες είναι ταξινομημένοι, παύουν να είναι παράλληλοι

Το συγκεκριμένο πρόβλημα που θέτεις πάντως, μπορεί να λυθεί εύκολα χωρίς ταξινόμηση
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: landreou στις 29 Μαΐου 2013, 10:08:38 ΠΜ
Αρα ταξινομείται ένας πίνακας μόνο και ακολουθούν οι υπόλοιποι παράλληλοι .

Δίνω τη λύση χωρίς ταξινόμηση (απλά εγώ σκεφτηκα περίπλοκα το μυαλό μου πήγε στα δύσκολα δηλαδή) .

Αλγόριθμος Ασκηση 6

μεγ_Τ <- -10
θεση_Τ <- 0

μεγ_Κ <- -10
θεση_Κ <- 0

μεγ_Ε <- -10
θεση_Ε <- 0

μεγ_Α <- -10
θεση_Α <- 0

Για ι από 1 μέχρι 22

   Αν ΘΕΣΗ[ι] = "Τ" τοτε

      Αν ΛΕΠΤΑ[ι] > μεγ_Τ τοτε

         μεγ_Τ <- ΛΕΠΤΑ[ι]

         θεση_Τ <- ι

      Τέλος_αν
   
   Τέλος_αν

   Αν ΘΕΣΗ[ι] = "Κ" τοτε

      Αν ΛΕΠΤΑ[ι] > μεγ_Κ τοτε

         μεγ_Κ <- ΛΕΠΤΑ[ι]

         θεση_Κ <- ι

      Τέλος_αν
   
   Τέλος_αν

   Αν ΘΕΣΗ[ι] = "Ε" τοτε

      Αν ΛΕΠΤΑ[ι] > μεγ_Τ τοτε

         μεγ_Ε <- ΛΕΠΤΑ[ι]

         θεση_Ε <- ι

      Τέλος_αν
   
   Τέλος_αν

   Αν ΘΕΣΗ[ι] = "Α" τοτε

      Αν ΛΕΠΤΑ[ι] > μεγ_Α τοτε

         μεγ_Α <- ΛΕΠΤΑ[ι]

         θεση_Α <- ι

      Τέλος_αν
   
   Τέλος_αν
   

Τέλος_επανάληψης
   

Τέλος Ασκηση6
Τίτλος: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: landreou στις 02 Ιουλ 2013, 02:04:48 ΜΜ
Αν εχουμε ένα πίνακα με ονόματα πχ ΟΝΟΜΑ[341] και ενα πινακα με τους μέσους όρους βαθμολογιών ΜΟ[341]
και θέλουμε τους πρώτους 87 να τους ταξινομήσουμε σε φθίνουσα σειρά ώς προς τον μέσο όρο βαθμολογίας και απο εκεί και μετα ( από
τον 88 μέχρι τέλος δηλαδή ) με βάση το όνομα σε αλφαβητική σειρά ποιο θα έιναι το τμήμα κώδικα ;

Εγω λεω

! ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ ΠΡΩΤΩΝ 87 ΜΕ ΒΑΣΗ ΤΟ ΜΕΣΟ ΟΡΟ

ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 87

      ΓΙΑ Κ ΑΠΟ 87 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1

               ΑΝ ΜΟ[Κ-1] > ΜΟ[Κ] ΤΟΤΕ

                    Τ <- ΜΟ[Κ-1]
                   ΜΟ[Κ-1] <- ΜΟ[Κ]
                   ΜΟ[Κ] <- Τ

                     Τ1 <- ΟΝΟΜΑ[Κ-1]
                     ΟΝΟΜΑ[Κ-1] <- ΟΝΟΜΑ[Κ]
                     ΟΝΟΜΑ[Κ] <- Τ1

               ΤΕΛΟΣ_ΑΝ

         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! ΕΜΦΑΝΙΣΗ ΤΩΝ ΠΡΩΤΩΝ 87

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 87

           ΓΡΑΨΕ ΟΝΟΜΑ[Ι] , ΜΟ[Ι]

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ ΥΠΟΛΟΙΠΩΝ ( ΑΠΟ 88 ΜΕΧΡΙ 341) ΑΛΦΑΒΗΤΙΚΑ

ΓΙΑ Ι ΑΠΟ 88 ΜΕΧΡΙ 341

         ΓΙΑ Κ ΑΠΟ 341 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1

                  ΑΝ ΟΝΟΜΑ[Κ-1] < ΟΝΟΜΑ[Κ] ΤΟΤΕ

                                  Τ2 <- ΟΝΟΜΑ[Κ-1]
                            ΟΝΟΜΑ[Κ-1] <- ΟΝΟΜΑ[Κ]
                            ΟΝΟΜΑ[Κ] <- Τ2

                 ΤΕΛΟΣ_ΑΝ

         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! ΕΜΦΑΝΙΣΗ ΑΠΟ 88 ΚΑΙ ΚΑΤΩ

ΓΙΑ Ι ΑΠΟ 88 ΜΕΧΡΙ 341

        ΓΡΑΨΕ ΟΝΟΜΑ[Ι]

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΕΡΩΤΗΣΗ
Είναι σωστα τα όρια που βάζω στις ΓΙΑ ΑΠΟ ΜΕΧΡΙ (μπλε γράμματα) ;
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: petrosp13 στις 02 Ιουλ 2013, 02:13:15 ΜΜ
Τα όρια σωστά είναι (κάνε το 88 --> 89), οι τελεστές σύγκρισης της αύξουσας και της φθίνουσας είναι ανάποδα
Τίτλος: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: landreou στις 03 Ιουλ 2013, 08:11:37 ΠΜ
ΕΡΩΤΗΣΕΙΣ

[1] Το 88 γιατι να γίνει 89 ; Από το 88 και κάτω δε θέλουμε να είναι η ταξινόμηση αλφαβητικά .

[2] Για αύξουσα σειρά είναι το > και για φθίνουσα το < ;
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: petrosp13 στις 03 Ιουλ 2013, 09:32:25 ΠΜ
[1] Όταν ξεκινάς να ταξινομείς από την αρχή, το i δεν ξεκινάει από 2; Με την ίδια λογική
[2] [j-1]...[j]  για φθίνουσα:< και για αύξουσα: >
Τίτλος: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: landreou στις 04 Σεπ 2013, 12:58:01 ΜΜ
Επιστρέφω με μία ερώτηση γιατί για επανάληψη λύνω τις ίδιες ασκήσεις

[1] Όταν ξεκινάς να ταξινομείς από την αρχή, το i δεν ξεκινάει από 2; Με την ίδια λογική
         από το 87+1 δε θα ξεκινήσουμε την ταξινόμηση (αρα όχι 89 .... που έχω  μπερδευτεί δε μπορώ ακόμα να καταλάβω )         

[2] [j-1]...[j]  για φθίνουσα:< και για αύξουσα: >

     ΑΝ είναι > πάμε άυξουσα ταξινόμηση  και
                 < πάμε φθίνουσα ταξινόμηση ότι κάνω και στον κώδικα δηλαδή

Φίλε petrosp13 συγνώμη για την ερώτηση αλλα βλέποντας την άσκηση πάλι καταλήγω στο ίδιο ( λάθος ; ) συμπέρασμα

Εκ προοιμίου σε ευχαριστώ
   
       
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: Νίκος Αδαμόπουλος στις 04 Σεπ 2013, 01:03:07 ΜΜ
Παράθεση από: landreou στις 04 Σεπ 2013, 12:58:01 ΜΜ
[1] Όταν ξεκινάς να ταξινομείς από την αρχή, το i δεν ξεκινάει από 2; Με την ίδια λογική
         από το 87+1 δε θα ξεκινήσουμε την ταξινόμηση (αρα όχι 89 .... που έχω  μπερδευτεί δε μπορώ ακόμα να καταλάβω )         

[2] [j-1]...[j]  για φθίνουσα:< και για αύξουσα: >

     ΑΝ είναι > πάμε άυξουσα ταξινόμηση  και
                 < πάμε φθίνουσα ταξινόμηση ότι κάνω και στον κώδικα δηλαδή

Φίλε petrosp13 συγνώμη για την ερώτηση αλλα βλέποντας την άσκηση πάλι καταλήγω στο ίδιο ( λάθος ; ) συμπέρασμα

Εκ προοιμίου σε ευχαριστώ

Στο 87 τελειώνει η 1η λίστα.
Στο 88 ξεκινάει η 2η λίστα.

Στο 88+1 θα ξεκινήσει ο μετρητής...

Βέβαια, έχω αμφιβολίες για το πώς ερμηνεύτηκε η εκφώνηση σε σχέση με τη λύση...
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: landreou στις 04 Σεπ 2013, 01:12:34 ΜΜ
OK παιδια ευχαριστώ για την αμεσότητα της απάντησης . Το είδα καλύτερα και μπορώ να πώ το εμπέδωσα μια χαρά στο μυαλό μου.
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: Νίκος Αδαμόπουλος στις 04 Σεπ 2013, 01:52:18 ΜΜ
Παράθεση από: landreou στις 04 Σεπ 2013, 12:58:01 ΜΜ
     ΑΝ είναι > πάμε άυξουσα ταξινόμηση  και
                 < πάμε φθίνουσα ταξινόμηση ότι κάνω και στον κώδικα δηλαδή

Στον κώδικα αυτό κάνεις, αλλά η εκφώνηση ζητάει το αντίθετο...

Παράθεση από: Νίκος Αδαμόπουλος στις 04 Σεπ 2013, 01:03:07 ΜΜ
Βέβαια, έχω αμφιβολίες για το πώς ερμηνεύτηκε η εκφώνηση σε σχέση με τη λύση...

Τι να εννοεί ο ποιητής όταν λέει "...και θέλουμε τους πρώτους 87 να τους ταξινομήσουμε ..." ;
Εννοεί αυτούς που βρίσκονται στις 87 πρώτες θέσεις του πίνακα, ή τους 87 καλύτερους από άποψη βαθμολογίας; Εσύ υλοποιείς λύση για την 1η εκδοχή, αλλά η 2η μου φαίνεται πιο ρεαλιστική!
Τίτλος: Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
Αποστολή από: Gnirut στις 04 Σεπ 2013, 04:03:49 ΜΜ
Δεν καταλαβαίνω τι θέλεις να κάνεις.
Ως προς ένα κλειδί μπορείς να ταξινομείς κάθε φορά.

Το μόνο παραπάνω που μπορείς να κάνεις είναι εαν υπάρχουν κατά την πρώτη ταξινόμηση ίδια στοιχεία (π.χ. ίσος αριθμός λεπτών συμμετοχής) να ταξινομείς αυτά τα στοιχεία με βάση τον αριθμό των γκολ (π.χ. ο χ παίκτης έχει 22 λεπτά συμμετοχής και ο ψ πάλι 22 λεπτά, εαν ο χ έχει 5 γκολ και ο ψ 10 θα βάλεις στην ταξινομημένη σειρα πρώτα τον ψ και μετά τον χ).