11
Pokaż ćwiczenia:
11
Ćwiczenie 1
RLqFSJgwHDcyc
Uzupełnij stwierdzenie Algorytm KMP wymaga 1. równy, 2. mniejszej, 3. bąbelkowy, 4. większą, 5. super, 6. większej, 7. mniejszą, 8. szybki, 9. naiwny ilości niezbędnych porównań, zapewnia 1. równy, 2. mniejszej, 3. bąbelkowy, 4. większą, 5. super, 6. większej, 7. mniejszą, 8. szybki, 9. naiwny wydajność wyszukiwania.
Algorytm naiwny wymaga 1. równy, 2. mniejszej, 3. bąbelkowy, 4. większą, 5. super, 6. większej, 7. mniejszą, 8. szybki, 9. naiwny ilości niezbędnych porównań, zapewnia 1. równy, 2. mniejszej, 3. bąbelkowy, 4. większą, 5. super, 6. większej, 7. mniejszą, 8. szybki, 9. naiwny wydajność wyszukiwania.
21
Ćwiczenie 2
R1bakuZgIaXap
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
31
Ćwiczenie 3

Napisz program, który zliczy w przekazanym tekście wszystkie wystąpienia wzorca. Wzorzec jest dowolnym ciągiem znaków o długości określonej przez zmienną dlugosc_wzorca, spełniającym następujące warunki:

  • jeżeli dlugosc_wzorca jest parzysta, wzorzec składa się z dowolnych małych liter i dowolnych dwóch wielkich liter pośrodku, np. werTTsug,

  • jeżeli dlugosc_wzorca jest nieparzysta, wzorzec składa się z dowolnych małych liter oraz jednej dowolnej wielkiej litery pośrodku, np. reWsd.

Do rozwiązania użyj implementacji algorytmu KMP, która została przedstawiona w sekcji „Przeczytaj” (przydatne może być również przeanalizowanie symulacji interaktywnej).

Przetestuj kod dla danych:

Linia 1. tekst znak równości cudzysłów 72048agfds3423abcDDefg5902341asdfaweEEgafsdfawRRgdfsasd cudzysłów. Linia 2. dlugosc podkreślnik wzorca znak równości 8.

Specyfikacja:

Dane:

  • tekst – tekst dla poszukiwań wystąpień wzorca; łańcuch znaków

  • dlugosc_wzorca – długość poszukiwanego wzorca; dodatnia liczba całkowita

Wynik:

  • wystapienia – zliczone wystąpienia wzorca w tekście; nieujemna liczba całkowita

R1alrmBx43az1
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.

Twoje zadanie: Program zlicza wszystkie wystąpienia wzorca w tekście.

Linia 1. def szukaj podkreślnik algorytmem podkreślnik KMP otwórz nawias okrągły tekst przecinek dlugosc podkreślnik wzorca zamknij nawias okrągły dwukropek. Linia 2. wystapienia znak równości 0. Linia 4. kratka tutaj dodaj kod. Linia 6. return wystapienia. Linia 9. tekst znak równości cudzysłów 72048agfds3423abcDDefg5902341asdfaweEEgafsdfawRRgdfsasd cudzysłów. Linia 10. dlugosc podkreślnik wzorca znak równości 8. Linia 11. print otwórz nawias okrągły szukaj podkreślnik algorytmem podkreślnik KMP otwórz nawias okrągły tekst przecinek dlugosc podkreślnik wzorca zamknij nawias okrągły zamknij nawias okrągły. Linia 13. at at at. Linia 14. language znak równości python37. Linia 15. at at at. Linia 16. Program zlicza wszystkie wystąpienia wzorca w tekście kropka. Linia 17. at at at. Linia 18. kratka ukryty kod przed kodem ucznia minus tu raczej nic nigdy. Linia 19. at at at. Linia 20. kratka po kodzie ucznia. Linia 21. kratka przede wszystkim helper do zapisu wyników. Linia 22. from sys import exit. Linia 24. wyniki znak równości otwórz nawias kwadratowy zamknij nawias kwadratowy kratka tablica zaliczonych wyników dwukropek otwórz nawias kwadratowy 0 przecinek 1 przecinek 2 przecinek kropka kropka kropka zamknij nawias kwadratowy. Linia 26. def podkreślnik zapisz podkreślnik wynik otwórz nawias okrągły lst zamknij nawias okrągły dwukropek. Linia 27. w znak równości cudzysłów cudzysłów cudzysłów. Linia 28. cudzysłów cudzysłów cudzysłów. Linia 29. for q in lst dwukropek. Linia 30. w plus znak równości str otwórz nawias okrągły q zamknij nawias okrągły plus chr otwórz nawias okrągły 10 zamknij nawias okrągły plus chr otwórz nawias okrągły 13 zamknij nawias okrągły. Linia 31. with open otwórz nawias okrągły 3 przecinek apostrof w apostrof zamknij nawias okrągły as f dwukropek. Linia 32. f kropka write otwórz nawias okrągły w zamknij nawias okrągły. Linia 33. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 35. tekst znak równości cudzysłów 72048agfds3423abcDDefg5902341asdfaweEEgafsdfawRRgdfsasd cudzysłów. Linia 36. dlugosc podkreślnik wzorca znak równości 8. Linia 38. wynik znak równości szukaj podkreślnik algorytmem podkreślnik KMP otwórz nawias okrągły tekst przecinek dlugosc podkreślnik wzorca zamknij nawias okrągły. Linia 39. if wynik znak równości znak równości 3 dwukropek. Linia 40. wyniki kropka append otwórz nawias okrągły 0 zamknij nawias okrągły. Linia 42. kratka zapisuję wszystkie testy do pliku. Linia 43. podkreślnik zapisz podkreślnik wynik otwórz nawias okrągły wyniki zamknij nawias okrągły. Linia 45. at at at. Linia 46. kratka wykrzyknik prawy ukośnik usr prawy ukośnik bin prawy ukośnik python3 kropka 7. Linia 47. import sys. Linia 48. kratka tutaj ewentualne sprawdzenie wykonania skryptu ucznia przecinek czy zwraca poprawne wyniki. Linia 49. input znak równości sys kropka stdin kropka read otwórz nawias okrągły zamknij nawias okrągły kropka strip otwórz nawias okrągły zamknij nawias okrągły. Linia 50. kratka ale raczej tego nie będę używał kropka.