2.1 Παραγωγή τυχαίων αριθμών
Γράψτε ένα πρόγραμμα root.c που να παράγει τρεις τυχαίους πραγματικούς αριθμούς στο
διάστημα [0,1] και να τους αποθηκεύει στις μεταβλητές τύπου double a, b και c,
τις οποίες στη συνέχεια να εκτυπώνει.
int rand()Απαιτείται ενσωμάτωση του αρχείου επικεφαλίδας
stdlib.h.Επιστρέφει έναν ψευδο-τυχαίο ακέραιο από 0 έως
RAND_MAX- συμβολική σταθερά που ορίζεται στο αρχείο επικεφαλίδαςstdlib.h.
void srand(unsigned int seed)Απαιτείται ενσωμάτωση του αρχείου επικεφαλίδας
stdlib.h.Αρχικοποιεί την γεννήτρια ψευδο-τυχαίων αριθμών με βάση τον αριθμό/φύτρα
seed. Συνήθως χρησιμοποιούμε σα φύτρα την τρέχουσα ώρα, όπως επιστρέφεται από την κλήση της συνάρτησηςtime(NULL)(απαιτείται το αρχείο επικεφαλίδαςtime.h).
2.2 Εύρεση ριζών
Τροποποιήστε το root.c ώστε να υπολογίζει τις πραγματικές ρίζες ενός τριωνύμου. Τα
δεδομένα εισόδου (συντελεστές του τριωνύμου) θα είναι τυχαίες πραγματικές μεταβλητές
a, b, c στο διάστημα [0,1]. Αν το τριώνυμο δεν έχει πραγματικές ρίζες, να
εκτυπώνεται ένα σχετικό μήνυμα ενημέρωσης. Οι ρίζες να εκτυπώνονται με ακρίβεια 3
δεκαδικών ψηφίων.
Θυμηθείτε τη δομή ελέγχου if...else:
if (C)
E1;
else
E2;
Αν η συνθήκη C είναι αληθής εκτελείται η εντολή (ή το μπλοκ εντολών) E1, αλλιώς η
εντολή (ή το μπλοκ εντολών) E2. Το σκέλος else είναι προαιρετικό: αν λείπει και η
C είναι ψευδής, δεν εκτελείται τίποτα.
2.3 Μιγαδικές ρίζες
Ενσωματώστε στο πρόγραμμά σας και την περίπτωση το τριώνυμο να έχει μιγαδικές ρίζες, οπότε θα πρέπει να τις υπολογίζει.
Για τυχαίο πραγματικό στο [0,1] διαιρέστε το αποτέλεσμα της rand() με το RAND_MAX,
προσέχοντας να γίνει η διαίρεση σε double. Οι περιπτώσεις καθορίζονται από το πρόσημο
της διακρίνουσας. Για τις μιγαδικές ρίζες τυπώστε χωριστά πραγματικό και φανταστικό
μέρος, χρησιμοποιώντας την απόλυτη τιμή της διακρίνουσας.
Αριθμός στον οδηγό: Α6.12
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: lab-lab03-root ·
Σύνδεσμος: https://progintro.github.io/study/questions/labs/lab-lab03-root.html ·
Markdown (GitHub)