Εμφάνιση ενός μόνο μηνύματος
  #18  
Παλιά 07-07-10, 18:09
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα

Κάποιες σκέψεις για την περίπτωση, που στη δειγματοληψία, λάβουμε υπόψη και τη συχνότητα του ονόματος στον πληθυσμό.
1. Υποτίθεται ότι στον πίνακα με τα ονόματα (tblNames) υπάρχει στήλη (sixnotita) με τη συχνότητα (%) κάθε ονόματος.
Επειδή η δειγματοληψία περιορίζεται στον πίνακα (tblNames) το άθροισμα των τιμών στη στήλη (sixnotita) είναι 100.
2. Πρέπει να δημιουργήσουμε ένα πίνακα (tblKlirotida), ο οποίος θα περιέχει όλες τις εγγραφές του (tblNames), σε αναλογία ίση με την (sixnotita), από τον οποίο θα λαμβάνεται το τυχαίο δείγμα.
3. Το πλήθος των γραμμών (κ) του (tblKlirotida) εξαρτάται από την ακρίβεια της συχνότητας. Για παράδειγμα αν εκφράζεται με δύο δεκαδικά (5,69) απαιτούνται 10.000 εγγραφές (100/0,01). Άν υπάρχει όνομα με συχνότητα 0,001, για να εκπροσωπηθεί στον (tblKlirotida) πρέπει να έχει 100.000! εγγραφές.
4. γινόμενο της (sixnotita) με το πλήθος των γραμμών (π) διά 100 (σ) , θεωρητικά είναι ακέραιος, αλλά καλό είναι να χρησιμοποιείται στρογγυλοποίηση με την Round, μας δίνει το πλήθος των επαναλήψεων κάθε ονόματος στον (tblKlirotida).
5. Αφού δημιουργηθεί ο (tblKlirotida) τον ταξινομούμε τυχαία και λαμβάνουμε το δείγμα.

Στο ίδιο σκεπτικό βασίζεται και η ακόλουθη λύση.
Αντί να δημιουργήσουμε τον πίνακα (tblKlirotida) , χωρίζουμε τους ακέραιους από το 1 έως π, σε τόσα διαστήματα όσες είναι οι εγγραφές του (tblNames) και έτσι ώστε κάθε διάστημα να περιέχει ένα αριθμό ακεραίων (σ), προσδιοριζόμενο σύμφωνα με την παράγραφο 4.
Αυτό μπορεί να γίνει με ένα array f(i)=j , του οποίου ο δείκτης θα παίρνει τιμές από το 1 έως π, ενώ το j από 1 έως το πλήθος των γραμμών του (tblNames). Για παράδειγμα στο πρώτο διάστημα ο δείκτης θα παίρνει τιμές 1 έως σ1 και το J=1, στο δεύτερο σ1+1 έως σ1+σ2 και j=2 κλπ.
Στη συνέχεια δημιουργούμε ένα τυχαίο ακέραιο από 1 έως π, έστω n, και επιλέγουμε τη γραμμή f(n) του (tblNames) για το δείγμα.
Ελπίζω να μη υπάρχει καμιά πατάτα στους παραπάνω συλλογισμούς, να τους διατύπωσα κατανοητά και να βρεθεί κάποιος φίλος να τους υλοποιήσει για να φανεί αν είναι εφικτοί.

Φιλικά/Γιώργος
Υ.Γ Φίλε Γιάννη ευχαριστώ για τον εύκολο τρόπο, που υπέδειξες, δημιουργίας τυχαίων ημερομηνιών. Ο κουτσοβλέβαρος, αν και κουτσός, με παίδεψε πολύ, παραλίγο να γράψω κώδικα προσδιορισμού των δίσεκτων. Σε ευχαριστώ και για τον υποδειγματικό κώδικα και τα πειραχτήρια τις φατσούλες.
Απάντηση με παράθεση