1

První zakázky

Představíme se několik problémů, které programátoři řeší ve skutečné práci

Cílem tohoto kurzu není z vás udělat programátory, protože to je běh na mnohem delší trať než na jakou máme během jediného dne čas. Co ale za jeden den stihneme, je nahlédnout pod pokličku toho, jak vypadá každodenní práce programátora nebo vývojáře a ochutnat jaké problémy se v programátorské praxi řeší.

Programování z velké části sestává z psaní kódu v nějakém programovacím jazyce. Než ale vůbec můžeme začít něco takzvaně kódit, musíme si dobře rozmyslet, jak zadaný problém vlastně budeme řešit. Je to podobné jako když spisovatel nejdříve vymyslí zápletku příběhu a až poté může sednout k počítači a začít ťukat obsah knihy.

Problém spolubydlení

Psát kód zatím ještě neumíme, ale programátorský způsob přemýšlení nad problémy si můžeme vyzkoušet už nyní.

Představte si šest spolubydlících: Libora, Zuzku, Patra, Pavlu, Ondru a Míšu. Žijí v jednom bytě a dělí se o náklady na společně používané věci jako je toaletní papír, mýdlo, prací prášek apod. Postupně svoje útraty zapisují do tabulky, která může vypadat například takto:

Jméno Věc Částka
Petr Prací prášek 240 kč
Ondra Savo 80 kč
Pavla Toaleťák 65 kč
Zuzka Mýdlo 50 kč
Pavla Závěs do koupelny 350 kč
Libor Pivka na kolaudačku 124 kč
Petr Pytle na odpadky 75 kč
Míša Utěrky na nádobí 130 kč
Ondra Toaleťák 120 kč
Míša Pečící papír 30 kč
Zuzka Savo 80 kč
Petr Tapeta na záchod 315 kč
Ondra Toaleťák 64 kč

Dejme tomu, že uplynulo například půl roku a spolubydlící se chtějí navzájem finančně vyrovnat. Vaším úkolem je vymyslet přesný postup, který mají následovat, aby došlo k celkovému vyrovnání všech lidí. Důležité je, že tento postup musíme vymyslet tak, abychom jej později dokázali sdělit počítači, což znamená, že náš postup musí být opravdu detailní. Nelze přikazovat věci typu “rozpočítej útratu mezi všechny účastníky”. Takové příkazy počítač nezná. Budeme muset pracovat s určitými omezeními.

Počítač za nás nebude přemýšlet

Počítač si můžeme představit jako naprosto hloupého úředníka s tužkou, papírem a kalkulačkou. Naprosto nerozumí pojmům jako účastník, částka, rozpočítat apod., vůbec neumí samostatně přemýšlet. Všechno mu musíme vysvětlit polopaticky a nevynechat žádný detail, na kterém by se mohl zaseknout. On umí pouze základní početní operace na kalkulačce, umí si něco poznamenat na papír a to je tak všechno.

Počítač nekouká doleva ani doprava

Pokud se podíváte na naši tabulku výdajů, možná budete mít nutkání ji vyřešit tak říkajíc šmahem: prostě kouknu a vidím, nějak to tady přičtu, tady odečtu a hotovo. To se může celkem povést pro tabulku o šesti lidech. Těžko ale takový postup uplatníme například pro menší  švýcarskou vesnici, která má 375 obyvatel a v tabulce výdajů je 8 822 záznamů. Pro vaši představu, taková data zaberou oboustranně 197 listů A4 a těžko je můžeme zpracovat šmahem. Máte-li nutkání si tabulku skutečně prohlédnout, můžete si ji stáhnout zde ve formátu PDF.