Thema: Prism Min-Sort Verfahren

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#25

AW: Min-Sort Verfahren

  Alt 5. Mär 2013, 10:11
Also beim Programmieren kommt es auch darauf an, dass man die Arbeit strukturiert und sich diese damit wesentlich vereinfacht.
  • Ein Array mit Integer-Zahlen soll mit Zufallszahlen gefüllt werden
  • Ein Array mit Integer-Zahlen soll sortiert werden
  • Ein Array mit Integer-Zahlen soll in einem Memo ausgegeben werden
Das führt uns doch schon mal zu folgenden Rümpfen:
Delphi-Quellcode:
// Ein Integer-Array mit zufälligen Zahlen füllen

procedure FillArray( var AIntArray : array of Integer; Min, Max : Integer );
begin

end;

// Ein Integer-Array sortieren

procedure SortArray( var AIntArray : array of Integer );
begin
  
end;

// Ein Integer-Array in ein Memo ausgeben

procedure WriteArrayToMemo( const AIntArray : array of Integer; AMemo : TMemo );
begin

end;
Unsere Hauptaufgabe sieht damit schon sehr reduziert aus
Delphi-Quellcode:
// Mit Zahlen im Bereich 1 bis 100 füllen
FillArray( MeinArray, 1, 100 );
// Ausgabe im Memo1
WriteArrayToMemo( MeinArray, Memo1 );
// Array Sortieren
SortArray( MeinArray );
// Ausgabe in Memo2
WriteArrayToMemo( MeinArray, Memo2 );
Im ganzen Satz und mit den programmierten Rümpfen (ausgenommen der Sortierung) sieht das dann so aus
(EDIT: ich habe das jetzt auch mal an den Aufgabentext angepasst )
Delphi-Quellcode:
unit Main_ViewU;

interface

uses
  SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
  TForm1 = class( TForm )
    Unsortiert_Memo : TMemo;
    Sortiert_Memo : TMemo;
    Erzeuge_Button : TButton;
    MaxSort_Button : TButton;
    procedure Erzeuge_ButtonClick( Sender : TObject );
    procedure MaxSort_ButtonClick( Sender : TObject );
  private

  public

  end;

var
  Form1 : TForm1;
  // Array mit den Zahlen
  MeinArray : array [1 .. 20] of integer;

implementation

{$R *.dfm}
// Ein Integer-Array mit zufälligen Zahlen füllen

procedure FillArray( var AIntArray : array of integer; Min, Max : integer );
var
  LIdx : integer;
begin
  for LIdx := Low( AIntArray ) to High( AIntArray ) do
    begin
      AIntArray[LIdx] := Random( Max - Min + 1 ) + Min;
    end;
end;

// Ein Integer-Array sortieren

procedure SortArray( var AIntArray : array of integer );
begin

end;

// Ein Integer-Array in ein Memo ausgeben

procedure WriteArrayToMemo( const AIntArray : array of integer; AMemo : TMemo );
var
  LIdx : integer;
begin
  AMemo.Lines.BeginUpdate;
  try

    AMemo.Clear;

    for LIdx := Low( AIntArray ) to High( AIntArray ) do
      begin
        AMemo.Lines.Add( IntToStr( AIntArray[LIdx] ) );
      end;

  finally
    AMemo.Lines.EndUpdate;
  end;
end;

procedure TForm1.Erzeuge_ButtonClick( Sender : TObject );
begin
  // Mit Zahlen im Bereich 1 bis 100 füllen
  FillArray( MeinArray, 1, 100 );

  // Ausgabe im Memo1
  WriteArrayToMemo( MeinArray, Unsortiert_Memo );
end;

procedure TForm1.MaxSort_ButtonClick( Sender : TObject );
begin
  // Array Sortieren
  SortArray( MeinArray );

  // Ausgabe in Memo2
  WriteArrayToMemo( MeinArray, Sortiert_Memo );
end;

end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 5. Mär 2013 um 10:17 Uhr)
  Mit Zitat antworten Zitat