Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Schleifen Problem :-( (https://www.delphipraxis.net/91347-schleifen-problem.html)

peeff 3. Mai 2007 18:13


Schleifen Problem :-(
 
hallo leute,
könnt ihr einem anfänger mal nen tip geben?
weiß nicht warum die schleife nicht funktioniert.
ich möchte eine sinuskurve in einem fenster(y= höhe 400) ausgeben.
zum testen zeige ich ,Amplitude und a in einem label an.
die schleife läuft aber nur bis a=2 und dann geht nixmehr.
vielleicht wißt ihr wo ich noch suchen kann.
vielen dank.
Peter


Delphi-Quellcode:
//Versuch einer Sinusanzeige :-((((

          a:=1;
           repeat
              begin
                if a <= 360 then
                a:= a+1
                else
                a:= 1;
                Amplitude:= trunc(sin(pi*a/180)*Y/2+Y/2);
                Label1.Caption := FloatToStr(Amplitude) ;
                Label3.Caption := IntToStr(a);
              end;
           until a<361;

sirius 3. Mai 2007 18:18

Re: Schleifen Problem :-(
 
until=bis

"bis a<361" ist ziemlich schnell erreicht :mrgreen: wenn man bei 1 anfängt

fwsp 3. Mai 2007 18:18

Re: Schleifen Problem :-(
 
das problem liegt an der stelle:

Delphi-Quellcode:
until a<361;
a ist nach dem ersten durchlauf 2 und damit ist es kleiner als 361. deswegen wird die schleife nicht nochmal wiederholt.

vllt solltest du das mal mit
Delphi-Quellcode:
until a = 361;
probieren.

peeff 3. Mai 2007 18:21

Re: Schleifen Problem :-(
 
ups--- ist ja logisch.
werd ich gleich mal testen.
vielen dank :-)

peeff 3. Mai 2007 18:28

Re: Schleifen Problem :-(
 
hab es getestet(until a=361) aber es geht trotzdem noch nicht.
a erreicht nun den wert 361, aber laut schleife dürfte er diesen wert doch nie erreichen????
wo hab ich noch nen denkfehler??

fwsp 3. Mai 2007 18:31

Re: Schleifen Problem :-(
 
das liegt an dieser zeile
Delphi-Quellcode:
if a <= 360 then
wenn a = 360, geht er noch einmal in die schleife. dann wird a = 361.
a wird nicht 362.

wenn du das verhindern willst schreib:
Delphi-Quellcode:
if a < 360 then

peeff 3. Mai 2007 18:33

Re: Schleifen Problem :-(
 
vielen dank
daran lag es
super daß es euch gibt.
peter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.

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-2025 by Thomas Breitkreuz