3

První zakázky

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
PetrPrací prášek240 kč
OndraSavo80 kč
PavlaToaleťák65 kč
ZuzkaMýdlo50 kč
PavlaZávěs do koupelny350 kč
LiborPivka na kolaudačku124 kč
PetrPytle na odpadky75 kč
MíšaUtěrky na nádobí130 kč
OndraToaleťák120 kč
MíšaPečící papír30 kč
ZuzkaSavo80 kč
PetrTapeta na záchod315 kč
OndraToaleťák64 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.