Array ( [0] => 14658214 [id] => 14658214 [1] => cswiki [site] => cswiki [2] => Programování [uri] => Programování [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 0 [has_content] => 0 [12] => [oai_cs_optimisticky] => ) Array ( [0] => {{Různé významy|tento=procesu při tvorbě počítačového programu|druhý=formě hudební produkce|rozlišovač=hudba}} [1] => {{Informatika}} [2] => '''Programování''' je v [[Informatika|informatice]] proces od návrhu řešení problému pomocí [[Výpočetní technika|výpočetní techniky]] ke [[Spustitelný soubor|spustitelnému]] [[Počítačový program|počítačovému programu]]. Zahrnuje činnosti jako je analýza problému, jeho pochopení, nalezení [[Algoritmus|algoritmu]] a zápis [[Zdrojový kód|zdrojového kódu]] v cílovém [[Programovací jazyk|programovacím jazyce]] (kódování, {{Vjazyce2|en|''coding''}}).{{Citace elektronické monografie|jméno=Shaun|příjmení=Bebbington|datum vydání=2014|url=http://yearofcodes.tumblr.com/what-is-coding|titul=What is coding|datum přístupu=2014-03-03|jazyk=en}}{{Citace elektronické monografie|jméno=Shaun|příjmení=Bebbington|datum vydání=2014|url=http://yearofcodes.tumblr.com/what-is-programming|titul=What is programming|datum přístupu=2014-03-03|jazyk=en}} Účelem programování je nalezení takové sekvence příkazů (resp. [[Strojová instrukce|strojových instrukcí]]), které může počítač provést, a zadaný úkol tak automatizovaně vyřešit. Proces psaní zdrojových kódů často vyžaduje odborné znalosti v mnoha různých oborech, například návrhu aplikací a jejich rozhraní, [[logika|logiky]] a [[Algoritmus|algoritmizace]]. [3] => [4] => Související činností je i [[Testování softwaru|testování]] a [[Ladění (programování)|ladění]] [[počítačový program|počítačového programu]] ([[software]]), včetně jeho následné údržby. Celkově se vše označuje jako [[proces vývoje softwaru]] a využívá se při něm [[softwarové inženýrství]]. [5] => [6] => == Historie programování == [7] => První známý kalkulátor se znaky programování byl [[mechanismus z Antikythéry]] ze [[Starověké Řecko|starověkého Řecka]], který pomocí diferenciálního soukolí zaznamenával pohyby [[Měsíc]]e a [[Slunce]] a s jeho pomocí bylo možné předpovědět zatmění těchto těles a data [[Olympiáda|Olympiád]].{{Citace elektronické monografie|jméno=Ian|příjmení=Sample|datum vydání=2006-11-30|vydavatel=The Guardian|url=http://www.guardian.co.uk/science/story/0,,1960316,00.html|titul=Mysteries of computer from 65BC are solved|datum přístupu=2014-03-03|jazyk=en}} [8] => [9] => V roce 1206 [[Al-Džazárí]] postavil a ve své knize ''Kniha znalostí důmyslných mechanických zařízení'' popsal programovatelný automat, bubeníka, který natočením vaček měnil rytmy a vzory bubnování.{{Citace elektronické monografie|jméno=Georgi|příjmení=Dalakov|url=http://history-computer.com/Dreamers/Arabic.html|titul=The Arabic Automata|vydavatel=History of Computers|jazyk=en}} [10] => [11] => V roce 1801 řídil [[Joseph Marie Jacquard]] svůj tkalcovský stav pomocí sady [[Děrný štítek|děrných štítků]], které představovaly tkaný vzor. Jacquardův tkalcovský stav tak mohl produkovat s různými sadami děrných štítků naprosto odlišné vzory.{{Citace elektronické monografie|url=http://history-computer.com/Dreamers/Arabic.html|titul=Jacquard Loom|vydavatel=The Great Idea Finder|jazyk=en}}{{Citace monografie|titul=Jacquard's Web: How a Hand-Loom Led to the Birth of the Information Age|vydavatel=Oxford University Press, USA|datum vydání=2004-12-01|isbn=978-0-19-280577-5|url=https://archive.org/details/jacquardswebhowh0000essi|příjmení=Essinger|jméno=James|jazyk=en|url-access=registration}} [12] => [13] => Okolo roku 1830 použil děrné štítky také [[Charles Babbage]] pro svůj [[analytický stroj]].{{Citace monografie|titul=Nineteenth-Century Science, An Anthology|vydavatel=Broadview Press|datum vydání=2000|isbn=978-1-55111-165-0|url=http://books.google.com/books?id=m4SB4BHzFeIC&pg=PA84|příjmení=Weber|jméno=Alan S. |jazyk=en}} [14] => [15] => První známou programátorkou byla [[Ada Lovelace]] ([[1815]]—[[1852]]), dcera básníka lorda [[George Gordon Byron|Byrona]]. Zabývala se programováním analytického stroje ({{Vjazyce2|en|''Analytical Engine''}}), který navrhl [[Charles Babbage]]. [16] => [17] => == Programovací paradigmata == [18] => {{Podrobně|Programovací paradigma}} [19] => Jako programovací paradigma se označuje základní přístup k tvorbě programu. Zahrnuje programovou strukturu, způsob formulace problémů a metodologii jejich řešení, metodiku zpracování apod. [20] => * [[Imperativní programování]] (též procedurální programování) – klasický způsob programování. [21] => * [[Deklarativní programování]] – opak imperativního: V programu se definuje, ''co se má udělat'', ne ''jak se to má udělat''. [22] => ** [[Funkcionální programování]] – podmnožina deklarativního programování využívající [[Lambda kalkul|λ-kalkul]]. [23] => * [[Objektově orientované programování]] (zkratka OOP) – programování řízené událostmi, „pracují data“. [24] => * [[Aspektově orientované programování]] – rozšíření myšlenky OOP o zapouzdřování průřezových [[Koncern (programování)|koncernů]] za pomocí [[Aspekt (programování)|aspektů]]. [25] => * [[Generické programování]] – maximální oddělování algoritmů od datových typů. [26] => * [[Logické programování]] – směs imperativního a deklarativního paradigmatu; při jeho použití jsou počítači předložena fakta a pravidla, pomocí kterých se rozhoduje při řešení úloh. [27] => [28] => == Způsob (metodika) vývoje == [29] => Existují v podstatě dva způsoby vývoje software. [30] => [31] => === Kaskádový === [32] => Kaskádový (též [[Vodopádový model|vodopádový]]) způsob je jeden z prvních způsobů vývoje [[software|softwaru]] a probíhá prakticky ve sledu: Návrh (analýza) → programování → nasazení u zákazníka (údržba). [33] => [34] => Jednotlivé fáze se neprolínají, ale jedna navazuje na druhou. Tato vlastnost je i hlavní nevýhodou této metody – u velkých a časově náročných projektů může být čas potřebný pro provedení příslušné etapy tak dlouhý, že podmínky, do kterých je výsledný software nasazen, si žádají zcela jiné požadavky, než byly identifikovány na začátku projektu. [35] => [36] => === Iterační === [37] => Dnešní moderní programování vychází z principu, že při psaní mohou vzniknout chyby (a vznikají), a dále z toho, že některé myšlenky je vhodné si ověřit v praxi, než se zahrnou do projektu. Proto se využívá postup: návrh (analýza) → programováni → testování. [38] => [39] => Etapy známé z vodopádového modelu platí i zde, ale aplikují se na mnohem menší části projektu (např. dílčí funkcionalitu, jednotlivé moduly). Nově identifikovaný požadavek je ihned analyzován, implementován a podroben revizi (testování). Z pohledu celého projektu se jeví, že příslušné fáze probíhají současně. Např. programátor si chce ověřit funkčnost návrhu, a proto vytvoří tzv. „minimální implementaci“ dané části (programování předbíhá návrhu). Nebo se při testování zjistí, že datová prostupnost aplikace je nižší než požadovaná, a proto se daná část přeprogramuje. V ideálním případě se testování účastní i zákazník, který zhotovení programu zadal. Z tohoto principu pak vycházejí a dále ho rozšiřují další metody programování: aspektové, agilní a [[Extrémní programování|extrémní]]. [40] => [41] => == Programovací jazyky == [42] => [[Soubor:Applesoft BASIC.png|náhled|Programování v BASICu]] [43] => {{Podrobně|Programovací jazyk|Seznam programovacích jazyků}} [44] => Pod pojmem '''programovací jazyk''' rozumíme prostředek pro zápis [[algoritmus|algoritmů]], jež mohou být provedeny na počítači. Je komunikačním nástrojem mezi [[programátor]]em, který v programovacím jazyce formuluje postup řešení daného problému, a [[počítač]]em, který program interpretuje technickými prostředky. [45] => [46] => == Programovací nástroje == [47] => {{viz též|CASE nástroje}} [48] => Programovací nástroje jsou programy, které programátorům usnadňují vývoj programů. Nejčastějšími nástroji jsou [[překladač]]e, [[vývojové prostředí|vývojová prostředí]]. Další jsou nástroje pro řešení speciálních úkolů (např. automatické generování kódu): [[GNU bison|bison]], [[Flex lexical analyser|flex]], [[yacc]]. [49] => [50] => == Odkazy == [51] => [52] => === Reference === [53] => {{Překlad|en|Computer programming|434712879}} [54] => [55] => [56] => === Literatura === [57] => * Vacek Václav: Učebnice programování PIC, [[BEN - technická literatura]], 2002 [58] => * Vacek Václav: Učebnice programování ATMEL s jádrem 8051 [[BEN - technická literatura]], 2002 {{ISBN|80-7300-043-1}} [59] => * Bumba Jiří: Programování mikroprocesorů – učebnice; Computer Press,a.s. Brno, 2011. {{ISBN|978-80-251-2838-1}} [60] => [61] => === Související články === [62] => * [[Ladění (programování)]] [63] => * [[Profilování]] [64] => [65] => === Externí odkazy === [66] => * {{Commonscat}} [67] => [68] => {{Proces vývoje softwaru}} [69] => {{Autoritní data}} [70] => [71] => [[Kategorie:Programování| ]] [72] => [[Kategorie:Softwarové inženýrství]] [] => )
good wiki

Programování

Programování je v informatice proces od návrhu řešení problému pomocí výpočetní techniky ke spustitelnému počítačovému programu. Zahrnuje činnosti jako je analýza problému, jeho pochopení, nalezení algoritmu a zápis zdrojového kódu v cílovém programovacím jazyce (kódování).

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'Algoritmus','BEN - technická literatura','Ladění (programování)','software','Charles Babbage','Imperativní programování','Al-Džazárí','Děrný štítek','Zdrojový kód','Počítačový program','Spustitelný soubor','Výpočetní technika'