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

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       16 196×

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.

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 Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý