Vývojové diagramy - úvod do polí - 18. díl
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Vývojové diagramy - úvod do polí - 18. dílVývojové diagramy - úvod do polí - 18. díl

 

Vývojové diagramy - úvod do polí - 18. díl

Google       Google       27. 1. 2012       9 323×

Náplní dnešního dílu budou pole, která nás následně budou provázet po několik dalších dílů. Postupně si ukážeme, co to je pole, k čemu se hodí a samozřejmě si jejich použití budeme demonstrovat na vývojových diagramech.

Reklama
Reklama

Co to je pole a k čemu je dobré? Řekněme, že chceme řešit náš oblíbený problém s průměrem známek studenta. Tentokráte ovšem změněný o to, že si chceme nejprve všechny známky uložit a pak teprve zpracovávat. Tak to je přece jednoduché, vytvoříme si proměnné znamka1, znamka2, znamka3, znamka4... No jo, ale kolik jich vlastně bude? Kolik potřebujeme proměnných? Co když vytvoříme proměnné jenom pro 20 známek a bude jich potřeba 25? Jak vidno zříti, tudy cesta nevede. K tomuto účelu se právě používá pole - k uložení více dat pod jednu proměnnou a jejich rozlišení indexy (bude vysvětleno dále). Místo proměnných znamka1, znamka2, znamka3, znamka4... tak budeme mít pouze jednu proměnnou znamka.

Co je to vlastně proměnná? Proměnná je námi zvolený název, kterému se v průběhu překladu nebo běhu programu přidělí paměť. Je to tedy tak, že námi zvolený název proměnné je jakýsi alias na adresu v paměti. Vytvoříme-li proměnnou A, tak vlastně máme takový šuplíček, na kterém je napsáno "A" a který obsahuje hodnotu proměnné A. Přiřazením hodnoty 5 do proměnné A vlastně provedeme to, že otevřeme daný šuplíček a vložíme do něj hodnotu 5.

Pole je skupina takových šuplíčků v jednom rámu, který je drží všechny pohromadě a nese název proměnné (tj. na rámu je napsáno "A"). Pokud chceme pracovat s polem jako celkem, tak se na něj odkazujeme jménem pole (A). Pokud chceme pracovat s jednotlivými položkami pole (šuplíčky), tak musíme tzv. indexovat - přistupovat k jednotlivým šuplíčkům. To znamená, že pokud chceme vložit hodnotu do jednoho z šuplíčků pole, tak se na něj musíme odkázat - musíme ho zaindexovat.

Index je vlastně pořadové číslo šuplíčku v daném poli. Každý šuplíček má svůj index na sobě napsaný. Indexace se zapisuje jako číslo v hranatých závorkách za jménem proměnné. V případě našeho pole jménem A, které má 5 šuplíčků, se k jednotlivým položkám (šuplíčkům) přistupuje A[1], A[2], A[3], A[4], A[5]. Chceme-li do 3. šuplíčku pole A zapsat hodnotu 100, tak napíšeme A[3] = 100.

Poznámka: jak to tak bývá, tak ani zde není vše jednoznačné. My budeme používat indexování od 1. Některé programovací jazyky ho také používají, jiné mají indexování od 0, v jiných lze rozmezí indexů definovat. Pro začátek je nejjednodušší používat indexování od 1, které je asi i lidsky nejpřirozenější.

K procházení pole budeme používat cykly (většinou) s daným počtem opakování. Jsou na to jak dělané :). Využijeme k tomu index, který v tomto cyklu používáme. Cyklus tak bude (vždy) od 1 do velikosti pole. A v jednotlivých průchodech budeme přistupovat k jednotlivým šuplíčkům pole. Fragment vývojového diagramu, tak jak jej budeme teď často vídat, je na obrázku.

Pole může být samozřejmě libovolného typu, takže můžeme mít pole 4bajtových celých čísel, pole desetinných čísel atd. Datový typ budeme zapisovat stejně jako u jiných proměnných. Rozlišení, že jde o pole provedeme zápisem hranatých závorek za název proměnné. Pokud budeme vědět, s jak velkým polem budeme pracovat, tak do hranatých závorek zapíšeme tuto velikost. V případě, že neznáme, jak velké bude výsledné pole, tak necháme hranaté závorky prázdné. První typ (se známou velikostí pole) je staticky definované pole - velikost známe v době tvorby programu. Druhý typ je pole s dynamickou velikostí pole - velikost pole se mění dle aktuálních potřeb v programu.

Nyní již máme dostatečný teoretický základ, abychom si mohli udělat jednoduchý příklad, ve kterém si ukážeme práci s polem. Nebudeme na začátek dělat nic složitého, prostě si do pole načteme několik čísel a následně je vypíšeme.

Zadání by mohlo znít následovně: vytvořte algoritmus, ve kterém nejprve uživatel zadá 20 čísel a tato čísla následně v opačném pořadí vypíše na obrazovku. Program se bude skládat ze dvou částí: v první bude uživatel zadávat čísla, která se budou ukládat do pole. V druhé části se tato uložená čísla vypíšou v obráceném pořadí.

Výsledný vývojový diagram vidíte na obrázku. Máme definované pole celých čísel X o délce 20 (int X[20]). V prvním cyklu provedeme načtení 20 čísel do pomocné proměnné A, jejichž hodnotu následně uložíme do pole (do příslušného šuplíčku na aktuálním indexu). V druhém cyklu provedeme výpis. Mohli bychom tam mít rozsah od 20 do 1, ale abychom to trochu pozměnili, tak budeme mít jeho rozsah opět od 1 do 20 a výpis v obráceném pořadí vyřešíme matematickou úpravou, tj. odečtením od velikosti pole a protože indexujeme od 1, tak ještě přičteme 1, neboli 20 - I + 1, což je 21 - I, a proto můžeme zapsat X[21 - I].

V příštím díle budeme pokračovat dalšími příklady, kde bude mít pole jednu z hlavních úloh.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
7 hlasů
Google
Autor se věnuje programování za peníze :)

Nové články

Obrázek ke článku Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

Dovozci baterií do mobilů či notebooků upouštějí od letecké přepravy zboží. V letošním roce plánují dovézt až 80 % produktů lodí. Přitom před 5 lety byla většina baterií do mobilních přístrojů dovezených do České republiky přepravována letadlem. Za proměnou způsobu transportu akumulátorů stojí zpřísnění pravidel pro leteckou přepravu, která přinášejí vyšší náklady i náročnou agendu.

Reklama
Reklama
Obrázek ke článku JIC otevírá největší digitální dílnu pro veřejnost v České republice

JIC otevírá největší digitální dílnu pro veřejnost v České republice

JIC otevírá první nonstop veřejně dostupnou digitální dílnu světového formátu s vybavením za 3 miliony korun. Dílnu může využívat po registraci kdokoliv. V  prostorách vzniknou prototypy produktů místních startupů, projekty kutilů a studentů i umělecká díla. Cílem dílny je zpřístupnit veřejnosti drahé přístroje a přitáhnout více podnikavých lidí k technickým oborům.

Obrázek ke článku Nový IT hráč na českém trhu

Nový IT hráč na českém trhu

V roce 2015 otevřela v Praze na Pankráci v budově City Tower své kanceláře společnost EPAM Systems (NYSE:EPAM), jejíž centrála se nachází v USA. Společnost byla založená v roce 1993 a od té doby prošla velkým vývojem a stále roste.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý