Zum Inhalt springen

Zufallsgenerator Programm?


wo-ufp1
 Teilen

Empfohlene Beiträge

Hi.

Ich suche ein Programm, wo aus einer mir vorgegebenen Zahl (die ich auch mal ändern will) eine Zufallszahl ausgegeben wird.

 

tia mfg wo-ufp1

 

Huh? Was genau soll mit einer von dir vorgegebenen Zahl passieren? Bzw. was ist das für eine Zahl? von-bis? Und was soll rauskommen?

 

Beispiel - du hast eine Zahl, und die wird (wie bei einem normalen Zahlenwürfel) zufällig mit 1, 2, 3, 4, 5 oder 6 multipliziert? So, oder so ähnlich?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Huh? Was genau soll mit einer von dir vorgegebenen Zahl passieren? Bzw. was ist das für eine Zahl? von-bis? Und was soll rauskommen?

 

Beispiel

Aus einer Zahlenreihe von 1-216 soll mir irgend eine Zahl ausgegeben werden.

 

Ich möchte diesen Wert, die Zahl 216 (also 1-216) irgend wann einmal ändern, da ich eine größere bzw. kleinere Bandbreite brauche.

 

Ev. wäre eine Überlegung, daß ganze mit Würfeln zu machen :zwinker:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn Du einen Taschenrechner mit "etwas mehr Tasten" hast (einen wissenschaftlichen Rechner) dann her der mit hoher Wahrscheinlichkeit eine Zufallszahlfunktion (nennt sich meist RND ond er RAND für "random" -> "Zufall")

Der liefert dann eine Zahl zwischen 0 und 1, also zB 0,437

Das multiplizierst Du dann mit 215 und rechnest 1 dazu.

Die Zahlen die Du erhältst sind dann von 1 bis 216.

 

Also falls Du sowas daheim hast..

 

lg, xLink

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aus einer Zahlenreihe von 1-216 soll mir irgend eine Zahl ausgegeben werden.

 

Ahso - jezt wird mir vieles klarer. Lösungsansätze stehen ja schon da, ist wirklich keine Hexerei.

 

Edit: Wenn du unbedingt ein 'Programm' haben willst, schreibst du einfach die folgenden Zeilen in einem normalen editor und speicherst es (unter Windows) natürlich als .vbs ab.

 

randomize
Zahl = rnd * 215 + 1
msgbox int(Zahl)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kannst im Excel auch machen mit der Funktion:

 

Zelle =ZUFALLSZAHL()*(b-a)+a

 

damit kann man eine reelle Zufallszahl erzeugen, die zwischen a und b liegt.

Aha. Danke.

So etwas ähnliches, =GANZZAHL(ZUFALLSZAHL()*216),

hab ich schon gelesen.

 

Letztendlich ist mir Excel aber eh zu unsympathisch und mir ein kleineres Programm lieber.

 

Wenn Du einen Taschenrechner mit "etwas mehr Tasten" hast (einen wissenschaftlichen Rechner) dann her der mit hoher Wahrscheinlichkeit eine Zufallszahlfunktion (nennt sich meist RND ond er RAND für "random" -> "Zufall")

Nein hab ich nicht.

Aber Windows XP hat einen. Aber leider keine RND/RAND Funktion :(

Trotzdem Danke für den Tipp!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Edit: Wenn du unbedingt ein 'Programm' haben willst, schreibst du einfach die folgenden Zeilen in einem normalen editor und speicherst es (unter Windows) natürlich als .vbs ab.

 

randomize
Zahl = rnd * 215 + 1
msgbox int(Zahl)

:klatsch::toll:

Danke.

 

Wenn du jetzt vielleicht noch eine Lösung wüßtest, daß ich das Programm nicht ein jedes Mal neu starten müßte...:)

Quasi einen Button für nocheinmal oder so ähnlich.

 

mfg wo-ufp1

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, meine ich nicht. Außer es ginge um kryptographische Anwendungen, da braucht man echte Zufallszahlen. Dass es Pseudozufallszahlen sind, ist in der Simulation oft sogar erwünscht, da mittels Generator-Initiierung reproduzierbar.

 

Man braucht meistens normalverteile o.ä. Zufallszahlen.

oiso, kinder!

 

z. B. die C-funktion "rand" liefert pseudozufallszahlen, deren reproduzierbarkeit unterbunden werden kann, indem man mit "srand" einen variierenden seed wählt, z. B. indem man einen teil des aktuellen datums nimmt, oder eine zufallszahl aus /dev/rand

 

eine beliebige verteilung erhält man am einfachsten, indem man mit der sog. "shooting method" zwei gleichverteilte zahlentupel erwürfelt und dann schaut, ob dieses tupel innerhalb oder ausserhalb der verteilungskurve liegt. damit kann man sich normal- poisson, T oder binomialverteilunge basteln wie man will

 

:p

 

lg

birki

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du jetzt vielleicht noch eine Lösung wüßtest, daß ich das Programm nicht ein jedes Mal neu starten müßte...:)

Quasi einen Button für nocheinmal oder so ähnlich.

 

Your wish is my command ;)

 

randomize
do until Return = vbCancel
Zahl = rnd * 216 + 1
Return = msgbox (int(Zahl), vbRetryCancel)
loop

Link zu diesem Kommentar
Auf anderen Seiten teilen

z. B. die C-funktion "rand" liefert pseudozufallszahlen, deren reproduzierbarkeit unterbunden werden kann, indem man mit "srand" einen variierenden seed wählt, z. B. indem man einen teil des aktuellen datums nimmt, oder eine zufallszahl aus /dev/rand

 

Mit anderen Worten: indem du eine Zufallszahl (naja, mehr oder weniger) zum seeden verwendest :).

Link zu diesem Kommentar
Auf anderen Seiten teilen

[...]

z. B. die C-funktion "rand" liefert pseudozufallszahlen,

[...]

"shooting method" zwei gleichverteilte zahlentupel erwürfelt und dann schaut, ob dieses tupel innerhalb oder ausserhalb der verteilungskurve liegt.

Danke. Alles klar :zwinker:

 

Your wish is my command ;)

Herzlichen Dank :klatsch: .

Vergelts Euch :toll: !

 

mfg wo-ufp1

Link zu diesem Kommentar
Auf anderen Seiten teilen

Echte Zufallszahlen sind schwer; ein relativ sicheres Mittel ist das Auswerten von Mauseingaben (Benutzer soll die Maus irgendwie bewegen, zu 'zufällig' gewählten Zeitpunkten Seeds aus der Mausrichtung berechnen). Das wird aber zu umständlich für dein Problem sein. Eine andere Methode wäre das Auslesen der Zeit zwischen zwei Tastatureingaben, geht aber nur wenn die Auflösung hoch genug ist (ms oder höher)
Link zu diesem Kommentar
Auf anderen Seiten teilen

mal 215, damit ists 1-216.

 

@wolfgang: kannst du kurz schildern, wozu du das brauchst?

zur not code ich dir schnell was "gscheites" zsamm

 

Na eben nicht, oder bin ich jetzt wirklich schon total unzurechnungsfähig?! (Wär ja auch kein Wunder, irgendwie *gg*)

 

Also nochmal zum Mitdenken. rnd() gibt eine 'Zufallszahl'

 

ODER???

Link zu diesem Kommentar
Auf anderen Seiten teilen

Siehe das "+1"

 

Ja eben. Das brauch ich ja gerade deswegen, weil int() NICHT auf- und abrundet, sondern alles nach dem Komma ignoriert. Oder spinn ich jetzt?

 

Na sicher, wenn ich einen Würfel simulieren will, muß ich in dem script auch mit 6 multiplizieren und +1 rechnen, weil ich sonst nur Ausgaben bis 5 bekomme.

 

Ich bin echt schon ganz deppert scheinbar... :f::f:

Link zu diesem Kommentar
Auf anderen Seiten teilen

nt() schneidet meines Wissens in VB-Script einfach alle Nachkommastellen ab

 

hallo!

ich programmier ehrlich gesagt nur ernste sachen ;) - aber das ist ein typecast, der schneidet einfach den nachkommateil ab ...

lg

birki

 

PS: und wo bleiben jetzt die poissonverteilten zufallszahlen ? :p

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo!

ich programmier ehrlich gesagt nur ernste sachen ;)

 

Ich programmier normal nix, aber für solche Spielerein reicht's grad noch. Manchmal ;)

 

(Ich hab ja sowieso mit einer Watschenverabreichung von den Experten gerechnet, weil ich überhaupt gewagt habe etwas so profanes wie VB-Script für Windows verwendet zu haben... *g*)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

 Teilen

×
×
  • Neu erstellen...