Tento článok bol vytlačený zo stránky https://referaty.centrum.sk

 

Tvorba programov a WWW stránok

Programování
Programování je činnost, která zahrnuje tvorbu algoritmu a programu. Algoritmem rozumíme obecný postup řešení dané úlohy. Program je zápis algoritmu ve zvoleném programovacím jazyce.

Programem (algoritmem) nemusí být nutně počítačový program — programy jsou např. i návody k použití, předpisy v kuchařkách apod.

ALGORITMUS RIEŠENIA ÚLOHY

Algoritmus je každý predpis, ktorým je jednoznačne definovaná postup- nosť krokov vedúca od meniteľných vstupných informácií k žiadaným výs- tupným informáciám. Algoritmus musí mať hlavne nasledujúce vlastnosti:

a) Determinovanosť: pre každý krok algoritmu je jednoznačne určený nasledujúci krok. Po konečnom počte krokov algoritmus končí.
b) Hromadnosť: algoritmus musí vychádzať z meniteľných vstupných údajov a teda bude predpisom pre riešenie viacerých úloh, ktoré sa od seba líšia vstupnými hodnotami.
c) Rezultatívnosť: pre ľubovoľné prípustné vstupné údaje vedie algoritmus k výsledku.


K týmto požadovaným vlastnostiam algoritmu pristupuje ešte požiadavka praktickej uskutočniteľnosti na dostupnom počítači čo do kapacity pamäte a množstva spotrebovaného strojového času.

Vývojové diagramy

Ako prostriedok analýzy zložitejších úloh je slovný zápis algoritmu nevýhodný hlavne z týchto dôvodov:

- je neprehľadný, nezvýrazňuje zmeny postupu pri realizácii algoritmu a jeho vetvenie,
- má veľkú pravdepodobnosť výskytu nepresností a nejednoznačnosti,
- je vzdialený prísne formalizovanému programovaciemu jazyku.

Pre zápis algoritmov boli preto vypracované a medzinárodne prijaté značky, pomocou ktorých sa algoritmus vyjadrí vo forme tzv. vývojového diagramu (STN 36 9030).

Značky vývojového diagramu
Príklad vývojového diagramu

Strojovo orientované programovanie

Sám určitý typ procesora má dekóder inštrukcií , a teda aj tzv mikrokód (sadu inštrukcií). Programátor zadáva program (pomocou vhodného zariadenia) vo forme 0,1 alebo v šestnástkovej sústave v mikrokóde , a dekóder inštrukcií vytvorí všetky postupy (presuny el. impulzov a pod.) potrebných na vykonanie inštrukcie (príkazu).
Takéto programovanie je strojovo závislé (je nutná znalosť konkrétneho procesora a jeho mikrokódu) a navyše veľmi zložité (i na elementárne činnosti - napr. sčítanie dekadických čísel treba spraviť program). Výhodou je najmenšia veľkosť a najvyššia rýchlosť takto urobeného (optimalizovaného) programu. Takto sa robia programy hlavne na ovládače zariadení, mnohé vírusy atď.

Pre zjednodušenie programovania v strojovom kóde (mikrokóde procesora) bol vyvinutý nástroj nahrádzajúci nutnosť pamätania si binárneho alebo hexadecimálneho vyjadrenia inštrukcie - assembler (jazyk symbolických adries, jazyk symbolických inštrukcií). Je to v podstate prekladač (program), ktorý preloží slovný zápis programu do mikrokódu (object code).

LINKER je program, ktorý pripraví spustiteľný súbor pre konkrétny operačný systém (konkrétnu platformu).

Tieto programovacie jazyky sa označujú ako jazyky nízkej úrovne. Ich hlavnou výhodou je rýchlosť a malá veľkosť a nevýhodou strojová závislosť.

VYŠŠIE PROGRAMOVACIE JAZYKY

Písať zložité programy takýmto spôsobom by bolo veľmi náročné a neefektívne. Preto vznikli vyššie programovacie jazyky - prekladače (sú to opäť programy), ktoré nahrádzajú písanie programu pomocou kódov alebo skratiek assemblera človeku prijateľnejším slovným vyjadrením príkazov (samozrejme väčšinou anglickým). Ďalej ešte obsahujú tzv. knižnice podprogramov (funkcií, procedúr, príkazov) ktoré nemusí programátor pracne programovať (napr. matemat. operácie, grafické operáciea podobne).
Navyše prekladače týchto jazykov (hlavne linkery) sú vytvorené pre rôzne platformy (procesory, prípadne operačné systémy), programátor teda ani nemusí poznať procesor (konkrétny počítač a dokonca mnohokrát ani operačný systém, pod ktorým bude jeho program pracovať). Sú to strojovo nezávislé jazyky.
Nevýhodou je, že takto vytvorené programy sú dlhšie a pomalšie (nedajú sa tak optimalizovať), ako programy v vytvorené v strojovom kóde.

POZN.: Prekladače sú programy, ktoré prekladajú uživateľom napísaný zdrojový text príkazov ( programu ) na tvar, ktorému "rozumie" počítač a prípadne operačný systém - strojový ( cieľový ) tvar. Prekladače sú súčasťou vyšších programovacích jazykov, operačných systémov, prípadne niektorých aplikačných programov.

Podľa funkcie poznáme :

Iterpretátory - pri zadávaní i vykonávaní príkazov musia byť aktívne ( spustený program interpretátora ). Pracuje ako "tlmočník". Do pamäti sa ukladá zdrojový text (prípadne "čiastočne" preložený - kódovaný zdroj. text). Každý príkaz prekladá do sady strojových inštrukcií.

Príklad:
- Basic pre mikropočítače
- COMMAND.COM - pre MS DOS
- JAVA,
ale tiež: - HTML, ..., rôzne makrojazyky (napr. MS OFFICE, ...), programovanie CNC strojov (interpretátorom je riadiaci program pre stroj), atď.

Výhodou je tzv. platformová nezávislosť - pre každú platformu je prekladač, ktorý ako vieme pri behu aplikácie musí bežať tiež (napr v prípade JAVy ako tzv virtuálny počítač - "JAVA virtual machine") a program - zdrojový text (prípadne "čiastočne" preložený - kódovaný zdrojový text) je vždy rovnaký. Preto sa napr. JAVA tak rozšírila na Internete, kde je veľké množstvo rôznych počítačov s rôznymi systémami (procesormi, operač. systémami, ...), teda rôznymi platformami.

Compilátory - používajú sa iba prekladače vyšších programovacích jazykov. Program compilátora musí byť spustený iba pri tvorbe programu, ktorý nakoniec celý preloží ( ako prekladateľ knihy ) do strojového tvaru ( nečitateľný ) a s pomocou LINKERA pre konkrétnu platformu. V pamäti je uložený strojový tvar , zdrojový text si programátor chráni (je to jeho "tvorivé tajomstvo").
Príklad: - PASCAL
- C
- FORTRAN
- Turbo Basic
Vývojové prostredia - programy umožňujúce tvorbu programu "jednoduchšie" - napr. vizuálne programovanie pre WINDOWS, ..., CNC stroje, ...

Štrukturované programovanie


Zložitejšie programy môže tvoriť viacero programátorov, každý musí poznať funkciu "svojej" časti a komunikáciu s "nadriadenou" časťou.

Objektově orientované programování

Objektově orientované programování (zkracováno na OOP, z anglického Object-oriented programming ) je metodika vývoje softwaru, založená na následujících myšlenkách, koncepci:

Koncepce
• Objekty – jednotlivé prvky modelované reality (jak data, tak související funkčnost) jsou v programu seskupeny do entit, nazývaných objekty. Objekty si pamatují svůj stav a navenek poskytují operace (přístupné jako metody pro volání).
• Abstrakce – programátor, potažmo program, který vytváří, může abstrahovat od některých detailů práce jednotlivých objektů. Každý objekt pracuje jako černá skříňka, která dokáže provádět určené činnosti a komunikovat s okolím, aniž by vyžadovala znalost způsobu, kterým vnitřně pracuje.
• Zapouzdření – zaručuje, že objekt nemůže přímo přistupovat k „vnitřnostem“ jiných objektů, což by mohlo vést k nekonzistenci. Každý objekt navenek zpřístupňuje rozhraní, pomocí kterého (a nijak jinak) se s objektem pracuje.
• Skládání – Objekt může využívat služeb jiných objektů tak, že je požádá o provedení operace.
• Dědičnost – objekty jsou organizovány stromovým způsobem, kdy objekty nějakého druhu mohou dědit z jiného druhu objektů, čímž přebírají jejich schopnosti, ke kterým pouze přidávají svoje vlastní rozšíření. Tato myšlenka se obvykle implementuje pomocí rozdělení objektů do tříd, přičemž každý objekt je instancí nějaké třídy. Každá třída pak může dědit od jiné třídy (v některých programovacích jazycích i z několika jiných tříd).
• Polymorfismus – odkazovaný objekt se chová podle toho, jaký je jeho skutečný typ. Pokud několik objektů poskytuje stejné rozhraní, pracuje se s nimi stejným způsobem, ale jejich konkrétní chování se liší. V praxi se tato vlastnost projevuje např. tak, že na místo, kde je očekávána instance nějaké třídy, můžeme dosadit i instanci libovolné její podtřídy (třídy, která přímo či nepřímo z této třídy dědí), která se může chovat jinak, než by se chovala instance rodičovské třídy, ovšem v rámci mantinelů, daných popisem rozhraní.

Programovací jazyky
Existuje velké množství programovacích jazyků umožňujících objektově orientované programování, např. Smalltalk, Java, C++, Object Pascal, C#, Lisp, PHP, Python, Ruby…

Webový prohlížeč

Webový prohlížeč je počítačový program, který slouží k prohlížení World Wide Webu (WWW) . Program umožňuje komunikaci s HTTP serverem a zpracování přijatého kódu (HTML, XHTML, XML apod.), který podle daných standardů zformátuje a zobrazí webovou stránku. Textové prohlížeče zobrazují stránky jako text, obvykle velmi jednoduše formátovaný. Grafické prohlížeče umožňují složitější formátování stránky včetně zobrazení obrázků. Pro zobrazení některých zvláštních součástí stránky, jako jsou Flashové animace nebo Javové applety, je třeba prohlížeč doplnit o specializované zásuvné moduly.
Mezi nejznámější webové prohlížeče patří grafické Internet Explorer, Mozilla Firefox, SeaMonkey, Opera, Konqueror a Safari a textové Links a Lynx.

HTML
HTML je zkratka z anglického HyperText Markup Language , značkovací jazyk pro hypertext. Je jedním z jazyků pro vytváření stránek v systému World Wide Web, který umožňuje publikaci stránek na Internetu.
Jazyk je podmnožinou dříve vyvinutého rozsáhlého univerzálního značkovacího jazyka SGML (Standard Generalized Markup Language). Vývoj HTML byl ovlivněn vývojem webových prohlížečů, které zpětně ovlivňovaly definici jazyka. Je charakterizován množinou značek a jejich atributů . Mezi značky se uzavírají části textu dokumentu a tím se určuje význam (sémantika) obsaženého textu. Názvy jednotlivých značek se uzavírají mezi úhlové závorky ("“). Část dokumentu uzavřená mezi značkami tvoří tzv. element (prvek) dokumentu.
Součástí obsahu elementu mohou být další vnořené elementy. Atributy jsou doplňující informace, které upřesňují vlastnosti elementu.
Značky (také nazývané tagy) jsou obvykle párové. Rozlišujeme počáteční a koncové značky. Koncová značka má před názvem značky znak lomítko.
Dynamická webová stránka
Dynamické webové stránky (dynamické HTML, DHTML) sú stránky spájajúce XHTML, JavaScript alebo iný skriptovací jazyk a väčšinou sú doplnené podporou serverového programovacieho jazyka ako je PHP alebo ASP. Zlúčením týchto metód vývoja webovej stránky vzniká dynamická stránka schopná reagovať na požiadavky užívateľa, ktorými môže byť napríklad zmena výzoru stránky, rolovacie menu, redakčný systém na pridávanie článkov a podobne.
Cascading Style Sheets

CSS je zkratka pro anglický název Cascading Style Sheets , česky tabulky kaskádových stylů . Je to jazyk pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML. Starší verze HTML obsahují celou řadu elementů, které nepopisují obsah a strukturu dokumentu, ale i způsob jeho zobrazení. Z hlediska zpracování dokumentů a vyhledávání informací není takový vývoj žádoucí.

Výhody CSS
Používání kaskádových stylů ve srovnání se samotným HTML v praxi přináší výhody:
• rozsáhlejší možnosti
CSS nabízí rozsáhlejší formátovací možnosti než samotné HTML. Např. pro formátování bloku textu – tj. určení vzdálenosti od jejich elementu či okraje stránky nenabízí HTML nic. CSS má vlastnosti padding a margin. V HTML by bylo potřeba vytvořit složitou konstrukci vnořených tabulek.
• konzistentní styl
Na všech stránkách webové prezentace by měly být všechny nadpisy stejné úrovně, seznamy, zdurazněné části textu apod. stejného stylu. S použitím formátovacích možností HTML je to obtížné – u každého objektu v každém dokumentu se vzhled objektu stále znovu nastavuje. S použitím CSS je to velmi jednoduché. Vytvoří se soubor stylu, který se připojuje k HTML dokumentu. Ve všech dokumentech jsou pak objekty stejného vzhledu.
• oddělení struktury a stylu
• dynamická práce se styly
Provést změnu stylu webu, který pro formátování vzhledu využívá jen možnosti HTML, znamená najít a nahradit všechny značky a změnit atributy mnoha dalších značek. V případě používání CSS znamená změna stylu webu přepsání jediného souboru – souboru stylů.
• formátování XML dokumentů
• větší kompatibilita alternativních webových prohlížečů
• kratší doba načítání stránky

Výhodou CSS oproti starému formátování v HTML je, že kód a obsah webu je uložen v souboru .html a veškerý design a formátování se načítá z jednoho souboru .css, který je většinou společný pro celý web. To znamená, že pokud máte v plánu změnu designu webu, stačí změnit pouze jeden soubor .css a změna se aplikuje na celý web. Také se soubor CSS uloží do mezipaměti prohlížeče a pokud není změněn, tak se načítá pouze jednou a zobrazení stránek se velmi urychlí. Je také možnost upravit formátování podle prohlížeče, kterým si uživatel danou stránku zobrazuje. Jednoduše si vytvoříte více souborů .css (např. styl1.css a styl2.css) a podle prohlížeče, který si o stránku požádá, připojíte jiný soubor. Tím se dá eliminovat problém různé interpretace kódu jednotlivými prohlížeči.
Nevýhody
Hlavní nevýhodou CSS je zatím stále špatná podpora v majoritních prohlížečích. Různé prohlížeče interpretují stejný CSS kód jinak a je někdy velmi obtížné jej napsat tak, aby se na všech (resp. na několika vybraných) prohlížečích výsledek zobrazil stejně.

Webové aplikácie

Skript – je program napísaný pomocou skriptovacieho jazyka. Skripty bývajú interpretované.
Skript je možné kdykoliv spustit bez nutnosti ho vždy znovu zkompilovat. Vyhodou skriptů je snadnější údržba a vývoj.. Programátorovi v tomto případě stačí obyčejný textový editor, nepotřebuje tedy žádný speciální kompilátor nebo vývojový nástroj. Skriptovací jazyky se dnes nejčastěji využívají v prostředí webových aplikací.
Příklady skriptovacích jazyků: Python, PHP, JavaScript, Perl atd.

Applet je (relatívne) jednoduchá aplikácia, ktorá sa spúšťa z WWW prehliadača (browsera). Applet je potomok triedy java.applet.Applet. Je to v podstate trieda, ktorú sme odvodili od triedy java.applet.Applet. Applety majú veľké obmedzenie pri práci so súborovým systémom. Jednoducho povedané, applet je väčšinou primitívna aplikácia.
Softwarový program, který běží v rámci jiného programu - například webového prohlížeče - takže nemůže být spuštěn samostatně. Často se na webu používají applety v jazyce Java, které k běhu potřebují JVM - javový virtuální stroj. Kromě toho jsou applety i Flash filmy.

Servlet je speciální třída v jazyce Java, která běží v rámci servletové kontejneru. To je speciální web server, který je schopný hostovat právě servlety. Funkční verze servletu je dostupná na adrese.
Je protokol pro propojení externích aplikací s webovým serverem. To serveru umožňuje delegovat požadavek od klienta na externí aplikaci, která dle požadavku vrátí výstup. Taková aplikace typicky zpracuje nějaký skript ve webové stránce a webovému serveru navrátí statickou stránku, která je následně poslána klientovi jako výstup jeho požadavku.


Koniec vytlačenej stránky z https://referaty.centrum.sk