Walther - kalkulačky ze zbrojařské oceli
Pamatujete si slova ministra informací (Z. Svěráka) ve filmu Tři veteráni?
Já prosím sleduji mezinárodní situaci a podle toho my lijeme buď z písmenek kule anebo z kulí písmenka. Teď lijeme z kulí písmenka, mezinárodní situace je příznivá četbě.
Velmi podobně se chovala v Německu na začátku 20. století celá řada zbrojařských firem, zejména světoznámá firma Walther, jejíž pistoli používal i James Bond, nejlepší tajný agent všech dob. V době mezi válkami, zejména po prohrané první světové válce, musela firma Walther stejně jako mnoho dalších německých firem hledat alternativu k výrobě zbraní v civilním sektoru. Mechanické kalkulačky byly skvělou volbou. Zejména v době, kdy byla mezinárodní situace příznivá obchodním a bankovním výpočtům.
Firma Walther sídlila v poměrně malém městě Zella-Mehlis ve spolkové zemi Durynsko (Thüringen). Ve stejném městečku vyráběla své kalkulátory a psací stroje také firma Mercedes (Mercedes-Bureau-Maschinen). V některých případech spolu dokonce obě firmy spolupracovaly do té míry, že vyráběly jeden a tentýž kalkulátor současně jako Walther i jako Mercedes. Firma Mercedes se však proslavila zejména kalkulátory s poněkud jiným principem než bylo Odhnerovo kolo v kalkulátorech Walther. Přesto, že přízvisko "Das rechnende Wunder aus Zella-Mehlis", tj. "Počítací zázrak z Zella-Mehlis", si získaly kalkulátory Mercedes, kalkulátory Walther jsou také velmi zajímavé, což si ukážeme v následujícím textu. Kalkulátory Mercedes Euklid jsou představeny v samostatném textu "Mercedes Euklid - Mercedes mezi kalkulačkami".
Walther RKZ10
Já jsem měl možnost vyzkoušet model RKZ10 vyráběný v letech 1949 až 1952, tj po přestěhování produkce z východní části Německa do části západní (Gerstetten, Württembersko). Kalkulačka měla 6 míst na vstupu a v počítadle otáček, 10 míst pro celkový součet. Jednalo se o kalkulačku pracující na principu Odhnerova kola s proměnným počtem zubů, tj. mezi sčítáním a odečítáním se rozlišovalo směrem otáčení kliky. Vedle hlavní kliky byly páky pro posun vozíku s výsledkovým a otáčkovým registrem, což umožňovalo ovládání jednou rukou. Druhá ruka kalkulátor pouze mírně přidržovala, protože byl relativně lehký - 3,6kg. Úchopy pro nastavení vstupních dat byly jako u všech kalkulátorů Odhnerova typu poměrně malé, u této kalkulačky však byl navíc k dispozici kontrolní displej pro kontrolu správnosti nastaveného čísla.
Ozubená kolečka vedle cifer výstupního registru
Na každé pozici výstupního registru je možno nastavit ručně libovolnou cifru. To není tak obvyklé. U většiny kalkulátorů platí, že pokud potřebujeme nastavit výsledkový registr na určitou numerickou hodnotu, musíme tuto hodnotu nastavit na vstupní registr, přičíst k vynulovanému výstupnímu registru a poté zrušit započítání tohoto kroku do počítadle otáček, tj. musíme bud vynulovat počítadlo otáček nebo udělat naprázdno jednu otáčku opačným směrem. Walther RKZ10 umožňuje (stejně jako Hamann Manus), nastavit libovolnou cifru výstupního registru přímo na libovolnou hodnotu ručně, bez nutnosti manipulace se vstupním registrem, bez nutnosti přičítání a následného zrušení započítané otáčky.
Situace, kdy je nutné zadat číslo do výsledkového registru nastavává například při dělení. Přiložené video na začátku článku využívá přímého nastavení čísla do výstupního registru k tomu, abychom přesunuli zbytek po dělení na místo dělence, pokračovali v dělení a získali tak další desetinná místa podílu.
Přenos přes desítku v počítadle otáček
Kalkulátor Walther RKZ10 má v počítadle otáček přenos přes desítku. Podobně jako většina kalkulaček firmy Brunsviga a narozdíl od většiny kalkulátorů firmy Odhner. Otočíme-li hlavní klikou jedenáctkrát, k počtu otáček se přičte jedenáctka. Kalkulátory bez přenosu přes desítku v počítadle otáček v této situaci uakzují červená čísla, pro jejichž interpretaci je nutné větší intelektuální úsilí ze strany uživatele a vzniká tak jisté riziko numerické chyby.
Přenos přes desítku v počítadle otáček je možné využít pro zkrácení dělení. Klasický postup při dělení je ten, že od dělence odečítáme dělitel tolikrát, kolikrát to je možné. Jakmile se dostaneme do záporných čísel, vrátíme poslední odečtení zpět, posuneme se o řád a počítáme další cifru. (Viz video o racionálních aproximacích $\pi$ od času 3:10.)
Kroky kdy odečteme do záporných čísel je možné ušetřit, pokud hlídáme okamžik, kdy zbytek po dělení je menší než dělitel. V takovém okamžiku nepustíme kalkulátor do záporných čísel, ale rovnou se posuneme na další pozici. Při tomto postupu musíme při výpočtu každé cifry otočit klikou tolikrát, jak velká je tato cifra. Pokud zbytek nehlídáme a jenom při odečítání čekáme na zvonek oznamující přechod do záporných čísel, musíme dokonce provést ještě dvě otáčky navíc. Toto je možné zrychlit pokud je v počítadle otáček přenos přes desítku. Pokud je zbytek numericky velký, znamená to, že další cifra bude také velká a museli bychom ji počítat dlouho. Je výhodnější změnit postup tak, že nejprve od zbytku ještě jednou odečteme dělitel. Tím obdržíme záporný výsledek, který bude v absolutní hodnotě malý. Poté se posuneme do dalšího řádu a namísto odečítání začneme přičítat. Tím se opraví cifra na předchozí pozici, která byla přechodem do záporných čísel o jedničku větší. Na aktuálně počítané pozici se k cifře 9 dostaneme jednou otáčkou, k cifře 8 dvěma otáčkami atd.
Díky přenosu v počítadle otáček přes desítku se v registru otáček vlastně provádí sčítání. Proto je možné při dělení současně jednotlivé výsledky dělení sčítat a počítat tak výraz $$\frac {a_1}{b_1}+\frac{a_2}{b_2}+\cdots.$$ I při dalších konkrétních výpočtech je možno přenos přes desítku vhodně využít. Vskutku, když se počítadlo otáček změní z $o_1$ na $o_2$ a výsledkový registr z $v_1$ na $v_2$ při nastavením $n$ ve vstupním registru, platí $$(o_2-o_1)n=v_2-v_1$$ a tedy $$o_2=o_1+\frac{v_2-v_1}{n}.$$ Porovnáme-li tento vztah s iteračním vztahem pro hledání kořenů funkce $f(x)=x^2-a$ Newtonovou-Raphsonovou metodou, tj. se vztahem $$x_{i+1}={x_i}-\frac{x_i^2-a}{2x_i}={x_i}+\frac{a-x_i^2}{2x_i},$$ je nám hned jasné proč funguje metoda nazvaná v článku o výpočtu druhé odmocniny jako Hermannova;
- Při výpočtu odmocniny $\sqrt{a}$ odmocninu odhadneme a počáteční odhad označíme $x_0$.
- Nastavíme na vstupu vynulovaného kalkulátoru $x_0$, na počítadle otáček natočíme také $x_0$.
- Po předchozím kroku ukazuje počítadlo otáček číslo $x_0$ a výsledkový registr číslo $x_0^2$.
- Nastavíme na vstupu $2x_0$ a vhodným přičítáním a odečítáním nastavíme na výsledkovém registru hodnotu $a$.
- Počítadlo otáček ukazuje $x_1$. Počet cifer čísla $\sqrt{a}$, které jsou známy přesně, se touto operací přibližně zdvojnásobí. Pro další zpřesnění můžeme metodu opakovat.
Volba způsobu započítávání kladných a záporných otáček
Před každou operací je možné určit, zda bude počítadlo otáček počítat souhlasně s výsledkovým registrem nebo opačně, tj. jestli se při přičítání k výsledkovému registru bude jedna otáčka přičítat nebo odečítat a podobně pro odečítání od výsledkového registru. Po resetování kalkulačky se kalkulátor přepne automaticky do jednoho z těchto režimů. To probíhá tak, že první operace vždy způsobí přičtení k počítadlu otáček a v tomto režimu kalkulátor zůstane i nadále. Takové chování je v souladu s kalkulačkami Brunsviga a pokrývá většinu potřeb při výpočtech, někdy to však nemusí vyhovovat. U Walthera si může uživatel režim počítání kdykoliv přepnout ručně. Díky přenosu přes desítku v počítadle otáček například můžeme při dělení rovnou postupně sčítat jednotlivé podíly. U Walthera je možné podíly nejenom sečítat, ale některé podíly je možné odečíst, tj. můžeme počítat výraz $$\varepsilon_i\frac {a_1}{b_1}+\varepsilon_2 \frac{a_2}{b_2}+\varepsilon_3\frac{a_3}{b_3}+\cdots,$$ kde $\varepsilon_i$ je $1$ nebo $-1$. Toto jsme viděli v praxi i u videa s kalkulátorem Haman Manus.
Robert Mařík, listopad 2015