Autor Beitrag
Big_Nuke
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 18.08.02 16:37 
Guthen Teg, mein Name ist Siegmund Freud, ;-)
tjaaaaaaaaaaaaaaaaaa... ich hab n KLEIIIINES Problem. Ist sicher für keinen von euch problematisch, aber mein Programm soll selbstständig sagen können, dass zwei zahlen ohne/mit Rest (ohne/mit Dezimalstellen)
teilbar sind.

Ihr könnt mir sicher helfen. Vielen Dank :mrgreen:
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: So 18.08.02 16:43 
Hallo Big_Nuke,

die Operation, die du suchst ist mod.
Sie gibt den Rest bei einer Division zurück.
Zum Beispiel:
5 mod 2 = 1

Und mit div machst du eine ganzzahlige Division.
Zum Beispiel:
5 div 2 = 2


P.S.: Das steht auch alles in der Onlinehelp.
____________

Ex0rzist
Big_Nuke Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 19.08.02 13:42 
Mist... geht nich ganz... ich wollt ein Primzahlen berechnungsprog schreiben... aber er berechnet mehr eine zahlenreihe von +3, +3, +3, +4
oder so... :( :? aber ihr könnt mir sicher helfen... :mrgreen:
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Mo 19.08.02 15:09 
Um dir helfen zu können, müsstest du schon etwas Code posten.
Big_Nuke Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 20.08.02 20:27 
Hier das Herz des Programms: den Timer:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.Timer2Timer(Sender: TObject);
label new;
label next;
begin
new:
teiler := 1;
zahl:=zahl+1;
next:
teiler := teiler+1;
 if teiler<zahl then begin
    if zahl mod teiler = 0 then begin
       goto new;
    end else begin
       goto next;
    end;
 end else begin
 memo1.lines.Add('  Nächste Priemzahl: '+inttostr(zahl));

 teiler := 1;
 end;
 
end;


nun? ach und die Ergebnisse:


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
  Nächste Priemzahl: 983
  Nächste Priemzahl: 991
  Nächste Priemzahl: 997
  Nächste Priemzahl: 1009
  Nächste Priemzahl: 1013
  Nächste Priemzahl: 1019
  Nächste Priemzahl: 1021
  Nächste Priemzahl: 1031
  Nächste Priemzahl: 1033
  Nächste Priemzahl: 1039
  Nächste Priemzahl: 1049
  Nächste Priemzahl: 1051
  Nächste Priemzahl: 1061
  Nächste Priemzahl: 1063
  Nächste Priemzahl: 1069

(das ist natürlich kein code!)
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Di 20.08.02 22:04 
Hallo Big_Nuke,


Big_Nuke hat folgendes geschrieben:
ausblenden Quelltext
1:
2:
3:
4:
...
goto new;
...
goto next;



Gewöhne dir das mit dem Goto gar nicht erst an bzw. schnell ab.
Das führt früher oder später nur zu Verwirrungen im Code.

"... the quality of programmers is a decreasing function of the density of goto statements in the programms they produce.''


___________

Ex0rzist
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Di 20.08.02 22:36 
Da alle geraden Zahlen keine Primzahlen sind, wäre es durchaus sinnvoll den Algo in eine while-Schleife zu packen, die die geraden Zahlen überspringt, etwa so:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
iStep:=3
while ... do begin
  if...
  .
  .
  iStep:=iStep+2;
end;
Big_Nuke Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 22.08.02 15:51 
das mit dem goto is schon ok.. ich habs mir von c++ angewöhnt...
aber ich hab jetzt n anderes prob... un zwar:
bei grösseren Zahlen Stürzt der pc ab... ich müsste ihm sagen, er soll eine millisekunde pause machen, befor er teiler:= teiler+1 macht, um so zu verhindern, dass er 10000000 mal die mod anweisung durchführt und dafür nur eine ms zeit hat... oder gibt es eine andere lösung?
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Do 22.08.02 18:10 
ausblenden Quelltext
1:
sleep(1);					


Dieser Befehl schläfert das Prog für eine ms ein.