Najneskorší termín odovzdania: 1.11.2011 (utorok) o 21:00
Odovzdávané súbory: ZadanaKorytnacka.java
, KlikaciaPlocha.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 emailovaAdresa
, ktoré pre zadané meno a priezvisko zamestnanca UPJŠ vráti jeho e-mailovú adresu. E-mailová adresa zamestnanca UPJŠ má formát meno.priezvisko@upjs.sk
, kde meno a priezvisko sú napísané malými písmenami. Meno a priezvisko osoby sa nachádzajú v parametri osoba
a sú oddelené jednou medzerou.
Príklad:
emailovaAdresa("Janko HRASKO")
= "janko.hrasko@upjs.sk"
emailovaAdresa("Peter Chemik")
= "peter.chemik@upjs.sk"
emailovaAdresa("ALBERT MATEMATIK")
= "albert.matematik@upjs.sk"
Naučte korytnačky triedy ZadanaKorytnacka
metódu rleDekoder
, ktorá dekóduje zadaný reťazec. Kódovanie, ktoré je použité, je variant jednoduchého RLE kódovania (http://cs.wikipedia.org/wiki/Run-length_encoding). V ňom je opakovaný výskyt znaku zakódovaný ako dvojica znakov (cifra, znak)
, kde cifra môže byť 1, 2, 3,...,9 a vyjadruje počet opakovaní znaku znak
. Teda, napríklad dvojica znakov 5a
kóduje reťazec aaaaa
. Keďže znaky cifier 1, 2,..., 9 sú použité na vyjadrenie počtu opakovaní, samostatné (bez opakovania) výskyty cifier 1, .., 9 musia byť kódované ako dvojica znakov (1, cifra)
- teda ako jedno opakovanie znaku cifry. Čiže napríklad dvojica znakov 17
kóduje len jeden znak 7
.
Príklad:
rleDekoder("ab4at2d32er18ad")
= "abaaaatdd222er8ad"
rleDekoder("ua4e11d32")
= "uaeeee1d222"
Naučte korytnačky triedy ZadanaKorytnacka
metódu rleEnkoder
, ktorá zakóduje zadaný reťazec kódovaním, ktoré je popísané v úlohe RLE dekóder tak, aby vrátený (zakódovaný) reťazec mal čo najmenšiu dĺžku.
Naprogramujte triedu KlikaciaPlocha
rozšírujúcu triedu WinPane
, ktorá sa bude pracovať tak, že kliknutím do plochy sa v ploche nakreslí vyplnený štvorec so stredom v mieste kliknutia. Dĺžka strany prvého štvorca bude 10, každý ďalší štvorec bude mať dĺžku strany o 10% väčšiu ako predchádzajúci. Farby štvorcov sa budú postupne striedať: červená, zelená, modrá, červená, zelená, modrá, ...