lehrkraefte:blc:informatik:glf4-20:simulation:tabellenkalkulation-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
Last revision Both sides next revision
lehrkraefte:blc:informatik:glf4-20:simulation:tabellenkalkulation-absolute-bezuege [2021/05/03 07:30]
Ivo Blöchliger [Varianten (Expert)]
lehrkraefte:blc:informatik:glf4-20:simulation:tabellenkalkulation-absolute-bezuege [2021/05/03 11:53]
Ivo Blöchliger [Varianten (Expert)]
Line 65: Line 65:
  
  
 +<hidden Lösungsvorschlag in Python>
 +<code python sammelalben.py>
 +n = 20
  
 +p = [[[1 if k==l and k==0 else 0 for l in range(n+1)] for k in range(n+1)]]
 +
 +pfull = [[0,0]]
 +
 +csv = "Bilder;P(1 voll);P(2 voll)\n"
 +
 +for m in range(1,8*n):
 +    # Neue Zeile mit Nullen einfügen
 +    p.append([[0 for l in range(n+1)] for k in range(n+1)])  # Leere Zeile
 +
 +    pf = [0,0]  # Wahrscheinlichkeiten 1 oder 2 Alben voll zu haben
 +
 +    for k in range(n+1):     # Anzahl mehrfach vorhandene Bilder
 +        for l in range(n-k+1):   # Anzahl einfach vorhandene Bilder
 +            pmehrfach = 0.0
 +            peinmal = 0.0 
 +            pkeinmal = 0.0
 +            pmehrfach = p[m-1][k][l] * k/n             # Bild gekauft, das schon mehrfach vorhanden war
 +            if (k>0 and l<n):
 +                peinmal = p[m-1][k-1][l+1] * (l+1)/     # Bild gekauft, das genau einmal vorhanden war
 +            if (l>0):
 +                pkeinmal = p[m-1][k][l-1] * (n-k-(l-1))/ # Bild gekauft, das noch gar nicht vorhanden war
 +
 +            p[m][k][l] = pmehrfach + peinmal + pkeinmal
 +
 +            # Wahrscheinlichkeiten, 1 oder 2 Alben voll zu haben:
 +            if (k==n):
 +                pf[1]+=p[m][k][l]
 +            if (l+k>=n):
 +                pf[0]+=p[m][k][l]
 +
 +    pfull.append(pf)
 +    
 +    print("Mit %3d von %d Bildern: p(1 volles Album)=%.8f, p(2 volle Alben)=%.8f" % (m, n, pfull[-1][0], pfull[-1][1]))
 +    csv += "%d;%f;%f\n" % (m, pfull[-1][0], pfull[-1][1])
 +
 +datei = open("2alben.csv", "w")
 +datei.write(csv)
 +datei.close()
 +
 +
 +
 +</code>
 +</hidden>
  
  • lehrkraefte/blc/informatik/glf4-20/simulation/tabellenkalkulation-absolute-bezuege.txt
  • Last modified: 2021/05/03 12:03
  • by Ivo Blöchliger