AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zählschleife für summe aufeinanderfolgender Zahlen
Thema durchsuchen
Ansicht
Themen-Optionen

Zählschleife für summe aufeinanderfolgender Zahlen

Ein Thema von Iche · begonnen am 4. Jan 2006 · letzter Beitrag vom 4. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
Iche

Registriert seit: 4. Jan 2006
4 Beiträge
 
#1

Zählschleife für summe aufeinanderfolgender Zahlen

  Alt 4. Jan 2006, 19:19
Hallo,

ich habe ein riesen problem und ich hoffe, es kann mir jemand helfen. Ich soll mit Delphi mithilfe einer zählschleife einb Programm schreiben.
Es sollen 2 zahlen a und b eingegeben werden. Und alle natürlichen zahlen, die zwischen diesen beiden liegen sollen addiert werden. Also z.B. a=2 und b=5 dann: 2+3+4+5

Ich hab grad schon beim ansatz schwierigkeiten:
For :=a to b do

Ich bin total verwirrt.

Kann mir bitte jemand helfen. es ist dringend!!!!

Danke schonmal.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 19:24
Ändere bitte den Titel Deiner Frage, so dass dieser aussagekräftig ist. Hilfe brauchen hier die meisten

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 19:24
Hallo und herzlich willkommen in der Delphi-PRAXiS ,


dies ist Dein erster Tag hier, aber ich muss Dich bitten, Deinem Beitrag einen aussagekräftigen Titel zu geben. Viele von uns brauchen Hilfe - wobei auch immer ... das alleine sagt leider gar nichts aus.



Und zum Thema:
Dein Ansatz "for x:= a to b do ... " ist schon gut:

Delphi-Quellcode:
...
counter:= 0;
for idx:= startWert to zielWert do
  counter:= counter + idx;
...zumindest, wenn sowohl der Start- aus auch der Zielwert mit in die Addition einfließen sollen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Iche

Registriert seit: 4. Jan 2006
4 Beiträge
 
#4

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 19:31
Ok mit dem Titel habt ihr recht! Danke für die Hilfe. sieht aber ziemlich wissenschaftlich aus. glaubt mir bestimmt keine, dass des von mir is. was is idx???
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 19:33
Hallo!

idx ist die Zählervariable. Du kannst das nennen wie du willst; am gängigsten ist jedoch i bzw bei mehreren Schreifen dann einfach fortlaufend j, k, ...

Weißt du wie eine FOR-Schleife funktioniert?
Wenn nicht: http://www.dsdt.info/grundlagen/sprache/schleifen.php

Was verstehst du unter ziemlich wissenschaftlich? *gg*

Es gibt natürlich (unendlich) viele Möglichkeiten um (d)ein Problem zu lösen. Willst du es überhaupt mit einer FOR-Schleife lösen?

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Iche

Registriert seit: 4. Jan 2006
4 Beiträge
 
#6

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 19:45
Vielen Dank für deine Hilfe!
Ja ich muss es mit einer for schleife machen. es steht so in der aufgabenstellung. auf jeden fall muss hinter das for:= a to b do... Das weis ich, aber ich bin mir mit der variable nach for eben nicht sicher. Da kann ich einfach irgendwas nehmen??? Und was kommt nach do für eine Anweisung für die Summe???
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 19:52
Jetzt schlägts aber dreizehn, oder?

Da hat dir nun schon jemand die Lösung gepostet - ich hätts nicht getan! - und dann biste noch zu faul mal den Cursor auf for zu setzen und F1 zu drücken oder was? Ehrlich gesagt kannst du froh sein, dass du am anderen Ende der Leitung sitzt...

Nix für ungut, aber bei soviel Ignoranz ist doch wirklich jedes weitere Wort fürn ..... Also: wie wärs mit a) aufpassen im Unterricht und b) in die Delphi-Hilfe gucken und c) wenns ganz schlimm kommt: mal google oder die Forensuche zu verwenden?

Sorry, aber das musste einfach mal sein. *grml*

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Iche

Registriert seit: 4. Jan 2006
4 Beiträge
 
#8

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 20:00
Vielen dank für deinen schlauen beitrag!
Ich muss das ganze schriftlich machen und habe das delphi programm nicht zuhause und kann auch nicht gucken ob es funktioniert und außerdem hatten wir das nicht im unterricht, sondern müssen es uns selbst erarbeiten!
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#9

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 20:01
Zitat von Iche:
Vielen dank für deinen schlauen beitrag!
... müssen es uns selbst erarbeiten!
erarbeiten!!!!
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#10

Re: Brauche dringend HILFE!!!!!

  Alt 4. Jan 2006, 20:20
Zitat:
habe das delphi programm nicht zuhause und kann auch nicht gucken
Delphi-Hilfe zur For-Anweisung:
Zitat:
Im Gegensatz zur repeat- und while-Anweisung wird bei einer for-Anweisung angegeben, wie oft die Schleife durchlaufen werden soll. Die Syntax einer for-Anweisung lautet

for Zähler := Anfangswert to finalValue do Anweisung

oder

for Zähler := Anfangswert downto Endwert do Anweisung

Die Variablen haben folgende Bedeutung:

Zähler ist eine lokale Variable ordinalen Typs ohne Qualifizierer. Sie wird in dem Block deklariert, in dem die for-Anweisung enthalten ist.
Anfangswert und Endwert sind Ausdrücke, die zu Zähler zuweisungskompatibel sind.
Anweisung ist eine einfache oder eine strukturierte Anweisung, die den Wert von Zähler nicht ändert.

Die for-Anweisung weist Zähler den angegebenen Anfangswert zu und führt anschließend wiederholt Anweisung aus. Abhängig von der verwendeten Syntax wird der Wert von Zähler bei jedem Durchlauf erhöht (for...to) oder erniedrigt (for...downto). Sobald der Wert von Zähler mit dem Wert von Endwert identisch ist, wird Anweisung ein letztes Mal ausgeführt und anschließend die for-Anweisung beendet. Anweisung wird also einmal für jeden Wert ausgeführt, der im Bereich von Anfangswert bis Endwert liegt. Ist Anfangswert mit Endwert identisch, wird Anweisung genau einmal ausgeführt. Wenn Anfangswert in einer for...to-Anweisung größer als Endwert ist, wird Anweisung kein einziges Mal ausgeführt. Dasselbe gilt für eine for...downto-Anweisung, in der Anfangswert kleiner als Endwert ist. Nach der Beendigung der for-Anweisung ist der Wert von Zähler nicht definiert (vorausgesetzt, die Beendigung wurde nicht durch eine break- oder exit-Prozedur verursacht).

Die Ausdrücke Anfangswert und Endwert werden zur Steuerung der Schleifenausführung nur einmal ausgewertet, und zwar vor Beginn der Schleife. Die for...to-Anweisung hat starke Ähnlichkeit mit dem folgenden while-Konstrukt:

begin
Zähler := Anfangswert;
while Zähler <= Endwert do
begin
Anweisung;
Zähler := Succ(Zähler);
end;
end

Im Unterschied zur for...to-Anweisung wird Endwert aber in der while-Schleife vor jedem Durchlauf erneut ausgewertet. Wenn Endwert ein komplexer Ausdruck ist, kann dies eine Verlangsamung der Ausführungsgeschwindigkeit zur Folge haben. Außerdem können sich von Anweisung verursachte Änderungen an Endwert auf die Ausführung der Schleife auswirken.

Hier einige Beispiele für for-Anweisungen:

for I := 2 to 63 do
if Data[I] > Max then
Max := Data[I];
for I := ListBox1.Items.Count - 1 downto 0 do
ListBox1.Items[I] := UpperCase(ListBox1.Items[I]);
for I := 1 to 10 do
for J := 1 to 10 do
begin
X := 0;
for K := 1 to 10 do
X := X + Mat1[I, K] * Mat2[K, J];
Mat[I, J] := X;
end;

for C := Red to Blue do Check(C);
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 Uhr.
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