Regexp tasks

This commit is contained in:
Filip Gralinski 2019-10-21 19:55:02 +02:00
parent 33a58c274e
commit 2c010fa247
148 changed files with 2126 additions and 4 deletions

22
TaskA00/description.txt Normal file
View File

@ -0,0 +1,22 @@
Liczby podzielne przez 5
========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy zadany napis jest liczbą całkowitą
podzielną przez 5. Napis nie powinien zawierać zer nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 0.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 0/10

10
TaskA00/test.exp Normal file
View File

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

10
TaskA00/test.in Normal file
View File

@ -0,0 +1,10 @@
-1005
-50
-76
0
00
01000
1000
353
465
@!q

22
TaskA01/description.txt Normal file
View File

@ -0,0 +1,22 @@
Liczby podzielne przez 25
=========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy zadany napis jest dodatnią liczbą
podzielną przez 25.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 1.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 1/10

8
TaskA01/test.exp Normal file
View File

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

8
TaskA01/test.in Normal file
View File

@ -0,0 +1,8 @@
0
1000
111111125
25
353
465
@!q
x50

21
TaskA02/description.txt Normal file
View File

@ -0,0 +1,21 @@
Kody pocztowe
=============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy wydobyć z kodu pocztowego kod miasta (2 pierwsze
cyfry). Jeśli napis nie jest kodem pocztowym, należy wypisać "<NONE>".
Zakładamy, że kod pocztowy składa się z 2 cyfr, minusa i 3 cyfr. Jeśli
napis nie spełnia podanych warunków, należy wypisać "<NONE>".
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 2.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 2/10

6
TaskA02/test.exp Normal file
View File

@ -0,0 +1,6 @@
<NONE>
<NONE>
23
<NONE>
61
<NONE>

6
TaskA02/test.in Normal file
View File

@ -0,0 +1,6 @@
!@#$%^&
0-333
23-000
61-23
61-680
BigFoot

23
TaskA03/description.txt Normal file
View File

@ -0,0 +1,23 @@
Numer NIP
=========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest numerem NIP zapisanym w
formacie xxx-xxx-xx-xx bądź xxx-xx-xx-xxx. Nie trzeba brać pod uwagę sumy
kontrolnej.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 3.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 3/10

5
TaskA03/test.exp Normal file
View File

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

5
TaskA03/test.in Normal file
View File

@ -0,0 +1,5 @@
000-00-00-000
345-45-12-334
345-455-12-34
345-455-12-349
3454551234

23
TaskA04/description.txt Normal file
View File

@ -0,0 +1,23 @@
Telefon filmowy
===============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest 9-cyfrowym numerem
telefonu zapisanym w formacie "NNN-NNN-NNN" badź "NNN NNN NNN" zaczynającym
sie od kombinacji "555".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 4.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 4/10

12
TaskA04/test.exp Normal file
View File

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

12
TaskA04/test.in Normal file
View File

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

23
TaskA05/description.txt Normal file
View File

@ -0,0 +1,23 @@
Akronim
=======
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest akronimem (ciągiem co
najmniej dwóch i co najwyżej pięciu wielkich liter. Dodatkowo należy
uwzględnić akronimy "PCMCIA" i "WYSIWYG".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 5.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 5/10

11
TaskA05/test.exp Normal file
View File

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

11
TaskA05/test.in Normal file
View File

@ -0,0 +1,11 @@
AAAAAA
ABCDE
ATX
P
PC
PCMCIA
PCMCIB
Pc
WYSIWYA
WYSIWYG
ZZZZ

22
TaskA06/description.txt Normal file
View File

@ -0,0 +1,22 @@
Liczba pięcio bądź sześciocyfrowa
=================================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje liczbę pięcio-
bądź sześciocyfrową. Liczba nie powinna zawierać zer nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 6.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 6/10

10
TaskA06/test.exp Normal file
View File

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

10
TaskA06/test.in Normal file
View File

@ -0,0 +1,10 @@
012345
0123456
10000
100001
12345
123456
333333333333
9999
99999
999999

22
TaskA07/description.txt Normal file
View File

@ -0,0 +1,22 @@
Gwiazdek
========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis składa się z samych gwiazdek
(co najmniej jednej).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 7.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 7/10

7
TaskA07/test.exp Normal file
View File

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

7
TaskA07/test.in Normal file
View File

@ -0,0 +1,7 @@
*
**
***
***********
*a
+
a*

23
TaskA08/description.txt Normal file
View File

@ -0,0 +1,23 @@
Chichot
=======
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest chichotem tzn. "hi"
powtórzonym przynajmniej 2 razy, po czym następuje opcjonalny ciąg
wykrzykników.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 8.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 8/10

10
TaskA08/test.exp Normal file
View File

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

10
TaskA08/test.in Normal file
View File

@ -0,0 +1,10 @@
!!!!!
!hi
hi
hi!!!
hihi
hihi!!!!!!!!!
hihihi
hihihi!
hihihihihihihihi
ih!

22
TaskA09/description.txt Normal file
View File

@ -0,0 +1,22 @@
Wielka litera i dwie cyfry w środku
===================================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis zawiera podciąg składający
się z wielkiej litery i dwóch cyfr.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 9.
POINTS: 2
DEADLINE: 2019-11-12 23:59
REMAINDER: 9/10

9
TaskA09/test.exp Normal file
View File

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

9
TaskA09/test.in Normal file
View File

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

23
TaskA10/description.txt Normal file
View File

@ -0,0 +1,23 @@
Podzielność liczby wystąpień
============================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy zadany napis jest potęgą liczby 2
zapisaną w systemie szesnastkowym. Liczba nie powinna zawierać zer
nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 10.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 10/27

12
TaskA10/test.exp Normal file
View File

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

12
TaskA10/test.in Normal file
View File

@ -0,0 +1,12 @@
0
0008000
08000
1
2
400
400 400
4020
8000
800000
8888
A0

24
TaskA11/description.txt Normal file
View File

@ -0,0 +1,24 @@
Podzielność przez cztery
========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy zadany napis - zapisany
dziesiętnie bądź szesnastkowo jest podzielny przez 4. Zapis szesnastkowy
jest sygnalizowany przez prefiks "0x", cyfry szesnastkowe zapisywane jako
wielkie litery. Liczba nie powinna zawierać zer nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 11.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 11/27

17
TaskA11/test.exp Normal file
View File

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

17
TaskA11/test.in Normal file
View File

@ -0,0 +1,17 @@
0
088
0x0
0x00B
0x00C
0x2
0x34
0xB
0xC
1
100000
16
34
34536
4
4 4
88

23
TaskA12/description.txt Normal file
View File

@ -0,0 +1,23 @@
Nie koński łeb
==============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest numerem telefonu
zapisanym w formacie N-NNN-NNNNN-NNNN (N to dowolna cyfra), innym niż numer
telefonu 1-500-56773-4323.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 12.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 12/27

6
TaskA12/test.exp Normal file
View File

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

6
TaskA12/test.in Normal file
View File

@ -0,0 +1,6 @@
09-333-56773-4324
1-500-00000-0000
1-500-55773-4323
1-500-56773-4323
1-500-56773-4324
9-333-56773-4324

25
TaskA13/description.txt Normal file
View File

@ -0,0 +1,25 @@
Nie koński łeb 2
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest napisem złożonym z
ciągu 5 wielkich liter i 4 wielkich liter oddzielonych spacją, które
wstukane na standardowym telefonie dadzą inny numer niż uzyskane przez
wstukanie napisu "HORSE HEAD". Zakładamy standardowe mapowanie liter na
cyfry w telefonie ("ABC" - 2, "DEF" - 3 itd.)
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 13.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 13/27

9
TaskA13/test.exp Normal file
View File

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

9
TaskA13/test.in Normal file
View File

@ -0,0 +1,9 @@
0MORSE HEAD
AAAAA BBBB
AAAAAA BBBB
GOSRE IDAD
HORSE HEAD
MORSE HEAD
MORSEHEAD
ZOSRE IDAD
morse head

23
TaskA14/description.txt Normal file
View File

@ -0,0 +1,23 @@
Nie 555
=======
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest 9-cyfrowym numerem
telefonu zapisanym w formacie "NNN-NNN-NNN" badź "NNN NNN NNN"
niezaczynającym sie od kombinacji "555".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 14.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 14/27

7
TaskA14/test.exp Normal file
View File

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

7
TaskA14/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

24
TaskA15/description.txt Normal file
View File

@ -0,0 +1,24 @@
Wynik-zwycięstwo
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje wynik meczu
piłkarskiego (dwie liczby oddzielone dwukropkiem bądź minusem), przy czym
pierwsza liczba jest większa od drugiej. Maksymalna liczba bramek
zwycięskiej drużyny wynosi 11.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 15.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 15/27

12
TaskA15/test.exp Normal file
View File

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

12
TaskA15/test.in Normal file
View File

@ -0,0 +1,12 @@
10-10
10-9
11-10
11-11
12:0
2:1
2:5
3-1
5:2
5:2 3:1
5:21
7-0

25
TaskA16/description.txt Normal file
View File

@ -0,0 +1,25 @@
Równanie
========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje proste równanie
typu "A @ B = C", gdzie w miejscu A, B, C mogą pojawić się liczby dodatnie
(bez nieznaczących zer) bądź zmienna "x" (zmienna "x" - dokładnie jeden raz
w całym równaniu. '@' którąś z operacji - '+', '-', '*', '/'. Operatory
arytmetyczne i równości mogą być otoczone przez spacje.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 16.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 16/27

8
TaskA16/test.exp Normal file
View File

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

8
TaskA16/test.in Normal file
View File

@ -0,0 +1,8 @@
14 / x = 2
2 + 2 + x = 8
2 + 2 = 4
2 + x = 4
23 - x=13
5+2=x
x + x = 16
x* 343=90900

24
TaskA17/description.txt Normal file
View File

@ -0,0 +1,24 @@
Formy czasownika
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest formą czasownika
zakończonego na "ować". Należy uwzględnić wszystkie formy z wyjątkiem
imiesłowów. Napis musi być ciągiem małych liter (włącznie z polskimi
literami).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 17.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 17/27

10
TaskA17/test.exp Normal file
View File

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

10
TaskA17/test.in Normal file
View File

@ -0,0 +1,10 @@
Abonować
abonować
abonowaćxxx
anonsuje
anonsuję
modemowałyście
prowokowany
prowokuj
sprowokuje
óęererłujemy

25
TaskA18/description.txt Normal file
View File

@ -0,0 +1,25 @@
Numer wiersza z Ewangelii
=========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest oznaczeniem wiersza z
Ewangelii (w rodzaju "Mt 17, 3"). Skróty Ewangelii - "Mt", "Mk", "Łk", "J",
liczba rozdziałów odpowiednio - 28, 16, 24, 22. Wiersz liczba z zakresu
1-99 (nie trzeba sprawdzać czy faktycznie tyle jest w poszczególnych
rozdziałach).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 18.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 18/27

8
TaskA18/test.exp Normal file
View File

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

8
TaskA18/test.in Normal file
View File

@ -0,0 +1,8 @@
J 22, 99
J 23, 1
Mk 16, 9
Mk 17, 9
Mk 7, 9
Mt 1, 1
Łk 24, 3
Łk 30, 1

22
TaskA19/description.txt Normal file
View File

@ -0,0 +1,22 @@
Potęga setki
============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy zadany napis jest potęgą liczby
100.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 19.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 19/27

9
TaskA19/test.exp Normal file
View File

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

9
TaskA19/test.in Normal file
View File

@ -0,0 +1,9 @@
-100
1
10
100
10000
1000000
1001
2000
500

22
TaskA20/description.txt Normal file
View File

@ -0,0 +1,22 @@
Numer telefonu
==============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy wydobyć zadany napis jest numerem telefonu.
Zakładamy, że numer telefonu składa się z dwóch cyfr opcjonalnie
poprzedzonych zerem, po których następuje spacja i 7 cyfr w formacie
N-NNN-NNN. Jeśli napis nie spełnia podanych warunków, należy wypisać
"<NONE>".
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 20.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 20/27

6
TaskA20/test.exp Normal file
View File

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

6
TaskA20/test.in Normal file
View File

@ -0,0 +1,6 @@
00 0-000-000
000 0-000-000
0000 0-000-000
061 5-555-553
61 5-555-553
61 5-555-5534

25
TaskA21/description.txt Normal file
View File

@ -0,0 +1,25 @@
Koński łeb
==========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest napisem złożonym z
ciągu 5 wielkich liter i 4 wielkich liter oddzielonych spacją, które
wstukane na standardowym telefonie dadzą taki sam numer jak przy wstukaniu
napisu "HORSE HEAD". Zakładamy standardowe mapowanie liter na cyfry w
telefonie ("ABC" - 2, "DEF" - 3 itd.)
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 21.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 21/27

9
TaskA21/test.exp Normal file
View File

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

9
TaskA21/test.in Normal file
View File

@ -0,0 +1,9 @@
0MORSE HEAD
AAAAA BBBB
AAAAAA BBBB
GOSRE IDAD
HORSE HEAD
MORSE HEAD
MORSEHEAD
ZOSRE IDAD
morse head

23
TaskA22/description.txt Normal file
View File

@ -0,0 +1,23 @@
Wynik meczu
===========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje wynik meczu
piłkarskiego (dwie liczby oddzielone dwukropkiem). Maksymalna (sumaryczna)
liczba bramek wynosi 10.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 22.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 22/27

11
TaskA22/test.exp Normal file
View File

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

11
TaskA22/test.in Normal file
View File

@ -0,0 +1,11 @@
0:7
10:10
11:2
2:1
3
3:101
5-5
5:2
5:5
:3
xxxx

22
TaskA23/description.txt Normal file
View File

@ -0,0 +1,22 @@
Wiek człowieka
==============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje wiek człowieka,
tzn. jest postaci typu "45 lat". Maksymalny wiek - 99 lat.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 23.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 23/27

14
TaskA23/test.exp Normal file
View File

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

14
TaskA23/test.in Normal file
View File

@ -0,0 +1,14 @@
1 rok
100 lat
11 lat
112 lat
12 lat
12 lata
2 lata
22 lat
22 lata
3 lata
4 lata
44 lata
5 lat
99 lat

24
TaskA24/description.txt Normal file
View File

@ -0,0 +1,24 @@
Imię i nazwisko mężczyzny.
==========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje imię i nazwisko
mężczyzny. Imię i nazwisko to przynajmniej dwuliterowy napis zaczynający
się wielką literą, po której następują małe litery. Dodatkowo imię nie może
kończyć się na "a".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 24.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 24/27

8
TaskA24/test.exp Normal file
View File

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

8
TaskA24/test.in Normal file
View File

@ -0,0 +1,8 @@
Aa Ax
Ai Oi
Atanazy Bazakbal
Ax Aa
Jan Maska
Joanna Kowalska
Kim Bo
Oo Oo

24
TaskA25/description.txt Normal file
View File

@ -0,0 +1,24 @@
Imię i nazwisko kobiety.
========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje imię i nazwisko
kobiety. Imię i nazwisko to przynajmniej dwuliterowy napis zaczynający się
wielką literą, po której następują małe litery. Dodatkowo imię musi kończyć
się na "a".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 25.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 25/27

9
TaskA25/test.exp Normal file
View File

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

9
TaskA25/test.in Normal file
View File

@ -0,0 +1,9 @@
Aa Ax
Ai Oi
Atanazy Bazakbal
Ax Aa
Jan Maska
Joanna Kowalska
Kim Bo
Oo Oo
Za Mysz

23
TaskA26/description.txt Normal file
View File

@ -0,0 +1,23 @@
Liczba całkowita
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje liczbę
całkowitą. Liczba nie powinna zawierać zer nieznaczących. Liczby dodatnie
mogą opcjonalnie zaczynać się plusem.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 26.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 26/27

11
TaskA26/test.exp Normal file
View File

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

11
TaskA26/test.in Normal file
View File

@ -0,0 +1,11 @@
+0
+5
-0
-11110
-5
0
03434343435
06
100
3434343435
5

23
TaskA27/description.txt Normal file
View File

@ -0,0 +1,23 @@
Liczba mniejsza niż 144
=======================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje liczbę
całkowitą nieujemną mniejszą niż 143. Liczba nie powinna zawierać zer
nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 0.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 0/27

13
TaskA27/test.exp Normal file
View File

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

13
TaskA27/test.in Normal file
View File

@ -0,0 +1,13 @@
-1
0
05
098
1000
103
139
142
143
144
5
78
99

23
TaskA28/description.txt Normal file
View File

@ -0,0 +1,23 @@
Nazwą domenową.
===============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje nazwę domenową.
Zakładamy, że nazwa domenowa składa się z 2 lub 3 członów oddzielonych
kropkami. Każdy człon to ciąg małych liter.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 1.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 1/27

9
TaskA28/test.exp Normal file
View File

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

9
TaskA28/test.in Normal file
View File

@ -0,0 +1,9 @@
bla.pl
bla1.pl
foo..tv
foo.pl.
foo.tv
www.bla.pl
www.haha.bla.pl
x.y.z
z.z

22
TaskA29/description.txt Normal file
View File

@ -0,0 +1,22 @@
Identyfikator
=============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest identyfikatorem
(ciągiem liter, cyfr i podkreślników nie zaczynających się cyfrą).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 2.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 2/27

11
TaskA29/test.exp Normal file
View File

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

11
TaskA29/test.in Normal file
View File

@ -0,0 +1,11 @@
%haha%
0zmienna
2
Gitorah
_2
_____
_a_
blo_34a
godzilla
x
z0000000

22
TaskA30/description.txt Normal file
View File

@ -0,0 +1,22 @@
Temperatura
===========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest liczbą całkowitą
zakresu od -49 do 49. Liczba nie powinna zawierać zer nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 3.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 3/27

11
TaskA30/test.exp Normal file
View File

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

11
TaskA30/test.in Normal file
View File

@ -0,0 +1,11 @@
-200
-21
-49
-50
-9
0
100
18
49
50
7

23
TaskA31/description.txt Normal file
View File

@ -0,0 +1,23 @@
Jedna samogłoska
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest wyrazem zawierającym
dokładnie jedną samogłoskę. Należy uwzględnić małe litery alfabetu
łacińskiego.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 4.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 4/27

9
TaskA31/test.exp Normal file
View File

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

9
TaskA31/test.in Normal file
View File

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

23
TaskA32/description.txt Normal file
View File

@ -0,0 +1,23 @@
Suma w dolarach
===============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis wyraża sumę w dolarach, tj.
zaczyna się znakiem dolara, po którym następuje liczba dodatnia (bez zer
nieznaczących).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 5.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 5/27

8
TaskA32/test.exp Normal file
View File

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

8
TaskA32/test.in Normal file
View File

@ -0,0 +1,8 @@
$
$0098
$1
$100
$67592234
$89
10$100
89

23
TaskA33/description.txt Normal file
View File

@ -0,0 +1,23 @@
DNA
===
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Dla każdego napisu należy sprawdzić, czy napis jest niepustym ciągiem liter
A, G, C, T, U, przy czym w jednym ciągu może wystąpić albo T, albo U nie
obie litery równocześnie.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'true', w przeciwnym razie — 'false'.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 6.
POINTS: 3
DEADLINE: 2019-11-12 23:59
REMAINDER: 6/27

Some files were not shown because too many files have changed in this diff Show More