lehrkraefte:blc:informatik:glf4-23:relative-und-absolute-bezuege

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
lehrkraefte:blc:informatik:glf4-23:relative-und-absolute-bezuege [2024/04/23 21:36]
Olaf Schnürer [Varianten (Expert)]
lehrkraefte:blc:informatik:glf4-23:relative-und-absolute-bezuege [2024/04/23 22:00] (current)
Olaf Schnürer [Varianten (Expert)]
Line 135: Line 135:
 </hidden> </hidden>
  
-<hidden>+<hidden Python-Programm, per Simulation, variable Anzahl Alben>
 <code python sammelalben-simulation.py> <code python sammelalben-simulation.py>
 +import random
 +import matplotlib.pyplot as plt
 +n = 200
 +anzahl_alben = 3
 +anzahl_versuche = 10000
 +liste_noetiger_kaeufe = []
 +for v in range(anzahl_versuche):
 +    if v % 1000 == 0:
 +        print(f'Versuch {v}')
 +    liste_anzahl_bilder = [0 for _ in range(n)]
 +    kaeufe = 0
 +    while min(liste_anzahl_bilder) < anzahl_alben:
 +        kaeufe += 1
 +        bild_nummer = random.randrange(n)
 +        liste_anzahl_bilder[bild_nummer] += 1
 +    while len(liste_noetiger_kaeufe) < kaeufe + 1:
 +        liste_noetiger_kaeufe.append(0)
 +    liste_noetiger_kaeufe[kaeufe] += 1
 +print(liste_noetiger_kaeufe)
 +
 +liste_noetiger_kaeufe_summiert = []
 +summe = 0
 +for i in range(len(liste_noetiger_kaeufe)):
 +    summe += liste_noetiger_kaeufe[i]
 +    liste_noetiger_kaeufe_summiert.append(summe / anzahl_versuche)
 +
 +
 +xwerte = list(range(len(liste_noetiger_kaeufe)))
 +plt.bar(xwerte, liste_noetiger_kaeufe)
 +plt.xlabel(f"x = Anzahl der Käufe, bis {anzahl_alben} Alben voll")
 +plt.ylabel(f"y(x) = Anzahl der Experimente, bei denen x Käufe nötig waren.")
 +plt.show()
 +
 +p = 0
 +while p < 1:
 +    i = 0
 +    while liste_noetiger_kaeufe_summiert[i] < p:
 +        i += 1
 +    print(f'Man muss (laut Simulation) {i} Bilder kaufen, um {anzahl_alben} Alben mit Wahrscheinlichkeit {p:.1f} zu füllen.')
 +    p += 0.1
 +
 +plt.plot(liste_noetiger_kaeufe_summiert)
 +plt.xlabel(f"x = Anzahl der Käufe")
 +plt.ylabel(f"p(x) = Wahrscheinlichkeit, dass {anzahl_alben} Alben voll.")
 +plt.show()
 </code> </code>
 </hidden> </hidden>
  
  • lehrkraefte/blc/informatik/glf4-23/relative-und-absolute-bezuege.txt
  • Last modified: 2024/04/23 22:00
  • by Olaf Schnürer