Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variablen Verwendung (https://www.delphipraxis.net/85968-variablen-verwendung.html)

Mb123 7. Feb 2007 09:28


Variablen Verwendung
 
Guten Morgen,
Ich habe vor folgenden Logarithmus zu programmieren:

http://www.matheprisma.uni-wuppertal...er/eukAlg1.gif

Nun meine Frage kann ich in Delpi die Variablen wie in Zeile 2 (oder 6) verwenden oder muss ich sie so definiere:

var u1,u2,u3: integer;
[...]
u1:=1;
u2:=0;
u3:=b;

Dann noch die zweite Frage: Gibt es einen Befehl für eine Division ohne Rest ?

Danke!

mkinzler 7. Feb 2007 09:37

Re: Variablen Verwendung
 
Variablen müssen auf jeden Fall deklariert werden.
DIV

Mb123 7. Feb 2007 13:41

Re: Variablen Verwendung
 
Delphi-Quellcode:
[...]

var
  Form1: TForm1;
  u1,u2,u3,v1,v2,v3,t1,t2,t3,q,a,b:integer;

[...]

procedure TForm1.Button1Click(Sender: TObject);
begin

a:=StrToInt(edit1.text);
b:=StrToInt(edit2.text);
u1:=1    ;
u2:=0    ;
u2:=a   ;

v1:=0    ;
v2:=1    ;
v3:=b   ;

while v3>0 do
begin

q:= u3 DIV v3;

t1:=u1-q*v1   ;
t2:=u2-q*v2   ;
t2:=u3-q*v3   ;

u1:=v1        ;
u2:=v2        ;
u3:=v3        ;

v1:=t1        ;
v2:=t2        ;
v3:=t3        ;
ListBox1.Items.Add(IntToStr(u1));
ListBox1.Items.Add(IntToStr(u2));
ListBox1.Items.Add(IntToStr(u3));

end;
end;

end.
Ich hab den Code jetzt so geschrieben, allerdings krieg ich als ausgabe nur die startwerte
u1=0
u2=1
u3=b
..
Ich denk mein Fehler liegt an dieser Stelle
Delphi-Quellcode:
while v3>0 do
In der Darstellung oben heißt "!=" doch soviel wie: bis v3=o wird oder ? Ich hab ja jetzt einfach geschrieben v3>0 :S
kann mir da jemand weiterhelfen ? danke !

Gruber_Hans_12345 7. Feb 2007 13:48

Re: Variablen Verwendung
 
wo setzt du b auf einen wert? sehe das niergends - und ansonsten wird der wahrscheinlich 0 sein ...

inherited 7. Feb 2007 13:48

Re: Variablen Verwendung
 
ein != entspricht in Delphi einem <>
Außerdem liest du da oben n und e ein, weist aber a und b zu. Das kann nicht gehen.

Mb123 7. Feb 2007 13:51

Re: Variablen Verwendung
 
n und e hatte ich in meinem code schon durch a und b ersetzt hier allerdings noch nich gepostet, sooorry .
aber wenn ich <> einsetze wird immer noch 0 , 1 , b ausgegeben :/

Delphi-Quellcode:
var
  Form1: TForm1;
  u1,u2,u3,v1,v2,v3,t1,t2,t3,q,a,b:integer;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
begin

a:=StrToInt(edit1.text);
b:=StrToInt(edit2.text);
u1:=1    ;
u2:=0    ;
u3:=a   ;

v1:=0    ;
v2:=1    ;
v3:=b   ;

while v3 <> 0 do
begin

q:= u3 DIV v3;

t1:=u1-q*v1   ;
t2:=u2-q*v2   ;
t2:=u3-q*v3   ;

u1:=v1        ;
u2:=v2        ;
u3:=v3        ;

v1:=t1        ;
v2:=t2        ;
v3:=t3        ;
ListBox1.Items.Add(IntToStr(u1));
ListBox1.Items.Add(IntToStr(u2));
ListBox1.Items.Add(IntToStr(u3));

end;
end;

end.

so sieht es jetzt aus !

3_of_8 7. Feb 2007 13:55

Re: Variablen Verwendung
 
Zitat:

Zitat von Gruber_Hans_12345
wo setzt du b auf einen wert? sehe das niergends - und ansonsten wird der wahrscheinlich 0 sein ...

Das Ding wäre (wahrscheinlich) nicht 0. Einfache Variablen liegen auf dem Stack und werden nicht initialisiert. b könnte also alles sein. Aber der Compiler gibt in dem Fall auch immer passende Warnmeldungen aus.

Mb123 7. Feb 2007 14:00

Re: Variablen Verwendung
 
ich hab die variable doch definiert und gebe ihr dann den wert aus den edit boxen ?!
Delphi-Quellcode:
var
  Form1: TForm1;
  u1,u2,u3,v1,v2,v3,t1,t2,t3,q,a,b:integer;

..

a:=StrToInt(edit1.text);
b:=StrToInt(edit2.text);
oder wie meinst du das ?
Zitat:

"Einfache Variablen liegen auf dem Stack und werden nicht initialisiert."
diesen satz hab ich nich ganz verstanden :p

3_of_8 7. Feb 2007 15:14

Re: Variablen Verwendung
 
Zitat:

Zitat von Gruber_Hans_12345
wo setzt du b auf einen wert? sehe das niergends - und ansonsten wird der wahrscheinlich 0 sein ...

Darauf war das bezogen.

Das ganze ist relativ einfach: Variablen mit festen Größe, wie zum Beispiel Integer, werden auf den Stack gepackt. Natürlich weiß man da nie, was vorher da drauf war.

Mb123 7. Feb 2007 15:23

Re: Variablen Verwendung
 
ähmm ja .. ich weiß zwar nich wie mir das jetzt helfen soll,
denn wenn ich anstatt a u. b feste werte einsetz, passiert genauso wenig.
Das ganze sollte ja sowas produzieren wenn es gehen würde:

http://www.matheprisma.uni-wuppertal...er/eukAlg8.gif

könntest du mir vielleicht sagen, was ich am code verändern muss damit es funktioniert ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr.
Seite 1 von 2  1 2      

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