2. Analýza a návrh řešení

2.3. Operace s polem

Do třetího řádku základní mřížky formuláře (s indexem 2) umístíme další mřížku (Grid). Tuto mřížku rozdělíme do 3 sloupců, které využijeme jako oddělené sekce Plnit, Výstup a Výpočet s jednotlivými tlačítky - viz Obrázek 1. 

Do prvního sloupce této vložené mřížky umístíme objekt typu StackPanel. Do tohoto objektu jako první umístíme popisek (Label) "Plnit", který bude tvořit záhlaví sekce. Pod popisek umístíme 3 tlačítka:

  • Náhodně - plnění vektoru prvky, jenž každý obsahuje náhodně vygenerovanou hodnotu na základě rovnoměrného rozdělení v intervalu, jehož dolní mez představuje hodnota, která je načtena z prvního řádku základní mřížky, tj. hodnota vstupního pole Minimum umístěného na formuláři a hodnota horní meze, která je načtena ze vstupního pole Maximum na formuláři
  • Jednotlivě - plnění vektoru na základě hodnoty uvedené ve vstupním poli Hodnota u prvku, který je indexován pomocí Index: umístěného v prvním řádku základní mřížky
  • Nulovat - plnění vektoru prvky s hodnotou 0

Do druhého sloupce umístíme objekt typu StackPanel. Do tohoto objektu jako první umístíme popisek (Label) "Výstup", který bude tvořit záhlaví sekce. Pod popisek umístíme 2 tlačítka:

  • Vektor jako text - výpis prvků vektoru do řádku za sebou v objektu typu TextBox, kde jednotlivé prvky jsou odděleny čárkou
  • Do mřížky - výpis prvků vektoru do jednotlivých řádků v objektu typu ListView

Do třetího sloupce mřížky umístíme objekt typu StackPanel. Do tohoto objektu jako první umístíme popisek (Label) "Výpočet", který bude tvořit záhlaví sekce. Pod popisek umístíme 4 tlačítka:

  • Minimum -  hledání prvku vektoru s nejmenší hodnotou, včetně vypsání indexu minima
  • Maximum - hledání prvku vektoru s největší hodnotou, včetně vypsání indexu maxima
  • Průměr - výpočet aritmetického průměru ze všech prvků vektoru
  • Seřadit - vzestupné třídění všech prvků vektoru
Pod vloženou mřížku se třemi sloupci umístíme objekt typu WrapPanel, který zarovnáme k pravému okraji. Do tohoto objektu umístíme tlačítko Konec, pomocí kterého uživatel zavře formulář - viz Obrázek 2.  

Formulář bude obsahovat následující objekty (kontrolky), které budou vnořeny následujícím způsobem:

  • Grid (třetí řádek základní mřížky formuláře)
    • StackPanel
      • Grid
        • StackPanel
          • Label
          • Button: BtnNahodne
          • Button: BtnJednotlive
          • Button: Nulovat
        • StackPanel
          • Label
          • Button: BtnVektorJakoText
          • Button: BtnDoMrizky
        • StackPanel
          • Label
          • Button: BtnMinimum
          • Button: BtnMaximum
          • Button: BtnPrumer
          • Button: BtnSeradit
      • WrapPanel
        • Button: BtnKonec


Obrázek 1: Návrh GUI - tlačítka pro operace s polem (JednorozmernePoleWPF)

Formulář bude obsahovat následující prvky - viz Obrázek 2.


Obrázek 2: Návrh GUI - operace s polem - účel jednotlivých objektů v prvním řádku mřížky formuláře (JednorozmernePoleWPF)