Hallo Leute!
Ich habe ein riesen Problem. Wir müssen in der Schule einen Quelltext in Deplhi kommentieren. Und zwar jeden einzelnen Schritt bzw. jede Zeile! Hab schon einige Kommentare selbst gemacht,aber jede Zeile bekomm ich nicht hin.
Kann mir bitte jemand helfen? Wäre sehr nett!
Hier zunächst die Aufgabenstellung, zu welcher der Quelltext gefordert wurde.
- Auf einen Datenbestand von maximal 100 ganzen Zahlen sollen 50 Zufallszahlen aus einem Bereich von 1..20 abgelegt werden.
- Von diesem Datenbestand sollen folgende Aussagen gewonnen und ebenfalls im Speicher abgelegt werden:
- kleinstes und größtes Element, Summe aller Zahlen
- Mittelwert (arithmetisch)
- Anzahl der Zufallszahlen
- Anzahl der Zahlen, welche größer und kleines als Mittelwert sind
Nun der Quelltext, welcher kommentiert werden soll:
procedure TForm1.Button2Click(Sender: TObjekt);
//der geforderte Datentyp
type tfeld = array [1..100] of integer;
tdaten = record
feld : tfeld;
anzahl : integer;
max : integer;
min : integer;
Summe : integer;
mittelw : real;
anzminmw : integer; (Anzahl der Werte, die kleiner sind als Mittelwert)
anzmaxmw : integer; (Anzahl der Werte, die größer sind als Mittelwert)
end;
//dies ist nur die lokale Prozedur zum Sortieren des Datenbestandes
procedure sortiere (var daten : tdaten);
var lauf, lauf1,hilf : integer;
begin
for lauf := 1 to daten.anzahl do
begin
for lauf1 := 1 to daten.anzahl-1 do
begin
if daten.feld[lauf1] > daten.feld[lauf1+1]
then
begin
hilf := daten.feld[lauf1];
daten.feld[lauf1] := daten.feld[lauf1+1];
daten.feld[lauf1+1] := hilf;
end;
end;
end;
end;
//die benötigten Variablen
var daten : tdaten
lauf : integer;
zeile : string
//beginnt die Klieckprozedur vom Button 2, also Start- Button
begin
//50 Zufallszahlen sollchen gespeichert werden
daten.anzahl := 50;
//Initialisierung der 50 Zufallszahlen
randomize;
for lauf := 1 to daten.anzahl do
begin
daten.feld[lauf] := random(20)+1;
end;
//Summe bilden
daten.Summe := 0;
for lauf := 1 to daten.anzahl do
begin
daten.Summe := daten.Summe+daten.feld[lauf]
end;
//Mittelwert bestimmen und ablegen
daten.mittelw := daten.Summe/daten.anzahl;
//kleinstes und größtes Element ermitteln
daten.max := -maxint;
daten.min := maxint;
//Kontrollausgabe der Initialisierung
memo1.Lines.add(IntToStr(daten.max)+'absolut kleinstes Element');
memo1.Lines.add(IntToStr(daten.min)+'absolut größtes Element');
For lauf := 1 to daten.anzahl do
begin
if daten.feld[lauf] > daten.max then daten.max := daten.feld[lauf];
if daten.feld[lauf] < daten.min then daten.min := daten.feld[lauf];
end;
//Anzahl der Elemente kleiner Mittelwert ermitteln
daten.anzminmw := 0;
for lauf := 1 to daten.anzahl do
begin
if daten.feld[lauf] < daten.mittelw then daten.anzminmw :=aten.anzminmw+1;
end;
//Anzahl der Elemete größer Mittelwert ermitteln
daten.anzmaxmw := 0;
for lauf := 1 to daten.anzahl do
begin
if daten.feld[lauf] > daten.mittelw
then daten.anzmaxmw :=daten.anzmaxmw+1;
end;
//Ausgabe der ermittelten Werte
memo1.lines.add('Ergebnisübersicht')
//Textausgabe des Feldes unsortiert
zeile := '';
for lauf := 1 to daten.anzahl do
begin
zeile := zeile+IntToStr(daten.feld[lauf]+'';
if lauf mod 20=0 then
begin
memo1.lines.add(zeile);
zeile := '';
end;
end;
memo1.lines.add(zeile);
//Textausgabe sortierter Datenbestand
sortiere(daten);
zeile := '';
for lauf := 1 to daten.anzahl do
begin
zeile := zeile+IntToStr(daten.feld[lauf])+';';
if lauf mod 20 = 0 then
begin
memo1.lines.add(zeile);
zeile :='';
end;
end;
memo1.lines.add(zeile);
//Ausgabe der gespeicherten Informationen
memo1.lines.add('Anzahl Elemente = '+IntToStr(daten.anzahl));
memo1.lines.add('kleinstes Element = '+IntToStr(daten.min));
memo1.lines.add('größtes Element = '+IntToStr(daten.max));
memo1.lines.add('Summe = '+IntToStr(daten.Summe.));
memo1.lines.add('Mittelwert = FloatToStr(daten.mittelw));
memo1.lines.add('Anzahl > Mw = '+IntToStr(daten.anzmaxmw));
memo1.lines.add('Anzahl < Mw = '+IntToStr(daten.anzminmw));
end;
Ich habe ein riesen Problem. Wir müssen in der Schule einen Quelltext in Deplhi kommentieren. Und zwar jeden einzelnen Schritt bzw. jede Zeile! Hab schon einige Kommentare selbst gemacht,aber jede Zeile bekomm ich nicht hin.
Kann mir bitte jemand helfen? Wäre sehr nett!
Hier zunächst die Aufgabenstellung, zu welcher der Quelltext gefordert wurde.
- Auf einen Datenbestand von maximal 100 ganzen Zahlen sollen 50 Zufallszahlen aus einem Bereich von 1..20 abgelegt werden.
- Von diesem Datenbestand sollen folgende Aussagen gewonnen und ebenfalls im Speicher abgelegt werden:
- kleinstes und größtes Element, Summe aller Zahlen
- Mittelwert (arithmetisch)
- Anzahl der Zufallszahlen
- Anzahl der Zahlen, welche größer und kleines als Mittelwert sind
Nun der Quelltext, welcher kommentiert werden soll:
procedure TForm1.Button2Click(Sender: TObjekt);
//der geforderte Datentyp
type tfeld = array [1..100] of integer;
tdaten = record
feld : tfeld;
anzahl : integer;
max : integer;
min : integer;
Summe : integer;
mittelw : real;
anzminmw : integer; (Anzahl der Werte, die kleiner sind als Mittelwert)
anzmaxmw : integer; (Anzahl der Werte, die größer sind als Mittelwert)
end;
//dies ist nur die lokale Prozedur zum Sortieren des Datenbestandes
procedure sortiere (var daten : tdaten);
var lauf, lauf1,hilf : integer;
begin
for lauf := 1 to daten.anzahl do
begin
for lauf1 := 1 to daten.anzahl-1 do
begin
if daten.feld[lauf1] > daten.feld[lauf1+1]
then
begin
hilf := daten.feld[lauf1];
daten.feld[lauf1] := daten.feld[lauf1+1];
daten.feld[lauf1+1] := hilf;
end;
end;
end;
end;
//die benötigten Variablen
var daten : tdaten
lauf : integer;
zeile : string
//beginnt die Klieckprozedur vom Button 2, also Start- Button
begin
//50 Zufallszahlen sollchen gespeichert werden
daten.anzahl := 50;
//Initialisierung der 50 Zufallszahlen
randomize;
for lauf := 1 to daten.anzahl do
begin
daten.feld[lauf] := random(20)+1;
end;
//Summe bilden
daten.Summe := 0;
for lauf := 1 to daten.anzahl do
begin
daten.Summe := daten.Summe+daten.feld[lauf]
end;
//Mittelwert bestimmen und ablegen
daten.mittelw := daten.Summe/daten.anzahl;
//kleinstes und größtes Element ermitteln
daten.max := -maxint;
daten.min := maxint;
//Kontrollausgabe der Initialisierung
memo1.Lines.add(IntToStr(daten.max)+'absolut kleinstes Element');
memo1.Lines.add(IntToStr(daten.min)+'absolut größtes Element');
For lauf := 1 to daten.anzahl do
begin
if daten.feld[lauf] > daten.max then daten.max := daten.feld[lauf];
if daten.feld[lauf] < daten.min then daten.min := daten.feld[lauf];
end;
//Anzahl der Elemente kleiner Mittelwert ermitteln
daten.anzminmw := 0;
for lauf := 1 to daten.anzahl do
begin
if daten.feld[lauf] < daten.mittelw then daten.anzminmw :=aten.anzminmw+1;
end;
//Anzahl der Elemete größer Mittelwert ermitteln
daten.anzmaxmw := 0;
for lauf := 1 to daten.anzahl do
begin
if daten.feld[lauf] > daten.mittelw
then daten.anzmaxmw :=daten.anzmaxmw+1;
end;
//Ausgabe der ermittelten Werte
memo1.lines.add('Ergebnisübersicht')
//Textausgabe des Feldes unsortiert
zeile := '';
for lauf := 1 to daten.anzahl do
begin
zeile := zeile+IntToStr(daten.feld[lauf]+'';
if lauf mod 20=0 then
begin
memo1.lines.add(zeile);
zeile := '';
end;
end;
memo1.lines.add(zeile);
//Textausgabe sortierter Datenbestand
sortiere(daten);
zeile := '';
for lauf := 1 to daten.anzahl do
begin
zeile := zeile+IntToStr(daten.feld[lauf])+';';
if lauf mod 20 = 0 then
begin
memo1.lines.add(zeile);
zeile :='';
end;
end;
memo1.lines.add(zeile);
//Ausgabe der gespeicherten Informationen
memo1.lines.add('Anzahl Elemente = '+IntToStr(daten.anzahl));
memo1.lines.add('kleinstes Element = '+IntToStr(daten.min));
memo1.lines.add('größtes Element = '+IntToStr(daten.max));
memo1.lines.add('Summe = '+IntToStr(daten.Summe.));
memo1.lines.add('Mittelwert = FloatToStr(daten.mittelw));
memo1.lines.add('Anzahl > Mw = '+IntToStr(daten.anzmaxmw));
memo1.lines.add('Anzahl < Mw = '+IntToStr(daten.anzminmw));
end;
Comment