Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Zpt

Soroban

Tradin japonsk potadlo. Vzniklo nkdy ve stedovku vylepenm starovkho nskho suanpanu a pouv se v podstat dodnes, i kdy od vynalezen digitln kalkulaky u v men me. Od evropskho potadla nebo ruskho sotu se li jinou orientac rmeku a spornjm uspodnm kuliek. S trochou cviku se na nm d velice rychle stat a odtat. Nsoben a dlen je pomalej, ale dajn pod lep ne tuka a papr.

Takov zajmav kousek historie vpoetn techniky stoj za praktick vyzkouen, tak jsem pestavl jedno koln potadlo na tenhle patncticifern kompjtr (zobrazuje slo 000 000 123 456 789):

Hlavn m zajmalo, co je pravdy na tom, e rychlost me tahle primitivn vc konkurovat kalkulace a e si po njak dob lovk vysta i bez fyzickho potadla, sta si ho jenom pedstavit. Potn z hlavy mi nikdy nelo a pam na sla taky moc nemm - ideln kandidt na pokusnho krlka.

Kdyby vs to zaujalo taky, nsleduje strun nvod k pouit.

Zobrazen sel

Pracovn poloha potadla je vodorovn na stole. Kad tyka vyjaduje jednu slici od 0 do 9. Del st tyky obsahuje tyi "zemsk" kuliky s hodnotou 1, krat st jednu "nebeskou" s hodnotou 5. Oddlen jsou vodorovnou potac pkou. Kuliky, kter se j dotkaj, jsou aktivn - maj hodnotu, vyjaduj slo. Pebyten kuliky odsunut nahoru nebo dol od pky se nepotaj. Vyjden slic kulikami je jednoznan, pro kadou existuje prv jedna kombinace:

0 1 2 3 4 5 6 7 8 9
+-+-+-+-+-+-+-+-+-+
O O O O O | | | | |
| | | | | O O O O O
+-+-+-+-+-+-+-+-+-+
| O O O O | O O O O
O | O O O O | O O O
O O | O O O O | O O
O O O | O O O O | O
O O O O | O O O O |
+-+-+-+-+-+-+-+-+-+

Kad tet tyka obvykle bv oznaen tekou na potac pce nebo jinak barevnmi kulikami. sla zarovnvme obvykle tak, aby na oznaen tyce byly jednotky; pak se v nich lp orientuje, hlavn v tch vcecifernch. Celkov poet tyek je vcemn libovoln, zle jenom na tom, kolik cifer potebujeme a jak velk mme stl.

Vchoz poloha ped zahjenm vpotu jsou obvykyle sam nuly. K zadn nebo prav jedn slice sta jeden pohyb palce a ukazovku, d to m prce ne napsat slo na papr.

Jakkoli potadlo (abakus) je jenom mechanick pam na sla, samo o sob potat neum. Veker vpoty provd lovk, na potadlo si jenom zapisuje operandy a vsledky.

Stn

Nejdv na potadlo naszme prvn slo. Potom k jeho slicm postupn pitme odpovdajc slice druhho sla: k jednotkm jednotky, k destkm destky atd., jako kdy stme dv sla pod sebou na pape. Narozdl od papru nezle na smru, protoe nen problm mnit dve napsan cifry, take meme postupovat pirozen zleva doprava.

Jak sest dv cifry:

a) Pokud na tyce mme dost volnch kuliek, pisuneme je k potac tyce a jsme hotovi. Nap.:

 1 + 6 = 7            3 + 3 = 3 + (5-2) = 6
-+-     -+-          -+-                 -+-
 O       |            O                   |
 |       O            |                   O
-+-     -+-          -+-                 -+-
 O       O            O                   O
 |       O            O                   |
 O       |            O                   O
 O       O            |                   O
 O       O            |                   O
-+-     -+-          -+-                 -+-

Ptkov kulika je trochu zludn, asto kvli n musme zptn odtat nebo pitat jednikov. Trninkem se to ale celkem rychle zautomatizuje, prsty si zapamatuj jednotliv kombinace a nakonec na to ani nemusme myslet (teba piten 2 ke 4 znamen souhlasn pohyb palcem a ukazovkem smrem dol, nahoe s jednou kulikou, dole se temi).

b) Pokud dost volnch kuliek nemme, odeteme tolik, kolik nm zbv do deseti, a o cifru v piteme jedniku. Nap.:

 0 8  +  7         =          1 5
-+-+-    ^do 10 zbvaj 3    -+-+-
 O |             .            O |
 | O             .            | O
-+-+-            .           -+-+-
 | O                          O |
 O O <-ty odeteme odsud      | O
 O O         .                O O
 O |         .                O O
 O O         .                O O
-+-+-                        -+-+-
 ^a tady piteme 1

Jestli na t vy cife byla devtka, jednika nm petee jet v. Hod se pouvat ob ruce, abychom se v tom neztratili: prav vye tu zkladn cifru a zstane na n, lev potom postupuje doleva a vyd vechny petekl jedniky.

Odtn

Funguje podobn jako stn. Postupujeme zase po jednotlivch cifrch zleva doprava (nebo obrcen, je to jedno).

Pokud mme na dan tyce dost aktivnch kuliek, odeteme je. Pokud ne, piteme tolik, kolik nm zbv do deseti, a na tyce o pozici v odeteme 1:

 8 - 2 = 6            3 2 - 4        =        2 8
-+-     -+-          -+-+-  ^do 10 zbv 6   -+-+-
 |       |            O O           .         O |
 O       O            | |           .         | O
-+-     -+-          -+-+-          .        -+-+-
 O       O            O O <-to piteme sem   O O
 O       |            O O                     O O
 O       O            O |         .           | O
 |       O            | O         .           O |
 O       O            O O         .           O O
-+-     -+-          -+-+-                   -+-+-
                      ^a odsud odeteme 1

Na zporn sla nen soroban stavn. Kdyby mlo vyjt nco zpornho, prohodme operandy a pak si k vsledku v duchu pipeme mnus:

a-b = -(b-a)

Nsoben

Algoritmus je vcemn stejn jako pi nsoben pod sebou na pape: pomoc mal nsobilky pronsobme jednotliv cifry kadou s kadou a mezivsledky postme. Vhoda oproti papru je, e ty mezivsledky pitme rovnou do sprvnch pozic ve finlnm vsledku, nemusme je pst na nkolik dk ani stat vc ne dv cifry najednou.

Zaneme tm, e si oba initele zapeme vedle sebe nkam do lev sti potadla (pro pehlednost pokud mono zarovnan pravmi konci na jednotkovch tykch). Napravo si pipravme msto na vsledek. Souin me mt tolik cifer, kolik maj oba initel dohromady. Mon se nm na potadlo nevejde, ale to nevad: jak postupn zprava vyizujeme cifry druhho initele, meme je prbn mazat a tm si dlat msto.

Pklad: 23*56. Na pape:

  23
  56
----
 138
115
----
1288

Na potadle (pro pehlednost radi jenom seln):

023 056  000 000

023 056  000 018
  ^   ^3*6=18  ^piteme sem

023 056  000 138
 ^    ^2*6=12 ^piteme sem

023 050  000 138
 ^    ^estka je vyzen, meme odmznout

023 050  000 288
  ^  ^3*5=15  ^piteme sem

023 050  001 288
 ^   ^2*5=10 ^piteme sem

023 000  001 288
 ^   ^ptka je vyzen, meme odmznout

Hotovo, vsledek je 1288.

Tak, jak v pkladu znam slice ipekami, si je v relu drm dvma prsty lev ruky. Prav ruka se mezitm star o stn a hldn pozice ve vsledku.

Celoseln dlen

Na klasickm dlicm algoritmu ze zkladn koly m tve, e vyaduje dlen a nsoben zpamti mimo rozsah mal nsobilky a e se vechny mezipodly mus trefit napoprv. Soroban umouje pracovat postupn ve vce krocch, protoe odtn je rychl a pepisovn mezivsledk nen problm. A navc jsem ten koln algoritmus vlastn podn pochopil a te :-). Take ho tu rozepu i s odvozenm, a z toho nco mte.

Triviln dlic algoritmus je tup odtn dlitele od dlence tak dlouho, dokud to jde, a poet odeten je hledan vsledek:

podl:=0
while dlenec>dlitel do
  begin
  dlenec:=dlenec-dlitel;
  podl:=podl+1;
  end;
zbytek:=dlenec;

Protoe ale potme run, chce to optimalizovat, aby nm to netrvalo vnost. Dlitele nebudeme odtat po jednom a k vsledku pitat jedniky, ale po xnsobcch a k vsledku pitat x. Kolik m bt x? Pro zatek teba 10, 100, 1000 nebo nco takovho, protoe takov nsobky se dlaj jednoduchm dekadickm posouvnm doleva.

050 / 004 = 000
        ^to by lo posunout o 1 doleva, ili 40
010 / 004 = 010
 ^=50-40     ^odeetl se jednou dlitel posunut o 1 doleva,
              take k vsledku pitu jedniku taky posunutou o 1 doleva
Tm jsme s posouvnm skonili, 40>10.
Te meme dvakrt odest neposunutou tyku
(nebo jednou dvojnsobek tyky, protoe z hlavy vme, e 10/4=2 a nco):
006 / 004 = 011
002 / 004 = 012
Hotovo, podl 12 a zbytek 2.

Desetinsobek se do dlence nevejde a jednonsobek by se musel odetat mockrt? Nevad, meme zkusit namtkou teba ptinsobek - ten spotme snadno (stejn jako jakkoli jin nsobek jednocifernm slem) a nejsp se i vejde nkam do zbylho volnho msta na potadle, aby byl na och. Pak meme pohodln odetat jedno-, pti-, deseti-, padesti- a dal -nsobky a do vsledku postupn pitat jedniky, ptky, destky, padestky atd.. Nakonec se dobereme k podlu a vbec jsme pi tom nemuseli dlit. Dobr, ne?

Vypad to moc amatrsky a je to pomal? Tak nebudeme urovat nsobky nhodn, ale dlenm. Jak na to, aby se nemusela zpamti dlit moc velk sla? K tomu ve kolnm algoritmu slou takov ty "skobiky" za jednotlivmi ciframi. Pedstavit se to ale d i jinak: dlence a vsledek posuneme doprava a po zptnm pronsoben a odeten zase zptky (ve skutenosti je to klasick vydlen nebo vynsoben obou stran rovnice destkou). Teba:

304 / 007 = 000
>30 / 007 = >00
Kolik je 30/7? 5*7=35, to je moc, 4*7=28, to je mlo, ale lep u to nebude, take 4.
K vsledku piteme 4 a od dlence odeteme 28:
>02 / 007 = >04
A posuneme to zptky:
024 / 007 = 040
  ^vypadlou cifru sem zase vrtme
24/7 je 3 a nco, 3*7=21, take k vsledku piteme 3 a od dlence odeteme 21:
003 / 007 = 043
Od 3 u 7 neodeteme, take hotovo, podl je 43 a zbytek 3.

sla na potadle neposouvme fyzicky, to je zdlouhav a nchyln k chybm. Posouvme jenom prsty, ktermi si hldme pozice.

Reln dlen

Nejdv spotme celoseln podl a zbytek. Potom je posuneme o cifru doleva (desetinnou rku si pedstavme taky posunutou o pozici doleva, i kdy na potadle nen vidt) a dlme dl. Pokraovn pedchozho pkladu:

 003 / 007 =  043
0030 / 007 = 0430    (30/7, to mme zase 4*7=28)
0002 / 007 = 0434

Pod nco zbv? Tak druh posun:

00020 / 007 = 04340     (2*7=14)
00006 / 007 = 04342

Vsledek je zatm 43,42 a stejnm zpsobem meme pokraovat tak dlouho, dokud ns to bude bavit. Respektive dokud nevyjde zbytek 0 (pak mme vsledek pesn) nebo dokud nemme dostaten poet desetinnch mst.

Dlitel se bhem celho vpotu nemn, dlenec nejdv ubv zleva a potom pibv vpravo, vsledek nejdv trochu bobtn vlevo a na zvr doprava. Na potadle je proto vhodn rozmstit sla ponkud napeskku: dlitele co nejvc doleva, dlence kus od pravho konce a vsledek nkam doprosted. Orientujte se podle jednotkovch tyek, a se v tom neztratte.

Co s tm?

Po njak dob obasnho cvien pozoruji nkolik efekt. Stn a odtn se postupn zautomatizovalo tak, e sta podvat se na tyku s kulikami a prsty u vd, jak pohyb na n maj provst. Nemusm si postaven kuliek v duchu pevdt na grafick nebo slovn vyjden sla, stat nebo odtat a vsledek pak pevdt zptky na kuliky; operaci provedu pmo. Kalkulaku nepekonm a nemyslm si, e by to vbec lo - zmknut knoflku nen pomalej ne oupnut na potadle. Mon by se dalo zpracovvat vc slic paraleln, ale na to bych poteboval vcejdrov mozek. Nad paprem a tukou u ale vedu.

Pi trninku nsoben jsem opril a rozhbal dlouho nepouvanou nsobilku, ale protoe ji mm nauenou z vt sti ve slovn podob, musm si reprezentaci sel pod jet pevdt sem a tam. Nsobit pmo v kulikch zatm neumm. Dlen je pomal: bu mi dlouho trv z hlavy odhadnout sprvn mezipodl, nebo bez pemlen odtm na vc krok, ne by bylo nutn. Pedstavit si potadlo v duchu a potat na nm je pro m zatm sci-fi, pam na sla mm nejsp pro vechny reprezentace stejn mizernou. Ale uvidme.

Poznmka na zvr: pro technickou praxi se hod sp logaritmick pravtko. Sice neum stat a odtat, ale nsob a dl jednodue a rychle a k tomu um i goniometrick funkce a pr dalch fgl, kter ze sorobanu nevymkneme. M jenom jednu nevhodu: ned se vyrobit jen tak na kolen bez logaritmickch tabulek a pesnch midel.

Zpt