Najneskorší termín odovzdania: 15.10.2017 (nedeľa) o 22:00
Odovzdávaný súbor: HomeTurtle.java
Cieľom tejto sady domácich zadaní je vytvoriť triedu HomeTurtle
, ktorá rozširuje triedu Turtle
a ktorá obsahuje nižšie predpísané metódy.
Doplňujúce požiadavky:
Naučte korytnačky triedy HomeTurtle
metódu squares
, ktorá nakreslí "nekonečnú" postupnosť vnorených vyplnený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 size
. Farba výplne štvorcov je na striedačku červená a čierna.
Rada:
Naučte korytnačky triedy HomeTurtle
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
Z matematickej analýzy vieme (alebo budeme vedieť), že hodnotu funkcie vieme vyjadriť ako súčet členov nekonečného Taylorovho (mocninového) radu. Naučte korytnačky triedy HomeTurtle
metódu sin
, ktorá vráti sin(x)
ako súčet prvých n+1 členov Taylorovho radu:
+1 bod: Pokúste sa implementovať výpočet čo najefektívnejšie, t.j. snažte sa eliminovať zbytočné matematické operácie.
Naučte korytnačky triedy HomeTurtle
metódu isUniDigitNumber
, ktorá vráti true
práve vtedy, ak v zápise čísla n
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 HomeTurtle
metódu countHammingDistance
, 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.