[Playlisten] [Impressum und Datenschutzerklärung]

03D.7 eigener Pseudozufallszahlengenerator; statische Variable


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

wiekann man das hinkriegen eine Funktionkein Parameter erhält der nicht übergeben wird die aber trotzdemwenn ich mehrfach miteinander aufrufebei jedem Aufrufeinen anderenWert liefert als vom Aufruf davorkönnte man das hinkriegenderFunktion die Funktionins zurück lieferneinenF besseres einfälltder Gel ich nichts vorliegt kennen Kommaund ein Trick wäre jetzt ich sage es gibt eine static Variableeinfach irgendein Wert stehtin jedem Durchgangverändere ich den Wert dieser Variablenund gibt denneuen Wert zurück so könnte zum Beispiel passierter heute aus der Digitaluhrnicht als Detektionsdefizitnatürlich übersättigt aberwohlwas auch immer in ?? Designeinein Variable namens Xwie statisch ist das heißt die bleibt stehen die wird nicht immer wieder neu angelegt bei dem Funktionsaufrufzweier bleibt stehen für die Laufzeit des Programmszu Beginn des Programms wird auf zwoundvierzig gesetztdass es in dieser Formulierungsehr irritierendsieht so aus als ob jedes Mal dieses X auf zwoundvierzig gesetzt wird Neinganz am ProgrammanfangDavid X auf zwoundvierzig gesetztund wenn dasdie Funktion aufgerufen??um eins erhöht also erst mal auf dreiundvierzig?? mit ein Bild zurückgegebener sie angefragtwas ist mit X plus plushatten einen Rückgabewertdas würde bedeuten ?? X um eins erhöhen auch was zurückgegeben wird ist der alte Wert von X was sie schreiben müssendrauf rumgeritten war das bisschen heikelwas sie machen müssen wir das plus Plus Xentnehmen Sie die dreiundvierzig zurück und nicht die zweiundvierziglieber nicht so schreiben Wanderer muss zu viel nachdenkenwenn sie so schreiben ist klar was gemeint ?? erhöhenund den neuen Wertgehe ich zurückzeigte sie hat aber noch mal das der Patient aussehen würdeer in Aintra ist gleichmal?? ist gleichOptimierung ausbasiertso der erste Funktionsaufrufsollte dabei meine Variablen sehendie local?? das ist aber eine lokale Variable Beistrich aber auch die FXXbevor die Funktion F aufgerufenist am Anfang meines Programms schon bevor die Funktion aufgerufen ist ist X bekanntinternsoll ich sagen intern die Maschine XMädchen X nicht aber die Fusion elf Ken sozusagen jetzt schon X ist X ist jetzt schon angelegt und auf zwoundvierzig Gesetz am Beginn des ProgrammsKlammer auf eine staticlocalSinnerSchrader noch mit einer Welle bereitsbestätigtdas Programm schon angelegtund mit Werten gefüllt ins Schreibfenster zweiundvierzigzu Beginn des Programms ausgeführt ?? es steht in ihrer Funktion irritieren erweist wird aber zu Beginn des Programms ausgeführtso jetzt geht er in Funktion F rein?? Beistrich tatsächlich mal der BentosindZeile darüberständig in Text ?? zweiundvierzigDialekt großräumigumschifftdiesem schon längst gemacht worden zu Beginn des ProgrammsX plus plus dass wir das jetzt dreiundvierzigund ich gebe dreiundvierzig zurück und in Haar Punkt es steht dreiundvierzigSR Programmaufrufes kommt vierundvierzig rausund so weiterSoll ich mir das vorgestellt?? bei jedemanderes Ergebnis als ?? Aufruf davorirgendwannzur wieder die alten Ergebnissenämlich wenn sie Sixtus Bus überläuft und wieder bei negativen Zahlenganz negativen Zahlendas sollte mal einen Anlauf gewesen sein für die nächste Aufgabenoch mal eine Funktion für einen digitalen Würfel jetzt aber ein selbstgebauterdigitaler Würfeldie speichern sich interneine solche ZufallszahlLeerschritt rechnen sie dasmit der Zeugungszufallszahlund generieren daraus eine Zahl von eins bis sechsZusatzfragePunkt das umdiese Rechnung hier kann ich diese Rechnungals mal gleich schreiben sieht ja so aus als ob A in jedem Schritt mit etwas modifiziert wirdkann ich das des Arbeitsmarkt leicht schreibendie Anweisungsfeierrelativ klar interneine ZahlA merkenvon der Sorte an sein Scharein Bytes ohne Vorzeichenheißt das ECbei Tunnel Vollzeitanzahlvon null bis hundert und fünfzigBindestrich Funktion zuschreibt Beistrich Kind zurückgebeninsWürfelPunkt sie nimmt nichtsKreuzin einer Strahlentherapie das Wort nicht mehr reinsichert ??aus Bahrainso ein variabel von dieser Sortesoll statischsein damit sieimmer gespeichert bleibtvon einem Durchgang zum Essen gespeichert bleibt eine statische Variabledieser sofort auf irgendeinem Wert stehenmit Diamant auf null setzenkann die Lieder immer null raus setzenzweiundvierzigin jedemDurchgang in jedem Aufruf soll ich sagen bei jedem Aufruf soll gerechnet werden A gleich einmal dreiunddreißigModul zwo hundert einundfünfzigdas Vorwürfe diese Zahl nennt die Zahl wie sie ist mal dreiunddreißigmitmonströs groß und dann nimmt sie den Restnachteildurch zwo hundert einundfünfzig?? sich vorstellen dass daszufällig aussieht es ist nicht zufällig aber sie zufällig ausfalschen Zahlen nicht reinrassig hundert fünfzigbeziehungsweisepassiert das nicht so wie Zufall drin ist mit den beiden sieht es schon recht zufällig aus?? wird es ?? Art zurückgehenden Zahl abends zurückgehenaberdas sollte abermals ?? diese Variable Anichts mit dieser Variablenartzu tundiese Variable A ist innerhalb dieser Schweifklammerzu erreichenund sie ist von der Sorte an sein Schar statischdiese Variable Aist innerhalb dieser Schweifklammer zu erreichenist von der Sorte ins?? und nicht statischautomatisch nennt sich das dannkannalsowieder an denzwei Paar Schuhe der Compiler weiß von nichts für den sind dasnicht dieselben Geschichten auch wenn sie denselben Namen haben irritierendgrößtmögliche Würfel aufrufenStrichpunkt sowie sie haben wollte aberimmer ?? gucken auf Würfel aufwas es bei dem Würfel produziert diese Zahl A natürlich dann was jeweils das nächste ist für diese Zahl auf hundert einunddreißigsechsundfünfzigmäßige zufällig aufdie staticGestaltung Variable noch mal angegucktund das ist jetzt hier dieses Aversteht aktuell auf den Wertacht sei so Komma hier einen Schritt weiterund sehen Sie ?? steht jetzt auf dem anderen Wert?? noch einmal Würfel aufrufenbezeichnesthierals Buchstabenan weil es ja ein Schar ist bis automatisch Kleinbuchstaben verwandt aber sie sehen eigentlich ist eshexadezimalfünf B oder wenn sie was anders wählenwas auch immer sie wollen standardmäßigkommen die Charles als Buchstaben deshalb steht dir sofort ein Zeichenso weit so gut eine Geschichte nochdiese Zeile hier die wird tatsächlich beim Programmstartausgeführtwird nicht jedes Mal ausgeführt es sein Kommawenn sie hier schreibeneinige probiertsie den Weg nehmenund hier schon hinschreibenBeistrich alsoäh diese Rechnung hinschreiben mal dreiunddreißig durch zwei hundert einundfünfzigdann ist der Effekt im Eimerstatt dass man?? kann es schon gar nicht selber ?? kann schon gar nicht kompilierenwas der vergossen Valueerkennt dieses A ja nicht beim Programmstartsolldie Variable A angelegt werden mit diesem Wert gefüllt werdendas aber kein konstanter Wert ist hier schon ärgern was der Bürger sind Valuedieser Wert müsste ausgerechnet werden aber wie soll der Compiler das ausrechnenoder das System das ausrechnen was beim Programmstart hier stehtes geht mir dieses keine Versandart da Tafelwasserdurch den schon deshalb geht es nichtdiese Zeile wird nurbei Programmbeginnausgeführtdasfunktioniertsoalso die Zeile steht in ihrer Funktion besonders gefährlich wird aberan einer Stelle ausgeführt zu Beginn des Programmsamjetzt wollte ich einen Würfel habenich wollte nicht diese Zahlart zurückgebendie geht von eins bis zwo hundert fünfzig ich wollte was zwischeneins und sechs zurück gebe es aber letztmalsin den Modul und sechsExamens ?? Zahl zwischen null und fünf Rechtsparteiendurch sechskann nur zwischen null und fünf liegen einschließlichder natürlich nocheins dazu habe ich ?? Zahl von eins bis sechs einschließlichLeerzeichen Würfel selbst gemacht letztes Mal hatten eineeingebaute Funktion verwendetaber selberauf die localZahl sechs die Zahl drei die Zahl zweidas auswas sie kriegen jetzt wenn das Programm laufen lassen immer dieselben Würfelzahlenab Beginn des Programms vom immerdieselbe folgender Verzeichnisses nicht wirklich zufälligdas erste was man macht ist das man diesen Zufallszahlengeneratornicht immer mit derselben Zahl Staaten wissen das man diese Zahl irgendwoher würfeltzum Beispiel dass man die Uhrzeit nimmt oder Bytes gerade frei sind Beistrich dass man den Benutzerengpasseintippen lässtdiese Zahl hier wenn diese Zahlso halbwegs gewürfelt istsie bei jedem Mal auch noch andere Folge Anzahlwas ich letzte Woche gemacht hatte das Event was eingebautes hat dasselbe Phänomenfing immer dieselbe Vorgang Zahl sei denn sie zielenSEE Daisy sieben das gesamte Funktion es brenntjedes Mal mit einer anderen Zahl zum Beispielder Uhrzeittypischerweise aufrufen aber auch das ist natürlich nichtwirklich Zufallwas man stattdessen dann machen kann um wichtige Zufallszahlenzu haben ist das manchmal berauschend ist das es in demEnzym eingebautsein echten Zufallszahlengeneratorwohl irgendwie Rauschen gemessen wirdund dass wir dann als Eingabefür solcheFunktion verwendetdas ist danndeutlich mehr Zufall ist die ganze Zeit eine Rauschspannungmessen würdenimmer wiederpersönliche langsam bessere Mazda nichtdie ganze Zeit heraus messen würden dann echt in Anführungszeichen zuwar es wäre zumindest nicht vorherzusehenwas dabei rauskommtso sind es nur PseudozufallszahlenletzteGeschichtees richtig dass sie hundertmalin AnführungszeichenWürfel hundertmal zur Funktionaufrufenund dabei feststellen was ist der Mittelwertund was ist die Varianzvon dem was sie da Würfelaber nur hundert ?? wirklich Würfel nicht hundertmal für den Mittelwert und einmal für die Varianzhundert ?? wird insgesamtetwas sein Berater solche die Würfelfunktionsein Liebe Funktion hundertmal aufrufenauf die Weise Mittelwertund Varianzschätzen Leute bei dir sagen ErwartungswertBayerns schätzenerst mal den Mittelwertich brauche eine Variableeine Variable in der ich mir die Summe meiner ganzen hundertWürfelergebnissemerke ich schreib mal null Komma null ?? nicht schöner sein ?? zu schreiben eine double sei eine Gleitkomma Zeitbin ich dann null Komma null null Punkt null schönerda sogleich die Summe stehenund nachdem ich die hundert Werte eingesammelt habe teile ich die Summe durch hundert ?? den Mittelwertjetzt amtlich die Werte ein eine for-Schleifevor ist gleich nulldiekleiner alshundertmal sagenC++ichstartete den Wert nulleins zwei drei und so weiteres hat auch wenn's neunundneunzig ist das der letzte Schleifendurchgangmuss ein kleiner ein hundert stehenneun neunzig der letzte der mit hundert Durchgänge sind null drei zwei drei eins zwei drei fünf siebenhundert sondern nullbis neunundneunzigein hundert Durchgängen ?? kleiner und ??in der Schleifehole ich mirdas nächste Würfelergebnisund addiere es zur Summezwei schon ganz klug das in nächster Variable zu hohenamKern der Person geschrieben ?? das ist also Summeplus gleichwürfelt das alsojedes Mal würfeln zur Summe addiert was sie jetzt sehen ist diese Variable Summe die darf nichthier eingeführt sein dann wird sie in jederin jedem Durchgang der for-Schleife neu gebaut werden das ganze seiich brauche die variable Summehier vor der for-Schleifeeingeführtder Mediziner for-Schleife damit arbeiten kann immer wiederauf dieselben Variable was drauf addierenhier könnte man sich jetzt intensiv angucken was auskommt doubleMittelwertist gleich Summedurchhundert??ich hab jetzt hier auch nichtwundertals ganzer Song hundert Punkt nulldannwar es irgendwie klarer istsie also und kann die Frage okay soll jetzt mal durchklicken Nein soll sie nicht ersetzen und einbringt Punkt hier einmal linksklickenund setzenund sagenlaufenSachsen wieder unten und den Mittelwert drei Komma sechs null neun neun neun drei Komma fünf wäreexaktdrei Komma sechs null neun und irgendwasmag glaubenbis dahin derMittelwertder Grad eines ?? sagenvierteilig eine Gleitkomma Zahl der bezahl eine Gleitkomma Zahl durch eine Gleitkomma Zeit gibt wieder eine Gleitkomma zahltjährlich ein hundert schreiben können Gleitkomma Zahl durch Ganzzahl ist auch Gleitkomma Zeitdas Problem ist wenn sie rechnen?? und zweiundvierzigdurch hundertwas ging sie daraus zwei für sich durch hundertganzheitlich ganzer Jahr wird zur ?? Hinrunde der siebtem null aus zweiundvierzig als Ganzzahl finde das Ganzzahl wirdnull aber hier steht ja sozusagen zwei Punkt nur die Summe ist eine double Zahl auch das würde funktionierensich und jetzt auch Punkt immerhin schreibeistnett für den Compiler und für die menschlichen Leser ?? ich weiß es ist eine Gleitkomma gerechnet wirdobwohl die hundert ist eine ganze Zahlder ganze Zahl von Messwertenstehensowieso ?? Mittelwerteswochefür den für die Varianzaber auch die Summe der Quadratedie Varianz konnte man bilden mit der Summe der Quadrate und der Summe der Zahlenkönnen jetzt sagen okay ich baue eine neue Variable zumQuadratsound ich addiere die Quadrategenauso das wird nicht ganz im Sinne des Erfinders seinich hoffe ganz heftig hindass sie eine sehr interessanteLösungwarum ist diese Lösungkeine gute Ideeja sehr man einen Wertwürfelerzeugte jeweils die nächsten Würfelwurf das heißt hier habe ich einen Würfelwurftafeljetzt wirklich noch ?? und die Zahl vier hundert ?? noch mal die Zahl drei das heißt hier und hier steht etwa zwei ?? dieselbe Zahl durch das Quadrat haben wolltedas wirklich funktionieren bei jedem Aufruf kommt ganz auf eine andere Zahldas jeweilige Quadratwichtig Unfug istaber zu Rundfunk ist bei dieser Zahl in einer Zeit als sie weiter unten typischerweisedas heißtich werde erstden Würfelwert merkenein einziges Mal würfelnund diese werden hier überall verwendensohabe ich die Summeder Zahlen und die Summe der Quadrateder Zahlen wirklich überall mit dem selben XX enthältden Wert von diesem Aufrufund dem einen Aufrufkommt die Varianzder man die nicht mit der Stichprobe rechnen sondernfür die Gesamtheit rechnet während die Varianzjahrder Mittelwertder Quadrateminus das Quadrat des Mittelwert zwei Punkt der Mittelwert der Quadrate als die Summe Quadratedurch hundertminus das Quadrat von Mittelwert also Minusmittelwert?? Mittelwertwird in großartig Mathematik veranstalten schreibe man als Kommentar drüberdas ist die Varianz der Gesamtheitnicht die Varianz der Stichprobeoder Messung ist eigenartigerweisedann machen die ein hundert anderen??der Erwartungswert vom QuadratminusQuadrat des Erwartungswertsfür die Gesamtheit ?? Roman was da rauskommter sagt alsofür die Varianz zwei Komma sieben ?? sollte auch noch die Standardabweichunghaben umgehend eine Vorstellung zu habenStandardabweichungnach dazu das heißt ich bräuchte die WurzelPunktdie Wurzel SQL C eine eingebaute FunktionvermutlichwardieAngst manchmalist ?? Funktion ist deklariertin eine Datei namensMeß Punkt Hdas musizierte zuden Pilotaus dem System zusammen messen Punkt Hdas in Sinus und Kosinus ?? Text und Rhythmus und ihre Freunde drinin der Datei deklariertbesser diskutierenkönnen und mehr Standardabweichungausrechnenalsoeine Varianzvon zwei Komma sieben und eine Standardabweichungvon eins Komma sechs für den Würfelgesangder Würfel ist im Mittel drei Komma sechs drei Komma fünf vier bei uns Gänsefüßchen oben drei Komma sechs plus minus eins Komma sechsdass sie sich ganz anders aus