Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α12.15 · Μέση Τιμή Τυχαίων Μεταβλητών - mean

Εξέταση Σεπτεμβρίου 2025, Θέμα 3 · Δυσκολία ★☆☆ · programming · Κεφάλαια: 12, 2

Μέση Τιμή Τυχαίων Μεταβλητών - mean [25 Μονάδες]

Για μια τυχαία μεταβλητή \(X\) που παίρνει τις τιμές \(x_1, x_2, \ldots, x_n\), με αντίστοιχες πιθανότητες \(p_1, p_2, \ldots, p_n\), η μέση τιμή \(E[X]\) ορίζεται ως:

\[E[X] = \sum_{i=1}^{n} x_i \cdot p_i = p_1 \cdot x_1 + p_2 \cdot x_2 + \cdots + x_n \cdot p_n\]

Γράψτε ένα πρόγραμμα το οποίο παίρνει τις ακέραιες τιμές \(x_i\) μιας τυχαίας μεταβλητής \(X\) μαζί με τις πιθανότητες \(p_i\) σε δεκαδική μορφή (\(0 \le p_i \le 1\)) και υπολογίζει την μέση τιμή με ακρίβεια 8 δεκαδικών ψηφίων. Τα ορίσματα θα δίνονται ως εξής: το κάθε \(x_i\) θα ακολουθείται από το \(p_i\) που του αντιστοιχεί. Για παράδειγμα, αν \(x_1 = 10\), \(p_1 = 0.5\), \(x_2 = 20\), \(p_2 = 0.3\), \(x_3 = 40\), \(p_3 = 0.20\) (\(E[X] = 10 \cdot 0.5 + 20 \cdot 0.3 + 40 \cdot 0.20 = 19.0\)) το πρόγραμμα καλείται ως εξής:

$ ./mean 10 0.5 20 0.30 40 0.20
The mean of the random variable is: 19.00000000

Όλα τα ορίσματα δίνονται από την γραμμή εντολών και το αποτέλεσμα δεν είναι ανάγκη να είναι ακέραιο (ακολουθεί παράδειγμα).

./mean 42 0.222 5 0.0009999 100 0.777 100000 0.0000001
The mean of the random variable is: 87.03899950

Υπόδειξη

Διατρέξτε το argv ανά ζεύγη (τιμή, πιθανότητα), μετατρέποντας το πρώτο σε ακέραιο και το δεύτερο σε double (π.χ. με atoi/atof ή strtol/strtod). Σκεφτείτε τι πρέπει να γίνει αν το πλήθος των ορισμάτων δεν είναι άρτιο ή είναι μηδέν, και χρησιμοποιήστε %.8f για την έξοδο.

Αριθμός στον οδηγό: Α12.15 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: exam-2025-sep-q3 · Σύνδεσμος: https://progintro.github.io/study/questions/exams/exam-2025-sep-q3.html · Markdown (GitHub)