Zufallszahl zwischen a und b
-
- Beiträge: 237
- Registriert: 17.10.2008 18:24
- Kontaktdaten:
Zufallszahl zwischen a und b
Hallo.
Gibt es einen Trick eine Zufallszahl zwischen zwei bestimmten Zahlen zu ermitteln. Random() ermittelt ja nur eine Zufallszahl zwischen 0 und einer Zahl, ich moechte diese Anfangsposition aber selbst bestimmen koennen - z.B. eine Zufallszahl zwischen -100 und 100. Gibts da irgendeine Loesung?
Gibt es einen Trick eine Zufallszahl zwischen zwei bestimmten Zahlen zu ermitteln. Random() ermittelt ja nur eine Zufallszahl zwischen 0 und einer Zahl, ich moechte diese Anfangsposition aber selbst bestimmen koennen - z.B. eine Zufallszahl zwischen -100 und 100. Gibts da irgendeine Loesung?
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
-
- Beiträge: 237
- Registriert: 17.10.2008 18:24
- Kontaktdaten:
falls du später noch "andere" Zufallszahlen brauchst, kann ich dir dieses Macro geben:
damit könntest du dann auch deinen Fall machen :
RandomArea(-100, 100)
oder zum Beispiel nur gerade Zahlen von 10 bis 20:
RandomArea(10, 20, 2)
Code: Alles auswählen
Macro RandomArea(StartValue, EndValue, StepValue=1)
( Random(Int(((EndValue)-(StartValue))/(StepValue)))*(StepValue)+(StartValue) )
EndMacro
RandomArea(-100, 100)
oder zum Beispiel nur gerade Zahlen von 10 bis 20:
RandomArea(10, 20, 2)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
-
- Beiträge: 237
- Registriert: 17.10.2008 18:24
- Kontaktdaten:
Das koennte mir sehr nuetzlich werden, danke fuer deine MueheSTARGÅTE hat geschrieben:falls du später noch "andere" Zufallszahlen brauchst, kann ich dir dieses Macro geben:damit könntest du dann auch deinen Fall machen :Code: Alles auswählen
Macro RandomArea(StartValue, EndValue, StepValue=1) ( Random(Int(((EndValue)-(StartValue))/(StepValue)))*(StepValue)+(StartValue) ) EndMacro
RandomArea(-100, 100)
oder zum Beispiel nur gerade Zahlen von 10 bis 20:
RandomArea(10, 20, 2)

-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Random($FFFF) ist einfach nur Random(65535), nur in Hex-schreibweise.
wenn du bestimmte zeichen erzeugen willst, musst du deren ASCII-codes erzeugen.
z.b. erzeugt Chr(Random(9)+48) die ziffern 0-9
für zahlen und großbuchstaben musst du etwas tricksen, um die zwei bereiche abzudecken:
wenn du eine unregelmäßige reihe von buchstaben erzeugen willst, benutzt du am besten ein Array:
wenn du bestimmte zeichen erzeugen willst, musst du deren ASCII-codes erzeugen.
z.b. erzeugt Chr(Random(9)+48) die ziffern 0-9
für zahlen und großbuchstaben musst du etwas tricksen, um die zwei bereiche abzudecken:
Code: Alles auswählen
a = Random( 35 )
If a > 9
a + 55
Else
a + 48
EndIf
Code: Alles auswählen
Dim ascii$(19)
For n=0 To 19
Read ascii$( n )
Next
DataSection
Data.s "0", "1", "3", "5", "6", "8", "A", "C", "D", "F", "H", "L", "M", "N", "P", "Q", "R", "S", "T", "U"
EndDataSection
For n=0 To 50
Debug ascii$( Random( 19 ) )
Next
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Man sollte nicht unerwähnt lassen, dass dieser Code nicht mehr so unter PB4.3 funktioniert.Kaeru Gaman hat geschrieben:
wenn du eine unregelmäßige reihe von buchstaben erzeugen willst, benutzt du am besten ein Array:Code: Alles auswählen
Dim ascii$(19) For n=0 To 19 Read ascii$( n ) Next DataSection Data.s "0", "1", "3", "5", "6", "8", "A", "C", "D", "F", "H", "L", "M", "N", "P", "Q", "R", "S", "T", "U" EndDataSection For n=0 To 50 Debug ascii$( Random( 19 ) ) Next
(Da heisst es dann Read.s ascii$( n ))
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}