Najneskorší termín odovzdania: 14.10.2013 (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 obrazec
, ktorá nakreslí "nekonečnú" postupnosť postupne sa striedajúcich vnorených štvorcov a kruhov podľa obrázka nižšie ("nekonečnú" znamená, že štvorce, resp. kruhy so šírkou menšou ako 1 pixel nekreslíme). V postupnosti sa striedajú svetlosivé kruhy a sivé štvorce, ktorých stred je aktuálna pozícia korytnačky. Prvým útvarom postupnosti je kruh s priemerom určeným parametrom sirka
. Každý ďalší útvar vznikne vpísaním do predošlého útvaru (buď do kruhu vpíšeme štvorec alebo do štvorca kruh). Štvorce sú v smere aktuálneho natočenia korytnačky.
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 paritaNaStriedacku
, ktorá vráti true
práve vtedy, ak v zápise čísla cislo
v desiatkovej sústave sa striedajú párne a nepárne cifry. Príklady čísel, pre ktoré má metóda vrátiť hodnotu true
: 83616, 23, 123, 854, -9258, -470. Príklady čísel, pre ktoré má metóda vrátiť hodnotu false
: 1111, 2348, 9013. 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. Poznámka: Pre jednociferné čísla vráti metóda true
, keďže neobsahujú za sebou idúce cifry s rovnakou paritou.
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 ZadanaKorytnacka
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.