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:
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: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129:
| procedure TForm1.Button2Click(Sender: TObjekt);
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;
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;
var daten : tdaten lauf : integer; zeile : string
begin
daten.anzahl := 50;
randomize; for lauf := 1 to daten.anzahl do begin daten.feld[lauf] := random(20)+1; end;
daten.Summe := 0; for lauf := 1 to daten.anzahl do begin daten.Summe := daten.Summe+daten.feld[lauf] end;
daten.mittelw := daten.Summe/daten.anzahl;
daten.max := -maxint; daten.min := maxint;
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;
daten.anzminmw := 0; for lauf := 1 to daten.anzahl do begin if daten.feld[lauf] < daten.mittelw then daten.anzminmw :=aten.anzminmw+1; end;
daten.anzmaxmw := 0; for lauf := 1 to daten.anzahl do begin if daten.feld[lauf] > daten.mittelw then daten.anzmaxmw :=daten.anzmaxmw+1; end;
memo1.lines.add('Ergebnisübersicht')
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);
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);
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; |
Moderiert von Gausi: Delphi-Tags hinzugefügt.