Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Ahoj, v další soutěži si zkusíme analizovat dlouhý text. Vaší úkolem bude napsat v Javě konzolovou aplikaci, která dostane jako parametr (command-line argument) cestu k souboru, analyzuje jeho obsah a vypíše: počet znaků, číslic, písmen, samohlásek a souhlásek, dále počet slov, počet vět a počet odstavců. Aby toho nebylo málo, spočte i průměrný počet slabik ve slově, slov ve větě a vět v odstavci.

Snažte se o co nejhezčí a nejrychlejší kód.

Čas si dáme opět do neděle 29.6.2014 do 23:00. Vyhodnocení by mělo být v pondělí odpoledne/večer.

Kompletní pravidla soutěží: http://www.itnetwork.cz/…outezi-machr
Pozn.: Prosím odevzdávejte to v zazipované složce, ať to nemusím rozbalovat nějakou webovou službou

Odpovědět  ±0 23.6.2014 18:20
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět 23.6.2014 18:21
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Zdeněk Pavlátka
Zdeněk Pavlátka:

Ještě vám poradím, jak se počítají slabiky:

  1. za každou samohlásku přičteme 1
  2. za dvojhlásku "ou" a "au" pak 1 odečteme, ale pouze pokud nejsou na 2. - 3. pozici (naučit, poukázat)
  3. +1 za každý výskyt 3 souhlásek, z nichž 1 je 'l' nebo 'r'

zdroj: Programátorská cvičebnice - Radek Pelánek

Nahoru Odpovědět 23.6.2014 19:45
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Denis Homolík (Alfonz):

Proč je to zaměřené výhradně na Javu a ne na jiné jazyky(C#, VB.net atd.)? Tohle by klidně mohl být Machr na algoritmy.

Nahoru Odpovědět 23.6.2014 19:46
Vše je možné, dokud si to myslíte!
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Ondrca:

"2. za dvojhlásku "ou" a "au" pak 1 odečteme, ale pouze pokud nejsou na 2. - 3. pozici (naučit, poukázat)"
A co takhle slovo poukázka nebo koumák ?

Nahoru Odpovědět 23.6.2014 19:51
Zase jsem o něco chytřejší
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ondrca
Zdeněk Pavlátka:

kou|mák tam to funguje, u poukázky to holt nefunguje, ale to by nemělo moc vadit.

Nahoru Odpovědět 23.6.2014 19:54
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Denis Homolík (Alfonz)
Jiří Gracík:

třeba aby tě to motivovalo učit se i Javu?

Nahoru Odpovědět  +1 23.6.2014 20:02
Creating websites is awesome till you see the result in another browser ...
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Denis Homolík (Alfonz)
Zdeněk Pavlátka:
  1. Se to pak lépe opravuje
  2. Machři tě mají přimět vyzkoušet si něco zajímavého nebo naučit se něco užitečného
Nahoru Odpovědět 23.6.2014 20:19
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Michal Žůrek (misaz):

skoro totožný machr už tu byl, jediný rozdíl byl v tom kdo napíše nejkratší zdroják.

Nahoru Odpovědět  ±0 23.6.2014 20:57
Nesnáším {}, proto se jim vyhýbám.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
Zdeněk Pavlátka:

Našel jsem si ho, byl tady před rokem a něco a měl mnohem méně požadavků (a hlavně polovina z nich byla jiná)

Nahoru Odpovědět 24.6.2014 6:47
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Ondrca:

Nechceš ty slabiky ze soutěže úplně vyhodit? Ono to celkem nefunguje:
Programátor - normálně by mělo být slabik 4, program hlásí 6
Souhláska - normálně 3, program hlásí 5
Koumák - normálně 2, program hlásí 3

Nahoru Odpovědět 24.6.2014 21:22
Zase jsem o něco chytřejší
Avatar
coells
Redaktor
Avatar
Odpovídá na Ondrca
coells:

Můžeš si šplhnout a vyhrát machra http://nase-rec.ujc.cas.cz/archiv.php?…

P.S.: Podle těch tří pravidel výše mi "programátor" vychází na 4 slabiky

 
Nahoru Odpovědět  +1 24.6.2014 23:21
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na coells
Zdeněk Pavlátka:

Edid: Omlouvám se, nepřečetl jsem si předchozí příspěvek.

Editováno 25.6.2014 7:00
Nahoru Odpovědět 25.6.2014 6:59
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ondrca
Zdeněk Pavlátka:

Podle těch pravidel to u všech tří slov vychází správně, chyba bude asi u tebe...

Nahoru Odpovědět 25.6.2014 7:02
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na coells
Ondrca:

jak to počítáš?
Za každou samohlásku +1, to je zatím 4
Dvojhláska tam není, takže pořád 4
3 souhlásky co obsahují r nebo l - to pravidlo platí dvakrát, takže je to 6 Slabik
Jestli jsem někde udělal chybu, tak mi prosím napište

Nahoru Odpovědět 25.6.2014 7:05
Zase jsem o něco chytřejší
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ondrca
Zdeněk Pavlátka:

Ty tři souhlásky musí být za sebou ;)

Nahoru Odpovědět 25.6.2014 7:06
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ondrca
Redaktor
Avatar
Nahoru Odpovědět 25.6.2014 7:08
Zase jsem o něco chytřejší
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ondrca
Zdeněk Pavlátka:

K těm slabikám bych přidal ještě 4. pravidlo - pokud je poslední písmeno ve slově l (L) a před ním je jedna souhláska, přičte se 1 slabika (po|mo|hl, u|te|kl)

Nahoru Odpovědět 25.6.2014 8:39
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Žůrek (misaz):

co vše se počítá za znaky? Čísla? Tečka, čárka, otazník? Pouze písmena? ...?

Nahoru Odpovědět 25.6.2014 14:52
Nesnáším {}, proto se jim vyhýbám.
Avatar
Nahoru Odpovědět 25.6.2014 15:13
2x piš, jednou debuguj
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět 25.6.2014 15:14
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matěj Kripner
Redaktor
Avatar
Matěj Kripner:

Tak nevím, jestli nejhezčí nebo nejrychlejší kód :D

Nahoru Odpovědět  +1 25.6.2014 17:24
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matěj Kripner:

Mám pár hloupých otázek:

  1. Bude se v textu vyskytovat česká interpunkce (háčky, čárky, kroužky)?
  2. Budou dodržována základní pravidla umístění mezer (před "?", ".", "!" nebo "," není mezera, za ním je)?
  3. Můžou se ve slovech vyskytovat číslice?

Díky

Nahoru Odpovědět 25.6.2014 17:47
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Haňáček:

Já bych k tomu na co se ptá omega ještě doplnil "Jak definuješ odstavec?".

Mám ho chápat jako "prázdný řádek", nebo "odsazený řádek" a nebo obojí? ... 8-)

Nahoru Odpovědět 25.6.2014 18:22
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Michal Haňáček
Zdeněk Pavlátka:

Odstavce beru jako Word, takže konec odstavce je přechod na nový řádek. Můžeš to ale klidně udělat přes prázdný nebo odsazený řádek, uznám všechny možnosti.

Nahoru Odpovědět 25.6.2014 18:37
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matěj Kripner
Zdeněk Pavlátka:

Interpunkce tam bude, čisla budou mimo slova (budou jako "samostatná slova"). Mezery mohou být kdekoli, nemusí jít o smysluplný text.

Nahoru Odpovědět 25.6.2014 18:39
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matěj Kripner:

A sakra... :) Takže každé číslo se počítá jako slovo a mohou být klidně čtyři mezery za sebou?

Nahoru Odpovědět 25.6.2014 19:13
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matěj Kripner
Zdeněk Pavlátka:

Čísla asi do slov nezapočítávej, mezer tam může bejt třeba 50 za sebou ;)

Nahoru Odpovědět 25.6.2014 19:47
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matěj Kripner:

Asi, nebo určitě? :) Protože jestli jo, budu to muset celý předělat :D

Nahoru Odpovědět 25.6.2014 20:20
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matěj Kripner
Zdeněk Pavlátka:

Číslo se do slov moc nehodí, ale pokud je tam někdo započítá, uznám mu to.

Nahoru Odpovědět  +1 26.6.2014 6:37
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Žůrek (misaz):

existuje na to dokonce slovní druh.

4. číslovky

Nahoru Odpovědět  -2 26.6.2014 6:53
Nesnáším {}, proto se jim vyhýbám.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
Zdeněk Pavlátka:

Slovní druh číslovky je pokud vím pro čísla psaná slovem ;)

Nahoru Odpovědět  +2 26.6.2014 15:08
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ladislav Ondris:

A podle čeho vlastně budeš hodnotit jednotlivé práce? Podle funkčnosti, rychlosti programu a kráse? :-)

Nahoru Odpovědět 26.6.2014 17:03
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ladislav Ondris
Zdeněk Pavlátka:

Podle toho, jak bude vypadat kód, jak si poradí se smysluplným a nesmysluplným textem a jak bude rychlý.

Nahoru Odpovědět  +1 26.6.2014 18:17
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ladislav Ondris:

A ten text bude v textovém souboru, že?

Nahoru Odpovědět 27.6.2014 17:54
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět 27.6.2014 18:08
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matěj Kripner
Redaktor
Avatar
Matěj Kripner:

Počítá se souvětí jako jedna věta, nebo jako více vět?

Nahoru Odpovědět 28.6.2014 20:54
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
Ladislav Ondris:

Já bych řekl, že jako jedna věta, a jestli ne tak předělávat to nehodlám. To bych nestihl. I tak mám ještě co dodělávat...

Kam to pak mám poslat? :-)

Nahoru Odpovědět 29.6.2014 14:40
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Ladislav Ondris
Matěj Kripner:

Sem do diskuse nebo do soukromých zpráv toto, kdo soutěž vyhlásil.

Nahoru Odpovědět 29.6.2014 14:57
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Hodnocení bude bohužel až zítra, mám dnes trochu problémy s časem.

Nahoru Odpovědět 30.6.2014 20:50
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ladislav Ondris:

Dobře. Můžu se zeptat, kolik lidí se zúčastnilo? :-)

Nahoru Odpovědět 30.6.2014 20:59
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět 30.6.2014 21:52
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Tak tu konečně máme hodnocení :) Max bylo 10 bodů

Michal Haňáček : 8 bodů
Kód: Velmi komplikovaný, ale zajímavý. Jsi jediný, kdo načítal cestu z command-line argumentu a navíc jsi vytvořil pořádný parser
Funkčnost: dobrá
Výstup aplikace: celkem dobrý, jen průměrné hodnoty byly trochu divné a počet slabik to počítalo špatně (správný výstup byl mezi 4 a 5, program vypsal 1.0).

Ondrca : 8 bodů
Kód: celkem pěkný, jednoduchý
Funkčnost: vůbec mi nefungovalo načtení souboru, musel jsem adresu dát napevno do kódu
Výstup aplikace: Celkem přesný, velmi malé odchylky. Nezapočítává přechody na novou řádku do znaků. Průměrné hodnoty by asi neměly být zaokrouhlené.

Ladislav Ondris : 6 bodů
Kód: zbytečně komplikovaný, ale alespoň oddělený do vlastní třídy
Funkčnost: celkem dobrá, zadání adresy fungovalo bez problémů
Výstup aplikace: Průměrné hodnoty dobré, jinak relativně velké odchylky
Pozn. radši než v .7z to odevzdávej v .zip

Dlouho jsem rozhodoval, komu dát placku a nakonec jsem se přeci jen rozhodl udělit 2. Michal Haňáček má moc pěkné řešení s parserem a Ondrca má jednoduchý ale dobře fungující kód. Oba tam máte nějaké chybky, šlo by to určitě zlepšit, ale placky si zasloužíte. Publikujte tedy své výtvory a napište mi do zpráv adresy, kam vám mám placky poslat.

Editováno 1.7.2014 21:17
Nahoru Odpovědět  +1 1.7.2014 21:15
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Žůrek (misaz):

Nezapočítává přechody na novou řádku

to je dost sporné, vyčítat mu to nemůžeš. Bílé znaky sice v názvu mají znak, ale jako znaky bych je takhle tedy osobně nepovažoval.

Nahoru Odpovědět 1.7.2014 21:18
Nesnáším {}, proto se jim vyhýbám.
Avatar
Ladislav Ondris:

Tohle bych já asi nějak nehodnotil. Snad nejlíp jak jde spočítat počet znaků je podle mě takto:

public int spoctiZnaky(){
    return = text.length();
}
:-)
Nahoru Odpovědět  +1 1.7.2014 21:53
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Ladislav Ondris:

Omlouvám se. Bez toho "="

Nahoru Odpovědět 1.7.2014 21:54
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
Zdeněk Pavlátka:

Pokud počítáš všechny ostatní bílé znaky, je trochu zvláštní, když jeden vynecháš.

Nahoru Odpovědět 2.7.2014 6:50
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Michal Haňáček:

Ahoj,
díky že sis dal tu práci a kontroloval naše "machry". O tom výstupu vím, ale bohužel už jsem tomu nemohl věnovat víc času.

Co se publikace těch kódů týče, předpokládám že si musím zažádat o redaktorská práva a potom aplikaci publikovat. Nebo stačí když sem postnu link pro stažení aplikace z nějakého úložiště?

Nahoru Odpovědět 2.7.2014 7:47
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Ondrca
Redaktor
Avatar
Nahoru Odpovědět 2.7.2014 7:56
Zase jsem o něco chytřejší
Avatar
Odpovídá na Ondrca
Michal Haňáček:

Díky za informaci a zároveň gratulace :) .

Nahoru Odpovědět 2.7.2014 8:06
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Ondrca
Redaktor
Avatar
Nahoru Odpovědět 2.7.2014 8:23
Zase jsem o něco chytřejší
Avatar
Ladislav Ondris:

Gratuju vám :-)

Nahoru Odpovědět  +1 2.7.2014 10:21
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Ondrca
Redaktor
Avatar
Nahoru Odpovědět 2.7.2014 10:28
Zase jsem o něco chytřejší
Avatar
sisolpes
Člen
Avatar
sisolpes:

To je štvoun: Špatně jsem zkoukl zadání a místo datumu 29.6.2014 jsem četl 29.7.2014. Takže jsem program na analyzování textu tvořil zbytečně :D.
No co, alespoň jsem si procvičil Javu :-}.

PS: A mně připadalo divné, proč je vyhlášení vítězů tak brzy :D.

Nahoru Odpovědět 17.7.2014 11:14
Alt + 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 54 zpráv z 54.