bm163 Seznam

Řízení programu


 

bm163 záhlaví seznamu

  bm183 počet datových záznamů v seznamu

  bm184 index datového záznamu seznamu

  bm185 automatická inkrementace indexu

 

Seznam slouží k vytváření datových polí. Při vytváření definice seznamu je nutno nastavit položku počtu datových záznamů v seznamu a doplnit do seznamu proměnné. Jako proměnné v seznamu lze použít proměnné libovolného typu. Uvnitř seznamu nelze uvést jiný seznam. Skupině proměnných v seznamu říkáme datový záznam. Na proměnné v záznamu se odkazujeme nastavením indexu záznamu a jednoduchým použitím proměnné seznamu.

 

Vícerozměrný seznam lze snadno vytvořit výpočtem indexu z vícerozměrných indexů. Např. prvky v matici o rozměrech 20(x) * 30(y) lze indexovat výrazem index = x + 20*y .

 

Velikost seznamu určuje prvek počtu datových záznamů v seznamu . Počet datových záznamů v seznamu je číselná konstanta. Její velikost je nutno zadat při vytváření programu, při běhu programu již nelze měnit. Zadání se provádí jako u číselných konstant buď dosazením prvků číslic nebo zadáním textu čísla do popisného textu prvku (použije se, není-li dosazen žádný prvek číslice, za textem čísla může být uveden libovolný text). Prvek počtu datových záznamů lze používat v programu jako číselnou konstantu. Tím je zajištěno, že po změně velikosti seznamu se tato změna odrazí i v programu bez nutnosti zásahu do programu.

 

Záznamy v seznamu se adresují pomocí indexu záznamu . Je to běžná číselná proměnná po jejímž nastavení budou přístupné proměnné zvoleného záznamu. Při nastavení indexu záznamu je zadaný číselný výraz zaokrouhlen na nejbližší celé číslo a je operací modulo zarovnán do platných mezí seznamu. Tím je zajištěno, že index ukazuje vždy na platný záznam seznamu. Nelze testovat dosažení konce seznamu porovnáním indexu s velikostí seznamu, neboť index nemůže nikdy dosáhnout hodnoty prvku počtu datových záznamů v seznamu. Lze tak snadno realizovat posuny indexu v seznamu i o větší úseky, neboť index přetéká přes hranice seznamu opět na jeho opačný konec.

 

Pro usnadnění manipulace s položkami seznamu je k dispozici prvek pro automatickou inkrementaci indexu seznamu . Tento prvek umožňuje, že po každém přístupu k některé proměnné seznamu je index seznamu automaticky posunut o počet položek udaný prvkem automatické inkrementace. To je výhodné např. při inicializačním naplnění seznamu. Jednoduchým přiřazováním proměnných položkám seznamu se index seznamu automaticky posouvá na další položky. Při více proměnných v jednom záznamu je proto výhodnější naplnit vždy jednu proměnnou pro všechny indexy a poté pokračovat další proměnnou.

 

Příklad použití:

 

bm186