Πολλά προγράμματα χρειάζονται (ψευδο)τυχαίες τιμές για να προσομοιώσουν γεγονότα του πραγματικού κόσμου.
Συνήθη, οικεία παραδείγματα είναι:
Η παραγωγή πραγματικά τυχαίων τιμών με έναν υπολογιστή είναι μια προκλητικά δύσκολη τεχνική πρόκληση, γι' αυτό υπάρχουν και "ψευδοτυχαίοι" γεννήτορες.
Η συνάρτηση Math.random() ΔΕΝ πρέπει να χρησιμοποιείται για εφαρμογές ασφάλειας και κρυπτογραφίας!
Ολοκλήρωσε τη μαθησιακή άσκηση (ή τις ασκήσεις) σχετικά με αυτή την έννοια για να μάθεις περισσότερα
Στη JavaScript, μπορείς να παράγεις ψευδοτυχαίους αριθμούς χρησιμοποιώντας τη συνάρτηση Math.random().
Θα επιστρέψει έναν ψευδοτυχαίο αριθμό κινητής υποδιαστολής μεταξύ του 0 (συμπεριλαμβανομένου) και του 1 (μη συμπεριλαμβανομένου).
Η Mary είναι μεγάλη θαυμάστρια της τηλεοπτικής σειράς Star Trek: The Next Generation. Παίζει συχνά παιχνίδια ρόλων με χαρτί και μολύβι, όπου αυτή και οι φίλοι της υποδύονται το πλήρωμα του Starship Enterprise. Ο χαρακτήρας της Mary είναι ο Captain Picard, που σημαίνει ότι πρέπει να κρατάει το ημερολόγιο του πλοιάρχου. Λατρεύει το δημιουργικό κομμάτι του παιχνιδιού, αλλά δεν της αρέσει να βγάζει τυχαία δεδομένα επιτόπου.
Βοήθησε τη Mary φτιάχνοντας γεννήτριες τυχαίων δεδομένων για στοιχεία που εμφανίζονται συχνά στο ημερολόγιο του πλοιάρχου.
Το Enterprise (αριθμός νηολογίου NCC-1701) δεν είναι το μόνο διαστημόπλοιο που πετάει εκεί έξω! Όταν συναντάει άλλο διαστημόπλοιο, η Mary πρέπει να καταγράψει τον αριθμό νηολογίου του.
Οι αριθμοί νηολογίου ξεκινούν με το πρόθεμα "NCC-" και στη συνέχεια έχουν έναν αριθμό από το 1000 έως το 9999 (και τα δύο συμπεριλαμβάνονται).
Υλοποίησε τη συνάρτηση randomShipRegistryNumber() που επιστρέφει έναν τυχαίο αριθμό νηολογίου διαστημοπλοίου.
randomShipRegistryNumber();
// => "NCC-1947"
Τι νόημα έχει ένα ημερολόγιο αν δεν περιλαμβάνει ημερομηνίες;
Η αστρική ημερομηνία είναι ένας αριθμός κινητής υποδιαστολής. Οι περιπέτειες του Starship Enterprise από την πρώτη σεζόν του The Next Generation διαδραματίζονται ανάμεσα στις αστρικές ημερομηνίες 41000.0 και 42000.0. Το "4" αντιστοιχεί στον 24ο αιώνα, το "1" στην πρώτη σεζόν.
Υλοποίησε τη συνάρτηση randomStardate που επιστρέφει έναν αριθμό κινητής υποδιαστολής μεταξύ 41000.0 (συμπεριλαμβανομένου) και 42000.0 (μη συμπεριλαμβανομένου).
randomStardate();
// => 41458.15721310934
Το Starship Enterprise συναντάει πολλούς πλανήτες στα ταξίδια του. Οι πλανήτες στο σύμπαν του Star Trek χωρίζονται σε κατηγορίες με βάση τις ιδιότητές τους. Για παράδειγμα, η Γη είναι πλανήτης κλάσης M. Όλες οι πιθανές κλάσεις πλανητών είναι: D, H, J, K, L, M, N, R, T, και Y.
Υλοποίησε τη συνάρτηση randomPlanetClass().
Θα πρέπει να επιστρέφει μία από τις κλάσεις πλανητών τυχαία.
randomPlanetClass();
// => "K"
Γράψου στο Exercism για να μάθεις και να κατακτήσεις JavaScript με 37 έννοιες159 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.