Entwickler-Ecke
Sonstiges (Delphi) - Speicherbelegung
Delete - Mo 08.11.04 18:07
Titel: Speicherbelegung
Ich muss in einem Vortrag eine Speicherbelegung für mein Referat über die Primfaktorzerlegung erklären.
Der Quelltext des Programms lautet:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| function zerlege(i: integer): string;
var s: string; procedure zz(a: integer); var i: integer; begin for i := (a div 2) downto 2 do begin if (a mod i = 0) then begin s := s+inttostr(a div i)+'*'; zz(i); exit; end; end; s := s+inttostr(a); end; begin zz(i); if pos('*',s) = 0 then s := 'Primzahl!'; result := s; end;
label1.caption := zerlege(strtoint(edit1.text)); |
Die Werte sollen 'a', 'i', 's', 'result' und 'label.caption' sein.
Das soll so eine Tabelle sein, in der Schritt für Schritt erklärt wird,
was der Computer rechnet.
Ich versteh echt nicht, wie ich das hinbekommen soll.
Wäre super froh, wenn mir jemand helfen könnte/würde... :wink:
Ganz lieben Gruss,
neo
Moderiert von
Udontknow: Code- durch Delphi-Tags ersetzt.
BenBE - Mo 08.11.04 20:55
OK, halten wir also fest: Hausaufgabe oder Referat über unbekanntes Thema.
Weiterhin:
Geht es hier um die Speicherbelegung\Speicherbelastung oder die Algorithmen-Erklärung? Zweiteres wäre nämlich etwas komplett anderes.
Bitte frage, nach Abschnitt 1.2 der DF-Richtlinien, auf Grund der Deaktivierung der Edit-Funktion, einen Moderator nach der Änderung deines Thread-Themas in etwas aussagekräftigeres.
Wegen Algo-Erklärung:
Eigentlich das, was der Reihe nach da steht :D
Delete - Mo 08.11.04 22:19
also ich find meinen titel doll...
das mit dem prog hab ich mir irgendwie so vorgestellt:
man(n) nehme die zahl 120!
Quelltext
1: 2: 3: 4: 5:
| a | 120 60 30 15 i | 60 30 15 s | 2* 2*2* 2*2*2* 2*2*2*3*5 result | label1.caption | 2*2*2*3*5 |
lol!
neja, ist doch schon mal ein anfang.
hättest du eine idee, wie ich das schöner bzw.
intelligenter schreiben kann, und was ich mit
'result' anfangen muss, das muss nämlich unbedingt
vorkommen im vortrag.
gruss, neo
BenBE - Mo 08.11.04 23:46
NeoAngel hat folgendes geschrieben: |
also ich find meinen titel doll... |
Er ist aber irreführend ;-) Normalerweise bezeichnet man damit die RAM-Auslastung, die durch ein Programm verursacht wird, nicht die Variablen-Belegung.
NeoAngel hat folgendes geschrieben: |
das mit dem prog hab ich mir irgendwie so vorgestellt:
man(n) nehme die zahl 120! |
Quelltext
1: 2: 3: 4: 5:
| a | 120 60 30 15 i | 60 30 15 s | 2* 2*2* 2*2*2* 2*2*2*3* 2*2*2*3*5 result | 2*2*2*3*5 label1.caption | 2*2*2*3*5 |
Jedoch gehört das Label nicht zur Funktion und sollte daher komplett rausgelassen werden.
NeoAngel hat folgendes geschrieben: |
lol! |
tzzz!
NeoAngel hat folgendes geschrieben: |
neja, ist doch schon mal ein anfang.
hättest du eine idee, wie ich das schöner bzw.
intelligenter schreiben kann, und was ich mit
'result' anfangen muss, das muss nämlich unbedingt
vorkommen im vortrag. |
@Result: Siehe Einsteiger-Tutorial-Sparte "Funktionen"
@Besser schreiben: Siehe "Programm-Ablauf-Plan" (PAP)
Karlson - Mo 08.11.04 23:50
Ich tippe mal darauf dass der Kollege morgen die Funktion erklären muss ;)
Delete - Di 09.11.04 08:07
Also ich hab weder ein Tutorial zu Funktionen noch was zum Programm Ablauf gefunden.
Ist meine 'Speicherbelegung' oder was auch immer ihr darunter versteht nun richtig,
wenn ich das Ergebnis anstatt unter Label1.Caption unter result schreibe?
Wenn nicht, schreibt doch bitte wie ich's richtig mach,
ich muss den Vortrag schon morgen halten.
Gruss, neo
Delete - Di 09.11.04 09:09
Eventuell solltest du mal überlegen, wie du klar ausdrückst, was du eigentlich von uns willst.
Ich habe mal meine Glaskugel bemüht und die sagt mir, du willst von uns, dass wir dir sagen wie deine Funktion arbeitet und welche Werte die Variablen nacheinander annehmen bis die Funktuion zurückkehrt. Wo ist da das Problem? Nimm dir Papier und Bleistift und rechne von Hand nach, was die Funktion macht. In einer Tabelle hältst du für jeden Schleifendurchlauf die Werte der Variablen fest.
Und was das mit dem
result angeht:
Result ist eine interne Variable von der Programmiersprache Delphi, in der Funktionen ihr Rückgabeergebnis ablegen bzw. zurückgeben:
Delphi-Quelltext
1: 2: 3: 4:
| add(a, b: Integer): Integer; begin result := a + b; end; |
In
Result steht jetzt das Ergebnis der Addition und ist auch gleichzeitig der Rückgabeweet der Funktion wenn selbige verlassen wird.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!