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

2.1. Dolní a horní mez prvků

Dalšími dvěma volanými podprogramy jsou funkce DolniMez a HorniMez. Pomocí těchto funkcí může uživatel nastavit dolní a horní mez prvků vektoru, tj. minimální a maximální hodnotu, které mohou prvky vektoru nabývat - viz Obrázek 1.

Naplněné jednorozměrné pole - dolní a horní mez prvků vektoru

Obrázek 1: Naplněné jednorozměrné pole - dolní a horní mez prvků vektoru

Funkce DolniMez a HorniMez využívají dva formální parametry:

  • minHodnota - představuje hodnotu stávající dolní meze prvků vektoru
  • maxHodnota - představuje hodnotu stávající horní meze prvků vektoru
U obou funkcí je uplatněn stejný přístup jako v předchozí funkci RozmerPole (pro určení počtu prvků vektoru). U funkce DolniMez je uživatel dotazován, zda chce změnit stávající dolní mez a pokud ano, je proveden výpis výzvy k zadání dolní meze. Tato nová načtená hodnota dolní meze je uložena do proměnné novaHodnota. Nově načtená hodnota dolní meze uložená v proměnné novaHodnota však musí ošetřena, aby nepřekročila stanovenou horní mez uloženou v parametru maxHodnota. Jedná se zejména o kontrolu při plnění jednotlivých prvků vektoru celočíselnými hodnotami ve specifikovaném intervalu. Pokud nová hodnota překročí horní mez, je do proměnné novaHodnota přiřazena hodnota horní meze. Jako další je testována podmínka, zda nová hodnota je jiná než stávající hodnota dolní meze. Pokud ano, je stávající dolní mez uložená v parametru minHodnota přepsána novou hodnotou uložené v proměnné novaHodnota. Je vhodné, aby uživatel byl informován o stávajících hodnotách, proto ještě před přiřazením návratu funkce je vypsána hodnota dolní meze prvků vektoru - viz Obrázek 2. 

Podprogram DolniMez - funkce pro specifikaci dolní meze intervalu hodnot

Obrázek 2: Podprogram DolniMez - funkce pro specifikaci dolní meze intervalu hodnot

Ve funkci HorniMez použijeme obdobný postup, který jsme použili při definování dolní meze s tím rozdílem, že budeme specifikovat horní mez intervalu hodnot, kterých mohou nabývat prvky vektoru - viz Obrázek 3. 

Podprogram HorniMez - funkce pro specifikaci horní meze intervalu hodnot

Obrázek 3: Podprogram HorniMez - funkce pro specifikaci horní meze intervalu hodnot