Przedstawiony kod to niepełna implementacja algorytmu, który sprawdza, czy podane słowo jest palindromem. Uzupełnij brakujące linijki kodu w funkcji czyPalindrom().
Specyfikacja:
Dane:
slowo – ciąg znaków o długości
Wynik:
Program wyświetla komunikat Wyraz jest palindromem lub Wyraz nie jest palindromem.
R1DbK1roTbwoy
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static boolean czyPalindrom otwórz nawias okrągły String slowo zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. String odTylu znak równości cudzysłów cudzysłów średnik.
Linia 5. for otwórz nawias okrągły int i znak równości slowo kropka length otwórz nawias okrągły zamknij nawias okrągły minus 1 średnik i zamknij nawias ostrokątny znak równości 0 średnik i minus minus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. odTylu znak równości odTylu plus slowo kropka charAt otwórz nawias okrągły i zamknij nawias okrągły średnik.
Linia 7. zamknij nawias klamrowy.
Linia 9. if otwórz nawias okrągły slowo kropka equals otwórz nawias okrągły odTylu zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. return true średnik.
Linia 11. zamknij nawias klamrowy else otwórz nawias klamrowy.
Linia 12. return false średnik.
Linia 13. zamknij nawias klamrowy.
Linia 14. zamknij nawias klamrowy.
Linia 16. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 17. String slowo znak równości cudzysłów kajak cudzysłów średnik.
Linia 19. if otwórz nawias okrągły czyPalindrom otwórz nawias okrągły slowo zamknij nawias okrągły znak równości znak równości true zamknij nawias okrągły otwórz nawias klamrowy.
Linia 20. System kropka out kropka println otwórz nawias okrągły cudzysłów Wyraz jest palindromem cudzysłów zamknij nawias okrągły średnik.
Linia 21. zamknij nawias klamrowy else otwórz nawias klamrowy.
Linia 22. System kropka out kropka println otwórz nawias okrągły cudzysłów Wyraz nie jest palindromem cudzysłów zamknij nawias okrągły średnik.
Linia 23. zamknij nawias klamrowy.
Linia 24. zamknij nawias klamrowy.
Linia 25. zamknij nawias klamrowy.
2
Ćwiczenie 2
Zaimplementuj I sposób sprawdzania, czy podane zdanie jest palindromem (bez używania dodatkowej zmiennej odTylu). Spacje i znaki interpunkcyjne powinny być przez twój program pomijane. Załóż, że podane zdanie nie będzie zawierało wielkich liter. Działanie programu przetestuj dla zdania a wart wór kota? to krów trawa!
Specyfikacja:
Dane:
zdanie – ciąg znaków o długości
Wynik:
Program wyświetla komunikat Zdanie nie jest palindromem lub Zdanie jest palindromem
RiulCueK7iVXq
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static boolean czyPalindrom otwórz nawias okrągły String zdanie zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. for otwórz nawias okrągły int i znak równości 0 przecinek j znak równości zdanie kropka length otwórz nawias okrągły zamknij nawias okrągły minus 1 średnik i otwórz nawias ostrokątny zdanie kropka length otwórz nawias okrągły zamknij nawias okrągły ampersant ampersant j zamknij nawias ostrokątny znak równości 0 średnik i plus plus przecinek j minus minus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 4. if otwórz nawias okrągły zdanie kropka charAt otwórz nawias okrągły i zamknij nawias okrągły otwórz nawias ostrokątny apostrof a apostrof kreska pionowa kreska pionowa zdanie kropka charAt otwórz nawias okrągły i zamknij nawias okrągły zamknij nawias ostrokątny apostrof z apostrof zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. j plus plus średnik.
Linia 6. continue średnik.
Linia 7. zamknij nawias klamrowy.
Linia 8. if otwórz nawias okrągły zdanie kropka charAt otwórz nawias okrągły j zamknij nawias okrągły otwórz nawias ostrokątny apostrof a apostrof kreska pionowa kreska pionowa zdanie kropka charAt otwórz nawias okrągły j zamknij nawias okrągły zamknij nawias ostrokątny apostrof z apostrof zamknij nawias okrągły otwórz nawias klamrowy.
Linia 9. i minus minus średnik.
Linia 10. continue średnik.
Linia 11. zamknij nawias klamrowy.
Linia 12. if otwórz nawias okrągły zdanie kropka charAt otwórz nawias okrągły i zamknij nawias okrągły wykrzyknik znak równości zdanie kropka charAt otwórz nawias okrągły j zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 13. return false średnik.
Linia 14. zamknij nawias klamrowy.
Linia 15. zamknij nawias klamrowy.
Linia 17. return true średnik.
Linia 18. zamknij nawias klamrowy.
Linia 20. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 21. String zdanie znak równości cudzysłów a wart wór kota znak zapytania to krów trawa wykrzyknik cudzysłów średnik.
Linia 23. if otwórz nawias okrągły czyPalindrom otwórz nawias okrągły zdanie zamknij nawias okrągły znak równości znak równości true zamknij nawias okrągły otwórz nawias klamrowy.
Linia 24. System kropka out kropka println otwórz nawias okrągły cudzysłów Zdanie jest palindromem cudzysłów zamknij nawias okrągły średnik.
Linia 25. zamknij nawias klamrowy else otwórz nawias klamrowy.
Linia 26. System kropka out kropka println otwórz nawias okrągły cudzysłów Zdanie nie jest palindromem cudzysłów zamknij nawias okrągły średnik.
Linia 27. zamknij nawias klamrowy.
Linia 28. zamknij nawias klamrowy.
Linia 29. zamknij nawias klamrowy.
3
Ćwiczenie 3
Pewna firma z branży lotniczej miała problem z przekłamaniami transmisji danych – zdarzało się, że urządzenie nadawcze wysyłało bit 1, który jednak był interpretowany przez odbiornik jako 0. Uznano, że rozwiązaniem tego problemu będzie zastosowanie następującego kodu: po każdych ośmiu bitach nadawane są te same bity, ale w odwrotnej kolejności. Dzięki takiemu rozwiązaniu można określić, czy otrzymane dane są poprawne. Napisz program, który określi, czy podany ciąg zer i jedynek jest poprawnym kodem (ma poprawną strukturę oraz poprawną długość). Dla prawidłowych kodów powinien drukować wiadomość Poprawny kod, a dla nieprawidłowych: Niepoprawny kod. Przetestuj jego działanie dla ciągu bitów 1001110110111001.
Specyfikacja:
Dane:
dane – łańcuch znaków o długości 16; ciąg bitów składający się z dwóch połączonych ciągów bitów; pierwszy to nadane osiem bitów, a drugi to ciąg tych samych 8 bitów w odwróconej kolejności
Wynik:
Program wyświetla informację na temat tego, czy kod dane jest poprawny, czy nie. Wyświetla komunikat Poprawny kod lub Niepoprawny kod.
RUUxVkXhVSVv2
Przykładowe rozwiązanie zadania.
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static boolean czyPalindrom otwórz nawias okrągły String dane zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. for otwórz nawias okrągły int i znak równości 0 przecinek j znak równości dane kropka length otwórz nawias okrągły zamknij nawias okrągły minus 1 średnik i otwórz nawias ostrokątny dane kropka length otwórz nawias okrągły zamknij nawias okrągły ampersant ampersant j zamknij nawias ostrokątny znak równości 0 średnik i plus plus przecinek j minus minus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 4. if otwórz nawias okrągły dane kropka charAt otwórz nawias okrągły i zamknij nawias okrągły wykrzyknik znak równości dane kropka charAt otwórz nawias okrągły j zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. return false średnik.
Linia 6. zamknij nawias klamrowy.
Linia 7. zamknij nawias klamrowy.
Linia 8. return true średnik.
Linia 9. zamknij nawias klamrowy.
Linia 11. public static boolean czyPoprawnyKod otwórz nawias okrągły String dane zamknij nawias okrągły otwórz nawias klamrowy.
Linia 12. if otwórz nawias okrągły czyPalindrom otwórz nawias okrągły dane zamknij nawias okrągły ampersant ampersant dane kropka length otwórz nawias okrągły zamknij nawias okrągły procent 16 znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 13. return true średnik.
Linia 14. zamknij nawias klamrowy else otwórz nawias klamrowy.
Linia 15. return false średnik.
Linia 16. zamknij nawias klamrowy.
Linia 17. zamknij nawias klamrowy.
Linia 19. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 20. String dane znak równości cudzysłów 1001110110111001 cudzysłów średnik.
Linia 22. if otwórz nawias okrągły czyPoprawnyKod otwórz nawias okrągły dane zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 23. System kropka out kropka println otwórz nawias okrągły cudzysłów Poprawny kod cudzysłów zamknij nawias okrągły średnik.
Linia 24. zamknij nawias klamrowy else otwórz nawias klamrowy.
Linia 25. System kropka out kropka println otwórz nawias okrągły cudzysłów Niepoprawny kod cudzysłów zamknij nawias okrągły średnik.
Linia 26. zamknij nawias klamrowy.
Linia 27. zamknij nawias klamrowy.
Linia 28. zamknij nawias klamrowy.