Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Benötige Hilfe!!

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MuRdOk



Anmeldungsdatum: 11.05.2006
Beiträge: 1

BeitragVerfasst am: 11.05.2006, 15:00    Titel: Benötige Hilfe!! Antworten mit Zitat

Hallo liebe Leute

Ich habe hier auf dieser Seite dieses super tolle Tutorial zur Commodore Basic Programmierung gefunden.

Doch leider habe ich ein kleines Problem.

Könnte mir jemand von euch die RANDOM-Funktion erklären??
(Mein eigentliches Problem ist das Erstellen von zufälligen Zahlen in einem bestimmten Bereich)

Am liebsten wäre mir dafür die Syntax.

Wenn es möglich ist bitte in C16-Basic, denn wie die Funktion mit QBasic funktioniert weiß ich mittlerweile.

Ich danke euch schon mal im Voraus.

MFG MuRdOk



Ich hab natürlich schon im Monster FAQ nachgeschaut, aber leider nichts gefunden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
otti



Anmeldungsdatum: 28.02.2005
Beiträge: 112
Wohnort: Wildberg

BeitragVerfasst am: 11.05.2006, 15:28    Titel: Antworten mit Zitat

bitte aussagekräftigere titel verwenden!!

die random funktion kenne ich nicht aber dass hier:

Code:

groesstezahl%=100
randomize timer
zufallszahl%=int(rnd*groesstezahl%)


randomize timer initialisiert den zufallsgenerator und RND is eine zufallszahl von 0-1


grüße otti

PS:ich glaub da steht schon was in der QBMONFAQ
_________________
Gute Musik lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Gremlin



Anmeldungsdatum: 12.12.2004
Beiträge: 142
Wohnort: Heinsberg

BeitragVerfasst am: 11.05.2006, 15:56    Titel: Antworten mit Zitat

Ich würd's noch um Eines ergänzen:
Code:

RANDOMIZE TIMER
' unbedingt nötig, sonst werden nur einmal Zufallszahlen generiert, die dann immer wieder auftauchen.
' Zum Beispiel wäre dann die 1. Zahl IMMER 1 und die zweite Zahl IMMER 32.

Zufall% = INT(RND * GroessteZahl%) + KleinsteZahl%

_________________
Tja, hier konnte ihre Werbung stehen.
Pech gehabt. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 11.05.2006, 16:50    Titel: Antworten mit Zitat

@Gremlin & otti: Das ist doch die QBASIC-Syntax...

@Gremlin: Muss aber eher
Code:

ZufallsZahl = INT(RND * (1 + Max - Min) + Min)

heißen...

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Gremlin



Anmeldungsdatum: 12.12.2004
Beiträge: 142
Wohnort: Heinsberg

BeitragVerfasst am: 11.05.2006, 17:44    Titel: Antworten mit Zitat

Hm, ist die Commodore denn da so anders?
Ich teste mal auf meinem C64 rum, der C16 dürfte aber ähnlich sein?

Edit:
Habe hier was kopiert (1. Google-Ergebnis bei "RND C16" lächeln )...
Zitat:
Zufallszahlen

Diese werden mit der Funktion RND() generiert. Es ist immer eine Zahl größer gleich null und kleiner 1. RND() braucht auch ein Argument (einen Übergabewert, den man zwischen die Klammer schreibt.). Der ist allerdings in diesem Fall sehr technischer Natur und soll hier erstmal nicht weiter erklärt werden. Mit RND(1) fahren Sie immer richtig. Das folgende Progrämmchen generiert 10 Zufallszahlen zwischen 0 und 1 und dann 10 Ganzzahlen zwischen 1 und 6, simuliert also in seinem zweiten Teil einen Würfel.

Code:
5 PRINT "REINE ZUFALLSZAHLEN"
10 LET I=0
20 PRINT I,RND(1)
30 LET I=I+1
40 IF I<10 GOTO 20
50 PRINT "WUERFELZAHLEN"
60 LET I=0
70 PRINT I,RND(1)*6+1
80 LET I=I+1
90 IF I<10 GOTO 20


Für das Testen von Programmen ist es unverzichtbar, dass die Reihenfolge der Zufallszahlen nachvollziehbar bleibt. Das heisst, wenn man das Programm zum zweiten Mal startet, kommt die gleiche Sequenz von Zahlen. Um das zu erreichen, ist es beim C16 notwendig, die RND-Funktion am Anfang einmal mit einem negativen Wert aufzurufen. Wenn Sie also die Zeile

7 LET A=RND(-1)

einschieben, dann kommt immer die gleiche Zahlenfolge.

_________________
Tja, hier konnte ihre Werbung stehen.
Pech gehabt. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz