Implementacja algorytmu gry w wisielca w języku Java

Zapoznaj się z filmem, a następnie napisz program realizujący grę w wisielca.

RvzRr5dzYWoPh
Film nawiązujący do treści materiału: Algorytmy tekstowe - gra w wisielca.

Pierwszym krokiem jest zadeklarowanie dwóch zmiennych:

Linia 1. int pozostaleProby znak równości 8 średnik. Linia 2. String wymyslone znak równości cudzysłów cudzysłów średnik.

Pierwsza z nich o nazwie pozostaleProby to zmienna całkowita integer, która określa, ile prób pozostało graczowi na odgadnięcie słowa wymyślonego przez innego gracza (łańcuch znaków String wymyslone).

Kolejnym krokiem jest pobranie od użytkownika (w tym przypadku gracza) słowa, które drugi gracz będzie miał za zadanie odgadnąć. Ciąg znaków, który uzyskujemy za pomocą klasy Scanner oraz funkcji wbudowanej nextLine(), zapisujemy do zmiennej wymyslone.

Linia 1. Scanner scanner znak równości new Scanner otwórz nawias okrągły System kropka in zamknij nawias okrągły średnik. Linia 2. wymyslone znak równości scanner kropka nextLine otwórz nawias okrągły zamknij nawias okrągły średnik.
Ważne!

Ponieważ użyta została zewnętrza klasa Scanner, należy pamiętać o dodaniu:

Linia 1. import java kropka util kropka Scanner średnik.

Deklarujemy tablicę znaków char[] o nazwie odgadywane, która będzie przechowywać ciąg znaków zawierający litery (w przypadku gdy gracz odgadł daną literę) oraz znaki podkreślenia (jeżeli dana litera nie została jeszcze odgadnięta).

Na samym początku gry nie są jeszcze odgadnięte żadne litery, więc wypełniamy zmienną odgadywane znakami podkreślenia.

Zmienna następnie jest wypisywana na ekran, aby drugi gracz znał długość słowa.

Linia 1. char otwórz nawias kwadratowy zamknij nawias kwadratowy odgadywane znak równości new char otwórz nawias kwadratowy wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły zamknij nawias kwadratowy średnik. Linia 3. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 4. odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości apostrof otwórz nawias ostrokątny em zamknij nawias ostrokątny apostrof średnik. Linia 5. zamknij nawias klamrowy otwórz nawias ostrokątny prawy ukośnik em zamknij nawias ostrokątny.

Następnie deklarujemy kolejne dwie zmienne:

  • boolean czyOdgadniete = false; - zmienna logiczna, określająca, czy gracz odgadł już pełne słowo (przyjmie wartość true), czy nie (przyjmie wartość false),

  • String proba; - łańcuch znaków, do którego zapisywać będziemy to, co wprowadzi drugi gracz - literę lub całe słowo, które będzie chciał sprawdzić.

Linia 1. boolean czyOdgadniete znak równości false średnik. Linia 2. String proba średnik.

Deklarujemy pętlę while, w której będziemy pobierać od użytkownika kolejne litery (bądź całe słowa) i sprawdzać czy występują w wymyślonym przez pierwszego gracza wyrazie.

Linia 1. while otwórz nawias okrągły pozostaleProby zamknij nawias ostrokątny 0 zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. System kropka out kropka println otwórz nawias okrągły cudzysłów Podaj literę lub całe słowo do sprawdzenia cudzysłów zamknij nawias okrągły średnik. Linia 3. proba znak równości scanner kropka nextLine otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 4. boolean czyZawiera znak równości false średnik.

Tworzymy blok instrukcji warunkowej, która sprawdza, czy użytkownik wprowadził pojedynczy znak (długość równa 1), czy ciąg znaków (długość większa od 1).

Linia 1. while otwórz nawias okrągły pozostaleProby zamknij nawias ostrokątny 0 zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. System kropka out kropka println otwórz nawias okrągły cudzysłów Podaj literę lub całe słowo do sprawdzenia cudzysłów zamknij nawias okrągły średnik. Linia 3. proba znak równości scanner kropka nextLine otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 4. boolean czyZawiera znak równości false średnik. Linia 5. if otwórz nawias okrągły proba kropka length otwórz nawias okrągły zamknij nawias okrągły znak równości znak równości 1 zamknij nawias okrągły otwórz nawias klamrowy. Linia 7. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 8. if otwórz nawias okrągły wymyslone kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 9. czyZawiera znak równości true średnik. Linia 10. break średnik. Linia 11. zamknij nawias klamrowy. Linia 12. zamknij nawias klamrowy. Linia 14. if otwórz nawias okrągły czyZawiera zamknij nawias okrągły otwórz nawias klamrowy. Linia 15. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 16. if otwórz nawias okrągły wymyslone kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 17. odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły średnik. Linia 18. zamknij nawias klamrowy. Linia 20. zamknij nawias klamrowy. Linia 21. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 22. pozostaleProby minus minus średnik. Linia 23. System kropka out kropka println otwórz nawias okrągły cudzysłów Słowo nie zawiera litery cudzysłów plus proba zamknij nawias okrągły średnik. Linia 24. zamknij nawias klamrowy. Linia 25. zamknij nawias klamrowy.

W przypadku, gdy został wprowadzony pojedynczy znak, w pętli zostaje sprawdzone, czy wymyślone słowo zawiera podany znak – jeżeli tak, w kolejnej instrukcji warunkowej w tablicy znaków odgadywane zamieniane są znaki podkreślenia (w odpowiednich miejscach) na rzeczywiste litery. W przeciwnym przypadku (gdy użytkownik podał literę, która nie znajduje się wymyślonym przez pierwszego gracza wyrazie) wartość zmiennej pozostaleProby zostaje zmniejszona o 1.

Linia 1. while otwórz nawias okrągły pozostaleProby zamknij nawias ostrokątny 0 zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. System kropka out kropka println otwórz nawias okrągły cudzysłów Podaj literę lub całe słowo do sprawdzenia cudzysłów zamknij nawias okrągły średnik. Linia 3. proba znak równości scanner kropka nextLine otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 4. boolean czyZawiera znak równości false średnik. Linia 5. otwórz nawias ostrokątny code style znak równości cudzysłów white minus space dwukropek pre średnik cudzysłów data minus inline zamknij nawias ostrokątny if otwórz nawias okrągły proba kropka length otwórz nawias okrągły zamknij nawias okrągły znak równości znak równości 1 zamknij nawias okrągły otwórz nawias klamrowy. Linia 7. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 8. if otwórz nawias okrągły wymyslone kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 9. czyZawiera znak równości true średnik. Linia 10. break średnik. Linia 11. zamknij nawias klamrowy. Linia 12. zamknij nawias klamrowy. Linia 14. if otwórz nawias okrągły czyZawiera zamknij nawias okrągły otwórz nawias klamrowy. Linia 15. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 16. if otwórz nawias okrągły wymyslone kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 17. odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły średnik. Linia 18. zamknij nawias klamrowy. Linia 20. zamknij nawias klamrowy. Linia 21. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 22. pozostaleProby minus minus średnik. Linia 23. System kropka out kropka println otwórz nawias okrągły cudzysłów Słowo nie zawiera litery cudzysłów plus proba zamknij nawias okrągły średnik. Linia 24. zamknij nawias klamrowy. Linia 26. czyOdgadniete znak równości true średnik. Linia 28. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik odgadywane kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 29. if otwórz nawias okrągły odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości znak równości apostrof podkreślnik apostrof zamknij nawias okrągły otwórz nawias klamrowy. Linia 30. czyOdgadniete znak równości false średnik. Linia 31. break średnik. Linia 32. zamknij nawias klamrowy. Linia 33. zamknij nawias klamrowy. Linia 35. if otwórz nawias okrągły czyOdgadniete znak równości znak równości true zamknij nawias okrągły otwórz nawias klamrowy. Linia 36. break średnik. Linia 37. zamknij nawias klamrowy. Linia 38. zamknij nawias klamrowy else if otwórz nawias okrągły proba kropka length otwórz nawias okrągły zamknij nawias okrągły ampersant gt średnik 1 zamknij nawias okrągły otwórz nawias klamrowy. Linia 40. zamknij nawias klamrowy otwórz nawias ostrokątny prawy ukośnik code zamknij nawias ostrokątny. Linia 42. zamknij nawias klamrowy.

Zdefiniujmy teraz operacje, które mają zostać wykonane w przypadku, gdy nie została wprowadzona pojedyncza litera, tylko ciąg znaków.

Linia 1. while otwórz nawias okrągły pozostaleProby zamknij nawias ostrokątny 0 zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. System kropka out kropka println otwórz nawias okrągły cudzysłów Podaj literę lub całe słowo do sprawdzenia cudzysłów zamknij nawias okrągły średnik. Linia 3. proba znak równości scanner kropka nextLine otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 4. boolean czyZawiera znak równości false średnik. Linia 5. otwórz nawias ostrokątny code style znak równości cudzysłów white minus space dwukropek pre średnik cudzysłów data minus inline zamknij nawias ostrokątny if otwórz nawias okrągły proba kropka length otwórz nawias okrągły zamknij nawias okrągły znak równości znak równości 1 zamknij nawias okrągły otwórz nawias klamrowy. Linia 7. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 8. if otwórz nawias okrągły wymyslone kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 9. czyZawiera znak równości true średnik. Linia 10. break średnik. Linia 11. zamknij nawias klamrowy. Linia 12. zamknij nawias klamrowy. Linia 14. if otwórz nawias okrągły czyZawiera zamknij nawias okrągły otwórz nawias klamrowy. Linia 15. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 16. if otwórz nawias okrągły wymyslone kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 17. odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły średnik. Linia 18. zamknij nawias klamrowy. Linia 20. zamknij nawias klamrowy. Linia 21. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 22. pozostaleProby minus minus średnik. Linia 23. System kropka out kropka println otwórz nawias okrągły cudzysłów Słowo nie zawiera litery cudzysłów plus proba zamknij nawias okrągły średnik. Linia 24. zamknij nawias klamrowy. Linia 26. czyOdgadniete znak równości true średnik. Linia 28. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik odgadywane kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 29. if otwórz nawias okrągły odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości znak równości apostrof podkreślnik apostrof zamknij nawias okrągły otwórz nawias klamrowy. Linia 30. czyOdgadniete znak równości false średnik. Linia 31. break średnik. Linia 32. zamknij nawias klamrowy. Linia 33. zamknij nawias klamrowy. Linia 35. if otwórz nawias okrągły czyOdgadniete znak równości znak równości true zamknij nawias okrągły otwórz nawias klamrowy. Linia 36. break średnik. Linia 37. zamknij nawias klamrowy. Linia 38. zamknij nawias klamrowy else if otwórz nawias okrągły proba kropka length otwórz nawias okrągły zamknij nawias okrągły ampersant gt średnik 1 zamknij nawias okrągły otwórz nawias klamrowy. Linia 39. if otwórz nawias okrągły proba kropka equals otwórz nawias okrągły wymyslone zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 40. czyOdgadniete znak równości true średnik. Linia 41. break średnik. Linia 42. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 43. pozostaleProby minus minus średnik. Linia 44. System kropka out kropka println otwórz nawias okrągły cudzysłów Pozostałe życia dwukropek cudzysłów plus pozostaleProby zamknij nawias okrągły średnik. Linia 45. zamknij nawias klamrowy. Linia 46. zamknij nawias klamrowy otwórz nawias ostrokątny prawy ukośnik code zamknij nawias ostrokątny. Linia 48. zamknij nawias klamrowy.

Sprawdzane jest, czy ciąg znaków, który podał gracz, zgadza się z wymyślonym słowem. Jeżeli tak, algorytm kończy działanie. W przeciwnym przypadku zmniejsza się liczba pozostałych prób.

Po wyjściu z pętli while wyświetlany jest końcowy komunikat o wynikach rozgrywki:

Linia 1. if otwórz nawias okrągły wykrzyknik czyOdgadniete zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. System kropka out kropka println otwórz nawias okrągły cudzysłów Niestety nie udało ci się odgadnąć słowa cudzysłów zamknij nawias okrągły średnik. Linia 3. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 4. System kropka out kropka println otwórz nawias okrągły cudzysłów Udało ci się odgadnąć słowo wykrzyknik cudzysłów zamknij nawias okrągły średnik. Linia 5. zamknij nawias klamrowy.

Oto kod całego programu:

Linia 1. import java kropka util kropka Scanner średnik. Linia 3. public class GraWisielec otwórz nawias klamrowy. Linia 4. otwórz nawias ostrokątny code style znak równości cudzysłów white minus space dwukropek pre średnik cudzysłów data minus inline zamknij nawias ostrokątny 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 6. int pozostaleProby znak równości 8 średnik. Linia 7. String wymyslone znak równości cudzysłów cudzysłów średnik. Linia 9. Scanner scanner znak równości new Scanner otwórz nawias okrągły System kropka in zamknij nawias okrągły średnik. Linia 10. wymyslone znak równości scanner kropka nextLine otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 12. char otwórz nawias kwadratowy zamknij nawias kwadratowy odgadywane znak równości new char otwórz nawias kwadratowy wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły zamknij nawias kwadratowy średnik. Linia 14. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 15. odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości apostrof podkreślnik apostrof średnik. Linia 16. zamknij nawias klamrowy. Linia 18. System kropka out kropka println otwórz nawias okrągły odgadywane zamknij nawias okrągły średnik. Linia 19. boolean czyOdgadniete znak równości false średnik. Linia 20. String proba średnik. Linia 22. while otwórz nawias okrągły pozostaleProby ampersant gt średnik 0 zamknij nawias okrągły otwórz nawias klamrowy. Linia 23. System kropka out kropka println otwórz nawias okrągły cudzysłów Podaj literę lub całe słowo do sprawdzenia cudzysłów zamknij nawias okrągły średnik. Linia 24. proba znak równości scanner kropka nextLine otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 25. boolean czyZawiera znak równości false średnik. Linia 27. if otwórz nawias okrągły proba kropka length otwórz nawias okrągły zamknij nawias okrągły znak równości znak równości 1 zamknij nawias okrągły otwórz nawias klamrowy. Linia 29. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 30. if otwórz nawias okrągły wymyslone kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 31. czyZawiera znak równości true średnik. Linia 32. break średnik. Linia 33. zamknij nawias klamrowy. Linia 34. zamknij nawias klamrowy. Linia 36. if otwórz nawias okrągły czyZawiera zamknij nawias okrągły otwórz nawias klamrowy. Linia 37. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik wymyslone kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 38. if otwórz nawias okrągły wymyslone kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 39. odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości proba kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły średnik. Linia 40. zamknij nawias klamrowy. Linia 42. zamknij nawias klamrowy. Linia 43. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 44. pozostaleProby minus minus średnik. Linia 45. System kropka out kropka println otwórz nawias okrągły cudzysłów Słowo nie zawiera litery cudzysłów plus proba zamknij nawias okrągły średnik. Linia 46. zamknij nawias klamrowy. Linia 48. czyOdgadniete znak równości true średnik. Linia 50. for otwórz nawias okrągły int i znak równości 0 średnik i ampersant lt średnik odgadywane kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 51. if otwórz nawias okrągły odgadywane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości znak równości apostrof podkreślnik apostrof zamknij nawias okrągły otwórz nawias klamrowy. Linia 52. czyOdgadniete znak równości false średnik. Linia 53. break średnik. Linia 54. zamknij nawias klamrowy. Linia 55. zamknij nawias klamrowy. Linia 57. if otwórz nawias okrągły czyOdgadniete znak równości znak równości true zamknij nawias okrągły otwórz nawias klamrowy. Linia 58. break średnik. Linia 59. zamknij nawias klamrowy. Linia 60. zamknij nawias klamrowy else if otwórz nawias okrągły proba kropka length otwórz nawias okrągły zamknij nawias okrągły ampersant gt średnik 1 zamknij nawias okrągły otwórz nawias klamrowy. Linia 61. if otwórz nawias okrągły proba kropka equals otwórz nawias okrągły wymyslone zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy. Linia 62. czyOdgadniete znak równości true średnik. Linia 63. break średnik. Linia 64. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 65. pozostaleProby minus minus średnik. Linia 66. System kropka out kropka println otwórz nawias okrągły cudzysłów Pozostałe życia dwukropek cudzysłów plus pozostaleProby zamknij nawias okrągły średnik. Linia 67. zamknij nawias klamrowy. Linia 68. zamknij nawias klamrowy. Linia 70. System kropka out kropka println otwórz nawias okrągły odgadywane zamknij nawias okrągły średnik. Linia 71. System kropka out kropka println otwórz nawias okrągły cudzysłów Pozostałe życia dwukropek cudzysłów plus pozostaleProby zamknij nawias okrągły średnik. Linia 72. zamknij nawias klamrowy. Linia 74. if otwórz nawias okrągły wykrzyknik czyOdgadniete zamknij nawias okrągły otwórz nawias klamrowy. Linia 75. System kropka out kropka println otwórz nawias okrągły cudzysłów Niestety nie udało ci się odgadnąć słowa cudzysłów zamknij nawias okrągły średnik. Linia 76. zamknij nawias klamrowy else otwórz nawias klamrowy. Linia 77. System kropka out kropka println otwórz nawias okrągły cudzysłów Udało ci się odgadnąć słowo wykrzyknik cudzysłów zamknij nawias okrągły średnik. Linia 78. zamknij nawias klamrowy. Linia 79. zamknij nawias klamrowy otwórz nawias ostrokątny prawy ukośnik code zamknij nawias ostrokątny. Linia 81. zamknij nawias klamrowy.
RiKUISxZIVAh8

Przycisk służący do pobrania kodu programu zaprezentowanego w filmie.

Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Plik JAVA o rozmiarze 1.96 KB w języku polskim

Problem - Wyszukiwanie podciągów o niepowtarzających się znakach

Celem zadania jest przygotowanie algorytmu tekstowego, który wyszukuje w podanym przez użytkownika ciągu znaków wszystkie podciągi o określonej długości, w których żadne litery się nie powtarzają. Program analizuje kolejne fragmenty tekstu, sprawdzając, czy każdy z nich spełnia warunek unikalności znaków. Dzięki temu można łatwo odnaleźć wszystkie możliwe podciągi, w których każda litera występuje tylko raz.

Przykładowo, dla ciągu znaków ADRTRGGYH i długości podciągu równej 3, algorytm sprawdza kolejne fragmenty tekstu, takie jak ADR, DRT, RTR, TRG, RGG, GGY, GYH. Następnie wypisuje tylko te, w których wszystkie znaki są różne, np. ADR, DRT, TRG oraz GYH.

Zadanie pozwala przećwiczyć pracę z ciągami znaków, pętlami, instrukcjami warunkowymi oraz porównywaniem znaków w programowaniu.

R16MxBlrHWSdv
Film nawiązujący do treści materiału: Algorytmy tekstowe.
RT5762RQE2K9C

Plik TXT o rozmiarze 1.16 KB w języku polskim
Problem 1

Zaimplementuj algorytm wyszukujący w zadanym przez użytkownika ciągu znaków wszystkie podciągi o zadanej długości, w których wszystkie litery są różne.

Specyfikacja:

Dane:

  • ciagZnakow – łańcuch znaków

  • dlPodlancucha – liczba naturalna; zmienna typu int

Wynik:

Program na wyjściu standardowym wypisze podciągi o zadanej długości, w których wszystkie litery są różne.

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

Słownik

instrukcja warunkowa
instrukcja warunkowa

element algorytmu pozwalający na sprawdzenie jednego lub kilku warunków, a następnie zdefiniowanie, jakie czynności mają być wykonane, jeśli dane warunki są spełnione lub niespełnione (służy do sterowania programem)

łańcuch znaków
łańcuch znaków

ciąg znaków o ustalonej wcześniej lub dowolnej długości, gdzie znaki to kolejno zapisane bajty w pamięci