Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Ein kleines "rechenprogramm"


Sam-Wise - Fr 16.12.05 17:37
Titel: Ein kleines "rechenprogramm"
Hallo !
Brauche hilfe, denn ich komme nicht weiter.
Ich habe ein formular mit 2 edit-feldern, das eine(e_zahl) zum ziffern eintippen und das zweite(e_summe) zum lesen (readonly)

jez soll der anwender eine zahl bsp. 4 eintippen und der rechner berechnet dann:

1+2+3+4 = e_summe //bis zu 4 (e_zahl also)


ich hatte es schon mal hinbekommen, aber im moment geht bei mir alles drunter und drüber :/


MisterBum83 - Fr 16.12.05 17:41

Also du meinst praktisch ne Summenformel:

Einfach ne For-Schleife bauen und addieren...


Delphi-Quelltext
1:
2:
for i:=1 to strtoint(Edit1.Text) do
ergebnis := i + ergebnis;


Sam-Wise - Fr 16.12.05 17:46

user profile iconMisterBum83 hat folgendes geschrieben:
Also du meinst praktisch ne Summenformel:

Einfach ne For-Schleife bauen und addieren...


Delphi-Quelltext
1:
2:
for i:=1 to strtoint(Edit1.Text) do
ergebnis := i + ergebnis;


dankö, direkt mal ausprobieren, und mit while-do ?

SCHON ok ^^ ich depp ^^


Sam-Wise - Fr 16.12.05 17:52

user profile iconSam-Wise hat folgendes geschrieben:
user profile iconMisterBum83 hat folgendes geschrieben:
Also du meinst praktisch ne Summenformel:

Einfach ne For-Schleife bauen und addieren...


Delphi-Quelltext
1:
2:
for i:=1 to strtoint(Edit1.Text) do
ergebnis := i + ergebnis;


dankö, direkt mal ausprobieren, und mit while-do ?

SCHON ok ^^ ich depp ^^



DOCH NICHT....

Schaut mal das Bild! Danke


Was ich für ne *mist*e mache, hat sich mit FOR-TO-DO erledigt, danke nochmals !


Danniolo - Fr 16.12.05 17:58

Öhm... wenn ich deinen Screenshot richitg deute soll einfach "n" zu einer konstanten Zahl addiert werden.
Dies machts du ganz einfach ohne irgendwelche Schleifen so:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
const Zahl=8;
{...}
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit2.Text := IntToStr(StrToInt(Edit1.Text)+Zahl);
end;


uall@ogc - Fr 16.12.05 18:16

nein das ist schon so richtig, Danniolo

du musst das ergebnis auch initialisieren mit

ergebnis := 0;

vor der schleife


crakos - Fr 16.12.05 18:19

du must die integer Variable "ergebnis" voher = 0 setzen!
Sonst bekommst du das, was du da hast :D


Delphi-Quelltext
1:
ergebnis:=0                    


Danniolo - Fr 16.12.05 18:22

Also wie es auf seinem Screenshot aussieht und auch in der Problembeschreibung steht möchte er nur:
1+2+3 (Konstant) + n (Variabel)
zusammenrechnen. Und dafür braucht man gewiß keine Schleifen. :roll:


crakos - Fr 16.12.05 18:24

wie weit bist du in Mathe?

er will, jedenfals denk ich das.

wenn es 5 ist
1+2+3+4+5
bei 7
1+2+3+4+5+6+7
Halt ne Summenformel! Woebei n die letzte Zahl ist, also die, die man eingibt
Sowie MisterBum83 das schon vorgeschlagen hat. Es muss nur Vor jedem rechnen ergebnis:=0 gesetzt werden :)


Danniolo - Fr 16.12.05 18:29

Ja klar... ok, wenn er das will, dann is das mit den Schleifen schon richtig, ich war aus seinen beschreibungen und so nur net wirklich schlau geworden... :roll:, hätte er wie du zwei Beispiele dafür gegeben
Zitat:
wenn es 5 ist
1+2+3+4+5
bei 7
1+2+3+4+5+6+7

hätte ich ihm genau dasselbe geraten, wie user profile iconMisterBum83
Ach ja... Mathe = 10 Klasse Gymnasium: Logarithmen :wink:


uall@ogc - Fr 16.12.05 18:31

ansonsten kann man auch (n+1)*n/2 als berechnung nehmen


crakos - Fr 16.12.05 18:32

Ja dann kanst du es noch nicht wissen ;)
Ach ja... Mathe = 12 Klasse Gymnasium: Ableitung des natürlichen Logarithmus bzw. jetzt haben wir gerade bewießen, das ln|x| eine bzw. die Stammfunktion von 1/x ist :>


Danniolo - Fr 16.12.05 18:35

naja, das mit den Summenformeln ist ja nicht wirklcih schwer zu verstehn und ich glaube, dass wir das schon durchgenommen haben. Denn aussehen tut das nach 6. Klasse Niveau, oder isses in Wirklichkeit dann doch viel schwerer als es aussieht? :roll:


crakos - Fr 16.12.05 18:54

ja wir haben das bei Ober und Untersummen durchgenommen. Also das womit man zur Integralrechnung kommt. Und dann hatten wir zb bei f(x)=x²
1²+2²+3²+...+n² ;)

//edit Achso Integralrechnung, damit rechnest du Flächeninhalte von Kurven aus.