This commit is contained in:
Eryk Miszczuk 2019-12-02 20:38:41 +01:00
commit 2abcd00246
50 changed files with 123754 additions and 7 deletions

View File

@ -1,7 +1,7 @@
no no
yes yes
yes yes
yes no
no no
yes yes
no no

View File

@ -1,5 +1,5 @@
yes yes
yes no
no no
yes yes
no no

View File

@ -18,5 +18,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3. indeksu") is divisable by 3.
POINTS: 8 POINTS: 8
DEADLINE: 2019-11-14 23:59 DEADLINE: 2019-12-09 18:45
REMAINDER: 0/3 REMAINDER: 0/3

View File

@ -16,5 +16,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 1 indeksu") is divisable by 3 with a remainder of 1
POINTS: 8 POINTS: 8
DEADLINE: 2019-11-14 23:59 DEADLINE: 2019-12-09 18:45
REMAINDER: 1/3 REMAINDER: 1/3

View File

@ -24,5 +24,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 2 indeksu") is divisable by 3 with a remainder of 2
POINTS: 8 POINTS: 8
DEADLINE: 2019-11-14 23:59 DEADLINE: 2019-12-09 18:45
REMAINDER: 2/3 REMAINDER: 2/3

57
TaskB03/description.txt Normal file
View File

@ -0,0 +1,57 @@
Słownik
=======
Program powinien wczytać automat skończeniestanowy (bez wag) ze
standardowego wejścia. Zakładamy, że automat jest deterministyczny i
nie zawiera cykli.
Każda ścieżka automatu etykietowana jest ciągiem symboli o
następującej strukturze:
<słowo wejściowe>;<opis>
np.
biały;ADJ
dom;N
piła;N
piła;V
stali;N
stali;V
stali;ADJ
Następnie należy wczytać słowa z kolejnych wierszy pliku podanego jako
argument. Dla każdego słowa należy wypisać wszystkie ścieżki automatu,
które rozpoczynają się tym słowem, a następnym symbolem jest ';'
(średnik), czyli np. dla słowa wejściowego 'dom' szukamy ścieżek o
prefiksie 'dom;'. Jeśli nie ma żadnej takiej ścieżki, to należy
wyprowadzić napis:
<słowo wejściowe>;OOV
Przykładowo, dla automatu ze ścieżkami, jak wyżej, i wejścia:
budynek
dom
piła
powinniśmy otrzymać:
budynek;OOV
dom;N
piła;N
piła;V
W sytuacji, gdy dla jednego prefiksu wejściowego otrzymujemy na wyściu
wiele ścieżek, powinny być one posortowane alfabetycznie.
Program nie musi sprawdzać, czy tekst wczytany ze standardowego
wejścia jest poprawnym opisem automatu i czy automat jest
deterministyczny i nie zawiera cykli.
NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 1
POINTS: 14
DEADLINE: 2019-12-16 23:59
REMAINDER: 0/3

1
TaskB03/elem.arg Normal file
View File

@ -0,0 +1 @@
dom

1
TaskB03/elem.exp Normal file
View File

@ -0,0 +1 @@
dom;N

31
TaskB03/elem.in Normal file
View File

@ -0,0 +1,31 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 10 m
7 11 ł
8 12 a
9 13 ł
10 14 ;
11 15 a
12 16 l
13 17 y
14 24 N
15 18 ;
16 19 i
17 20 ;
18 24 N
18 24 V
19 21 ;
20 22 A
21 22 A
21 24 N
21 24 V
22 23 D
23 24 J
24

6
TaskB03/medium.arg Normal file
View File

@ -0,0 +1,6 @@
arbuz
arbuza
arbuzowi
azylant
azylanci
azylantowie

7
TaskB03/medium.exp Normal file
View File

@ -0,0 +1,7 @@
arbuz;N
arbuza;N
arbuzowi;ADJ
arbuzowi;N
azylant;N
azylanci;N
azylantowie;OOV

15125
TaskB03/medium.in Normal file

File diff suppressed because it is too large Load Diff

1
TaskB03/multi.arg Normal file
View File

@ -0,0 +1 @@
piła

2
TaskB03/multi.exp Normal file
View File

@ -0,0 +1,2 @@
piła;N
piła;V

31
TaskB03/multi.in Normal file
View File

@ -0,0 +1,31 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 10 m
7 11 ł
8 12 a
9 13 ł
10 14 ;
11 15 a
12 16 l
13 17 y
14 24 N
15 18 ;
16 19 i
17 20 ;
18 24 N
18 24 V
19 21 ;
20 22 A
21 22 A
21 24 N
21 24 V
22 23 D
23 24 J
24

1
TaskB03/oov.arg Normal file
View File

@ -0,0 +1 @@
budynek

1
TaskB03/oov.exp Normal file
View File

@ -0,0 +1 @@
budynek;OOV

31
TaskB03/oov.in Normal file
View File

@ -0,0 +1,31 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 10 m
7 11 ł
8 12 a
9 13 ł
10 14 ;
11 15 a
12 16 l
13 17 y
14 24 N
15 18 ;
16 19 i
17 20 ;
18 24 N
18 24 V
19 21 ;
20 22 A
21 22 A
21 24 N
21 24 V
22 23 D
23 24 J
24

24
TaskB04/description.txt Normal file
View File

@ -0,0 +1,24 @@
Ścieżki
=======
Program powinien wczytać automat skończeniestanowy (bez wag) ze
standardowego wejścia. Zakładamy, że automat jest deterministyczny i
nie zawiera cykli. Alfabet automatu stanowią litery języka polskiego.
Program powinien wypisać na standardowe wyjście wszystkie ścieżki
automatu w porządku alfabetycznym. Wypisać ścieżkę oznacza wyprowadzić
linię tekstu zawierającą jako kolejne znaki kolejne symbole wejściowe
automatu i zakończoną znakiem końca linii.
Program nie musi sprawdzać, czy tekst wczytany ze standardowego
wejścia jest poprawnym opisem automatu i czy automat jest
deterministyczny i nie zawiera cykli.
Ewentualne wagi należy pomijać.
NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 1
POINTS: 14
DEADLINE: 2019-12-16 23:59
REMAINDER: 1/3

50657
TaskB04/medium.exp Normal file

File diff suppressed because it is too large Load Diff

14774
TaskB04/medium.in Normal file

File diff suppressed because it is too large Load Diff

1
TaskB04/medium2.exp Normal file
View File

@ -0,0 +1 @@
a

13989
TaskB04/medium2.in Normal file

File diff suppressed because it is too large Load Diff

4
TaskB04/small.exp Normal file
View File

@ -0,0 +1,4 @@
biały
dom
piła
stali

18
TaskB04/small.in Normal file
View File

@ -0,0 +1,18 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 14 m
7 10 ł
8 11 a
9 12 ł
10 14 a
11 13 l
12 14 y
13 14 i
14

3
TaskB04/small2.exp Normal file
View File

@ -0,0 +1,3 @@
biały
piła
stali

18
TaskB04/small2.in Normal file
View File

@ -0,0 +1,18 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 15 m
7 10 ł
8 11 a
9 12 ł
10 14 a
11 13 l
12 14 y
13 14 i
14

23
TaskB05/description.txt Normal file
View File

@ -0,0 +1,23 @@
Cykle
=====
Program powinien wczytać automat skończeniestanowy (bez wag) ze
standardowego wejścia. Automat może być niedeterministyczny i zawierać
epsilon-przejścia.
Program powinien sprawdzić, czy automat zawiera cykle.
Jeśli tak, na wyjściu powinna zostać wypisana linia
TAK
w przeciwnym razie
NIE
NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 2
POINTS: 14
DEADLINE: 2019-12-16 23:59
REMAINDER: 2/3

1
TaskB05/medium1.exp Normal file
View File

@ -0,0 +1 @@
NIE

14774
TaskB05/medium1.in Normal file

File diff suppressed because it is too large Load Diff

1
TaskB05/medium2.exp Normal file
View File

@ -0,0 +1 @@
TAK

13989
TaskB05/medium2.in Normal file

File diff suppressed because it is too large Load Diff

1
TaskB05/small1.exp Normal file
View File

@ -0,0 +1 @@
NIE

18
TaskB05/small1.in Normal file
View File

@ -0,0 +1,18 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 14 m
7 10 ł
8 11 a
9 12 ł
10 14 a
11 13 l
12 14 y
13 14 i
14

1
TaskB05/small2.exp Normal file
View File

@ -0,0 +1 @@
TAK

19
TaskB05/small2.in Normal file
View File

@ -0,0 +1,19 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 15 m
7 10 ł
8 11 a
9 12 ł
10 14 a
11 11 l
11 13 l
12 14 y
13 14 i
14

18
TaskE01/description.txt Normal file
View File

@ -0,0 +1,18 @@
An upper-case letter and two digits
===================================
Note: this task is only for students of "Formal languages and
complexity theory" taught in English.
[Your program should read lines from the standard input and check each
line separately (without end-of-line character). Please use regular
expressions as much as possible (in particular, try not to use
logical operators outside the regeular expression). If it is
possible, use just one regular expression.]
For each string from the standard input, check whether if contains a
substring composed of an upper-case letter and 2 digits. Write "true"/"false"
on the standard output accordingly.
POINTS: 2
DEADLINE: 2019-12-05 17:00

9
TaskE01/test.exp Normal file
View File

@ -0,0 +1,9 @@
true
false
false
true
false
false
false
true
true

9
TaskE01/test.in Normal file
View File

@ -0,0 +1,9 @@
G3923d
G9
Ha3a5
Z00
Z0x0
az33a
dsdg34
hahaA39dsdsd
sssssssssssU23

18
TaskE02/description.txt Normal file
View File

@ -0,0 +1,18 @@
No 555
======
Note: this task is only for students of "Formal languages and
complexity theory" taught in English.
[Your program should read lines from the standard input and check each
line separately (without end-of-line character). Please use regular
expressions as much as possible (in particular, try not to use
logical operators outside the regeular expression). If it is
possible, use just one regular expression.]
For each string from the standard input, check whether it is a 9-digit
phone number (format "NNN-NNN-NNN" or "NNN NNN NNN"), not beginning
with "555". Write "true"/"false" on the standard output accordingly.
POINTS: 3
DEADLINE: 2019-12-05 17:00

7
TaskE02/test.exp Normal file
View File

@ -0,0 +1,7 @@
true
true
true
false
true
false
false

7
TaskE02/test.in Normal file
View File

@ -0,0 +1,7 @@
055-555-555
505-324-555
551-233-455
555-123-456
556 345 667
556 345 6675
556 345-667

18
TaskE03/description.txt Normal file
View File

@ -0,0 +1,18 @@
One vowel
=========
Note: this task is only for students of "Formal languages and
complexity theory" taught in English.
[Your program should read lines from the standard input and check each
line separately (without end-of-line character). Please use regular
expressions as much as possible (in particular, try not to use
logical operators outside the regeular expression). If it is
possible, use just one regular expression.]
For each string from the standard input, check whether it is a single
word with exactly one vowel (consider only Latin alphabet). Write
"true"/"false" on the standard output accordingly.
POINTS: 2
DEADLINE: 2019-12-05 17:00

9
TaskE03/test.exp Normal file
View File

@ -0,0 +1,9 @@
false
false
true
false
false
false
true
false
true

9
TaskE03/test.in Normal file
View File

@ -0,0 +1,9 @@
223
aa
dom
html
ostrach
puko
strach
strachy
u

19
TaskE04/description.txt Normal file
View File

@ -0,0 +1,19 @@
Minutes
=======
Note: this task is only for students of "Formal languages and
complexity theory" taught in English.
[Your program should read lines from the standard input and check each
line separately (without end-of-line character). Please use regular
expressions as much as possible (in particular, try not to use
logical operators outside the regeular expression). If it is
possible, use just one regular expression.]
For each string from the standard input, extract minutes from a string
representing an hour ("9:13", "18:44", etc.) and write it on the
standard output. If the input string is not an hour, write "<NONE>" on
the standard output.
POINTS: 3
DEADLINE: 2019-12-05 17:00

7
TaskE04/test.exp Normal file
View File

@ -0,0 +1,7 @@
00
44
59
<NONE>
13
<NONE>
<NONE>

7
TaskE04/test.in Normal file
View File

@ -0,0 +1,7 @@
0:00
18:44
23:59
25:14
9:13
9:61
x9:13y

View File

@ -2,4 +2,4 @@ Read a specification of an automaton in the AT&T format and write
the number of transitions. the number of transitions.
POINTS: 1 POINTS: 1
DEADLINE: 2019-11-14 23:59 DEADLINE: 2019-11-26 23:59

View File

@ -19,7 +19,7 @@ cp "${PREFIX}/count-points.pl" arena/
cp "${PREFIX}/overrides.txt" arena/ cp "${PREFIX}/overrides.txt" arena/
cp "${PREFIX}/Makefile" arena/ cp "${PREFIX}/Makefile" arena/
for TX in X01 X02 X03 X04 B00 B01 B02 # X05 X06 X07 X08 X09 X10 B03 B04 X10 for TX in X01 X02 X03 X04 B00 B01 B02 B03 B04 B05 E01 E02 E03 E04 # X05 X06 X07 X08 X09 X10 B03 B04 X10
do do
mkdir -p arena/Task$TX mkdir -p arena/Task$TX
done done