Ergebnis 1 bis 6 von 6
  1. #1
    Fortgeschrittener
    Registriert seit
    19.01.2008
    Beiträge
    42

    Standard Zufallszahlen Programm

    moin leute ich sitz gerade in der schule und brauch für delphi paar tipps zu einem programm das zufallszahlen ausgibt

    also
    ich muss einen zahlen bereich eingeben z.B. 10 -100 und dann berechnet er eine zufallszahl

    danach gebe ich eine zahl ein und das programm sagt dann höher, niedriger oder richtige zahl

    könnt ihr mir weiter helfen?


    Zitat Zitat von Sebo2008
    was ist ne Sufu muss ich das bei googele suchen oder wie das verstehe ich leider nicht

  2. #2
    Gesperrt
    Registriert seit
    14.08.2008
    Beiträge
    854

    Standard

    Google mal nach "Randomize".

    Geht z.B. so:
    Code:
    Var 
      Int: Integer;
    Begin
    
    Randomize;
    Int := Random(101);
    Er gibt dann eine Zufallszahl zwischen 0 und 100 aus.

  3. #3
    Fortgeschrittener
    Registriert seit
    19.01.2008
    Beiträge
    42

    Standard

    ich hab das jetzt auch schon etwas hin bekommen

    nur wenn ich zahlenbereich1 z.B. 10 und zahlenbereich2 z.B. 100 einlesen will muss er ja dann von 10 - 100 zufallszahlen berechnen

    das ist mein code bis jetzt

    Code:
    zahlenbereich1 := StrToInt (edt_eingabe.Text);
    zahlenbereich2 := StrToInt (edt_eingabe2.Text);
    eingabe:= strtoint(edit1.Text);
    
    randomize;
    
    zahl:= random(zahlenbereich1);
    zahl2 := random (zahlenbereich2);
    
    label1.caption:=inttostr(zahl);
    ergebnis:= zahl*zahl;
    if eingabe = ergebnis then showmessage('richtige Zahl')
    else showmessage('FALSCH');


    Zitat Zitat von Sebo2008
    was ist ne Sufu muss ich das bei googele suchen oder wie das verstehe ich leider nicht

  4. #4
    Gesperrt
    Registriert seit
    14.08.2008
    Beiträge
    854

    Standard

    Weiß nicht ob du das so meintest aber:

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    Var
    Zahl1, Zahl2, Eingabe, Ergebnis, ZufallsZahl: Integer;
    begin
    Zahl1 := StrToInt(txtZahl1.Text);
    Zahl2 := StrToInt(txtZahl2.Text);
    
    Eingabe := StrToInt(txtEingabe.Text);
    
    Randomize;
    ZufallsZahl := Random(Zahl2 + 1);
    
    while not(Zufallszahl > Zahl1) do
    begin
    ZufallsZahl := Random(Zahl2 + 1);
    end;
    
    if ZufallsZahl < Eingabe then
    Begin
      ShowMessage('Zahl ' + IntToStr(ZufallsZahl) + ' ist kleiner als die Angegebene!');
    End;
    
    if ZufallsZahl > Eingabe then
    Begin
      ShowMessage('Zahl ' + IntToStr(ZufallsZahl) + ' ist größer als die Angegebene!');
    End;
    
    if ZufallsZahl = Eingabe then
    Begin
      ShowMessage('Zahl ' + IntToStr(ZufallsZahl) + ' ist so groß wie die Angegebene!');
    End;
    Edit: http://www.file-upload.net/download-...sZahl.rar.html

  5. #5
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    Deswegen bin ich auch immer strickt gegen GUIs bei Programmieranfängern. Da sie sich dann nicht auf das Wesentliche konzentrieren
    die Dokumentation zum Random sagt Folgendes:
    Random - Paswiki Turbo Pascal
    Der Befehl Random erzeugt eine Zufallszahl. Wird der Bereich angegeben, ist der Rückgabewert ein Word im Bereich 0 <= x < Bereich, sonst ein Real-Wert im Bereich 0 <= x < 1.
    Das heißt also, wenn man Zahlen im Bereich von 2 bis 50 haben möchte, bestimmt man die Intervallänge:

    untere_grenze := 2
    obere_grenze := 50
    bereich := obere_grenze - untere_grenze (= 48)

    Generiert nun eine zufällige Zahl:
    zahl:=random(breich + 1)
    +1 ist hier wegen der Aussage in der Dokumentation, das die generierte Zahl
    0 <= x < Bereich ist (also wird in dem Fall z.B niemals 48 generiert, sondern nur Zahlen darunter)
    nun addiert man einfach die untere Grenze dazu:
    ergebnis := zahl + untere_grenze

    die logische Überlegung ergibt: alle generierten Zahlen liegen erstemal zwischen 0 und 48 (oder mathematisch hingeschrieben: [0, 48]
    wenn man nun die untere Grenze = 2 dazu addiert, ist das Ergebnis größter gleich 2 und kleiner gleich 50 (2<=Zahl <=50)

    PS: es reicht aus, Randomize einmalig beim Programmstart aufzurufen.
    TrueCrypt/RAR/Zip Passwort vergessen und das Bruten dauert ewig? Oder brauchst du fein abgestimmte Wortlisten? Hilf dir selbst mit WLML - Word List Markup Language
    Gib Stoned/Mebroot/Sinowal und anderen Bootkits keine Chance: Anti Bootkit v 0.8.5

  6. #6
    Anfänger
    Registriert seit
    22.04.2010
    Beiträge
    29

    Standard

    randomize bitte nie in prozeduren schreiben, die in regelmäßigen abständen aufgerufen werden, sonst hast du immer die gleichen zahlen. (zahlenkombinationen)
    wenn dann, direkt beim programm start initialisieren

Ähnliche Themen

  1. [S] Ein Programm,dass mir zeigt was ein Programm macht
    Von mainstream im Forum Sicherheit
    Antworten: 14
    Letzter Beitrag: 27.07.2009, 13:45
  2. Was steckt hinter zufallszahlen
    Von aL1ien im Forum C, C++
    Antworten: 4
    Letzter Beitrag: 06.12.2008, 13:47
  3. [C/C++] Zufallszahlen generieren?
    Von wurz24 im Forum C, C++
    Antworten: 3
    Letzter Beitrag: 30.06.2008, 18:05
  4. [S] Programm
    Von wadek im Forum Linux und UNIX-Systeme
    Antworten: 5
    Letzter Beitrag: 09.03.2008, 20:31
  5. [Delphi] Programm zum erstellen von Programm
    Von K1ngC0bra im Forum Delphi
    Antworten: 3
    Letzter Beitrag: 27.08.2007, 21:25

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •