Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi While schleife endlos? oder nicht? (https://www.delphipraxis.net/132063-while-schleife-endlos-oder-nicht.html)

Satty67 5. Apr 2009 17:23

Re: While schleife endlos? oder nicht?
 
Ist jetzt vielleicht nicht so wichtig, aber
Delphi-Quellcode:
random(48)+1;
gibt nur 48 Zahlen. (1-48 )

_frank_ 5. Apr 2009 17:30

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von Satty67
Ist jetzt vielleicht nicht so wichtig, aber
Delphi-Quellcode:
random(48)+1;
gibt nur 48 Zahlen. (1-48 )

richtig, und wo ist das Problem? es soll ja ein lotto-Programm werden, und es werden immer nur 6 zahlen "gezogen" und beim Ziehen abgeglichen. Es gibt also nie den Zustand, dass 48 Zahlen gleichzeitig daliegen und versucht wird eine 49. zu finden (welches zu einer Endlosschleife führen würde).

Gruß Frank

Chemiker 5. Apr 2009 17:33

Re: While schleife endlos? oder nicht?
 
Hallo JumpFrog,

randomize musst Du nicht verstehen nur mit F1 die Funktionsweise nachsehen.

Des Weiteren macht es sich gut Variable mit einem definierten Zustand einzusetzen.

Delphi-Quellcode:
procedure TfrmLotto.FormCreate(Sender: TObject);
var
  i: integer;
begin
  randomize;
  for I := 0 to high(Feld) do
  begin
    Feld[i]:= 0;  
  end;
end;
Bis bald Chemiker

JumpFrog 5. Apr 2009 17:40

Re: While schleife endlos? oder nicht?
 
Also Lotto geht ja laut meines wissens (Bin kein Lottospieler) bis 49 und da random aber bei 0 anfängt und es keine 0 gibt addiere ich zu der erzeugten zahl einfach 1 dazu.

Ok, verstehen war falsch Formuliert, ich meine nicht wie es funktioniert sondern eben den aufbau der Syntax verstehen und das habe ich im moment noch nicht. :duck:

auf jedenfall Funktioniert jetzt das Programm richtig. Wieso weiß ich noch nicht genau aber ich werde es mir nochmal anschauen.

So etwas macht se bestimmt gut :) nur leider muss so ein Wissen ersteinmal vorhanden sein um es anzuwenden. Ich bin ja in einer Ausbildung zum IT-Systemelektroniker, da gehört programmieren nunmal nicht zum a und o :)

aber danke das für das Beispiel :)

Satty67 5. Apr 2009 17:42

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von _frank_
richtig, und wo ist das Problem?

Für den Programmablauf kein Problem, deshalb schrieb ich ja, nicht so wichtig. War ja nur, falls das ein Lotto 6 aus 49 werden soll.

@JumpFrog

Random(x) gibt x-Anzahl Zahlen, beginnend bei 0... bei Random(48 ) gibt es 48 Zahlen, beginnend bei 0 (also 0-47). Bei +1 also nur 1-48.

_frank_ 5. Apr 2009 17:49

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von Satty67
Für den Programmablauf kein Problem, deshalb schrieb ich ja, nicht so wichtig. War ja nur, falls das ein Lotto 6 aus 49 werden soll.

stimmt, war ja "aus 49"...ich spiel kein lotto :) gut aufgepasst

Gruß Frank

JumpFrog 5. Apr 2009 18:05

Re: While schleife endlos? oder nicht?
 
achso :?: :?:

ich dachte Immer das sei der bereich aus dem er die Zahlen generieren soll. Also ist das nur die angabe der Anzahl der Zahlen die er ziehen soll oder wie darf ich das verstehen? :gruebel: :gruebel: Bin gerade ein wenig verwirrt, weil mein Programm keine Zahlen höher als 48 anzeigt. :gruebel: :gruebel:

Meflin 5. Apr 2009 18:06

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von xZise
Mithilfe von Hier im Forum suchenRandomize kannst du jedesmal eine neue Anzahl von Zufallszahlen erstellen. Ansonsten trifft das nicht immer zu und unter Umständen (wann genau weiß ich nicht) ist die Reihenfolge der Zufallszahlen immer gleich.

Die Reihenfolge der Zufallszahlen ist genau dann gleich, wenn der RNG zweimal mit exat demselben Wert initialisiert wird. Das ist nur der Fall, wenn man randmoize überhauptnicht aufruft (= kein Seed).

Satty67 5. Apr 2009 18:24

Re: While schleife endlos? oder nicht?
 
Ist wohl wegen der 1 Frage-Regel OT, aber dafür ein neuer Thread wäre fast übertrieben?
Zitat:

Zitat von JumpFrog
ich dachte Immer das sei der bereich aus dem er die Zahlen generieren soll.

Ist es fast... die Größe (oder Spannweite) des Bereichs

Random(x)

Zufallszahl mit Bedingung 0 <= ? < X

oder

x-Zufallszahlen beginnend bei 0

oder

Zufallszahlen 0 bis (x - 1)

Such Dir eine Erklärung aus, die Du Dir am besten merken kannst. Die mittlere hat sich bei mir festgesetzt.

Chemiker 5. Apr 2009 19:19

Re: While schleife endlos? oder nicht?
 
Hallo JumpFrog,

normalerweise sind die Lottozahlen bei dem Lotto, beidem ich mitspiele immer verschieden.

Delphi-Quellcode:
while c<=5 do
  begin
    while Feld[a]= LoZahl do
      LoZahl:=random(48)+1;
    c:=c+1;
  end;
Diese beiden Schleifen werden doch nur einmal durchlaufen und anschließend steht c auf 6.

Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz