AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Algorithmus für Lagerverwaltung

Ein Thema von xXDelphiNoobXx · begonnen am 17. Okt 2018 · letzter Beitrag vom 18. Okt 2018
Antwort Antwort
xXDelphiNoobXx

Registriert seit: 17. Okt 2018
1 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Algorithmus für Lagerverwaltung

  Alt 17. Okt 2018, 13:26
Hallo,
seit September mache ich eine Ausbildung zum Anwendungsentwickler. Mein Schwerpunkt soll Delphi sein und nun habe ich folgende Aufgabe bekommen, komme aber absolut nicht weiter..
Gegeben ist eine Lagerfläche(Rechteckig) welche beliebig groß sein kann. Gelagert werden sollen rechteckige Flaschen in verschiedenen Größen(groß, mittel, klein). Wie die Flaschen eingelagert werden sieht man auf den Bildern. Wenn man nun eine Flasche einlagern will soll erst der verfügbare Platz ausgerechnet werden und wenn noch platz ist für die Flasche dies bestätigen. Am besten wäre es wenn man auch gesagt bekommt an welcher Position die Flasche eingelagert werden kann.

Geändert von xXDelphiNoobXx (18. Okt 2018 um 09:18 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: Algorithmus für Lagerverwaltung

  Alt 17. Okt 2018, 13:28


Zitat:
Am besten wäre es wenn man auch gesagt bekommt an welcher Position die Flasche eingelagert werden kann.
Hausaufgaben wird hier keiner für dich machen. Geholfen wird dir aber sicher. Halt nur nicht mit kompletten Code.

Ein angehender Anwendungsentwickler in Ausbildung sollte schon das grundlegende Denkvermögen besitzen, um an eine solche herangehen zu können.
Das hier hat mehr mit Mathematik zu tun als mit Delphi.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Algorithmus für Lagerverwaltung

  Alt 17. Okt 2018, 13:42
Mein Schwerpunkt soll Delphi sein und nun habe ich folgende Aufgabe bekommen, komme aber absolut nicht weiter..
an welcher stelle kommst du nicht weiter? ich seh nur bilder.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Algorithmus für Lagerverwaltung

  Alt 18. Okt 2018, 09:33
Die Flaschen sind nicht rechteckig, nur im Bild 3 nimmt jede Flasche eine rechteckige Fläche ein.
Es ist anzunehmen, dass nur jeweils eine Flaschengröße sortenrein eingelagert werden kann.

Konzept:
Man könnte das Lager durch jeweils eine Klasse für jede einzelne Flaschengröße simulieren.
Bei Programmstart erzeugt man das Lager für die gewünschte Flaschengröße und Lagerfläche.
Um eine Flasche hinzu zu fügen, fragt man eine freie Lagerposition ab.
Ist diese vorhanden (<> nil), setzt man für diese die Eigenschaft Besetzt.

Delphi-Quellcode:
TLagerPosition = class
  x: Integer;
  y: Integer;
  Besetzt: Boolean;
end;

TLagerPositionen = class(TObjectList<TLagerPosition>)
end;

TCustomLager = class
protected
  FItems: TLagerPositionen;
  procedure ErzeugePositionen(ARect: TRect); virtual; abstract;
public
  constructor Create(ARect: TRect);
  destructor Destroy; override;
  function GibFreieLagerPosition: TLagerPosition;
end;

{konkrete Lagerklassen für Flaschengröße A, B und C}

TLagerA = class(TCustomLager)
protected
  procedure ErzeugePositionen(ARect: TRect); override;
end;

TLagerB = class(TCustomLager)
protected
  procedure ErzeugePositionen(ARect: TRect); override;
end;

TLagerC = class(TCustomLager)
protected
  procedure ErzeugePositionen(ARect: TRect); override;
end;

implementation

constructor TCustomLager.Create(ARect: TRect);
begin
  inherited Create;

  FItems := TLagerPositionen.Create;
  ErzeugePositionen(ARect);
end;

destructor TCustomLager.Destroy;
begin
  FItems.Free;

  inherited;
end;

function TCustomLager.GibFreieLagerPosition: TLagerPosition;
var
  lItem: TLagerPosition;
begin
  for lItem in FItems do
  begin
    if not lItem.Besetzt then
    begin
      Result := lItem;
      Exit;
    end;
  end;
  Result = nil;
end;
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Algorithmus für Lagerverwaltung

  Alt 18. Okt 2018, 09:39
Bilder?
welche Bilder?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#6

AW: Algorithmus für Lagerverwaltung

  Alt 18. Okt 2018, 09:40
Die hat er wahrscheinlich entfernt, damit sein Lehrer ihm nicht auf die Scliche kommt
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Algorithmus für Lagerverwaltung

  Alt 18. Okt 2018, 15:04
Hallo,
ich würde die Fläche so in Quadrate aufteilen, wie die minimale Fläche der Flaschen ist.
Und dann einen Algorithmus schreiben, der nach freiem Platz sucht.

Lager: array[0..50,0..50] of X

Als ersten Ansatz.
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz