Delphi-PRAXiS
Seite 3 von 6     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Addition von Zahlen !!! (https://www.delphipraxis.net/150559-addition-von-zahlen.html)

Deep-Sea 21. Apr 2010 14:40

Re: Addition von Zahlen !!!
 
Zitat:

Zitat von Klaus01
.. for Schleife durchlaufen und mit odd(i)
prüfen ob die Zahl ungerade ist, wenn das der Fall ist die Zahl adieren.

Wenn schon eine Schleife, dann wohl eher While-do oder Repeat-until, die Zählervariable mit 1 initialisieren und bei jedem Durchlauf um 2 erhöhen.
Aber gegen mathematische Lösungen sind schon bei kleineren Zahlen Schleifen endlos langsam.

Klaus01 21. Apr 2010 14:57

Re: Addition von Zahlen !!!
 
@Deep-Sea, da magst Du recht haben - nur sind Schleifen recht einfach zu erkären.

Grüße
Klaus

Deep-Sea 21. Apr 2010 15:01

Re: Addition von Zahlen !!!
 
Zitat:

Zitat von Klaus01
[...] nur sind Schleifen recht einfach zu erkären.

Stimmt - und wenn es wirklich nur um Anschaulichkeit geht, ist das wohl auch in Ordnung. Aber für jeden praktischen Belang sind die mathematischen Lösungen vorzuziehen.
Und was der TE damit will, wissen wir ja nicht ...

hoika 21. Apr 2010 15:14

Re: Addition von Zahlen !!!
 
Hallo,

gerade Zahl -> durch 2 geteilt ergibt Rest 0
ungerade Zahl -> durch 2 geteilt ergibt Rest 0

Rest einer Division in Delphi mod

Wobei es hier bei cleverer Programmierung auch ohne mod geht.


Variable
i Integer;
Summe Integer

i=1
Summe = 0
wiederhole
Summe = Summe+i;

i=i+2;
bis (i>Abbruchbedingung)


Als Schleife wäre hier als repeat until sinnvoll.


Und das ganze in Delphi schaffst du alleine.


Heiko

Teekeks 21. Apr 2010 15:17

Re: Addition von Zahlen !!!
 
Zitat:

Zitat von hoika
gerade Zahl -> durch 2 geteilt ergibt Rest 0
ungerade Zahl -> durch 2 geteilt ergibt Rest 0

[OT] :shock: :tongue: [/OT]

Sherlock 21. Apr 2010 15:36

Re: Addition von Zahlen !!!
 
Gabs bei for nicht was, das Step hieß? :gruebel:

Muss wohl TurboPascal gewesen sein.

Jedenfalls dürfte die Kombination aus Delphi-Referenz durchsuchenrepeat oder Delphi-Referenz durchsuchenwhile mit erhöhen des Zählers um zwei zielführend sein ;)

Sherlock

Sharky 21. Apr 2010 15:38

Re: Addition von Zahlen !!!
 
Zitat:

Zitat von hoika
... Wobei es hier bei cleverer Programmierung auch ohne mod geht. ...

Hai Ilay,

Du kannst Dir ja einmal anschauen wie Ganzezahlen im Binärsystem (also diese nullen und einsen) dargestellt werden.
Du wirst bemerken das sich gerade und ungerade Zahlen nur durch eine einzige Sache unterscheiden.

Je nach dem was von eurem Lehrer gefordert wurde könntest Du jetzt überlegen wie Du mit diesem Wissen enscheidest ob eine Zahl gerade ist oder nicht.

Egal wie Du die Aufgabenstellung löst ist eines wichtig! DU musst wissen wie es funktioniert und dies auch erklären können.

Es ist nicht "wichtig" eine möglichst schnellen Funktion zu schreiben. Viel wichtiger ist es das Du verstehst was sie macht. Erst mit diesem Wissen kannst Du daran gehen Funktionen zu optimieren.

@andere: Was macht ihr denn bei dem "immer um zwei erhöhen" wenn der Startwert ungerade ist?

Addiere alle geraden Zahlen zwichen 3 und 101

Deep-Sea 21. Apr 2010 15:49

Re: Addition von Zahlen !!!
 
Zitat:

Zitat von Sharky
@andere: Was macht ihr denn bei dem "immer um zwei erhöhen" wenn der Startwert ungerade ist?

Addiere alle geraden Zahlen zwichen 3 und 101

Dann setzt man die Zählervariable auf den ungeraden Wert und startet die Schleife. Um ungerade Zahlen geht es ja?! :gruebel:
Ansonsten muss man bei der - nur für Demonstrationszwecke geeigneten "Schleifenlösung" - dafür sorgen, dass der Startwert passt.

(Was ein Aufstand für so'ne Kleinigkeit ^^)

Wolfgang Mix 21. Apr 2010 15:51

Re: Addition von Zahlen !!!
 
@Sherlock
Zitat:

Gabs bei for nicht was, das Step hieß?
Step stammt aus der FORTRAN-Familie, u.a. Basic.
TP kennt kein Step.

LG

Wolfgang

Sharky 21. Apr 2010 15:52

Re: Addition von Zahlen !!!
 
Zitat:

Zitat von Deep-Sea
.... Um ungerade Zahlen geht es ja?! :gruebel: ...

Ups. Sorry, ich meine es natürlich genau umgedreht.
So oder so muss der TE herausfinden können wann, oder warum, eine Zahl gerade ist oder nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 Uhr.
Seite 3 von 6     123 45     Letzte »    

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