Αποστολέας Θέμα: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή  (Αναγνώστηκε 3226 φορές)

vassilakis

  • Θαμώνας
  • ***
  • Μηνύματα: 40
    • Σύλλογος Εκπαιδευτικών Πληροφορικής Χίου
Πρότεινα στον Άλκη την ενσωμάτωση μιας συνάρτησης παραγωγής τυχαίων αριθμών στο Διερμηνευτή. Παρόλο που δεν είναι στην ύλη της ΑΕΠΠ θα μας έδινε τη δυνατότητα να υλοποιήσουμε πολλές και ενδιαφέρουσες εφαρμογές.

Τι λέτε και οι υπόλοιποι;
Βασιλάκης Βασίλης

odysseas

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 842
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #1 στις: 23 Οκτ 2015, 11:37:54 μμ »
Καλά, η δική μου ψήφος μάλλον δεν μετράει γιατί ο vassilakis είναι κουμπάρος μου, αλλά εν πάσει περιπτώσει υποστηρίζω την πρότασή του για να ανεβάσω το thread και να δημιουργήσω την κατάλληλη δυναμική. Έλα ρε Άλκηηη!

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2787
  • Πύργος Ηλείας
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #2 στις: 24 Οκτ 2015, 05:09:08 μμ »
+1

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

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 382
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #3 στις: 26 Οκτ 2015, 04:04:00 πμ »
Είχα φτιάξει ένα Master Mind to 2003 στην Γλώσσα...
Και είχα φτιάξει μια συνάρτηση για τυχαίο ακέραιο από ένα διάστημα ακεραίων.

Master Mind
Κώδικας: [Επιλογή]
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:  Α, Ν
....................
ΑΡΧΗ
  Α <-- 12123
..............


ΣΥΝΑΡΤΗΣΗ ΤΥΧΑΙΑ_Τ(ΑΠ, ΕΩΣ):ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΑΠ, ΕΩΣ
ΑΡΧΗ
  Ν <-- N + Α DIV 123
  Α <-- Ν + Α MOD 113031
  Ν <-- (Ν MOD 100)*100+(N DIV 100) MOD 100
  ΑΝ ΑΠ<>ΕΩΣ ΤΟΤΕ
    ΤΥΧΑΙΑ_Τ <-- (Ν MOD (ΕΩΣ-ΑΠ+1))+ΑΠ
  ΑΛΛΙΩΣ
    ΤΥΧΑΙΑ_Τ <-- ΑΠ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5164
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #4 στις: 26 Οκτ 2015, 08:19:28 πμ »
bugman, το παράδειγμα που δίνεις δεν τρέχει σε ΓΛΩΣΣΑ, αφού αυτή δεν υποστηρίζει καθολικές μεταβλητές.

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 382
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #5 στις: 26 Οκτ 2015, 10:30:42 πμ »
Πότε έγινε αυτό; Θα έχω χάσει επεισόδια...Πάντως κάποτε έτρεχε στη Γλωσσομάθεια του Νικολαΐδη.

akalest0s

  • Βετεράνος
  • ****
  • Μηνύματα: 69
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #6 στις: 22 Οκτ 2019, 03:59:45 πμ »
Συνάρτηση τυχαίων αριθμών τελικά είχε ενσωματωθεί στον διερμηνευτή, ή όχι;

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5164
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #7 στις: 22 Οκτ 2019, 07:40:02 πμ »
Τελευταίο compile του Διερμηνευτή είχα κάνει το 2011, οπότε δεν έχει μπει τίποτα από τότε.
Άμα ξαναασχοληθώ να στήσω Windows και Delphi και ξανακάνω compile, θα ανοίξω ένα θέμα για το τι εκκρεμότητες υπάρχουν, ώστε να τις προσθέσω...

FANBOY_21

  • Οπαδός
  • **
  • Μηνύματα: 14
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #8 στις: 24 Οκτ 2019, 01:00:13 πμ »
Άμα ξαναασχοληθώ να στήσω Windows και Delphi και ξανακάνω compile, θα ανοίξω ένα θέμα για το τι εκκρεμότητες υπάρχουν, ώστε να τις προσθέσω...

Χμ, βασικά δεν είμαι και πολύ σίγουρος αν πραγματικά χρειάζεται να μπει τέτοια εντολή, αν "ξαναστηθούν" διάφορα. Αν είναι να γίνει κάτι τέτοιο, προτείνω να γίνει ένα τελείως καινούριο "αριστούργημα" σαν το "εμπλουτισμένο συντακτικό" της τότε ΓλωσσοΜάθειας 8.5 (που τώρα πια μάλλον χρειάζομαι VM με XP για να τη δοκιμάσω... ;D) κατ' επιλογήν. Αυτό που, κατά τη γνώμη μου, δεν πρέπει να γίνει, είναι το μπέρδεμα εντολών εντός και εκτός ύλης, καθώς ο διερμηνευτής αυτός θεωρείται ακόμα "επίσημος" (κι ας περιορίζει π.χ. τη χρήση της ΕΠΙΛΕΞΕ).

Αλλά αυτό είναι ακόμα εικασία, απλά ήθελα να το αναφέρω ώστε να μείνει αν όντως γίνει κάτι. ;)

ilias_s

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 268
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #9 στις: 02 Νοέ 2019, 09:35:34 πμ »
Αξίζει τον κόπο να γίνει κάτι τέτοιο;

1) Από τη μία καλό θα ήταν να υπάρχει μία τέτοια εντολή (όπως και πληθώρα άλλων).
2) Από την άλλη η εντολή αυτή θα ήταν εκτός ύλης και δε θα περιγράφονταν/χρησιμοποιούνταν πουθενά στα βιβλία.
3) Τέλος, έχει ανακοινωθεί πως προετοιμαζόνται στο ΙΕΠ για αναμόρφωση όλου το ΠΣ της πληροφορικής σε όλες της βαθμίδες, κάτι που πιθανώς θα συμπαρασύρει λίγο-πολύ και τη ΓΛΩΣΣΑ.

Αν ήταν να εμπλουτιστεί η ΓΛΩΣΣΑ θα μπορούσαμε να προτείνουμε 10άδες χρήσιμα πράγματα. Προσωπικά αρκούμαι στο εργαλείο που υιοθέτησε το υπουργείο (κατόπιν εορτής) που υλοποιεί τη ΓΛΩΣΣΑ με όλα τα θετικά και τα ΑΡΝΗΤΙΚΑ της. Αν είναι να διορθωθεί (η ΓΛΩΣΣΑ), ας το αποφασίσει το ίδιο Υπουργείο και ας κινήσει τα νήματα να το κάνει. Θα ασχοληθεί πάλι κάποιος "ιδιώτης" και μάλιστα 1-2 χρόνια πριν την επικείμενη αλλαγή;

Δε μπορώ να βλέπω τους υπαλλήλους να διορθώνουν μονίμως τις "πατάτες" της διοίκησης και σε ανώτερο επίπεδο να τα βρίσκουμε "όλα καλά"!!! Αυτή είναι πρωτίστως δουλειά του Υπουργείου και του ΙΕΠ. Σωστά;
« Τελευταία τροποποίηση: 02 Νοέ 2019, 06:34:14 μμ από ilias_s »

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 117
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #10 στις: 02 Νοέ 2019, 11:10:10 μμ »
Πρότεινα στον Άλκη την ενσωμάτωση μιας συνάρτησης παραγωγής τυχαίων αριθμών στο Διερμηνευτή. Παρόλο που δεν είναι στην ύλη της ΑΕΠΠ θα μας έδινε τη δυνατότητα να υλοποιήσουμε πολλές και ενδιαφέρουσες εφαρμογές.
Τι λέτε και οι υπόλοιποι;

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


FANBOY_21

  • Οπαδός
  • **
  • Μηνύματα: 14
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #11 στις: 03 Νοέ 2019, 01:59:48 πμ »
Εγώ λέω πως δε πρέπει να προτείνετε τέτοια πράγματα Σάββατο βράδυ, γιατί τώρα θα με στοιχειώσει και θα σταματήσω ότι κάνω για να δω αν μπορώ, στο εν λόγω πλαίσιο και με τους εν λόγω περιορισμούς, να φτιάξω μια γεννήτρια ψευδοτυχαίων αριθμών της πλάκας, ώστε όμως να μπορέσετε να κάνετε ότι θέλετε να κάνετε με τους μαθητές σας.

Τετάρτη ήταν!!! ;D Και επίσης, όχι, δεν είναι δυνατό να φτιάξεις τέτοια γεννήτρια χωρίς να παίρνεις το state εκτός από το seed, καθώς δεν υποστηρίζονται static στη ΓΛΩΣΣΑ. Κατά τα άλλα, το θέμα έγκειται στο αν γίνεται να υλοποιηθεί ο αλγόριθμος που "γεννά" τους ψευδοτυχαίους (υπάρχουν πολλοί, αλλά... καλύτερα να μη χρησιμοποιούμε ΓΛΩΣΣΑ για διαφύλαξη εταιρικών μυστικών... ;)) ώστε να μπει σε συνάρτηση.

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 117
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #12 στις: 03 Νοέ 2019, 02:50:16 πμ »
Τετάρτη ήταν!!! ;D Και επίσης, όχι, δεν είναι δυνατό να φτιάξεις τέτοια γεννήτρια χωρίς να παίρνεις το state εκτός από το seed, καθώς δεν υποστηρίζονται static στη ΓΛΩΣΣΑ. Κατά τα άλλα, το θέμα έγκειται στο αν γίνεται να υλοποιηθεί ο αλγόριθμος που "γεννά" τους ψευδοτυχαίους (υπάρχουν πολλοί, αλλά... καλύτερα να μη χρησιμοποιούμε ΓΛΩΣΣΑ για διαφύλαξη εταιρικών μυστικών... ;)) ώστε να μπει σε συνάρτηση.

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

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 117
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #13 στις: 03 Νοέ 2019, 03:17:31 πμ »
Βγαίνει. Δίνεις με ΔΙΑΔΙΚΑΣΙΑ δύο ακεραίους.
Τους βουτάς σε συνάρτηση και παράγεις ψευδοτυχαία ψηφία δημιουργώντας origin και seed.
Αλλά θα πρέπει να το υλοποιήσεις.
Δοκιμαστικά έκανα μια μπούρδα να δω αν θεωρητικά θα δουλέψει.
Δε βγάζω λευκό θόρυβο με τη καμία ακόμα, αλλά τα πάει καλά για λίγες μεταβλητές που μπορεί να θέλει σε μάθημα κάποιος.
Απλά ντρέπομαι να μοιραστώ το πείραμα, το θεωρώ μίασμα.
« Τελευταία τροποποίηση: 03 Νοέ 2019, 03:49:02 πμ από George Eco »

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2787
  • Πύργος Ηλείας
Απ: Παραγωγή τυχαίων αριθμών στο Διερμηνευτή
« Απάντηση #14 στις: 06 Νοέ 2019, 04:04:33 μμ »
1) Από τη μία καλό θα ήταν να υπάρχει μία τέτοια εντολή (όπως και πληθώρα άλλων).
2) Από την άλλη η εντολή αυτή θα ήταν εκτός ύλης και δε θα περιγράφονταν/χρησιμοποιούνταν πουθενά στα βιβλία.

Παλιότερα το Στέκι είχε βγάλει επαναληπτικό διαγώνισμα που έδινε έτοιμη μια τέτοια συνάρτηση και περιέγραφε τη χρήση της.
Βλ. εδώ στο Θέμα Γ: https://alkisg.mysch.gr/steki/index.php?topic=5744.0