NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Zdeněk Pavlátka:23.6.2014 18:20

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
23.6.2014 18:20
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Zdeněk Pavlátka:23.6.2014 18:21

Jejda, zapomněl jsem obrázky :[

Nahoru Odpovědět
23.6.2014 18:21
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Zdeněk Pavlátka:23.6.2014 19:45

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
alfonz
Člen
Avatar
alfonz:23.6.2014 19:46

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
lmao
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Ondrca:23.6.2014 19:51

"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
Odpovídá na Ondrca
Zdeněk Pavlátka:23.6.2014 19:54

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
Odpovídá na alfonz
Neaktivní uživatel:23.6.2014 20:02

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

Nahoru Odpovědět
23.6.2014 20:02
Neaktivní uživatelský účet
Avatar
Odpovídá na alfonz
Zdeněk Pavlátka:23.6.2014 20:19
  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:23.6.2014 20:57

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

 
Nahoru Odpovědět
23.6.2014 20:57
Avatar
Odpovídá na Michal Žůrek - misaz
Zdeněk Pavlátka:24.6.2014 6:47

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
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Ondrca:24.6.2014 21:22

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
Tvůrce
Avatar
Odpovídá na Ondrca
coells:24.6.2014 23:21

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
24.6.2014 23:21
Avatar
Odpovídá na coells
Zdeněk Pavlátka:25.6.2014 6:59

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
Odpovídá na Ondrca
Zdeněk Pavlátka:25.6.2014 7:02

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
Tvůrce
Avatar
Odpovídá na coells
Ondrca:25.6.2014 7:05

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
Odpovídá na Ondrca
Zdeněk Pavlátka:25.6.2014 7:06

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
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Ondrca:25.6.2014 7:08

aha, díky moc :)

Nahoru Odpovědět
25.6.2014 7:08
Zase jsem o něco chytřejší
Avatar
Odpovídá na Ondrca
Zdeněk Pavlátka:25.6.2014 8:39

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:25.6.2014 14:52

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
Avatar
Nahoru Odpovědět
25.6.2014 15:13
2x piš, jednou debuguj
Avatar
Nahoru Odpovědět
25.6.2014 15:14
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matěj Kripner
Tvůrce
Avatar
Matěj Kripner:25.6.2014 17:24

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

 
Nahoru Odpovědět
25.6.2014 17:24
Avatar
Matěj Kripner
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Matěj Kripner:25.6.2014 17:47

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
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Haňáček:25.6.2014 18:22

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
Odpovídá na Michal Haňáček
Zdeněk Pavlátka:25.6.2014 18:37

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
Odpovídá na Matěj Kripner
Zdeněk Pavlátka:25.6.2014 18:39

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
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Matěj Kripner:25.6.2014 19:13

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
Avatar
Odpovídá na Matěj Kripner
Zdeněk Pavlátka:25.6.2014 19:47

Čí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
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Matěj Kripner:25.6.2014 20:20

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
Avatar
Odpovídá na Matěj Kripner
Zdeněk Pavlátka:26.6.2014 6:37

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

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

existuje na to dokonce slovní druh.

4. číslovky

 
Nahoru Odpovědět
26.6.2014 6:53
Avatar
Odpovídá na Michal Žůrek - misaz
Zdeněk Pavlátka:26.6.2014 15:08

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

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

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
Odpovídá na Ladislav Ondris
Zdeněk Pavlátka:26.6.2014 18:17

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
26.6.2014 18:17
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ladislav Ondris:27.6.2014 17:54

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
Nahoru Odpovědět
27.6.2014 18:08
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matěj Kripner
Tvůrce
Avatar
Matěj Kripner:28.6.2014 20:54

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

 
Nahoru Odpovědět
28.6.2014 20:54
Avatar
Ladislav Ondris:29.6.2014 14:40

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
Tvůrce
Avatar
Odpovídá na Ladislav Ondris
Matěj Kripner:29.6.2014 14:57

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

 
Nahoru Odpovědět
29.6.2014 14:57
Avatar
Zdeněk Pavlátka:30.6.2014 20:50

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:30.6.2014 20:59

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
Odpovídá na Ladislav Ondris
Zdeněk Pavlátka:30.6.2014 21:52

3 účastníci.

Nahoru Odpovědět
30.6.2014 21:52
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka:1.7.2014 21:15

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
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
1.7.2014 21:15
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Žůrek - misaz:1.7.2014 21:18

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
Avatar
Ladislav Ondris:1.7.2014 21:53

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.7.2014 21:53
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Ladislav Ondris:1.7.2014 21:54

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
Odpovídá na Michal Žůrek - misaz
Zdeněk Pavlátka:2.7.2014 6:50

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:2.7.2014 7:47

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
Tvůrce
Avatar
Odpovídá na Michal Haňáček
Ondrca:2.7.2014 7:56

Musíš být redaktor

Nahoru Odpovědět
2.7.2014 7:56
Zase jsem o něco chytřejší
Avatar
Odpovídá na Ondrca
Michal Haňáček:2.7.2014 8:06

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.
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 50 zpráv z 54.