Takhle se mi ta volání líbí. Odpovídají hlavičce volané procedury, je v nich celý výraz který se počítá a přiřazuje.
Zato u toho výpisu je potřeba napsat co se vlastně dělá, protože kosodélník znamená obecný vstup/výstup. Pro čtení z klávesnice a výpis na obrazovku existují speciální značky,
"Manual input" a
"Display". Vypadají jako klávesnice a klasický obrazovkový monitor při pohledu z boku:
Ta procedura je trochu složitější, navíc jsi tam zase nenakreslil jak probíhají ty cykly. Možná by pomohlo přepsat jí do starého pascalského odsazování, to je přehlednější.
Kód: Vybrat vše
procedure vypsanimatice(var m:matice);
var i,j:integer;
begin
for i:= 1 to 5 do
begin
for j:= 1 to 5 do
write(m[i,j],' ');
writeln;
end;
end;
Ve vnitřním cyklu se vypisují buňky jednoho řádku matice, potom se odřádkuje, a to všechno se provádí ve vnějším cyklu pro všechny jednotlivé řádky. Kdyby sis to napsal s většími mezerami, dal by se ten diagram nakreslit přímo do tohohle kódu, kolem jednotlivých příkazů
Begin a end ti pak ukazují místa, kde spojovací čáry vstupují a vystupují do/z jednotlivých bloků příkazů. Každá jednotlivá programová struktura se totiž může brát jako složený příkaz, a zakreslit jako jeden obdélník, viz níže.
Trochu jsem ti opravil hlavičku té procedury a přidal komentář s deklarací použitých proměnných, tak jí zkus dokončit. Jako vzor jsem předělal ten minulý obrázek, a důkladně jsem ho ošipkoval, abys lépe viděl co se v těch cyklech děje. Vnitřní cyklus je navíc orámovaný přerušovanou čarou:
Ten čárkovaný obdélník vnitřního cyklu by mohl obsahovat jen stručný popis, protože je to složený příkaz, který má vcelku jeden vstupní a jeden výstupní bod. Mohlo by v něm být napsáno například
"výpis jednoho řádku matice". Celý program se skládá ze sekvence takovýchhle bloků. které dohromady vytváření jeden blok. Dva a více po sobě následující bloky se vždy dají složit do jednoho bloku, jako korále na nitce.
Každý z těch bloků může zase obsahovat libovolný počet jiných bloků, a všechny se dají zase drobit a drobit až na úroveň jednotlivých instrukcí procesoru (a dalo by se jít ještě dál, přes mikroinstrukce až ke spínání jednotlivých tranzistorů!), když budeš tímhle postupem (zjemňováním) navrhovat program, říká se tomu postup shora dolů. Je to jeden ze základních bodů strukturovaného programování.
A když už jsem načal to strukturování, vývojové diagramy pro něj sice nejsou úplně nejvhodnější (vhodnější jsou struktogramy, ale ty je mnohem pracnější kreslit), ale pokud si ohlídáš aby se ti jednotlivé struktury daly vždy uzavřít do bloku s jedním vstupem a jedním výstupem, bude vždy možné takový vývojový diagram přepsat do libovolného moderního jazyka.
Jenom se ti ty spojovací čáry nesmí nikdy zkřížit, to by znamenalo že jsi někde něco udělal úplně blbě