From 9c30cf53ba96a2535128726f563822d6138d459e Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Wed, 8 Jan 2020 22:53:08 +0100 Subject: [PATCH] C- tasks --- TaskC00/description.txt | 14 ++++++++++++++ TaskC00/test.exp | 13 +++++++++++++ TaskC00/test.in | 12 ++++++++++++ TaskC01/description.txt | 15 +++++++++++++++ TaskC01/test.exp | 11 +++++++++++ TaskC01/test.in | 10 ++++++++++ TaskC02/description.txt | 29 +++++++++++++++++++++++++++++ TaskC02/test.exp | 8 ++++++++ TaskC02/test.in | 7 +++++++ TaskC03/description.txt | 25 +++++++++++++++++++++++++ TaskC03/test.exp | 13 +++++++++++++ TaskC03/test.in | 12 ++++++++++++ TaskC04/description.txt | 32 ++++++++++++++++++++++++++++++++ TaskC04/test.exp | 12 ++++++++++++ TaskC04/test.in | 11 +++++++++++ TaskC05/description.txt | 29 +++++++++++++++++++++++++++++ TaskC05/test.exp | 13 +++++++++++++ TaskC05/test.in | 12 ++++++++++++ TaskC06/description.txt | 33 +++++++++++++++++++++++++++++++++ TaskC06/test.exp | 7 +++++++ TaskC06/test.in | 6 ++++++ 21 files changed, 324 insertions(+) create mode 100644 TaskC00/description.txt create mode 100644 TaskC00/test.exp create mode 100644 TaskC00/test.in create mode 100644 TaskC01/description.txt create mode 100644 TaskC01/test.exp create mode 100644 TaskC01/test.in create mode 100644 TaskC02/description.txt create mode 100644 TaskC02/test.exp create mode 100644 TaskC02/test.in create mode 100644 TaskC03/description.txt create mode 100644 TaskC03/test.exp create mode 100644 TaskC03/test.in create mode 100644 TaskC04/description.txt create mode 100644 TaskC04/test.exp create mode 100644 TaskC04/test.in create mode 100644 TaskC05/description.txt create mode 100644 TaskC05/test.exp create mode 100644 TaskC05/test.in create mode 100644 TaskC06/description.txt create mode 100644 TaskC06/test.exp create mode 100644 TaskC06/test.in diff --git a/TaskC00/description.txt b/TaskC00/description.txt new file mode 100644 index 0000000..8a62545 --- /dev/null +++ b/TaskC00/description.txt @@ -0,0 +1,14 @@ +Zamiana cyfr z ułamkami na słowa +================================ + +Napisać gramatykę thraxową, która zamienia liczby z zakresu +od -999,999 od 999,999 na postać słowną. + +Zakładamy, że liczby nie mają zer nieznaczących. + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 0. + +POINTS: 14 +DEADLINE: 2019-01-31 23:59 +REMAINDER: 0/7 diff --git a/TaskC00/test.exp b/TaskC00/test.exp new file mode 100644 index 0000000..a4cd366 --- /dev/null +++ b/TaskC00/test.exp @@ -0,0 +1,13 @@ +Input string: Output string: minus dziewięćset dziewięćdziesiąt dziewięć i dziewięćset dziewięćdziesiąt dziewięć tysięcznych +Input string: Output string: dziewięćset dziewięćdziesiąt dziewięć i dziewięćset dziewięćdziesiąt jeden tysięcznych +Input string: Output string: trzy i jedna dziesiąta +Input string: Output string: dwanaście i sześćdziesiąt siedem setnych +Input string: Output string: minus trzydzieści +Input string: Output string: minus trzydzieści pięć i sto dwadzieścia jeden tysięcznych +Input string: Output string: jedna dziesiąta +Input string: Output string: jedna setna +Input string: Output string: jedna tysięczna +Input string: Output string: zero +Input string: Output string: osiem i jedna setna +Input string: Output string: osiem i pięć setnych +Input string: \ No newline at end of file diff --git a/TaskC00/test.in b/TaskC00/test.in new file mode 100644 index 0000000..cecf938 --- /dev/null +++ b/TaskC00/test.in @@ -0,0 +1,12 @@ +-999,999 +999,991 +3,1 +12,67 +-30 +-35,121 +0,1 +0,01 +0,001 +0 +8,01 +8,05 diff --git a/TaskC01/description.txt b/TaskC01/description.txt new file mode 100644 index 0000000..05b923c --- /dev/null +++ b/TaskC01/description.txt @@ -0,0 +1,15 @@ +Zamiana cyfr na słowa polskie +============================= + +Napisać gramatykę thraxową, która zamienia liczby całkowite pisane +cyframi z zakresu od -999999999 do 999999999 na postać słowną (po +polsku). + +Zakładamy, że liczby nie mają zer nieznaczących. + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 1. + +POINTS: 14 +DEADLINE: 2019-01-31 23:59 +REMAINDER: 1/7 diff --git a/TaskC01/test.exp b/TaskC01/test.exp new file mode 100644 index 0000000..6af55e3 --- /dev/null +++ b/TaskC01/test.exp @@ -0,0 +1,11 @@ +Input string: Output string: dwanaście tysięcy trzysta czterdzieści pięć +Input string: Output string: zero +Input string: Output string: minus dziewięćset dziewięćdziesiąt dziewięć milionów dziewięćset dziewięćdziesiąt dziewięć tysięcy dziewięćset dziewięćdziesiąt dziewięć +Input string: Output string: tysiąc osiemset dziewięć +Input string: Output string: minus dwanaście +Input string: Output string: trzy tysiące dziewięćdziesiąt osiem +Input string: Output string: trzy miliony +Input string: Output string: osiem +Input string: Output string: dwadzieścia dwa +Input string: Output string: milion jeden +Input string: \ No newline at end of file diff --git a/TaskC01/test.in b/TaskC01/test.in new file mode 100644 index 0000000..e659f5b --- /dev/null +++ b/TaskC01/test.in @@ -0,0 +1,10 @@ +12345 +0 +-999999999 +1809 +-12 +3098 +3000000 +8 +22 +1000001 diff --git a/TaskC02/description.txt b/TaskC02/description.txt new file mode 100644 index 0000000..4a7a09d --- /dev/null +++ b/TaskC02/description.txt @@ -0,0 +1,29 @@ +Podział na sylaby +================= + +Napisać gramatykę thraxową, która dzieli wyraz na sylaby. Zakładamy, +że na wejściu podawane polskie wyrazy (tj. ciągi małych liter, +włącznie z polskimi znakami diakrytycznymi). Należy zaznaczyć podział +na sylaby (przez dodanie spacji). + +Założenia: +- preferujemy taki podział, by sylaba kończyła się i zaczynała spółgłoską, + np. "parter" dzielimy na "par ter", +- w przypadku zbitek więcej niż dwóch spółgłosek, pierwsza spółgłoska + powinna zostać włączona do lewej sylaby, pozostałe — do prawej sylaby + np. "bartnik" dzielimy na "bar tnik", +- pojedynczą spółgłoską dołączamy do prawej sylaby, +- pamiętamy przy tym, że niektóre głoski oddajemy za pomocą dwuznaków, + np. "szczebrzeszyn" dzielimy na "szczeb rze szyn", +- pamiętamy, że zbitki typu "ia" to jedna samogłoska. + +(Powyższe założenia to oczywiście tylko przybliżenie poprawnej definicji + sylaby). + + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 2. + +POINTS: 14 +DEADLINE: 2019-01-31 23:59 +REMAINDER: 2/7 diff --git a/TaskC02/test.exp b/TaskC02/test.exp new file mode 100644 index 0000000..f3fef8c --- /dev/null +++ b/TaskC02/test.exp @@ -0,0 +1,8 @@ +Input string: Output string: par ter +Input string: Output string: bar ter +Input string: Output string: bar tnik +Input string: Output string: szczeb rze szyn +Input string: Output string: most +Input string: Output string: ma nia kal nie +Input string: Output string: a pos tro ficz ny +Input string: \ No newline at end of file diff --git a/TaskC02/test.in b/TaskC02/test.in new file mode 100644 index 0000000..c00679a --- /dev/null +++ b/TaskC02/test.in @@ -0,0 +1,7 @@ +parter +barter +bartnik +szczebrzeszyn +most +maniakalnie +apostroficzny diff --git a/TaskC03/description.txt b/TaskC03/description.txt new file mode 100644 index 0000000..238ba45 --- /dev/null +++ b/TaskC03/description.txt @@ -0,0 +1,25 @@ +Korektor gramatyczny +==================== + +Napisać gramatykę thraxową, która dokona prostej korekty gramatycznej, tj.: + +* wstawi brakujący przecinek przed formami zaimków "jaki" i "który", +* ... z uwzględnieniem przyimków (także przyimka złożonego "odnośnie do") + — wtedy przecinek powinien być przed przyimkiem, +* zamieni "odnośnie" (bez "do") na "odnośnie do", +* zamieni "w każdym bądź razie" na "w każdym razie", +* zamieni formy typu "12 marzec" (nazwa miesiąca w mianowniku) na "12 + marca" (nazwa miesiąc w dopełniaczu). + +Należy uwzględnić też przypadki, gdy powyższe konstrukcje pisane są +wielką literą (na początku zdania). + +Zakładamy, że wejściowy tekst może zawierać duże i wielkie litery +polskiego alfabetu, spacje, przecinki, kropki i znaki zapytania. + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 3. + +POINTS: 14 +DEADLINE: 2019-01-31 23:59 +REMAINDER: 3/7 diff --git a/TaskC03/test.exp b/TaskC03/test.exp new file mode 100644 index 0000000..bcdc2b0 --- /dev/null +++ b/TaskC03/test.exp @@ -0,0 +1,13 @@ +Input string: Output string: Jaki człowiek wie, w którym roku urodził się Mozart? +Input string: Output string: Jaki człowiek wie, w którym roku urodził się Mozart? +Input string: Output string: Powiedz, jaki człowiek wie, w którym roku urodził się Mozart? +Input string: Output string: sprawa, odnośnie do której się pytam +Input string: Output string: Odnośnie do tego +Input string: Output string: do tyłu, tak zrobili wtedy +Input string: Output string: w każdym razie, człowiek, który grał na pianinie +Input string: Output string: cofnęliby się 31 stycznia +Input string: Output string: to był 1 października 2012 +Input string: Output string: to był 2 października 2012 +Input string: Output string: W każdym razie, stało się to 28 lutego +Input string: Output string: odnośnie do wydarzeń, które przypadły na 29 września +Input string: \ No newline at end of file diff --git a/TaskC03/test.in b/TaskC03/test.in new file mode 100644 index 0000000..c9a7811 --- /dev/null +++ b/TaskC03/test.in @@ -0,0 +1,12 @@ +Jaki człowiek wie, w którym roku urodził się Mozart? +Jaki człowiek wie w którym roku urodził się Mozart? +Powiedz jaki człowiek wie w którym roku urodził się Mozart? +sprawa odnośnie której się pytam +Odnośnie tego +do tyłu, tak zrobili wtedy +w każdym bądź razie, człowiek który grał na pianinie +cofnęliby się 31 styczeń +to był 1 październik 2012 +to był 2 październik 2012 +W każdym bądź razie, stało się to 28 luty +odnośnie wydarzeń które przypadły na 29 wrzesień diff --git a/TaskC04/description.txt b/TaskC04/description.txt new file mode 100644 index 0000000..95e99e2 --- /dev/null +++ b/TaskC04/description.txt @@ -0,0 +1,32 @@ +Wymowa +====== + +Napisać gramatykę thraxową, która przekształca tekst polski do jego +zapisu "fonetycznego", tj.: + +* "rz" na "ż" (chyba że po "t" i "p" — wówczas na "sz"), "ch" na "h", "ó" na "u", +* wyjątkowo w formach wyrazu "marznąć" nie zamieniamy "rz" na "ż", +* "ę" na "en", chyba że na końcu wyrazu lub przed "ł" — wówczas jako "e" +" "ą" na "on", chyba że na końcu wyrazu — wówczas zostaje "ą", +* oddajemy rzeczywistą wymowę na końcu bezdźwięcznych spółgłosek, + np. "g" na końcu wyrazu zamienia na "k" +* w przypadku zbitek "i" z samogłoską zmiękczamy poprzedzającą + samogłoskę (np. "siano" na "śano"), w przeciwnym razie + zamieniamy "i" na "j" ("bieda" na "bjeda"), +* zbitki typu "ci" zamieniamy na "ć", np. "zima" na "źima", wyjątki: + "sinus" i formy przymiotnika "silikonowy", +* wszystkie wielkie litery należy zamienić na małe, +* znaki interpunkcyjne należy usunąć. + +(Oczywiście to tylko przybliżenie rzeczywistej transkrypcji +fonetycznej). + +Zakładamy, że wejściowy tekst może zawierać duże i wielkie litery +polskiego alfabetu, spacje, przecinki, kropki i znaki zapytania. + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 4. + +POINTS: 14 +DEADLINE: 2019-01-31 23:59 +REMAINDER: 4/7 diff --git a/TaskC04/test.exp b/TaskC04/test.exp new file mode 100644 index 0000000..1e018f7 --- /dev/null +++ b/TaskC04/test.exp @@ -0,0 +1,12 @@ +Input string: Output string: ala ma kota +Input string: Output string: być albo ńe być oto jest pytańe +Input string: Output string: żeby hrońić informacje zainteresowane państwa podjeły ruwńeż dźałańa psyhologiczne +Input string: Output string: marzne bo ńe mjeli silikonu +Input string: Output string: pjorun kulisty wyglondem pszypomina śwjetlistą kule o średńicy od kilku do kilkudźeśenću centymetruf +Input string: Output string: renką +Input string: Output string: pewnego dńa zrozumjesz że w żyću jest tylko jeden uńiwersalny jenzyk śiła i matematyka +Input string: Output string: pszesada dwje laski dynamitu to by była pszesada +Input string: Output string: ruk rogi +Input string: Output string: rico żadnyh testuf jondrowyh w baźe +Input string: Output string: ńe dawać na sztywno +Input string: \ No newline at end of file diff --git a/TaskC04/test.in b/TaskC04/test.in new file mode 100644 index 0000000..1b4264c --- /dev/null +++ b/TaskC04/test.in @@ -0,0 +1,11 @@ +Ala ma kota. +Być albo nie być, oto jest pytanie. +Żeby chronić informacje zainteresowane państwa podjęły również działania psychologiczne. +Marznę, bo nie mieli silikonu. +Piorun kulisty wyglądem przypomina świetlistą kulę o średnicy od kilku do kilkudziesięciu centymetrów. +ręką +Pewnego dnia zrozumiesz, że w życiu jest tylko jeden uniwersalny język siła. I matematyka. +Przesada? Dwie laski dynamitu to by była przesada. +róg rogi +Rico, żadnych testów jądrowych w bazie! +nie dawać na sztywno diff --git a/TaskC05/description.txt b/TaskC05/description.txt new file mode 100644 index 0000000..121c979 --- /dev/null +++ b/TaskC05/description.txt @@ -0,0 +1,29 @@ +Rozwijanie skrótów +================== + +Napisać gramatykę thraxową, która rozwija skróty poprzedzające +imiona/nazwiska, tj.: "prof.", "dr", "hab.", "ks.", "mgr", +"inż.", także formy typu "dra", "mgrowi". Skróty "dr" i "mgr" +mogą być opcjonalnie zakończone kropką. + + +Domyślnie należy zamieniać skróty na formę podstawową (mianownik), +chyba że: + +* skróty typu "dra" i "mgrowi" należy rozwijać do odpowiednich form (np. "doktora", "magistrowi"), + także towarzyszące im inne skróty; +* możemy odgadnąć formę po imieniu następującym po skrócie lub ciągu skrótów, + należy uwzględnić przynajmniej 20 częstych imion męskich +* możemy odgadnąć formę po nazwisku występującym po skrócie lub ciągu skrótów lub jeden wyraz dalej + uwzględniamy nazwiska "Nowak", "Kaczmarek" oraz nazwiska zakończone na "-ski", "-cki", "-owicz"; +* możemy odgadnąć forme po poprzedzającym przyimku. + +Zakładamy, że wejściowy tekst może zawierać duże i wielkie litery +polskiego alfabetu, spacje, przecinki, kropki i znaki zapytania. + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 5. + +POINTS: 14 +DEADLINE: 2019-01-31 23:59 +REMAINDER: 5/7 diff --git a/TaskC05/test.exp b/TaskC05/test.exp new file mode 100644 index 0000000..b4f296e --- /dev/null +++ b/TaskC05/test.exp @@ -0,0 +1,13 @@ +Input string: Output string: Widzę księdza profesora Mateusza Kusia, jak rozmawia z doktorem inżynierem jak mu tam było. +Input string: Output string: profesor doktor habilitowany ksiądz magister inżynier +Input string: Output string: profesor habilitowany hahahaha +Input string: Output string: od profesora habilitowanego hahahaha +Input string: Output string: doktor Michał Rrrrrrrr +Input string: Output string: doktora Michała Rrrrrrrr +Input string: Output string: doktor Michał Rrrrrrrr +Input string: Output string: doktora Michała Rrrrrrrr +Input string: Output string: profesor Pasem Ratunkowym +Input string: Output string: profesorem Pasem Kaczmarkiem +Input string: Output string: doktor habilitowany Rups Koźlarski doktora habilitowanego Rups Koźlarskiego +Input string: Output string: dramat wyprof. +Input string: \ No newline at end of file diff --git a/TaskC05/test.in b/TaskC05/test.in new file mode 100644 index 0000000..22def43 --- /dev/null +++ b/TaskC05/test.in @@ -0,0 +1,12 @@ +Widzę ks. prof. Mateusza Kusia, jak rozmawia z drem inż. jak mu tam było. +prof. dr hab. ks. mgr inż. +prof. hab. hahahaha +od prof. hab. hahahaha +dr Michał Rrrrrrrr +dr Michała Rrrrrrrr +dr. Michał Rrrrrrrr +dr. Michała Rrrrrrrr +prof. Pasem Ratunkowym +prof. Pasem Kaczmarkiem +dr hab. Rups Koźlarski dr hab. Rups Koźlarskiego +dramat wyprof. diff --git a/TaskC06/description.txt b/TaskC06/description.txt new file mode 100644 index 0000000..b41102c --- /dev/null +++ b/TaskC06/description.txt @@ -0,0 +1,33 @@ +Tłumacz polsko-poznański +======================== + +Napisać gramatykę thraxową, która przekształca tekst polski na wersję poznańską +Uwzględnić zamiany (wraz z formami fleksyjnymi): + +* "tramwaj"/"bimba", +* "pieniądze"/"bejmy", +* "ludzie"/"wiaruchna", +* "zamknąć na klucz"/"zakluczyć", +* "nacisnąć"/"nadusić", +* "czerwona kapusta"/"modra kapusta", + +W co trzeci wyraz (zaczynając od początku) należy wstawić wyraz "tej". + +Przy zamianie rodzaju/liczby (np. "tramwaj" na "bimba") należy zmienić: + +* formę przymiotnika poprzedzającą wyraz (uwzględniamy regularne + przymiotniki zakończone na "-y"), +* formę przymiotnika następującego po wyrazie (uwzględniamy regularne + przymiotniki zakończone na "-y"), +* formę czasownika następującego po mianowniku lub jeden wyraz dalej + (uwzględniamy regularne formy czasu przeszłego). + +Zakładamy, że wejściowy tekst może zawierać duże i wielkie litery +polskiego alfabetu i spacje. + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 6. + +POINTS: 14 +DEADLINE: 2019-01-31 23:59 +REMAINDER: 6/7 diff --git a/TaskC06/test.exp b/TaskC06/test.exp new file mode 100644 index 0000000..1214163 --- /dev/null +++ b/TaskC06/test.exp @@ -0,0 +1,7 @@ +Input string: Output string: tej Czerwona bimba tej przyjechała i tej zielony autobus tej odjechał +Input string: Output string: tej Wiaruchna zakluczyła tej modrą kapustę tej +Input string: Output string: tej Ci dziwna tej wiaruchna to tej chyba +Input string: Output string: tej Bimbą jechał tej i nadusił tej przycisk +Input string: Output string: tej Bejmy były tej zakluczone +Input string: Output string: tej Bimba dzisiaj tej odblablowała +Input string: \ No newline at end of file diff --git a/TaskC06/test.in b/TaskC06/test.in new file mode 100644 index 0000000..25df72a --- /dev/null +++ b/TaskC06/test.in @@ -0,0 +1,6 @@ +Czerwony tramwaj przyjechał i zielony autobus odjechał +Ludzie zamknęli na klucz czerwoną kapustę +Ci dziwni ludzie to chyba +Tramwajem jechał i nacisnął przycisk +Pieniądze były zamknięte na klucz +Tramwaj dzisiaj odblablował