utorok, 30. decembra 2008

8-bitová hudba

Síce je už po Vianociach, predsalen si zahrajme ešte pár kolied. Pesničky, ktoré vám zahrá táto lišta však nie sú obyčajné koledy, ale sú to skladby, ktoré vznikli z autentických zvukov starých počítačov. Na túto "retro" vlnu súčasnej elektronickej hudby ma upozornil spolužiak Riško linkou na túto stránku. K podobnej hudbe sa dostanete aj cez túto linku. O digitalizácii zvuku sa v skratke dočítate tu. Teraz si už naplno vychutnajte tento krásny starý zvuk a ponorte sa do spomienok na váš starý dobrý Commodore 64, Spektrum alebo PMDčko:-)



1 yerzmyey - merry christmas! jesus holy, born so lowly [Spectrum]
2 nullsleep - silent night [NES]
3 vim - when a child is bored [VIC20]
4 paul slocum - up on the housetop [Atari 2600]
5 bit shifter - let it snow [GameBoy]
6 goto80 - last christmas (hot digi remix) [Commodore64]
7 dma-sc - the first blip blop noel [Atari ST]
8 hally - xmas songs plastic sputnik arcade punk remix [X68000]

nedeľa, 28. decembra 2008

Zvuková hádanka

Dúfam, že ste si počas Vianoc dobre oddýchli, a že ste nezabudli ísť aj trochu do prírody. S mojimi bratmi Romanom a Radom sme boli na prechádzke v parku v Rusovciach. A na jednom mieste sme tam nahrali fantastický zvuk. Stiahnite si ho tu, a skúste uhádnuť ako vznikol! Svoje tipy môžete písať do komentárov.

štvrtok, 18. decembra 2008

Neznáme číslo 2

Tu je sľúbená hádanka:

Číslo 3025 má zvláštnu vlastnosť. Keď ho "roztrhneme" na dve čísla 30 a 25, tieto sčítame a výsledok umocníme, dostaneme pôvodné číslo 3025:

30 + 25 = 55
552 = 3025

Nájdete nejaké iné štvorciferné číslo zložené zo 4 rôznych cifier, s takouto zvláštnou vlastnosťou?

Ak neviete ako na to, skúste sa možno inšpirovať riešením minulej a predminulej úlohy.

streda, 17. decembra 2008

Neznáme číslo

Pre ktoré päťciferné číslo platí, že ak pripíšeme jednotku pred toto číslo zľava tak dostaneme trikrát menšie číslo ako keby sme pripísali jednotku za číslo sprava?

Určite viete vyriešiť túto ľahkú úlohu. Ak by sa vám nedarilo, skúste sa inšpirovať minulým alebo predminulým príspevkom. Teším sa na vaše riešenia v komentároch!

Motivačná poznámka: Akonáhle niekto napíše správne riešenie (najlepšie aj s nejakým komentárom k výpočtu), uverejním ešte o kúsok krajšiu úlohu na túto tému:-)

Školácka úloha ešte raz

Vidím, že nikomu sa nechcelo tu písať riešenie školáckej úlohy z minulého príspevku. Alebo ste sa k nej možno po hŕbe mojich divných rečí ani neprepracovali. A ešte je tu možnosť, že tým, ktorí ju vyriešili, sa videla taká ľahká, že im nestálo za reč vypisovať riešenie. Neostáva mi nič iné, len to riešenie napísať vlastnými rukami. Najprv si pripomeňme zadanie:

Dokážte, že rozdiel kladného trojciferného čísla a trojciferného čísla, v ktorom vymeníme krajné cifry z predchádzajúceho čísla, je deliteľný 99.

Čo máme dokázať? Ozrejmime si, o čo ide na príklade. Vezmime si nejaké trojciferné číslo. Povedzme 624. Keď vymeníme krajné cifry, dostaneme číslo 426. Rozdiel má byť deliteľný 99, tak to overme. 624 - 426 = 198. A 198 : 99 = 2, teda rozdiel je deliteľný 99. Podobne by to malo podľa tvrdenia fungovať so všetkými trojcifernými číslami. Ako to ale dokázať?

Myšlienkovo najjednoduchší spôsob je overiť tvrdenie pre všetky trojciferné čísla. Tento spôsob nás naozaj nebude stáť veľa duševnej námahy, ale zato sa dosť napočítame (900 trojciferných čísel, bolo by to treba overiť pre polovicu, teda 450). Takáto duševná lenivosť by nás navyše mohla vyjsť draho, keby sme sa v budúcnosti nepripravení stretli s úlohou, ktorá by pracovala s nejakou väčšou, prípadne nekonečnou množinou.

Jestvuje však aj elegantnejší spôsob, ako pravdivosť tvrdenia celkom rýchlo dokázať. Stačí pritom využiť zopár z vlastností pozičnej číselnej sústavy, nad ktorými som sa rozplýval v minulom príspevku. Skúsme nejako všeobecne vyjadriť tvar trojciferného čísla. Napríklad "abc". "abc" však môže vyzerať nejasne, teda, niekomu môže pripomínať súčin troch konštant a, b, c, niekomu inému možno jednu konštantu abc, ktorá však vôbec nemusí byť trojciferná. Trojcifernosť teda vyjadrime takto:

trojciferné číslo = a.102 + b.101 + c.100 = a.100 + b.10 + c

pričom b, c sú ľubovoľné čísla z množiny {0; 1; ... 9}, a číslo a je z množiny {1; 2;... 9}. Takýto zápis naozaj vystihuje všetky trojciferné čísla (len také kontrolné nahliadnutie; pozrime sa na počet všetkých takto definovaných trojíc, je ich 9.10.10=900). Tento zápis nám navyše umožňuje efektívne vyjadriť tú podivnú jazykovú formulku o vymieňaní krajných cifier. Naše trojciferné číslo po výmene krajných cifier vyzerá takto:

c.102 + b.101 + a.100 = c.100 + b.10 + a

Teraz sa už môžeme pustiť do odpočítavania:

"abc" - "cba" = a.100 + b.10 + c - (c.100 + b.10 + a) =

po odstránení zátvorky dostávame

= a.100 + b.10 + c - c.100 - b.10 - a = (a-c).100+ (b-b).10 + (c-a) =

ešte vyjmeme (-1) pred zátvorku z (c-a) presne tak ako sme to robili v siedmej triede a "vyrátame", že (b-b) = 0

= (a-c).100 - (a-c) = 99.(a-c)

A máme tvrdenie dokázané. Vieme, že (a-c) je určite celé číslo, a keď ho vynásobíme 99, tak je aj celý výraz deliteľný 99. Keby niekomu neboli jasné základy, tak len dodám, že sa teraz po jednotlivých znamienkach rovnosti môžme "vrátiť" naspäť a tak konečne uvidieť, že

"abc" - "cba" = 99.(a-c)

Zazvonil zvonec, a tejto rozprávky je koniec.

štvrtok, 11. decembra 2008

Óda na desiatkovú sústavu a školácka úloha

Uvedomujem si, že zďaleka nemám dosť vedomostí na to, aby som mohol pozičným číselným sústavám zložiť dostatočne kvalifikovanú poklonu. Napriek tomu sa o to v pár najbližších príspevkoch pokúsim.

Pozičná číselná sústava je typickým príkladom výmyslu, ktorý sa stal tak bežným a zažitým, že málokedy preciťujeme radostné chvenie nad hĺbkou geniality tejto myšlienky. Ja kebyže som nejaký náš dávny predchodca a počítam dáke ovce, dukáty, armádu alebo obilné sýpky a potrebujem si počty zapísať, asi by som sa uchýlil k nejakému jednoduchému spôsobu notácie. Napríklad pre malý počet by som počty reprezentoval jedna-k-jednej čiarkami, pre väčšie počty by som začal rozlišovať špeciálne symboly pre množstvá napríklad 5, 10, 20, 100 a tak ďalej. Asi by som prišiel k nejakému podobnému systému ako sú rímske čísla. Som si istý, že by mi ani na um nezišlo čosi podobné ako tým špekulantom Arabom, ktorým vďačíme za naše dnešné čísla.

Keď som bol malý, žiaľ som si myslel, že hlavný rozdiel medzi tým, ako zapisujeme čísla bežne a ako sa zapisujú "rímskymi" je v tom, že rímske čísla vyzerajú ako písmená a tie naše bežné vyzerajú inak. Rozdiel je o niečo hlbšie. Nejde o to, ako vyzerajú rímske, či arabské číslica, ale ako sa s nimi narába, ako sa s nimi počíta - v skutočnosti majú úplne inú podstatu. Rímske poznajú pár symbolov označujúcich nejaké množstvá a tieto symboly sa podľa nejakých pravidiel kombinujú tak, aby sa vyjadrilo požadované množstvo (to zahŕňa rôzne pravidlá, ako výslednú hodnotu povoleným spôsobom nakombinovať). Skúste napísať rímskymi číslami 1234156. Asi by sa to zapísalo ako M napísané 1234-krát a za tým CLVI. Mohli by sme vymyslieť špeciálny symbol pre 10000, 100000 atď. Akokoľvek bohatý systém symbolov (I, V, X, L, C, ...) by sme však vytvorili, vždy by existoval symbol označujúci najväčšie množstvo, a akékoľvek väčšie číslo by sme potom museli vyjadriť už len pomocou (dlhého) radu symbolov. A skúste počítať nejaké jednoduché súčty alebo súčiny pomocou rímskych čísel...

Podstatou arabského systému je pozičná sústava. Pozičná sústava používa niekoľko základných číslic. Číslo je vyjadrené niekoľkými číslicami stojacimi vedľa seba. A je dôležitá ich vzájomná pozícia. Vezmime si teda na mušku našu desiatkovu sústavu. Volá sa desiatková preto, lebo používa desať číslic (0...9) a preto, lebo nejako súvisí s mocninami desiatky. Ako? Nech nám to ozrejmí príklad:

3526 = 3.103 + 5.102 + 2.101 + 6.100

Pre istotu pripomeniem, že 100 = 1. Teda na pozícii číslice závisí, akou mocninou desiatky ju násobíme. Keď vidíme napísané 3526, vidíme proste tritisícpäťstodvadsaťšesť. Lebo sme sa to tak naučili chápať, v skutočnosti je to ale veľmi originálny spôsob zápisu. A má nemálo výhod. Napríklad, na pohodlné vyjadrenie aj celkom veľkých čísel nám postačuje 10 základných číslic. Základnými číslicami vieme jednoznačne označiť množstvá od nuly po deväť. Keď chceme vyjadriť číslo desať, nevytvoríme si nový symbol, ale vezmeme symbol 1 a pridáme zaň 0. To znamená 1.101 + 0.100. Tým sme zdesaťnásobili počet čísel, ktoré vieme zapísať. Ak chceme zapísať číslo väčšie ako 99, priberieme na pomoc tretiu cifru, čím sa zase zdesaťnásobí počet rôznych čísel, ktoré už vieme vyjadriť. Teda je to celkom efektívny spôsob zápisu. Napríklad... milióny rôznych čísel vieme vyjadriť vhodnou kombináciou šiestich číslic. Alebo ešte inak - pridaním napríklad troch cifier sa stisícnásobí počet hodnôt, ktoré vieme jednoznačne vyjadriť... To je úžasné, nie?

Teraz si spomeňme na "sčítavanie pod seba". Takýto spôsob počítania funguje vďaka tomu, že pracujeme s pozičnou sústavou. Podobne násobenie. Skúste sčítavať pod seba rímske čísla... Tiež je pekné uvedomiť si, že dve čísla sa rovnajú práve vtedy, keď majú na rovnakých pozíciách rovnakú cifru. Znie to smiešne, ale nemuselo by to tak byť keby sme napríklad používali desať cifier, ale pozície by sme násobili mocninami 9. V takejto čudnej sústave by platilo 10 = 9, pričom obidva zápisy by označovali množstvo deväť (túto čudnú sústavu označme indexom 9*): (10)9* = 1.91 + 0.90 = (9)9* = 9.90 = (9)10 .

Na záver úloha, ktorú mi nedávno dal dlhoročný spolužiak Riško. Táto úloha sa vyskytla aj v tohtoročnom korešpondenčnom seminári na Gymnáziu J. Hronca. To znamená, že by ju mal zdatnejší absolvent základnej školy vyriešiť:

Dokážte, že rozdiel kladného trojciferného čísla a trojciferného čísla, v ktorom vymeníme krajné cifry z predchádzajúceho čísla, je deliteľný 99.

Asi nebude nijakým prekvapením, keď napoviem, že úloha sa dá veľmi ľahko vyriešiť, ak si uvedomíme, ako také trojciferné číslo vyzerá a skúsime si ho rozpísať na súčet násobkov mocnín desiatky, teda ak využijeme pochopenie myšlienky pozičnej sústavy...

O radosť z rozlúsknutia tejto hádanky sa môžete podeliť v komentároch.