Kleine aufgabe ! Knack sie !

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Dottakopf

Betreff: Kleine aufgabe ! Knack sie !

BeitragFr, Sep 28, 2007 8:30
Antworten mit Zitat
Benutzer-Profile anzeigen
HI blitzer !

Vorab ich hoff mal das dieser eintrag auch wirklich in smalltalk passt, kann man nicht genau zuordnen, da es um eine allgemeine aufgabe aber auch ums programieren geht. Also mods ned schimpfen Wink


Ich hab von meinem asausbilder folgende aufgabe zu programieren bekommen: (wollt wissen was ich scho kann). Nach 3 stunden rumexperimentieren haben wir es sogut wie geschaft, er in VB ich in BB.

Das wurde dann nach ner halben stunde ne art wettstreit, wer hat das problem am schnellsten gelöst Very Happy

Ok folgende aufgabenstellung:
Du bist in ein in einer quiz-show und hast drei tore hinter denen sich entweder zwei nieten, oder ein auto (der gewinn) verstecken. Wenn du dich für ein tor entschieden hast, ist der moderrator so nett und streicht eine niete weg, welche das ist und wo sie sich befindet, wird nicht verrraten. So jetzt bleiben eine niete, ein leeres feld (trostpreis) und das auto (hauptgewinn) übrig. Logischer weise kann die niete niemals sich auf dem auto befinden. Sollte der spieler auf eine niete gesetzt haben, streicht diese der quiz - moderator nie weg, sondern streicht immer die freie niete.

Zu guter letzt wird dem quiz-kandidaten angeboteten sich für ein anderes tor zu entscheiden.
In dieser aufgabe entscheidet sich der kanidat immer anders. Also er wechselt immer das Tor wenn es im angebot wird.

Das ganze soll so 20 000 mal wiederholt werden (also 20 000 quiz shows ) und das programm soll dannach ausgeben, wie oft man gewonnen bzw. verloren hat welche niete weggestrichen wurde ?
Daraus kann man einen durchschnitt berechnen der dann, wenns richtig ist, bei inetwa 60 % liegt.
(gewinn, verlust)

Das ganze hat natürlich auch einen hintergrund:
Mit diesem programm soll bewiesen werden, dass wenn man sich in dieser situation umentscheidet die gewinnchance von 1/3 auf 2/3 erhöht.

Das problem wird so ähnlich auch bei wikipedia wiedergegeben.
http://de.wikipedia.org/wiki/Ziegenproblem

Das ist garnicht mal so ohne, und könnte auch für alteingessesne also all die jenigen die ich bewundere was zum tüfteln sein. oder etwa nicht ??

Um solchen sprüchen wie : "ey mach deine aufgaben selber, wir sind ned dazu da dein probleme zu lösen" vorzubeugen , ist meine antwort schlicht:

1. muss ich das nicht machen...
2. hab ich es, auch wenns relativ billig war, selbst gelöst
3. ich will keinen fertigen, lauffähigen code sehen sondern mich interesieren so stellen mit dem "tauschen" oder dem wegstreichen der nieten / niete

~Edit~ ja ich weis, dass man des unter umständen in 5 zeilen lösen kann(so habs ich dan ja auch nach 3 h gemcht einfach keinen bock mehr gehabt). Aber ich will mal wissen was der blitzer so drauf hat.

mfg Dottakopf

Smily

BeitragFr, Sep 28, 2007 9:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Man brauch keine Simulation um das zu beweisen...

verschärf einfach mal das ganze: wir haben 1000 Tore, der Spieler entscheidet sich und der quizmaster streicht alle ausser das wo der spieler ist und ein weiteres weg... natürlich steigen die chancen beim umstieg...

Aber ich werd mich mal ans coden machen... habe atm sowiso nix zutun ^^

gruß,
Smily0412

Edit: du hast dafür wirklich 3 Stunden gebraucht? Confused bei mir warens ca 10 minuten Wink

Code: [AUSKLAPPEN]
Print simulation(1000000, 0)
Print simulation(1000000, 1)


Function simulation(count, wechsel)
   For c = 0 To count
      gewinntor = Rand(0,2)
      wahl = Rand(0,2)
      Repeat
         tor_weg = Rand(0,2)
      Until tor_weg <> gewinntor And tor_weg <> wahl
      If wechsel
         For i = 0 To 2
            If i<>wahl And i<>tor_weg exit
         Next
         wahl=i
      End if
      If wahl = gewinntor gewinn=gewinn + 1
   Next
   Return gewinn
End function
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Dottakopf

BeitragFr, Sep 28, 2007 10:25
Antworten mit Zitat
Benutzer-Profile anzeigen
schön !

ja ich hatte so heftige probleme mit dem wechsel. Und ich hab mehr mit arry gemacht.
und viel zu kompliziert ^^

alle nieten sind 0 , player auswahl = 1 und das auto ist die 2
Code: [AUSKLAPPEN]

dim door(3)
door(1) = 0
door(2) = 0
door(3) = 0


und dann hab ich halt zahlen in den arry gelegt. Wenn jetzt aber zb. player und auto auf dem gleichen index liegen, hat das ja angeeckt (player ist index eintrag 1 und auto 2) also hab ich die addiert und wenn spieler gelich aufs auto setzt ne 3 in den arry eingetragen. Was dann später probleme gemacht hatte...

aber find ich cool.

mfg Dottakopf

SpionAtom

BeitragFr, Sep 28, 2007 13:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Bringt zwar keine neue Erkenntnis, aber hier ist mein Beitrag:
Code: [AUSKLAPPEN]
SeedRnd MilliSecs()

   wins_change = 0
   wins_nochange = 0
   rounds = 0
   Repeat
      rounds = rounds + 1      
      c = Rand(1, 3) ;chose
      w = Rand(1, 3) ;win      
      If c = w Then
         wins_nochange = wins_nochange + 1
      Else
         c = w
         wins_change = wins_change + 1                  
      End If      
      Cls
      Locate 0, 0
      Print "Kein Wechsel: " + wins_nochange + " / " + rounds + " = " + wins_nochange / Float(rounds)
      Print " mit Wechsel: " + wins_change + " / " + rounds + " = " + wins_change / Float(rounds)
      Flip()   
   Until KeyDown(1)
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

porcus

BeitragFr, Sep 28, 2007 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Lustig, genau des hatten wir letztes Jahr in mathe bei wahrscheinlichkeitsrechnung.
da wurde auch das beispiel mit den 1000 toren erwähnt.
*Account deaktiviert*

Xeres

Moderator

BeitragFr, Sep 28, 2007 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Wer des Englischen mächtig ist, kann sich das Problem auch auf einem hübschen Video explizieren lassen:
http://www.glumbert.com/media/montyhall
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Dottakopf

BeitragSo, Sep 30, 2007 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich danke für euere beiträge.
Scheint doch auf interrese gestoßen zu sein ^^

mfg Dottakopf

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group