diff --git a/TaskA00/description.txt b/TaskA00/description.txt new file mode 100644 index 0000000..6cb43b8 --- /dev/null +++ b/TaskA00/description.txt @@ -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 diff --git a/TaskA00/test.exp b/TaskA00/test.exp new file mode 100644 index 0000000..c77807b --- /dev/null +++ b/TaskA00/test.exp @@ -0,0 +1,10 @@ +true +true +false +true +false +false +true +false +true +false diff --git a/TaskA00/test.in b/TaskA00/test.in new file mode 100644 index 0000000..576dd87 --- /dev/null +++ b/TaskA00/test.in @@ -0,0 +1,10 @@ +-1005 +-50 +-76 +0 +00 +01000 +1000 +353 +465 +@!q diff --git a/TaskA01/description.txt b/TaskA01/description.txt new file mode 100644 index 0000000..2d38871 --- /dev/null +++ b/TaskA01/description.txt @@ -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 diff --git a/TaskA01/test.exp b/TaskA01/test.exp new file mode 100644 index 0000000..bf6ff1c --- /dev/null +++ b/TaskA01/test.exp @@ -0,0 +1,8 @@ +false +true +true +true +false +false +false +false diff --git a/TaskA01/test.in b/TaskA01/test.in new file mode 100644 index 0000000..3fb76e1 --- /dev/null +++ b/TaskA01/test.in @@ -0,0 +1,8 @@ +0 +1000 +111111125 +25 +353 +465 +@!q +x50 diff --git a/TaskA02/description.txt b/TaskA02/description.txt new file mode 100644 index 0000000..b33f16d --- /dev/null +++ b/TaskA02/description.txt @@ -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ć "". +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ć "". + +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 diff --git a/TaskA02/test.exp b/TaskA02/test.exp new file mode 100644 index 0000000..189b4b4 --- /dev/null +++ b/TaskA02/test.exp @@ -0,0 +1,6 @@ + + +23 + +61 + diff --git a/TaskA02/test.in b/TaskA02/test.in new file mode 100644 index 0000000..f79c5fb --- /dev/null +++ b/TaskA02/test.in @@ -0,0 +1,6 @@ +!@#$%^& +0-333 +23-000 +61-23 +61-680 +BigFoot diff --git a/TaskA03/description.txt b/TaskA03/description.txt new file mode 100644 index 0000000..93bf826 --- /dev/null +++ b/TaskA03/description.txt @@ -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 diff --git a/TaskA03/test.exp b/TaskA03/test.exp new file mode 100644 index 0000000..2731bda --- /dev/null +++ b/TaskA03/test.exp @@ -0,0 +1,5 @@ +true +true +true +false +false diff --git a/TaskA03/test.in b/TaskA03/test.in new file mode 100644 index 0000000..5707927 --- /dev/null +++ b/TaskA03/test.in @@ -0,0 +1,5 @@ +000-00-00-000 +345-45-12-334 +345-455-12-34 +345-455-12-349 +3454551234 diff --git a/TaskA04/description.txt b/TaskA04/description.txt new file mode 100644 index 0000000..d277ca1 --- /dev/null +++ b/TaskA04/description.txt @@ -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 diff --git a/TaskA04/test.exp b/TaskA04/test.exp new file mode 100644 index 0000000..4aa563c --- /dev/null +++ b/TaskA04/test.exp @@ -0,0 +1,12 @@ +false +false +false +true +false +true +false +true +true +false +false +false diff --git a/TaskA04/test.in b/TaskA04/test.in new file mode 100644 index 0000000..73010fc --- /dev/null +++ b/TaskA04/test.in @@ -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 diff --git a/TaskA05/description.txt b/TaskA05/description.txt new file mode 100644 index 0000000..7871ff0 --- /dev/null +++ b/TaskA05/description.txt @@ -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 diff --git a/TaskA05/test.exp b/TaskA05/test.exp new file mode 100644 index 0000000..7773bc3 --- /dev/null +++ b/TaskA05/test.exp @@ -0,0 +1,11 @@ +false +true +true +false +true +true +false +false +false +true +true diff --git a/TaskA05/test.in b/TaskA05/test.in new file mode 100644 index 0000000..7242285 --- /dev/null +++ b/TaskA05/test.in @@ -0,0 +1,11 @@ +AAAAAA +ABCDE +ATX +P +PC +PCMCIA +PCMCIB +Pc +WYSIWYA +WYSIWYG +ZZZZ diff --git a/TaskA06/description.txt b/TaskA06/description.txt new file mode 100644 index 0000000..d7b2e82 --- /dev/null +++ b/TaskA06/description.txt @@ -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 diff --git a/TaskA06/test.exp b/TaskA06/test.exp new file mode 100644 index 0000000..1723759 --- /dev/null +++ b/TaskA06/test.exp @@ -0,0 +1,10 @@ +false +false +true +true +true +true +false +false +true +true diff --git a/TaskA06/test.in b/TaskA06/test.in new file mode 100644 index 0000000..a8331f2 --- /dev/null +++ b/TaskA06/test.in @@ -0,0 +1,10 @@ +012345 +0123456 +10000 +100001 +12345 +123456 +333333333333 +9999 +99999 +999999 diff --git a/TaskA07/description.txt b/TaskA07/description.txt new file mode 100644 index 0000000..41d1b27 --- /dev/null +++ b/TaskA07/description.txt @@ -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 diff --git a/TaskA07/test.exp b/TaskA07/test.exp new file mode 100644 index 0000000..dd1eb38 --- /dev/null +++ b/TaskA07/test.exp @@ -0,0 +1,7 @@ +true +true +true +true +false +false +false diff --git a/TaskA07/test.in b/TaskA07/test.in new file mode 100644 index 0000000..ec2947d --- /dev/null +++ b/TaskA07/test.in @@ -0,0 +1,7 @@ +* +** +*** +*********** +*a ++ +a* diff --git a/TaskA08/description.txt b/TaskA08/description.txt new file mode 100644 index 0000000..3c94bd6 --- /dev/null +++ b/TaskA08/description.txt @@ -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 diff --git a/TaskA08/test.exp b/TaskA08/test.exp new file mode 100644 index 0000000..d8e27b6 --- /dev/null +++ b/TaskA08/test.exp @@ -0,0 +1,10 @@ +false +false +false +false +true +true +true +true +true +false diff --git a/TaskA08/test.in b/TaskA08/test.in new file mode 100644 index 0000000..810cbf6 --- /dev/null +++ b/TaskA08/test.in @@ -0,0 +1,10 @@ +!!!!! +!hi +hi +hi!!! +hihi +hihi!!!!!!!!! +hihihi +hihihi! +hihihihihihihihi +ih! diff --git a/TaskA09/description.txt b/TaskA09/description.txt new file mode 100644 index 0000000..ac9f25a --- /dev/null +++ b/TaskA09/description.txt @@ -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 diff --git a/TaskA09/test.exp b/TaskA09/test.exp new file mode 100644 index 0000000..d255222 --- /dev/null +++ b/TaskA09/test.exp @@ -0,0 +1,9 @@ +true +false +false +true +false +false +false +true +true diff --git a/TaskA09/test.in b/TaskA09/test.in new file mode 100644 index 0000000..fc29212 --- /dev/null +++ b/TaskA09/test.in @@ -0,0 +1,9 @@ +G3923d +G9 +Ha3a5 +Z00 +Z0x0 +az33a +dsdg34 +hahaA39dsdsd +sssssssssssU23 diff --git a/TaskA10/description.txt b/TaskA10/description.txt new file mode 100644 index 0000000..4dcced0 --- /dev/null +++ b/TaskA10/description.txt @@ -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 diff --git a/TaskA10/test.exp b/TaskA10/test.exp new file mode 100644 index 0000000..757dfa1 --- /dev/null +++ b/TaskA10/test.exp @@ -0,0 +1,12 @@ +false +false +false +true +true +true +false +false +true +true +false +false diff --git a/TaskA10/test.in b/TaskA10/test.in new file mode 100644 index 0000000..ab8d16e --- /dev/null +++ b/TaskA10/test.in @@ -0,0 +1,12 @@ +0 +0008000 +08000 +1 +2 +400 +400 400 +4020 +8000 +800000 +8888 +A0 diff --git a/TaskA11/description.txt b/TaskA11/description.txt new file mode 100644 index 0000000..5743c82 --- /dev/null +++ b/TaskA11/description.txt @@ -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 diff --git a/TaskA11/test.exp b/TaskA11/test.exp new file mode 100644 index 0000000..bd76344 --- /dev/null +++ b/TaskA11/test.exp @@ -0,0 +1,17 @@ +true +false +true +false +false +false +true +false +true +false +true +true +false +true +true +false +true diff --git a/TaskA11/test.in b/TaskA11/test.in new file mode 100644 index 0000000..e01d67c --- /dev/null +++ b/TaskA11/test.in @@ -0,0 +1,17 @@ +0 +088 +0x0 +0x00B +0x00C +0x2 +0x34 +0xB +0xC +1 +100000 +16 +34 +34536 +4 +4 4 +88 diff --git a/TaskA12/description.txt b/TaskA12/description.txt new file mode 100644 index 0000000..2bb9995 --- /dev/null +++ b/TaskA12/description.txt @@ -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 diff --git a/TaskA12/test.exp b/TaskA12/test.exp new file mode 100644 index 0000000..d78ebe7 --- /dev/null +++ b/TaskA12/test.exp @@ -0,0 +1,6 @@ +false +true +true +false +true +true diff --git a/TaskA12/test.in b/TaskA12/test.in new file mode 100644 index 0000000..ec41c84 --- /dev/null +++ b/TaskA12/test.in @@ -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 diff --git a/TaskA13/description.txt b/TaskA13/description.txt new file mode 100644 index 0000000..9875ffd --- /dev/null +++ b/TaskA13/description.txt @@ -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 diff --git a/TaskA13/test.exp b/TaskA13/test.exp new file mode 100644 index 0000000..b323ac8 --- /dev/null +++ b/TaskA13/test.exp @@ -0,0 +1,9 @@ +false +true +false +false +false +true +false +true +false diff --git a/TaskA13/test.in b/TaskA13/test.in new file mode 100644 index 0000000..7f9df30 --- /dev/null +++ b/TaskA13/test.in @@ -0,0 +1,9 @@ +0MORSE HEAD +AAAAA BBBB +AAAAAA BBBB +GOSRE IDAD +HORSE HEAD +MORSE HEAD +MORSEHEAD +ZOSRE IDAD +morse head diff --git a/TaskA14/description.txt b/TaskA14/description.txt new file mode 100644 index 0000000..4094508 --- /dev/null +++ b/TaskA14/description.txt @@ -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 diff --git a/TaskA14/test.exp b/TaskA14/test.exp new file mode 100644 index 0000000..7aed87e --- /dev/null +++ b/TaskA14/test.exp @@ -0,0 +1,7 @@ +true +true +true +false +true +false +false diff --git a/TaskA14/test.in b/TaskA14/test.in new file mode 100644 index 0000000..ae3eec2 --- /dev/null +++ b/TaskA14/test.in @@ -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 diff --git a/TaskA15/description.txt b/TaskA15/description.txt new file mode 100644 index 0000000..884921c --- /dev/null +++ b/TaskA15/description.txt @@ -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 diff --git a/TaskA15/test.exp b/TaskA15/test.exp new file mode 100644 index 0000000..ff407b9 --- /dev/null +++ b/TaskA15/test.exp @@ -0,0 +1,12 @@ +false +true +true +true +false +true +false +true +true +false +false +true diff --git a/TaskA15/test.in b/TaskA15/test.in new file mode 100644 index 0000000..17c02f2 --- /dev/null +++ b/TaskA15/test.in @@ -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 diff --git a/TaskA16/description.txt b/TaskA16/description.txt new file mode 100644 index 0000000..2613107 --- /dev/null +++ b/TaskA16/description.txt @@ -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 diff --git a/TaskA16/test.exp b/TaskA16/test.exp new file mode 100644 index 0000000..031abec --- /dev/null +++ b/TaskA16/test.exp @@ -0,0 +1,8 @@ +true +false +false +true +true +true +false +true diff --git a/TaskA16/test.in b/TaskA16/test.in new file mode 100644 index 0000000..5e5b36b --- /dev/null +++ b/TaskA16/test.in @@ -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 diff --git a/TaskA17/description.txt b/TaskA17/description.txt new file mode 100644 index 0000000..6686f72 --- /dev/null +++ b/TaskA17/description.txt @@ -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 diff --git a/TaskA17/test.exp b/TaskA17/test.exp new file mode 100644 index 0000000..bf214d3 --- /dev/null +++ b/TaskA17/test.exp @@ -0,0 +1,10 @@ +false +true +false +true +true +true +false +true +true +true diff --git a/TaskA17/test.in b/TaskA17/test.in new file mode 100644 index 0000000..d3c3e4d --- /dev/null +++ b/TaskA17/test.in @@ -0,0 +1,10 @@ +Abonować +abonować +abonowaćxxx +anonsuje +anonsuję +modemowałyście +prowokowany +prowokuj +sprowokuje +óęererłujemy diff --git a/TaskA18/description.txt b/TaskA18/description.txt new file mode 100644 index 0000000..038af07 --- /dev/null +++ b/TaskA18/description.txt @@ -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 diff --git a/TaskA18/test.exp b/TaskA18/test.exp new file mode 100644 index 0000000..30ef91e --- /dev/null +++ b/TaskA18/test.exp @@ -0,0 +1,8 @@ +true +false +true +false +true +true +true +false diff --git a/TaskA18/test.in b/TaskA18/test.in new file mode 100644 index 0000000..02d5558 --- /dev/null +++ b/TaskA18/test.in @@ -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 diff --git a/TaskA19/description.txt b/TaskA19/description.txt new file mode 100644 index 0000000..66bdd87 --- /dev/null +++ b/TaskA19/description.txt @@ -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 diff --git a/TaskA19/test.exp b/TaskA19/test.exp new file mode 100644 index 0000000..cb5bbe0 --- /dev/null +++ b/TaskA19/test.exp @@ -0,0 +1,9 @@ +false +true +false +true +true +true +false +false +false diff --git a/TaskA19/test.in b/TaskA19/test.in new file mode 100644 index 0000000..de73392 --- /dev/null +++ b/TaskA19/test.in @@ -0,0 +1,9 @@ +-100 +1 +10 +100 +10000 +1000000 +1001 +2000 +500 diff --git a/TaskA20/description.txt b/TaskA20/description.txt new file mode 100644 index 0000000..53b0d2f --- /dev/null +++ b/TaskA20/description.txt @@ -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ć +"". + +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 diff --git a/TaskA20/test.exp b/TaskA20/test.exp new file mode 100644 index 0000000..3e30307 --- /dev/null +++ b/TaskA20/test.exp @@ -0,0 +1,6 @@ +true +true +false +true +true +false diff --git a/TaskA20/test.in b/TaskA20/test.in new file mode 100644 index 0000000..7959711 --- /dev/null +++ b/TaskA20/test.in @@ -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 diff --git a/TaskA21/description.txt b/TaskA21/description.txt new file mode 100644 index 0000000..5657fa2 --- /dev/null +++ b/TaskA21/description.txt @@ -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 diff --git a/TaskA21/test.exp b/TaskA21/test.exp new file mode 100644 index 0000000..8d0fe04 --- /dev/null +++ b/TaskA21/test.exp @@ -0,0 +1,9 @@ +false +false +false +true +true +false +false +false +false diff --git a/TaskA21/test.in b/TaskA21/test.in new file mode 100644 index 0000000..7f9df30 --- /dev/null +++ b/TaskA21/test.in @@ -0,0 +1,9 @@ +0MORSE HEAD +AAAAA BBBB +AAAAAA BBBB +GOSRE IDAD +HORSE HEAD +MORSE HEAD +MORSEHEAD +ZOSRE IDAD +morse head diff --git a/TaskA22/description.txt b/TaskA22/description.txt new file mode 100644 index 0000000..d7228ae --- /dev/null +++ b/TaskA22/description.txt @@ -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 diff --git a/TaskA22/test.exp b/TaskA22/test.exp new file mode 100644 index 0000000..5753ac6 --- /dev/null +++ b/TaskA22/test.exp @@ -0,0 +1,11 @@ +true +true +false +true +false +false +false +true +true +false +false diff --git a/TaskA22/test.in b/TaskA22/test.in new file mode 100644 index 0000000..7bc2e91 --- /dev/null +++ b/TaskA22/test.in @@ -0,0 +1,11 @@ +0:7 +10:10 +11:2 +2:1 +3 +3:101 +5-5 +5:2 +5:5 +:3 +xxxx diff --git a/TaskA23/description.txt b/TaskA23/description.txt new file mode 100644 index 0000000..2254ad7 --- /dev/null +++ b/TaskA23/description.txt @@ -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 diff --git a/TaskA23/test.exp b/TaskA23/test.exp new file mode 100644 index 0000000..c1534d9 --- /dev/null +++ b/TaskA23/test.exp @@ -0,0 +1,14 @@ +true +false +true +false +true +false +true +false +true +true +true +true +true +true diff --git a/TaskA23/test.in b/TaskA23/test.in new file mode 100644 index 0000000..80c3386 --- /dev/null +++ b/TaskA23/test.in @@ -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 diff --git a/TaskA24/description.txt b/TaskA24/description.txt new file mode 100644 index 0000000..c1c09dc --- /dev/null +++ b/TaskA24/description.txt @@ -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 diff --git a/TaskA24/test.exp b/TaskA24/test.exp new file mode 100644 index 0000000..07b793c --- /dev/null +++ b/TaskA24/test.exp @@ -0,0 +1,8 @@ +false +true +true +true +true +false +true +true diff --git a/TaskA24/test.in b/TaskA24/test.in new file mode 100644 index 0000000..b969393 --- /dev/null +++ b/TaskA24/test.in @@ -0,0 +1,8 @@ +Aa Ax +Ai Oi +Atanazy Bazakbal +Ax Aa +Jan Maska +Joanna Kowalska +Kim Bo +Oo Oo diff --git a/TaskA25/description.txt b/TaskA25/description.txt new file mode 100644 index 0000000..a4df8ee --- /dev/null +++ b/TaskA25/description.txt @@ -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 diff --git a/TaskA25/test.exp b/TaskA25/test.exp new file mode 100644 index 0000000..6c41bba --- /dev/null +++ b/TaskA25/test.exp @@ -0,0 +1,9 @@ +true +false +false +false +false +true +false +false +true diff --git a/TaskA25/test.in b/TaskA25/test.in new file mode 100644 index 0000000..b516734 --- /dev/null +++ b/TaskA25/test.in @@ -0,0 +1,9 @@ +Aa Ax +Ai Oi +Atanazy Bazakbal +Ax Aa +Jan Maska +Joanna Kowalska +Kim Bo +Oo Oo +Za Mysz diff --git a/TaskA26/description.txt b/TaskA26/description.txt new file mode 100644 index 0000000..b66d866 --- /dev/null +++ b/TaskA26/description.txt @@ -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 diff --git a/TaskA26/test.exp b/TaskA26/test.exp new file mode 100644 index 0000000..922d753 --- /dev/null +++ b/TaskA26/test.exp @@ -0,0 +1,11 @@ +false +true +false +true +true +true +false +false +true +true +true diff --git a/TaskA26/test.in b/TaskA26/test.in new file mode 100644 index 0000000..2d3e46a --- /dev/null +++ b/TaskA26/test.in @@ -0,0 +1,11 @@ ++0 ++5 +-0 +-11110 +-5 +0 +03434343435 +06 +100 +3434343435 +5 diff --git a/TaskA27/description.txt b/TaskA27/description.txt new file mode 100644 index 0000000..8ca4b4a --- /dev/null +++ b/TaskA27/description.txt @@ -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 diff --git a/TaskA27/test.exp b/TaskA27/test.exp new file mode 100644 index 0000000..311a14d --- /dev/null +++ b/TaskA27/test.exp @@ -0,0 +1,13 @@ +false +true +false +false +false +true +true +true +true +false +true +true +true diff --git a/TaskA27/test.in b/TaskA27/test.in new file mode 100644 index 0000000..8e7ff6e --- /dev/null +++ b/TaskA27/test.in @@ -0,0 +1,13 @@ +-1 +0 +05 +098 +1000 +103 +139 +142 +143 +144 +5 +78 +99 diff --git a/TaskA28/description.txt b/TaskA28/description.txt new file mode 100644 index 0000000..e191ecf --- /dev/null +++ b/TaskA28/description.txt @@ -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 diff --git a/TaskA28/test.exp b/TaskA28/test.exp new file mode 100644 index 0000000..3189004 --- /dev/null +++ b/TaskA28/test.exp @@ -0,0 +1,9 @@ +true +false +false +false +true +true +false +true +true diff --git a/TaskA28/test.in b/TaskA28/test.in new file mode 100644 index 0000000..24a228f --- /dev/null +++ b/TaskA28/test.in @@ -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 diff --git a/TaskA29/description.txt b/TaskA29/description.txt new file mode 100644 index 0000000..d817412 --- /dev/null +++ b/TaskA29/description.txt @@ -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 diff --git a/TaskA29/test.exp b/TaskA29/test.exp new file mode 100644 index 0000000..c82006b --- /dev/null +++ b/TaskA29/test.exp @@ -0,0 +1,11 @@ +false +false +false +true +true +true +true +true +true +true +true diff --git a/TaskA29/test.in b/TaskA29/test.in new file mode 100644 index 0000000..be18d77 --- /dev/null +++ b/TaskA29/test.in @@ -0,0 +1,11 @@ +%haha% +0zmienna +2 +Gitorah +_2 +_____ +_a_ +blo_34a +godzilla +x +z0000000 diff --git a/TaskA30/description.txt b/TaskA30/description.txt new file mode 100644 index 0000000..4176938 --- /dev/null +++ b/TaskA30/description.txt @@ -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 diff --git a/TaskA30/test.exp b/TaskA30/test.exp new file mode 100644 index 0000000..fbf9e90 --- /dev/null +++ b/TaskA30/test.exp @@ -0,0 +1,11 @@ +false +true +true +false +true +true +false +true +true +false +true diff --git a/TaskA30/test.in b/TaskA30/test.in new file mode 100644 index 0000000..a9b264d --- /dev/null +++ b/TaskA30/test.in @@ -0,0 +1,11 @@ +-200 +-21 +-49 +-50 +-9 +0 +100 +18 +49 +50 +7 diff --git a/TaskA31/description.txt b/TaskA31/description.txt new file mode 100644 index 0000000..aeee681 --- /dev/null +++ b/TaskA31/description.txt @@ -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 diff --git a/TaskA31/test.exp b/TaskA31/test.exp new file mode 100644 index 0000000..4fafe02 --- /dev/null +++ b/TaskA31/test.exp @@ -0,0 +1,9 @@ +false +false +true +false +false +false +true +false +true diff --git a/TaskA31/test.in b/TaskA31/test.in new file mode 100644 index 0000000..6547367 --- /dev/null +++ b/TaskA31/test.in @@ -0,0 +1,9 @@ +223 +aa +dom +html +ostrach +puko +strach +strachy +u diff --git a/TaskA32/description.txt b/TaskA32/description.txt new file mode 100644 index 0000000..bf42fc3 --- /dev/null +++ b/TaskA32/description.txt @@ -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 diff --git a/TaskA32/test.exp b/TaskA32/test.exp new file mode 100644 index 0000000..d7a755f --- /dev/null +++ b/TaskA32/test.exp @@ -0,0 +1,8 @@ +false +false +true +true +true +true +false +false diff --git a/TaskA32/test.in b/TaskA32/test.in new file mode 100644 index 0000000..6bb5f1c --- /dev/null +++ b/TaskA32/test.in @@ -0,0 +1,8 @@ +$ +$0098 +$1 +$100 +$67592234 +$89 +10$100 +89 diff --git a/TaskA33/description.txt b/TaskA33/description.txt new file mode 100644 index 0000000..6aed1e1 --- /dev/null +++ b/TaskA33/description.txt @@ -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 diff --git a/TaskA33/test.exp b/TaskA33/test.exp new file mode 100644 index 0000000..6c9ff07 --- /dev/null +++ b/TaskA33/test.exp @@ -0,0 +1,10 @@ +false +true +true +true +true +true +false +false +true +false diff --git a/TaskA33/test.in b/TaskA33/test.in new file mode 100644 index 0000000..240da6d --- /dev/null +++ b/TaskA33/test.in @@ -0,0 +1,10 @@ +89 +AAAAA +AGCTTGGAAACT +AGCUUGGAAACU +G +TAT +TAU +UAT +UAU +aaa diff --git a/TaskA34/description.txt b/TaskA34/description.txt new file mode 100644 index 0000000..034e39d --- /dev/null +++ b/TaskA34/description.txt @@ -0,0 +1,23 @@ +Hmmmmm +====== + +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 to "hmmm....." - 'm' +występuje 2 lub więcej razy, kropki są opcjonalne, ale jeśli występują +muszą wystąpić przynajmniej 3 razy. +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ą 7. + +POINTS: 3 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 7/27 diff --git a/TaskA34/test.exp b/TaskA34/test.exp new file mode 100644 index 0000000..5407126 --- /dev/null +++ b/TaskA34/test.exp @@ -0,0 +1,11 @@ +false +false +false +true +true +false +false +true +true +false +false diff --git a/TaskA34/test.in b/TaskA34/test.in new file mode 100644 index 0000000..5f2634e --- /dev/null +++ b/TaskA34/test.in @@ -0,0 +1,11 @@ +ahmmmm..... +hhmmm..... +hm..... +hmm +hmm... +hmmm. +hmmm.. +hmmm.... +hmmmm...... +hmmmm.....?! +mmm.... diff --git a/TaskA35/description.txt b/TaskA35/description.txt new file mode 100644 index 0000000..4fa6e13 --- /dev/null +++ b/TaskA35/description.txt @@ -0,0 +1,23 @@ +Lalalo! +======= + +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 śpiewem, tj. jest +ciągiem sylab "li", "la", "lo" (co najmniej dwóch), po którym 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 27 z resztą 8. + +POINTS: 3 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 8/27 diff --git a/TaskA35/test.exp b/TaskA35/test.exp new file mode 100644 index 0000000..c1d0866 --- /dev/null +++ b/TaskA35/test.exp @@ -0,0 +1,8 @@ +false +true +true +true +false +true +false +false diff --git a/TaskA35/test.in b/TaskA35/test.in new file mode 100644 index 0000000..cb6f172 --- /dev/null +++ b/TaskA35/test.in @@ -0,0 +1,8 @@ +!!lala!! +lala +lilala!!! +lilili!!!! +lol +lololali! +luli +ola! diff --git a/TaskA36/description.txt b/TaskA36/description.txt new file mode 100644 index 0000000..71dd56a --- /dev/null +++ b/TaskA36/description.txt @@ -0,0 +1,21 @@ +Minuty +====== + +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ć minuty z podanego napisu reprezentującego +godzinę w formacie typu "9:13", "18:44" wyciąga minuty. Funkcja powinna +zwracać napis "", jeśli podany napis nie jest godziną. Jeśli napis +nie spełnia podanych warunków, należy wypisać "". + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 27 z resztą 9. + +POINTS: 3 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 9/27 diff --git a/TaskA36/test.exp b/TaskA36/test.exp new file mode 100644 index 0000000..d107194 --- /dev/null +++ b/TaskA36/test.exp @@ -0,0 +1,7 @@ +00 +44 +59 + +13 + + diff --git a/TaskA36/test.in b/TaskA36/test.in new file mode 100644 index 0000000..f51fd3b --- /dev/null +++ b/TaskA36/test.in @@ -0,0 +1,7 @@ +0:00 +18:44 +23:59 +25:14 +9:13 +9:61 +x9:13y diff --git a/TaskA37/description.txt b/TaskA37/description.txt new file mode 100644 index 0000000..afdc940 --- /dev/null +++ b/TaskA37/description.txt @@ -0,0 +1,22 @@ +Numer kierunkowy +================ + +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ć numer kierunkowy z numeru telefonu. +Zakładamy, że numer kierunkowy jest dwucyfrowy, musi być poprzedzony zerem +lub plusem. Pozostała część numeru to 7 cyfr zapisanych w postaci N-NNN-NNN +bądź NNN-NN-NN. Jeśli napis nie spełnia podanych warunków, należy wypisać +"". + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 2. + +POINTS: 2 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 2/7 diff --git a/TaskA37/test.exp b/TaskA37/test.exp new file mode 100644 index 0000000..483e86e --- /dev/null +++ b/TaskA37/test.exp @@ -0,0 +1,9 @@ + +61 +61 +61 +61 +82 + + + diff --git a/TaskA37/test.in b/TaskA37/test.in new file mode 100644 index 0000000..ba81aec --- /dev/null +++ b/TaskA37/test.in @@ -0,0 +1,9 @@ +(082) 123-45-67 ++61 5-555-553 ++61 555-55-55 +061 5-555-553 +061 555-55-55 +082 123-45-67 +082 123-45-67x +082 23-45-67 +82 123-45-67 diff --git a/TaskA38/description.txt b/TaskA38/description.txt new file mode 100644 index 0000000..643a019 --- /dev/null +++ b/TaskA38/description.txt @@ -0,0 +1,23 @@ +Numer domu +========== + +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ć numer domu z adresu. Zakładamy, że adres +składa się ze skrótu "ul.", "os." bądź "al.", z nazwy ulicy, numeru domu i +opcjonalnego numeru mieszkania (oddzielonego od numeru domu ukośnikiem bądź +napisem " m. "). Nazwa ulicy składa się z co najmniej 2 liter (łącznie z +polskimi znakami), zaczyna się wielką literą. Jeśli napis nie spełnia +podanych warunków, należy wypisać "". + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 7 z resztą 3. + +POINTS: 2 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 3/7 diff --git a/TaskA38/test.exp b/TaskA38/test.exp new file mode 100644 index 0000000..7c42ac6 --- /dev/null +++ b/TaskA38/test.exp @@ -0,0 +1,7 @@ +11 + + + +34 + +7 diff --git a/TaskA38/test.in b/TaskA38/test.in new file mode 100644 index 0000000..4057c5a --- /dev/null +++ b/TaskA38/test.in @@ -0,0 +1,7 @@ +al. Xa 11/34 +bla +os. Piastów 034 m. 2 +os. Piastów 34 m. 0 +os. Piastów 34 m. 2 +osa Piastów 34 m. 2 +ul. Chochlików 7 diff --git a/TaskA39/description.txt b/TaskA39/description.txt new file mode 100644 index 0000000..349424d --- /dev/null +++ b/TaskA39/description.txt @@ -0,0 +1,22 @@ +Kod PIN +======= + +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 6-cyfrowym kodem PIN, +przy czym zakładamy, że kod PIN może zawierać co najwyżej jedno zero. +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 7 z resztą 4. + +POINTS: 2 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 4/7 diff --git a/TaskA39/test.exp b/TaskA39/test.exp new file mode 100644 index 0000000..190b4db --- /dev/null +++ b/TaskA39/test.exp @@ -0,0 +1,12 @@ +false +true +false +true +true +true +false +true +true +true +false +false diff --git a/TaskA39/test.in b/TaskA39/test.in new file mode 100644 index 0000000..6df0c12 --- /dev/null +++ b/TaskA39/test.in @@ -0,0 +1,12 @@ +000000 +012345 +1111 +111201 +112130 +121144 +12345 +211301 +465542 +707871 +888800 +WTF diff --git a/TaskA40/description.txt b/TaskA40/description.txt new file mode 100644 index 0000000..a0ff34e --- /dev/null +++ b/TaskA40/description.txt @@ -0,0 +1,23 @@ +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łowiek, +tzn. jest postaci typu "45 lat", przy czym dla pierwszych lat wyjątkowo - +"1 roczek", "2 latka", "3 latka", "4 latka". Maksymalny wiek - 110 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 7 z resztą 5. + +POINTS: 2 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 5/7 diff --git a/TaskA40/test.exp b/TaskA40/test.exp new file mode 100644 index 0000000..d55e27e --- /dev/null +++ b/TaskA40/test.exp @@ -0,0 +1,18 @@ +true +true +false +true +true +true +false +true +false +true +false +true +true +true +true +true +true +false diff --git a/TaskA40/test.in b/TaskA40/test.in new file mode 100644 index 0000000..d105517 --- /dev/null +++ b/TaskA40/test.in @@ -0,0 +1,18 @@ +1 roczek +101 lat +104 lat +104 lata +11 lat +110 lat +111 lat +12 lat +12 lata +2 latka +22 lat +22 lata +3 latka +4 lata +4 latka +44 lata +5 lat +5 latek diff --git a/TaskA41/description.txt b/TaskA41/description.txt new file mode 100644 index 0000000..e3c5304 --- /dev/null +++ b/TaskA41/description.txt @@ -0,0 +1,22 @@ +Wiek człowieka 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 reprezentuje wiek człowiek, +tzn. jest postaci typu "45 lat". Maksymalny wiek — 123 lata. +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 7 z resztą 6. + +POINTS: 2 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 6/7 diff --git a/TaskA41/test.exp b/TaskA41/test.exp new file mode 100644 index 0000000..6c3860b --- /dev/null +++ b/TaskA41/test.exp @@ -0,0 +1,19 @@ +false +true +true +true +true +true +false +true +false +false +true +false +true +true +true +true +true +true +false diff --git a/TaskA41/test.in b/TaskA41/test.in new file mode 100644 index 0000000..78d2f50 --- /dev/null +++ b/TaskA41/test.in @@ -0,0 +1,19 @@ +1 lata +1 rok +100 lat +11 lat +112 lat +12 lat +12 lata +123 lata +124 lata +130 lat +2 lata +22 lat +22 lata +3 lata +4 lata +44 lata +5 lat +99 lat +x10 lat diff --git a/TaskA42/description.txt b/TaskA42/description.txt new file mode 100644 index 0000000..f29cb53 --- /dev/null +++ b/TaskA42/description.txt @@ -0,0 +1,24 @@ +Big "NO!" +========= + +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 to "NIE" lub "NO", w +którym odpowiednio "E" bądź "O" występuję co najmniej 6 razy, po czy +występują co najmniej 3 wykrzykniki. Zob. +http://tvtropes.org/pmwiki/pmwiki.php/Main/BigNo +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 7 z resztą 0. + +POINTS: 2 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 0/7 diff --git a/TaskA42/test.exp b/TaskA42/test.exp new file mode 100644 index 0000000..d6b2021 --- /dev/null +++ b/TaskA42/test.exp @@ -0,0 +1,7 @@ +false +true +false +true +true +false +false diff --git a/TaskA42/test.in b/TaskA42/test.in new file mode 100644 index 0000000..2a256b5 --- /dev/null +++ b/TaskA42/test.in @@ -0,0 +1,7 @@ +NIE!!!!!! +NIEEEEEE!!!! +NOOOO!!! +NOOOOOO!!! +NOOOOOOOOO!!!!!!! +NOOOOOOOOOOOOOOOO!! +xxxxNIEEEEEEEEEEEEEEEE!!!!!!!!!!! diff --git a/TaskA43/description.txt b/TaskA43/description.txt new file mode 100644 index 0000000..845207b --- /dev/null +++ b/TaskA43/description.txt @@ -0,0 +1,26 @@ +Mem 1 +===== + +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 to ciąg liter +(uwzględnić też polskie znaki) po którym następuje ciąg wykrzykników +zamiast których może wystąpić "1", "one" albo "eleven". W napisie muszą +pojawić się co najmniej 2 wykrzykniki, niekoniecznie obok siebie oraz co +najmniej jedno "1", "one" lub "eleven". Zob. +http://knowyourmeme.com/memes/the-1-phenomenon +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 7 z resztą 1. + +POINTS: 2 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 1/7 diff --git a/TaskA43/test.exp b/TaskA43/test.exp new file mode 100644 index 0000000..004a7ef --- /dev/null +++ b/TaskA43/test.exp @@ -0,0 +1,14 @@ +true +false +true +true +true +true +false +true +false +true +false +false +true +false diff --git a/TaskA43/test.in b/TaskA43/test.in new file mode 100644 index 0000000..8a8249b --- /dev/null +++ b/TaskA43/test.in @@ -0,0 +1,14 @@ +Foo!!one!!1 +Foo!1 +Foo!1! +Foo!one!1!eleven +Foo!one!1eleven +X!!1 +X!1 +Xone!! +Ś!elevenelevenone +Ś!elevenelevenone! +Ś!elevenelevenoneX +Źdź3bło!!!!!1 +Źdźbło!!!!!1 +Źdźbło!!!!!1? diff --git a/TaskA44/description.txt b/TaskA44/description.txt new file mode 100644 index 0000000..8719a62 --- /dev/null +++ b/TaskA44/description.txt @@ -0,0 +1,25 @@ +Nazwisko żeńskie +================ + +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ć nazwisko kobiety z pary imię-nazwisko. +Zakładamy, że kobietę identyfikujemy po imieniu zakończonym na "a", +wyjąwszy imiona "Kosma" i "Jarema". Imię i nazwisko składa się z liter +(włącznie z polskimi znakami), zaczyna się wielką literą (włącznie z +literami "Ć", "Ł", "Ś", "Ź" i "Ż"). Imię i nazwisko powinno składać się z +przynajmniej 2 liter. Jeśli napis nie spełnia podanych warunków, należy +wypisać "". Jeśli napis nie spełnia podanych warunków, należy wypisać +"". + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 5 z resztą 4. + +POINTS: 3 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 4/5 diff --git a/TaskA44/test.exp b/TaskA44/test.exp new file mode 100644 index 0000000..800ef4c --- /dev/null +++ b/TaskA44/test.exp @@ -0,0 +1,14 @@ + +Kowalska +Długi + + + + + +Xa + + + +Żuraś + diff --git a/TaskA44/test.in b/TaskA44/test.in new file mode 100644 index 0000000..ce71fd3 --- /dev/null +++ b/TaskA44/test.in @@ -0,0 +1,14 @@ +A Xa +Anna Kowalska +Hanna Długi +Jan Kowalski +Jarema Kowalski +Joanna Maria Nowak +Kosma Nowak +Ua X +Ua Xa +a Xa +anna Kowalska +Ąnna Kowalska +Żaneta Żuraś +żaneta Żuraś diff --git a/TaskA45/description.txt b/TaskA45/description.txt new file mode 100644 index 0000000..808d2ec --- /dev/null +++ b/TaskA45/description.txt @@ -0,0 +1,24 @@ +Nazwisko męskie +=============== + +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ć nazwisko mężczyzny z pary imię-nazwisko. +Zakładamy, że meżczyznę identyfikujemy po imieniu zakończonym na literę +inną niż "a" plus imiona "Kosma" i "Jarema". Imię i nazwisko składa się z +liter (włącznie z polskimi znakami), zaczyna się wielką literą (włącznie z +literami "Ć", "Ł", "Ś", "Ź" i "Ż"). Imię i nazwisko powinno składać się z +przynajmniej 2 liter. Jeśli napis nie spełnia podanych warunków, należy +wypisać "". + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 5 z resztą 0. + +POINTS: 3 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 0/5 diff --git a/TaskA45/test.exp b/TaskA45/test.exp new file mode 100644 index 0000000..f85f720 --- /dev/null +++ b/TaskA45/test.exp @@ -0,0 +1,14 @@ + + + + +Nowak +Ścież +Źdźbło + +Xa + + + +Żuraś + diff --git a/TaskA45/test.in b/TaskA45/test.in new file mode 100644 index 0000000..ee25cf2 --- /dev/null +++ b/TaskA45/test.in @@ -0,0 +1,14 @@ +Anna Kowalska +E Xa +Hanna Długi +Jan Adam Nowak +Jan Nowak +Jarema Ścież +Kosma Źdźbło +Ue X +Ue Xa +e Xa +jan Nowak +Ądam Kowalski +Łukasz Żuraś +łukasz Żuraś diff --git a/TaskA46/description.txt b/TaskA46/description.txt new file mode 100644 index 0000000..33f528f --- /dev/null +++ b/TaskA46/description.txt @@ -0,0 +1,25 @@ +Wydobywanie nazwy pliku +======================= + +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ć nazwę pliku z pełnej ścieżki. Należy +uwzględnić dwie konwencje - (1) linuksową (ścieżka zaczyna się ukośnikiem, +poszczególne jej elementy też oddzielane są ukośnikiem), (2) windowsową +(ścieżka zaczyna się od nazwy dysku - wielka litera i dwukropek, potem +następują katalogi oddzielonę odwróconym ukośnikiem), konwencje nie mogą +się mieszać. Jako nazwa katalogu i pliku może wystąpić dowolny niepusty +ciąg znaków niebędących ukośnikiem ani odwróconym ukośnikiem. Jeśli napis +nie spełnia podanych warunków, należy wypisać "". + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 5 z resztą 1. + +POINTS: 3 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 1/5 diff --git a/TaskA46/test.exp b/TaskA46/test.exp new file mode 100644 index 0000000..5e20d8f --- /dev/null +++ b/TaskA46/test.exp @@ -0,0 +1,13 @@ +w--www +Plik.txt + +tuxracer + +stronka.html + + + + +bla.txt + + diff --git a/TaskA46/test.in b/TaskA46/test.in new file mode 100644 index 0000000..4081c01 --- /dev/null +++ b/TaskA46/test.in @@ -0,0 +1,13 @@ +/a/x/y/z/q/w--www +/home/megapiranha/tajne/Plik.txt +/usr//bin/tuxracer +/usr/bin/tuxracer +/usr/bin/tuxracer/ +C:\Windows\Lamer\stronka.html +C:\Windows\Lamer\stronka.html\ +C:\Windows\\Lamer\stronka.html\ +C:\foo/bar +Windows\Lamer\stronka.html +X:\bla.txt +\Windows\Lamer\stronka.html +usr/bin/tuxracer diff --git a/TaskA47/description.txt b/TaskA47/description.txt new file mode 100644 index 0000000..3b5c9e0 --- /dev/null +++ b/TaskA47/description.txt @@ -0,0 +1,22 @@ +Wydobywanie hashtagów +===================== + +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ć wszystkie hashtagi twitterowe z napisu. +Zakładamy, że hashtag to ciąg małych i wielkich liter oraz cyfr +(niezaczynający się cyfrą) i poprzedzony znakiem '#'. Hashtagi należy +wypisać oddzielone średnikami. Jeśli napis nie spełnia podanych warunków, +należy wypisać "". + +UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu +dzieli się przez 5 z resztą 2. + +POINTS: 3 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 2/5 diff --git a/TaskA47/test.exp b/TaskA47/test.exp new file mode 100644 index 0000000..6f9efd8 --- /dev/null +++ b/TaskA47/test.exp @@ -0,0 +1,5 @@ +#UFO +#a;#A;#PoKeMoN0 + + +#Rambo61;#Rocky9 diff --git a/TaskA47/test.in b/TaskA47/test.in new file mode 100644 index 0000000..89b1f56 --- /dev/null +++ b/TaskA47/test.in @@ -0,0 +1,5 @@ +Dzisiaj widziałem #UFO na niebie. +Dziwne hasztagi: #a, #A, #PoKeMoN0, ale to nie: #0PoKeMoN. +Tu nie ma hasztaga. +Tu też nie ma hasztaga, chociaż jest #. +Zawiodłem się na #Rambo61, chociaż lubiłem #Rocky9. diff --git a/TaskA48/description.txt b/TaskA48/description.txt new file mode 100644 index 0000000..c9bb079 --- /dev/null +++ b/TaskA48/description.txt @@ -0,0 +1,24 @@ +PoKeMoN +======= + +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 naprzemian +występujących małych i wielkich liter. Napis może zaczynać się i kończyć +małą bądź wielką literą. Należy uwzględnić polskie znaki. Napis musi +składać się z przynajmniej 2 znakó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 5 z resztą 3. + +POINTS: 3 +DEADLINE: 2019-11-12 23:59 +REMAINDER: 3/5 diff --git a/TaskA48/test.exp b/TaskA48/test.exp new file mode 100644 index 0000000..18f6158 --- /dev/null +++ b/TaskA48/test.exp @@ -0,0 +1,12 @@ +false +false +true +true +true +true +false +false +false +true +true +true diff --git a/TaskA48/test.in b/TaskA48/test.in new file mode 100644 index 0000000..69c154b --- /dev/null +++ b/TaskA48/test.in @@ -0,0 +1,12 @@ +2yĆó +POKEmon +PoKeMoN +RyĆó +oK +pOkEmOn +pokemon +y +Ć +ŹdŹbŁo +ŹlExSiĘ +źDźBłO diff --git a/blend.sh b/blend.sh index 0a0fe42..8bc37ad 100755 --- a/blend.sh +++ b/blend.sh @@ -26,10 +26,10 @@ done #cp $PREFIX/TaskA49/Makefile $PREFIX/TaskA49/run arena/TaskA49/ -#for AX in `seq -w 0 48` -#do -# mkdir -p arena/TaskA$AX -#done +for AX in `seq -w 0 48` +do + mkdir -p arena/TaskA$AX +done #for CX in `seq -w 0 6` #do