Pojmenování informací: definice proměnných

Stejně jako se čaroděj může naučit nová slova kouzelného jazyka, může se nová slova naučit i kouzelná hůlka. Tedy... spíše je to čaroděj, kdo kouzelnou hůlku nová slova naučí. Má na to totiž kouzelná slovesa.

Nová slova v jedné kouzelné větě

Jedno z takových sloves je let a může se hodit, třeba když čaroděje stále trápí balení krabice, která je 20 centimetrů dlouhá, 10 centimetrů široká a 2 centimetry vysoká.

Obrázek kvádru se zvýrazněnými stěnami.
Kolik papíru je potřeba na obalení krabice?
Obrázek kvádru se zvýrazněnými čarami ve středech stěn.
Kolik stuhy je potřeba na zavázání krabice?
Obrázek kvádru se zvýrazněnými stěnami a čarami ve středech stěn.
Kolik papíru a stuhy je potřeba na obalení a zavázání krabice?

Místo toho, aby čaroděj vyblekotal kouzelnou větu plnou záhadných čísel, může se na chvilku zastavit a říct si:

a já potřebuji vypočítat:

Nakonec ze sebe dostane kouzelnou větu

Čaroděje taková věta potěší, hlavně když bude balit další krabici, která je 13 centimetrů dlouhá, 17 centimetrů široká a 6.5 centimetry vysoká.

Kolik papíru potřebuje na další krabici?

832 centimetrů čtverečních.

Kolik stuhy potřebuje čaroděj na první krabici?

68 centimetrů.

A kolik stuhy potřebuje na tu druhou?

86 centimetrů.

Čaroděj může naučit kouzelnou hůlku jména i jiných podstatných jmen než jen čísel.

Jak lze použít let v následující kouzelné větě?
A jak v této?

Je potřeba nezapomínat, že když kouzelná hůlka vykoná kouzelnou větu, výsledek je zase slovo kouzelného jazyka. Čaroděj má tak volnou ruku při tvoření mocných vět.

[[Soubor:neprogramator-delka-slov-ne-programator.jpg|náhled|střed|Jak dlouhé je kouzelné podstatné jméno "Neprogramátor"? A co když přeskočím první dvě písmenka?]]
Slovo neprogramátor v úvozovkách s částí slova programátor vyznačenou obdélníkem a indexy jednotlivých písmen začínajících nulou u N a konče dvanáctkou u r. Navíc je vyznačena délka slova neprogramátor (13) i programátor (11).
Jak dlouhé je kouzelné podstatné jméno "Neprogramátor"? A co když přeskočím první dvě písmenka?
Jak by čaroděj použil let v takové větě?

Čaroděj má více možností, jak to tak u vyjadřování myšlenek pomocí jazyků bývá. Jako v minulých případech může pojmenovat podstatné jméno "Neprogramátor":

Také si ale může všimnout, že se opakuje nejen podstatné jméno "Neprogramátor", ale i věta začínající slovesem substring:

Navíc let je sloveso uvozující kouzelnou větu, takže čaroději nic nebrání použít výsledek vykonání takové kouzelné věty jako část jiné kouzelné věty:

Na poslední úpravu už ale sloveso let nestačí. Pomocí let lze pojmenovat podstatná jména, která na sobě nezávisí. Jenže podstatné jméno část závisí na podstatném jméně slovo! Pro to, aby kouzelná hůlka věděla, co podstatné jméno část znamená, musí vyhodnotit kouzelnou větu (substring slovo 2 (string-length slovo)), pro jejíž vyhodnocení potřebuje znát podstatné jméno slovo.

Místo let je proto potřeba použít let*. let* je sloveso kouzelného jazyka, které je hodně podobné let, jen o trochu lépe umí pojmenovat více věcí najednou – následující slova, například část, mohou záviset na těch předchozích, v tomto případě na slovo:

Nová slova, která si kouzelná hůlka zapamatuje

Když čaroděj kouzelné hůlce předá kouzelnou větu

kouzelná hůlka ji vykoná a výsledek vrátí čaroději. Kdyby se pak čaroděj kouzelné hůlky zeptal, kolik že je délka, kouzelná hůlka by nevěděla. Čaroděj kouzelnou hůlku nové slovo naučil jen na chvilku.

Aby si kouzelná hůlka nové slovo zapamatovala, vysvětlí jej čaroděj kouzelné hůlce v kouzelné větě, která začíná slovesem define. O trápení s balením krabice tak může čaroděj s hůlkou sdílet nejednu větu:

Vzápětí se pak může zeptat na délku stuhy a kouzelná hůlka už bude vědět:

Jak by vypadaly věty o druhé krabici?

Čaroděj může kouzelnou hůlku naučit jména i pro ostatní typy podstatných jmen, třeba pro text.

Kolik a jaké věty jsou potřeba při použití define v následující kouzelné větě?

Dvě.

A v této?

Také dvě.

Nakonec zase zbývá kouzelná kombinace dvou předchozích vět. Víme, že při použití let* mocná kouzelná věta zní:

Kolik a jaké věty s define mohou tuto mocnou kouzelnou větu nahradit?

Tři.

Slovníček kouzelného jazyka

Slovesa let a let* slouží čaroději pro dočasné pojmenování informací v jedné větě.

Slovesem define čaroděj naučí kouzelnou hůlku novou informaci, kterou si kouzelná hůlka zapamatuje.


CC BY-SA 4.0 neprogramator.cz