diff --git a/TaskH00/Makefile b/TaskH00/Makefile new file mode 100644 index 0000000..1e04198 --- /dev/null +++ b/TaskH00/Makefile @@ -0,0 +1,9 @@ + +# .far to specjalny format do przechowywania spakowanych transduktorów + +BINARIES += TaskX05/legiatolech.far + +TaskX05/run: TaskX05/legiatolech.far + +TaskX05/legiatolech.far: TaskX05/legiatolech.grm + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/lib/fst" thraxcompiler --input_grammar=$< --output_far=$@ diff --git a/TaskH00/description.txt b/TaskH00/description.txt new file mode 100644 index 0000000..51eb6f3 --- /dev/null +++ b/TaskH00/description.txt @@ -0,0 +1,9 @@ +Write a Thrax grammar which replaces all occurrences of Polish +inflected forms of the word "Legia" ("Legia", "Legią", "Legię", +"Legii") into the corresponding forms of the word "Lech" ("Lech", +"Lechem", "Lecha", "Lecha", respectively). + +The task has a solution already, do not solve it! + +POINTS: 0 +DEADLINE: 2021-02-03 23:00 diff --git a/TaskH00/legiatolech.grm b/TaskH00/legiatolech.grm new file mode 100644 index 0000000..e0181b5 --- /dev/null +++ b/TaskH00/legiatolech.grm @@ -0,0 +1,42 @@ + +# zamiana końcówek, "i"/"ę" zgrupowane, bo zamieniamy na wspólną końcówkę +suffixes = ("a" : "") | ("i" | "ę" : "a") | ("ą" : "em"); + +# zamiana rdzenia +legia_to_lech_core = "Legi" : "Lech"; + +legia_to_lech = legia_to_lech_core suffixes; + +# Wszystkie możliwe znaki, niestety nie ma (?) prostszego sposobu. +# Zauważmy, że polskie znaki diakrytyczne będą reprezentowane +# tak naprawdę jako dwuznaki, nie stanowi to jednak problemu. +allChars = Optimize[ + "[1]" | "[2]" | "[3]" | "[4]" | "[5]" | "[6]" | "[7]" | "[8]" | "[9]" | "[10]" | + "[11]" | "[12]" | "[13]" | "[14]" | "[15]" | "[16]" | "[17]" | "[18]" | "[19]" | "[20]" | + "[21]" | "[22]" | "[23]" | "[24]" | "[25]" | "[26]" | "[27]" | "[28]" | "[29]" | "[30]" | + "[31]" | "[32]" | "[33]" | "[34]" | "[35]" | "[36]" | "[37]" | "[38]" | "[39]" | "[40]" | + "[41]" | "[42]" | "[43]" | "[44]" | "[45]" | "[46]" | "[47]" | "[48]" | "[49]" | "[50]" | + "[51]" | "[52]" | "[53]" | "[54]" | "[55]" | "[56]" | "[57]" | "[58]" | "[59]" | "[60]" | + "[61]" | "[62]" | "[63]" | "[64]" | "[65]" | "[66]" | "[67]" | "[68]" | "[69]" | "[70]" | + "[71]" | "[72]" | "[73]" | "[74]" | "[75]" | "[76]" | "[77]" | "[78]" | "[79]" | "[80]" | + "[81]" | "[82]" | "[83]" | "[84]" | "[85]" | "[86]" | "[87]" | "[88]" | "[89]" | "[90]" | + "[91]" | "[92]" | "[93]" | "[94]" | "[95]" | "[96]" | "[97]" | "[98]" | "[99]" | "[100]" | +"[101]" | "[102]" | "[103]" | "[104]" | "[105]" | "[106]" | "[107]" | "[108]" | "[109]" | "[110]" | +"[111]" | "[112]" | "[113]" | "[114]" | "[115]" | "[116]" | "[117]" | "[118]" | "[119]" | "[120]" | +"[121]" | "[122]" | "[123]" | "[124]" | "[125]" | "[126]" | "[127]" | "[128]" | "[129]" | "[130]" | +"[131]" | "[132]" | "[133]" | "[134]" | "[135]" | "[136]" | "[137]" | "[138]" | "[139]" | "[140]" | +"[141]" | "[142]" | "[143]" | "[144]" | "[145]" | "[146]" | "[147]" | "[148]" | "[149]" | "[150]" | +"[151]" | "[152]" | "[153]" | "[154]" | "[155]" | "[156]" | "[157]" | "[158]" | "[159]" | "[160]" | +"[161]" | "[162]" | "[163]" | "[164]" | "[165]" | "[166]" | "[167]" | "[168]" | "[169]" | "[170]" | +"[171]" | "[172]" | "[173]" | "[174]" | "[175]" | "[176]" | "[177]" | "[178]" | "[179]" | "[180]" | +"[181]" | "[182]" | "[183]" | "[184]" | "[185]" | "[186]" | "[187]" | "[188]" | "[189]" | "[190]" | +"[191]" | "[192]" | "[193]" | "[194]" | "[195]" | "[196]" | "[197]" | "[198]" | "[199]" | "[200]" | +"[201]" | "[202]" | "[203]" | "[204]" | "[205]" | "[206]" | "[207]" | "[208]" | "[209]" | "[210]" | +"[211]" | "[212]" | "[213]" | "[214]" | "[215]" | "[216]" | "[217]" | "[218]" | "[219]" | "[220]" | +"[221]" | "[222]" | "[223]" | "[224]" | "[225]" | "[226]" | "[227]" | "[228]" | "[229]" | "[230]" | +"[231]" | "[232]" | "[233]" | "[234]" | "[235]" | "[236]" | "[237]" | "[238]" | "[239]" | "[240]" | +"[241]" | "[242]" | "[243]" | "[244]" | "[245]" | "[246]" | "[247]" | "[248]" | "[249]" | "[250]" | +"[251]" | "[252]" | "[253]" | "[254]" | "[255]" +]; + +export PROCESS = Optimize[CDRewrite[legia_to_lech, "", "", allChars*]]; diff --git a/TaskH00/run b/TaskH00/run new file mode 100755 index 0000000..96b1df6 --- /dev/null +++ b/TaskH00/run @@ -0,0 +1,3 @@ +#!/bin/bash + +LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/fst" thraxrewrite-tester --far=TaskX05/legiatolech.far --rules=PROCESS diff --git a/TaskH00/test.exp b/TaskH00/test.exp new file mode 100644 index 0000000..c9798c5 --- /dev/null +++ b/TaskH00/test.exp @@ -0,0 +1,6 @@ +Input string: Output string: Lech Warszawa +Input string: Output string: Górnik gra z Lechem +Input string: Output string: Lech Lecha Lecha Lechem +Input string: Output string: Lechxxxxx +Input string: Output string: tu nic nie ma do zamiany +Input string: \ No newline at end of file diff --git a/TaskH00/test.in b/TaskH00/test.in new file mode 100644 index 0000000..66ee623 --- /dev/null +++ b/TaskH00/test.in @@ -0,0 +1,5 @@ +Legia Warszawa +Górnik gra z Legią +Legia Legii Legię Legią +Legiaxxxxx +tu nic nie ma do zamiany diff --git a/TaskH01/description.txt b/TaskH01/description.txt new file mode 100644 index 0000000..8b1dd8f --- /dev/null +++ b/TaskH01/description.txt @@ -0,0 +1,8 @@ +Write a Thrax grammar which replaces all 0s to 1s and 1s to 0s (other +digits should not be changed). + +You can assume that only string composed of digits are given on the +input. + +POINTS: 1 +DEADLINE: 2021-02-03 23:00 diff --git a/TaskH01/test.exp b/TaskH01/test.exp new file mode 100644 index 0000000..aadf164 --- /dev/null +++ b/TaskH01/test.exp @@ -0,0 +1,6 @@ +Input string: Output string: 0023410 +Input string: Output string: 0101010 +Input string: Output string: 9999999 +Input string: Output string: 888088888888888 +Input string: Output string: 111 +Input string: \ No newline at end of file diff --git a/TaskH01/test.in b/TaskH01/test.in new file mode 100644 index 0000000..aa6a508 --- /dev/null +++ b/TaskH01/test.in @@ -0,0 +1,5 @@ +1123401 +1010101 +9999999 +888188888888888 +000 diff --git a/TaskH02/description.txt b/TaskH02/description.txt new file mode 100644 index 0000000..42c3a7c --- /dev/null +++ b/TaskH02/description.txt @@ -0,0 +1,7 @@ +Write a thrax grammar, which deletes all characters excluding +lowe and capital letters (also polish ąćęłńóśźż) and spaces. +Capital letters should be changed to lower case. + + +POINTS: 2 +DEADLINE: 2021-02-03 23:00 diff --git a/TaskH02/test.exp b/TaskH02/test.exp new file mode 100644 index 0000000..95aa656 --- /dev/null +++ b/TaskH02/test.exp @@ -0,0 +1,6 @@ +Input string: Output string: ala ma kota +Input string: Output string: być albo nie być oto jest pytanie +Input string: Output string: przesada dwie laski dynamitu to by była przesada +Input string: Output string: róg rogi +Input string: Output string: rico żadnych testów jądrowych w bazie +Input string: \ No newline at end of file diff --git a/TaskH02/test.in b/TaskH02/test.in new file mode 100644 index 0000000..d365bcd --- /dev/null +++ b/TaskH02/test.in @@ -0,0 +1,5 @@ +Ala ma kota. +Być albo nie być, oto jest pytanie. +Przesada? Dwie laski dynamitu to by była przesada. +róg rogi +Rico, żadnych testów jądrowych w bazie! diff --git a/TaskH03/description.txt b/TaskH03/description.txt new file mode 100644 index 0000000..1cfa5d5 --- /dev/null +++ b/TaskH03/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: 2021-02-03 23:00 +REMAINDER: 0/7 diff --git a/TaskH03/test.exp b/TaskH03/test.exp new file mode 100644 index 0000000..a4cd366 --- /dev/null +++ b/TaskH03/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/TaskH03/test.in b/TaskH03/test.in new file mode 100644 index 0000000..cecf938 --- /dev/null +++ b/TaskH03/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/TaskH04/description.txt b/TaskH04/description.txt new file mode 100644 index 0000000..5e3abf9 --- /dev/null +++ b/TaskH04/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: 2021-02-03 23:00 +REMAINDER: 1/7 diff --git a/TaskH04/test.exp b/TaskH04/test.exp new file mode 100644 index 0000000..6af55e3 --- /dev/null +++ b/TaskH04/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/TaskH04/test.in b/TaskH04/test.in new file mode 100644 index 0000000..e659f5b --- /dev/null +++ b/TaskH04/test.in @@ -0,0 +1,10 @@ +12345 +0 +-999999999 +1809 +-12 +3098 +3000000 +8 +22 +1000001 diff --git a/TaskH05/description.txt b/TaskH05/description.txt new file mode 100644 index 0000000..e2da4e7 --- /dev/null +++ b/TaskH05/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: 2021-02-03 23:00 +REMAINDER: 2/7 diff --git a/TaskH05/test.exp b/TaskH05/test.exp new file mode 100644 index 0000000..f3fef8c --- /dev/null +++ b/TaskH05/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/TaskH05/test.in b/TaskH05/test.in new file mode 100644 index 0000000..c00679a --- /dev/null +++ b/TaskH05/test.in @@ -0,0 +1,7 @@ +parter +barter +bartnik +szczebrzeszyn +most +maniakalnie +apostroficzny diff --git a/TaskH06/description.txt b/TaskH06/description.txt new file mode 100644 index 0000000..11bf4ca --- /dev/null +++ b/TaskH06/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: 2021-02-03 23:00 +REMAINDER: 3/7 diff --git a/TaskH06/test.exp b/TaskH06/test.exp new file mode 100644 index 0000000..bcdc2b0 --- /dev/null +++ b/TaskH06/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/TaskH06/test.in b/TaskH06/test.in new file mode 100644 index 0000000..c9a7811 --- /dev/null +++ b/TaskH06/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/TaskH07/description.txt b/TaskH07/description.txt new file mode 100644 index 0000000..b5c3c85 --- /dev/null +++ b/TaskH07/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: 2021-02-03 23:00 +REMAINDER: 4/7 diff --git a/TaskH07/test.exp b/TaskH07/test.exp new file mode 100644 index 0000000..1e018f7 --- /dev/null +++ b/TaskH07/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/TaskH07/test.in b/TaskH07/test.in new file mode 100644 index 0000000..1b4264c --- /dev/null +++ b/TaskH07/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/TaskH08/description.txt b/TaskH08/description.txt new file mode 100644 index 0000000..96e7269 --- /dev/null +++ b/TaskH08/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: 2021-02-03 23:00 +REMAINDER: 5/7 diff --git a/TaskH08/test.exp b/TaskH08/test.exp new file mode 100644 index 0000000..b4f296e --- /dev/null +++ b/TaskH08/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/TaskH08/test.in b/TaskH08/test.in new file mode 100644 index 0000000..22def43 --- /dev/null +++ b/TaskH08/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/TaskH09/description.txt b/TaskH09/description.txt new file mode 100644 index 0000000..8d523d8 --- /dev/null +++ b/TaskH09/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: 2021-02-03 23:00 +REMAINDER: 6/7 diff --git a/TaskH09/test.exp b/TaskH09/test.exp new file mode 100644 index 0000000..1214163 --- /dev/null +++ b/TaskH09/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/TaskH09/test.in b/TaskH09/test.in new file mode 100644 index 0000000..25df72a --- /dev/null +++ b/TaskH09/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ł diff --git a/blend.sh b/blend.sh index 0a69bf1..8c4b064 100755 --- a/blend.sh +++ b/blend.sh @@ -21,7 +21,7 @@ cp "${PREFIX}/count-points.pl" arena/ cp "${PREFIX}/overrides.txt" arena/ cp "${PREFIX}/Makefile" arena/ -for TX in X01 X02 X03 A01 B01 B02 B03 B04 D00 D01 D02 D03 D04 D05 E00 E01 E02 E03 E04 E05 E06 E07 E08 E09 F00 F01 F02 F03 F04 F05 F06 G00 G01 G02 G03 # X04 X05 X06 X07 X08 B00 B01 B02 B03 B04 B05 B06 C00 C01 C02 C03 C04 C05 C06 E01 E02 E03 E04 E05 E06 E07 # X05 X06 X07 X08 X09 X10 B03 B04 X10 +for TX in X01 X02 X03 A01 B01 B02 B03 B04 D00 D01 D02 D03 D04 D05 E00 E01 E02 E03 E04 E05 E06 E07 E08 E09 F00 F01 F02 F03 F04 F05 F06 G00 G01 G02 G03 H00 H01 H02 H03 H04 H05 H06 H07 H08 H09 # X04 X05 X06 X07 X08 B00 B01 B02 B03 B04 B05 B06 C00 C01 C02 C03 C04 C05 C06 E01 E02 E03 E04 E05 E06 E07 # X05 X06 X07 X08 X09 X10 B03 B04 X10 do mkdir -p arena/Task$TX done diff --git a/count-points.pl b/count-points.pl index ebc1370..f72b084 100755 --- a/count-points.pl +++ b/count-points.pl @@ -52,7 +52,7 @@ sub update_total { my $section = get_section($report_file_path); - if (defined $section && ($section ne 'A' && $section ne 'B' && $section ne 'C' && $section ne 'D' && $section ne 'E' && $section ne 'F')) { + if (defined $section && ($section ne 'A' && $section ne 'B' && $section ne 'C' && $section ne 'D' && $section ne 'E' && $section ne 'F' && $section ne 'G' && $section ne 'H')) { if ($section_points{$section} > 0) { print "UWAGA: TYLKO ZADANIE Z NAJWIĘKSZĄ LICZBĄ PUNKTÓW BĘDZIE LICZONE DLA DZIAŁU $section\n"; }