Τυχαιοποίηση. Υπορουτίνες.
Σε αυτήν την άσκηση θα εφαρμόσετε στοιχεία από το μάθημα της τυχαιοποίσησης και θα τα ενσωματώσετε σε μια δομή υπορουτίνας
Γράψτε λοιπον ένα πρόγραμμα το οποίο:
Θα δημιουργεί αρχικά μια τυχαία αλληλουχία στο κυρίως σώμα του προγράμματος. Αυτή θα έχει μήκος 10.000 βάσεις με ίσες πιθανότητητες εμφάνισης
Στη συνέχεια θα καλείται μια υπορουτινα που θα δρα πάνω σε αυτήν την αλληλουχία και θα κάνει τα εξής:
α) Θα επιλέγει τυχαία ΜΙΑ θέση μέσα στην αλληλουχία.
β) Θα την αλλάζει σε Α, Τ, G, C με πιθανότητες Α=0.4, Τ=0.3, G=0.2, C=0.1.
γ) Θα επαναλαμβάνει το ίδιο για 10.000 φορές
δ) Κάθε 1000 φορές θα μετράει τις συχνότητες των βάσεων στην αλληλουχία και θα τις τυπώνει στην οθόνη ΚΑΙ ταυτόχρονα σε ένα αρχείο
ε) Θα επιστρέφει ως αποτέλεσμα την τελική μεταλλαγμένη αλληλουχία
Στο τέλος να κάνετε μια γραφική παράσταση της συχνότητας της κάθε βάσης ανα 1000 κύκλους μεταλλαγών. Να παραστήσετε δηλαδή γραφικά το αποτέλεσμα της προσομοίωσης.
Βοήθεια:
Σκεφτείτε καλά τι χρειάζεται η υπορουτίνα σαν όρισμα.
Χρησιμοποιείστε σοφα την συνάρτηση rand για ΟΛΑ τα σημεία που απαιτείται μια τυχαία διαδικασία.