Programování
je 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 ve zvoleném programovacím jazyku. Patří k nim i testování a ladění programu, včetně údržby po dobu jeho životnosti.
Program
je souhrn pokynů pro zpracování dat počítačem (procesorem), zapsaný jako algoritmus ve formě nějakého zdrojového kódu, tj. v některém z programovacích jazyků.
Stručná historie programovacích jazyků
Všechny počítače pracují ve dvojkové soustavě, tj. programy i data jsou v nich uložena binárně, tj. pomocí číslic 0 a 1. Prvním programovacím jazykem byl přímo strojový kód, ve kterém se od poloviny 20. století (u nás převážně na Sovětských počítačích Ural a Minsk) pomocí nul a jedniček programovaly strojové instrukce. Zjednodušením pak bylo používání osmičkové a šestnáctkové (hexadecimální) číslené soustavy.
Následně vznikl jazyk symbolických adres Assembler a kolem roku 1960 v USA první vyšší programovací jazyky - FORTRAN pro vědecko-technické výpočty a COBOL pro zpracování hromadných dat v podnikatelské sféře a veřejné správě. V současné době je programovacích jazyků několik stovek, z nichž nejpoužívanější jsou Python, Java, Javascript, PHP, jazyky C a další. První tři historické jazyky byly před více než půl stoletím navrženy tak užitečně, že se v celosvětových statistikách o využívání stále vyskytují mezi první třicítkou.
www.tiobe.com/tiobe-index - - - pypl.github.io/PYPL - - - prog-story.../vybrane-jazyky-programovani
ČeV - 10.6.2020
Data
jsou číselné nebo textové informace, technicky zaznamenané na některém datovém mediu tak, aby je bylo možno zpracovat počítačem (procesorem).
Počítače pracují ve dvojkové soustavě, takže všechna data musí být zaznamenána binárně, tj. pomocí číslic 0 nebo 1, uložených v paměti jako jeden bit. Základní paměťovou jednotkou pak je bajt (Byte), tj. skupina 8 bitů, jejichž binární datový obsah lze popsat dvěma hexadecimálními číslicemi. Šestnáctková (hexadecimální) číslelná soustava obsahuje 16 znaků, kterými jsou "0123456789abcdef".
Číselné soustavy - - - cs.wikipedia.org/Číselná_soustava - - - Bit - - - Bajt
Ve svých počátcích pracovaly počítače pouze s čísly, později s texty v anglické abecedě, která spolu s dalšími potřebnými znaky byla definována 1-bajtovým hexadecimálním kódem ASCII (American Standard Code for Information Interchange). S rozšířením jejich využívání a především s celosvětovým rozvojem internetu však vznikla potřeba ukládat a prezentovat texty v mnoha různých národních jazycích a písmech. Za tím účelem byl vytvořen 2-bajtový kód utf-8 (Unicode Transformation Format), který v tomto směru znakovou sadu ASCII rozšiřuje.
Pro kódování češtiny vzniklo historicky postupně několik variant, které mohou způsobovat problémy při práci se staršími texty. V současné době by mělo být zásadou požívat výhradně mezinárodně jednotné kódování utf-8. Prohlížeče si jazyk a kódování přečtou v úvodu při načítání stránky, při prvním ukládání textu v editoru je nutno zkontrolovat, zda je nastaveno.
cs.wikipedia.org/Seznam_jazyků - - - UTF-8 - - - ASCII - - - Kódování_češtiny
ČeV - 10.6.2020
html - (Hypertext Markup Language = hypertextový značkovací jazyk)
Na kterémkoliv webovém prohlížeči kdekoliv na světě je možno při prohlížení stránky přes pravé tlačítko myši zvolit "zobrazení zdroje", resp. "zdrojového textu stránky". Základem každé webové stránky je totiž prostý textový soubor, jaký je tvořen např. editorem "Poznámkový blok". Pomocí značek jazyka "html" je v něm definováno, z jakých komponent a zdrojů je stránka při načtení prohlížečem sestavena a zobrazena.
Kromě "html" jsou k prezentaci stránek dalšími zdrojovými kódy tzv. Kaskádové styly "css" (Cascading Style Sheets) pro řízení způsobu zobrazení dat a skripty v programovacím jazyku "JavaScript", který umožňuje jejich interaktivní vlastnosti a dynamické změny.
cs.wikipedia.org/Hypertext_Markup_Language - - - Kaskádové_styly - - - JavaScript
Jako příklad zdrojového kódu si uvedeme úvodní řádky webové stránky (typ dokumentu html) v češtině (lang="cs"), která se píše směrem zleva doprava, tj. "direction left to rigt" a tedy (dir="ltr"), s použitým kódováním utf-8 a textem titulku v národním jazyce - všechny příklady jsou z jazykových verzí výše odkazované stránky Wikipedie > HTML:
<!DOCTYPE html>
<html class="client-nojs" lang="cs" dir="ltr">
<head>
<meta charset="UTF-8"/>
<title>Hypertext Markup Language – Wikipedie</title>
varianta zdrojového textu stránky v čínštině
<!DOCTYPE html>
<html class="client-nojs" lang="zh" dir="ltr">
<head>
<meta charset="UTF-8"/>
<title>HTML - 维基百科,自由的百科全书</title>
a v urdštině, která se píše zprava doleva
<!DOCTYPE html>
<html class="client-nojs" lang="ur" dir="rtl">
<head>
<meta charset="UTF-8"/>
<title>ایچ ٹی ایم ایل - آزاد دائرۃ المعارف، ویکیپیڈیا</title>
ČeV - 10.6.2020
datová položka = uživatelsky, tj. autorem programu pojmenovaný úsek paměti (DAT-1,...),
na rozdíl od jiných jazyků musí v COBOLU být vždy určen rozsah a způsob, jak jsou v ní data zobrazena (pic)
popis datové položky = číslo úrovně, uživatelské jméno a vlastnosti - povinně UKONČEN TEČKOU.
INP-C, INP-S jsou samostatné (úroveň 77) datové položky alfanumerické (= obsahují klausuli "pic x")
literál = konstanta v programu, pokud je uvedena v rámci příkazu, nelze jiměnit (Lit-1,...)
alfanumerický literál = text v uvozovkách " " nebo v apostrofech ' ' (Lit-x)
numerický literál = číslo bez uvozovek (Lit-9)
Poznámky:
- zde prezentované možnosti práce platí pro konkretní JDoodle-IDE, v jiných prostředích se mohou lišit,
odkazy na podrobnou dokumentaci hlavních světových dodavatelů IDE COBOL (IBM, Micro Focus a Fujitsu),
jsou uvedeny v XXX ...
- lexikon je naplňován postupně v návaznosti na prezentované příklady ...
add ... příkaz
close ... příkaz
command-line ... (příkazový řádek) - fráze >> accept
compute ... příkaz
display ... příkaz, zobrazení obsahu datových položek (DAT-1,...) a literálů (Lit-1,...) na obrazovce
division ... oddíl, uvedené pořadí v programu je povinné
identification division. - - - záhlaví oddílu identifikace (ID),
environment division. - - - záhlaví oddílu prostředí (ED),
data division. - - - záhlaví oddílu dat (DD),
procedure division. - - - záhlaví oddílu procedur (PD),
else ... fráze >> if
end ... fráze >> read
end-XXX ... xxx
fd ... xxx (zkratka pro "file description" = popis souboru)
file-control ... xxx
/cobol/374-detaily/5442-abc-rejstrik-k?showall=&start=4
for ... fráze (pro) >> inspect
from ... (od, z) - fráze >> accept
if = příkaz s podmínkami pro rozhodování, jak se má další zpracování dělit na různé varianty
input ... fráze (vstup) >> open
inspect ... příkaz (prohlédnout)
not ... fráze >> if
open ... příkaz
output ... fráze (výstup) >> open
perform = příkaz (proveď, prováděj), jednorázové nebo opakované (v cyklu) realizaci dílčí části ?odwstavce? programu
nebo posloupnosti vnořených příkazů
pic ... klausule, popisuje zobrazení elementárních datových položek v rámci DD, zastaralá varianta = picture
9 ... numerická
x ... alfanumerická
program-id. - - - xxx,
read ... příkaz
section ... sekce, uvedené pořadí je v rámci ED a DD povinné
input-output section. - - - záhlaví sekce vstupů a výstupů v rámci ED,
working-storage section. - - - záhlaví sekce pracovní paměti (WS) v rámci DD,
select ... xxx
stop run. ... příkaz (zastav běh), ukončení běhu programu
tallying ... fráze (počítej přitom) >> inspect
to ... fráze >> add
trailing ... fráze (koncové) >> inspect *)
until ... fráze (dokud není) >> perform
value = klausule (hodnota), počáteční hodnota, definovaná literálem >> datová položka, podmínkové jméno
write ... příkaz (piš)