Najneskorší termín odovzdania: 24.10.2011 (pondelok) o 21:00
Odovzdávaný súbor: ZadanaKorytnacka.java
Cieľom tejto sady domácich zadaní je vytvoriť triedu ZadanaKorytnacka
, ktorá rozširuje triedu Turtle
a ktorá obsahuje nižšie predpísané metódy.
Doplňujúce požiadavky:
Naučte korytnačky triedy ZadanaKorytnacka
metódu stvorce
, ktorá nakreslí "nekonečnú" postupnosť vnorených štvorcov podľa obrázka nižšie ("nekonečnú" znamená, že štvorce menšie ako 1 pixel nekreslíme). Stred vnorených štvorcov nech je aktuálna pozícia korytnačky. Dĺžka strany najväčšieho štvorca je daná parametrom strana
.
Naučte korytnačky triedy ZadanaKorytnacka
metódu gcd
, ktorá vráti najväčšieho spoločného deliteľa dvoch kladných celých čísel podľa opisu iteratívnej verzie Euklidovho algoritmu: http://sk.wikipedia.org/wiki/Euklidov_algoritmus
Naučte korytnačky triedy ZadanaKorytnacka
metódu rovnakeCifry
, ktorá vráti true
práve vtedy, ak v zápise čísla cislo
v desiatkovej sústave sú všetky cifry rovnaké. Príklady čísel, pre ktoré má metóda vrátiť hodnotu true
: 3333, 11, 99999, 2, -777, 88. Metóda má fungovať pre kladné i záporné čísla. V riešení nie je dovolené použiť operáciu, ktorá prevedie číslo na znakový reťazec.
Hammingovou vzdialenosťou dvoch celých nezáporných čísel nazveme počet cifier v desiatkovej sústave, v ktorých sa tieto čísla líšia. Napríklad čísla 1323 a 2325 sa líšia na 2 miestach (prvá a posledná cifra) a teda ich Hammingova vzdialenosť je 2. Čísla 87 a 3481 majú Hammingovu vzdialenosť 3 (87 = 0087, 3481 - na 3 pozíciach máme rôzne cifry).
Naučte korytnačky triedy ZadanaKorytnacka
metódu hammingovaVzdialenost
, ktorá vráti Hammingovu vzdialenosť 2 zadaných nezáporných čísel. V riešení nie je dovolené použiť operáciu, ktorá prevedie číslo na znakový reťazec.
Naučte korytnačky triedy ZadanaKorytnacka
metódu rovnakyZnak
, ktorá vráti true
, ak zadaný reťazec obsahuje nejaké 2 rovnaké znaky. Pri riešení použite metódu pocetVyskytov
a skutočnosť, že v reťazci sú 2 rovnaké znaky práve vtedy, ak niektorý zo znakov reťazca má v tomto reťazci počet výskytov aspoň 2.
Naučte korytnačky triedy ZadanaKorytnacka
metódu pocetMedzierZlava
, ktorá vráti dĺžku súvislej postupnosti medzier, ktorou začína zadaný reťazec. Napríklad reťazec ".Ahoj" začína 1 medzerou, reťazec "...Ahoj.." začína 3 medzerami (znak . je použitý na vyjadrenie toho, že na danom mieste je medzera - pri neproporcionálnych fontoch počet medzier nie je vidieť). Pozor na reťazec tvorený len medzerami. Pre takýto reťazec je výsledkom dĺžka reťazca.