16.11.2014 Views

Anotace Annotation

Anotace Annotation

Anotace Annotation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ÚAI FSI VUT<br />

DIPLOMOVÁ PRÁCE<br />

Radek Lošťák<br />

Strana<br />

55<br />

z: longint; {rychlost odběru}<br />

xe, xh, xga: longint; {vypočtené výrobní dávky}<br />

Name: string; {název stupně}<br />

Sukc: TIntVector; {tabulka následníků}<br />

Ai, Bi, B1, B2: longint; {výrobní dávka max a min}<br />

end;<br />

A TJedenShluk jako potomek třídy TJedenStupen má tvar:<br />

TJedenShluk = class(TJedenStupen)<br />

public<br />

{seznam původních stupňů shluku}<br />

puvodni_stupne: TIntVector;<br />

D: double;<br />

end;<br />

Při výpočtech bylo nutné uchovávat tabulky hodnot, které byly třeba pro výpočet<br />

(např. tabulka hodnot Φ ( x ), k , atd.). Tabulky hodnot mohou být reprezentovány<br />

i i i<br />

vektory, které musí být schopny dynamicky měnit svůj rozsah, protože jejich velikost je<br />

známá až při běhu programu. Pro takové účely byly použity objekty TIntVector,<br />

TdoubleVector a TMatrix, které dynamickou změnu rozsahu umožňují. Pro snadnější<br />

manipulaci s objekty při výpočtech jsou stupně označovány číselně. Každý stupeň lze<br />

identifikovat pomocí jeho pořadí v kolekci TCelyProces.<br />

V načteném procesu obsahujícím seznam instancí třídy TJedenStupen jsou<br />

nejprve zjištěny kružnice a z nich vytvořeny shluky (je volána procedura<br />

KontrolaKruznic). Následuje vytvoření druhé instance třídy TJedenProces, který<br />

obsahuje seznam instancí třídy TJedenShluk (volá se funkce AggregateFrom)<br />

reprezentující agregovanou strukturu bez kružnic. Poté je takto nově vytvořený proces<br />

převeden do objektu pro výpočet (TStages, TOneStage), kde je přečíslován a jsou<br />

volány metody objektu SetSuc, SetPred. Pokud byl vybrán přesný výpočet, je<br />

volána metoda Calculate.<br />

Pro výpočet výrobních nákladů v neagregované obecné struktuře byla vytvořena<br />

nová třída TGeneralStruct obsahující seznam stupňů třídy TStage. TGeneralStruct je ve<br />

zdrojovém kódu definována následovně:<br />

TGeneralStruct = class<br />

private<br />

Stages: array of TStage; {pole výrobních stupňů}<br />

EkvivMatrix: TMatrix; {matice ekvivalentů}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!