Napisz program, który zakoduje dowolne słowo (bez polskich znaków) za pomocą kodu Morse'a. Użyj do tego znaków - oraz •. Każdy zakodowany znak (literę) oddziel spacją. Przetestuj działanie programu dla słowa INFORMATYKA.
Specyfikacja:
Dane:
slowo – łańcuch znaków; słowo do zakodowania
Wynik:
Na standardowym wyjściu program prezentuje zakodowane przy pomocy kodu Morse'a słowo
Wskazówka:
Znak • w edytorze kodu uzyskasz za pomocą kombinacji klawiszy alt+8. Odpowiedni znak możesz skopiować z rozwiązania.
Linia 1. public class MorseCode otwórz nawias klamrowy.
Linia 3. static String zakodujMorsem otwórz nawias okrągły String ciagZnakow zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. String zakodowane znak równości cudzysłów cudzysłów średnik.
Linia 7. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny ciagZnakow 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 9. char znak znak równości ciagZnakow kropka charAt otwórz nawias okrągły i zamknij nawias okrągły średnik.
Linia 11. switch otwórz nawias okrągły znak zamknij nawias okrągły otwórz nawias klamrowy.
Linia 12. case apostrof A apostrof dwukropek.
Linia 13. zakodowane plus znak równości cudzysłów • minus cudzysłów średnik.
Linia 14. break średnik.
Linia 15. case apostrof B apostrof dwukropek.
Linia 16. zakodowane plus znak równości cudzysłów minus ••• cudzysłów średnik.
Linia 17. break średnik.
Linia 18. case apostrof C apostrof dwukropek.
Linia 19. zakodowane plus znak równości cudzysłów minus • minus • cudzysłów średnik.
Linia 20. break średnik.
Linia 21. case apostrof D apostrof dwukropek.
Linia 22. zakodowane plus znak równości cudzysłów minus •• cudzysłów średnik.
Linia 23. break średnik.
Linia 24. case apostrof E apostrof dwukropek.
Linia 25. zakodowane plus znak równości cudzysłów • cudzysłów średnik.
Linia 26. break średnik.
Linia 27. case apostrof F apostrof dwukropek.
Linia 28. zakodowane plus znak równości cudzysłów •• minus • cudzysłów średnik.
Linia 29. break średnik.
Linia 30. case apostrof G apostrof dwukropek.
Linia 31. zakodowane plus znak równości cudzysłów minus minus • cudzysłów średnik.
Linia 32. break średnik.
Linia 33. case apostrof H apostrof dwukropek.
Linia 34. zakodowane plus znak równości cudzysłów •••• cudzysłów średnik.
Linia 35. break średnik.
Linia 36. case apostrof I apostrof dwukropek.
Linia 37. zakodowane plus znak równości cudzysłów •• cudzysłów średnik.
Linia 38. break średnik.
Linia 39. case apostrof J apostrof dwukropek.
Linia 40. zakodowane plus znak równości cudzysłów • minus minus minus cudzysłów średnik.
Linia 41. break średnik.
Linia 42. case apostrof K apostrof dwukropek.
Linia 43. zakodowane plus znak równości cudzysłów minus • minus cudzysłów średnik.
Linia 44. break średnik.
Linia 45. case apostrof L apostrof dwukropek.
Linia 46. zakodowane plus znak równości cudzysłów • minus •• cudzysłów średnik.
Linia 47. break średnik.
Linia 48. case apostrof M apostrof dwukropek.
Linia 49. zakodowane plus znak równości cudzysłów minus minus cudzysłów średnik.
Linia 50. break średnik.
Linia 51. case apostrof N apostrof dwukropek.
Linia 52. zakodowane plus znak równości cudzysłów minus • cudzysłów średnik.
Linia 53. break średnik.
Linia 54. case apostrof O apostrof dwukropek.
Linia 55. zakodowane plus znak równości cudzysłów minus minus minus cudzysłów średnik.
Linia 56. break średnik.
Linia 57. case apostrof P apostrof dwukropek.
Linia 58. zakodowane plus znak równości cudzysłów • minus minus • cudzysłów średnik.
Linia 59. break średnik.
Linia 60. case apostrof Q apostrof dwukropek.
Linia 61. zakodowane plus znak równości cudzysłów minus minus • minus cudzysłów średnik.
Linia 62. break średnik.
Linia 63. case apostrof R apostrof dwukropek.
Linia 64. zakodowane plus znak równości cudzysłów • minus • cudzysłów średnik.
Linia 65. break średnik.
Linia 66. case apostrof S apostrof dwukropek.
Linia 67. zakodowane plus znak równości cudzysłów ••• cudzysłów średnik.
Linia 68. break średnik.
Linia 69. case apostrof T apostrof dwukropek.
Linia 70. zakodowane plus znak równości cudzysłów minus cudzysłów średnik.
Linia 71. break średnik.
Linia 72. case apostrof U apostrof dwukropek.
Linia 73. zakodowane plus znak równości cudzysłów •• minus cudzysłów średnik.
Linia 74. break średnik.
Linia 75. case apostrof V apostrof dwukropek.
Linia 76. zakodowane plus znak równości cudzysłów ••• minus cudzysłów średnik.
Linia 77. break średnik.
Linia 78. case apostrof W apostrof dwukropek.
Linia 79. zakodowane plus znak równości cudzysłów • minus minus cudzysłów średnik.
Linia 80. break średnik.
Linia 81. case apostrof X apostrof dwukropek.
Linia 82. zakodowane plus znak równości cudzysłów minus •• minus cudzysłów średnik.
Linia 83. break średnik.
Linia 84. case apostrof Y apostrof dwukropek.
Linia 85. zakodowane plus znak równości cudzysłów minus • minus minus cudzysłów średnik.
Linia 86. break średnik.
Linia 87. case apostrof Z apostrof dwukropek.
Linia 88. zakodowane plus znak równości cudzysłów minus minus •• cudzysłów średnik.
Linia 89. break średnik.
Linia 90. zamknij nawias klamrowy.
Linia 91. zakodowane plus znak równości cudzysłów cudzysłów średnik.
Linia 92. zamknij nawias klamrowy.
Linia 93. return zakodowane średnik.
Linia 94. zamknij nawias klamrowy.
Linia 96. 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 97. System kropka out kropka println otwórz nawias okrągły zakodujMorsem otwórz nawias okrągły cudzysłów INFORMATYKA cudzysłów zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 98. zamknij nawias klamrowy.
Linia 99. zamknij nawias klamrowy.
21
Ćwiczenie 2
Napisz program, który odkoduje dowolne słowo (zapisane bez znaków diakrytycznych) zakodowane za pomocą kodu Morse'a.
Przetestuj działanie programu dla następującego słowa zapisanego za pomocą alfabetu Morse'a:
Linia 1. minus minus • • minus • • minus minus •• minus • minus •• • minus minus • minus • •– •.
Specyfikacja:
Dane:
zakodowane – łańcuch znaków; napis składający się z kropek i kresek do odkodowania
Wynik:
Na standardowym wyjściu program prezentuje odkodowane z kodu Morse'a słowo.
R141sNhcJUggY
Przykładowe rozwiązanie zadania:
Linia 1. public class MorseCode otwórz nawias klamrowy.
Linia 3. static String odkodujMorsa otwórz nawias okrągły String ciagZnakow zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. String zakodowane znak równości cudzysłów cudzysłów średnik.
Linia 7. String podciag znak równości cudzysłów cudzysłów średnik.
Linia 9. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny ciagZnakow kropka length otwórz nawias okrągły zamknij nawias okrągły minus 1 średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. podciag plus znak równości ciagZnakow kropka charAt otwórz nawias okrągły i zamknij nawias okrągły średnik.
Linia 13. if otwórz nawias okrągły ciagZnakow kropka charAt otwórz nawias okrągły i plus 1 zamknij nawias okrągły znak równości znak równości apostrof apostrof zamknij nawias okrągły otwórz nawias klamrowy.
Linia 15. switch otwórz nawias okrągły podciag zamknij nawias okrągły otwórz nawias klamrowy.
Linia 16. case cudzysłów • minus cudzysłów dwukropek.
Linia 17. zakodowane plus znak równości cudzysłów A cudzysłów średnik.
Linia 18. break średnik.
Linia 19. case cudzysłów minus ••• cudzysłów dwukropek.
Linia 20. zakodowane plus znak równości cudzysłów B cudzysłów średnik.
Linia 21. break średnik.
Linia 22. case cudzysłów minus • minus • cudzysłów dwukropek.
Linia 23. zakodowane plus znak równości cudzysłów C cudzysłów średnik.
Linia 24. break średnik.
Linia 25. case cudzysłów minus •• cudzysłów dwukropek.
Linia 26. zakodowane plus znak równości cudzysłów D cudzysłów średnik.
Linia 27. break średnik.
Linia 28. case cudzysłów • cudzysłów dwukropek.
Linia 29. zakodowane plus znak równości cudzysłów E cudzysłów średnik.
Linia 30. break średnik.
Linia 31. case cudzysłów •• minus • cudzysłów dwukropek.
Linia 32. zakodowane plus znak równości cudzysłów F cudzysłów średnik.
Linia 33. break średnik.
Linia 34. case cudzysłów minus minus • cudzysłów dwukropek.
Linia 35. zakodowane plus znak równości cudzysłów G cudzysłów średnik.
Linia 36. break średnik.
Linia 37. case cudzysłów •••• cudzysłów dwukropek.
Linia 38. zakodowane plus znak równości cudzysłów H cudzysłów średnik.
Linia 39. break średnik.
Linia 40. case cudzysłów •• cudzysłów dwukropek.
Linia 41. zakodowane plus znak równości cudzysłów I cudzysłów średnik.
Linia 42. break średnik.
Linia 43. case cudzysłów • minus minus minus cudzysłów dwukropek.
Linia 44. zakodowane plus znak równości cudzysłów J cudzysłów średnik.
Linia 45. break średnik.
Linia 46. case cudzysłów minus • minus cudzysłów dwukropek.
Linia 47. zakodowane plus znak równości cudzysłów K cudzysłów średnik.
Linia 48. break średnik.
Linia 49. case cudzysłów • minus •• cudzysłów dwukropek.
Linia 50. zakodowane plus znak równości cudzysłów L cudzysłów średnik.
Linia 51. break średnik.
Linia 52. case cudzysłów minus minus cudzysłów dwukropek.
Linia 53. zakodowane plus znak równości cudzysłów M cudzysłów średnik.
Linia 54. break średnik.
Linia 55. case cudzysłów minus • cudzysłów dwukropek.
Linia 56. zakodowane plus znak równości cudzysłów N cudzysłów średnik.
Linia 57. break średnik.
Linia 58. case cudzysłów minus minus minus cudzysłów dwukropek.
Linia 59. zakodowane plus znak równości cudzysłów O cudzysłów średnik.
Linia 60. break średnik.
Linia 61. case cudzysłów • minus minus • cudzysłów dwukropek.
Linia 62. zakodowane plus znak równości cudzysłów P cudzysłów średnik.
Linia 63. break średnik.
Linia 64. case cudzysłów minus minus • minus cudzysłów dwukropek.
Linia 65. zakodowane plus znak równości cudzysłów Q cudzysłów średnik.
Linia 66. break średnik.
Linia 67. case cudzysłów • minus • cudzysłów dwukropek.
Linia 68. zakodowane plus znak równości cudzysłów R cudzysłów średnik.
Linia 69. break średnik.
Linia 70. case cudzysłów ••• cudzysłów dwukropek.
Linia 71. zakodowane plus znak równości cudzysłów S cudzysłów średnik.
Linia 72. break średnik.
Linia 73. case cudzysłów minus cudzysłów dwukropek.
Linia 74. zakodowane plus znak równości cudzysłów T cudzysłów średnik.
Linia 75. break średnik.
Linia 76. case cudzysłów •• minus cudzysłów dwukropek.
Linia 77. zakodowane plus znak równości cudzysłów U cudzysłów średnik.
Linia 78. break średnik.
Linia 79. case cudzysłów ••• minus cudzysłów dwukropek.
Linia 80. zakodowane plus znak równości cudzysłów V cudzysłów średnik.
Linia 81. break średnik.
Linia 82. case cudzysłów • minus minus cudzysłów dwukropek.
Linia 83. zakodowane plus znak równości cudzysłów W cudzysłów średnik.
Linia 84. break średnik.
Linia 85. case cudzysłów minus •• minus cudzysłów dwukropek.
Linia 86. zakodowane plus znak równości cudzysłów X cudzysłów średnik.
Linia 87. break średnik.
Linia 88. case cudzysłów minus • minus minus cudzysłów dwukropek.
Linia 89. zakodowane plus znak równości cudzysłów Y cudzysłów średnik.
Linia 90. break średnik.
Linia 91. case cudzysłów minus minus •• cudzysłów dwukropek.
Linia 92. zakodowane plus znak równości cudzysłów Z cudzysłów średnik.
Linia 93. break średnik.
Linia 94. zamknij nawias klamrowy.
Linia 96. i plus plus średnik.
Linia 98. podciag znak równości cudzysłów cudzysłów średnik.
Linia 100. zamknij nawias klamrowy.
Linia 102. zamknij nawias klamrowy.
Linia 104. return zakodowane średnik.
Linia 105. zamknij nawias klamrowy.
Linia 107. 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 108. System kropka out kropka println otwórz nawias okrągły odkodujMorsa otwórz nawias okrągły cudzysłów minus minus • • minus • • minus minus •• minus • minus •• • minus minus • minus • • minus minus minus • cudzysłów zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 109. zamknij nawias klamrowy.
Linia 110. zamknij nawias klamrowy.
31
Ćwiczenie 3
Na podstawie kodu z poprzedniego zadania, napisz program, który odkoduje dowolne zdanie (bez polskich znaków) za pomocą systemu Morse'a. Słowa w zakodowanym ciągu znaków oddziela znak | (jest to odpowiednik spacji). Program ma odkodować przedstawiony ciąg znaków i wypisać wynik odkodowania, którym jest całe zdanie.
Przetestuj działanie programu dla następującego zdania zapisanego za pomocą alfabetu Morse'a:
Linia 1. •• minus • •• minus • – • minus • minus minus • minus minus minus • minus minus minus • minus • minus kreska pionowa •– • ••• minus kreska pionowa ••• •• minus • minus minus • • • minus •.
Specyfikacja:
Dane:
zakodowane – łańcuch znaków; zdanie zakodowane przy pomocy kodu Morse'a, do odkodowania
Wynik:
Na standardowym wyjściu program prezentuje odkodowane z kodu Morse'a zdanie.
RT3OudUTszZoS
Przykładowe rozwiązanie zadania:
Linia 1. public class MorseCode otwórz nawias klamrowy.
Linia 3. static String odkodujMorsa otwórz nawias okrągły String ciagZnakow zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. String zakodowane znak równości cudzysłów cudzysłów średnik.
Linia 7. String podciag znak równości cudzysłów cudzysłów średnik.
Linia 9. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny ciagZnakow kropka length otwórz nawias okrągły zamknij nawias okrągły minus 1 średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. podciag plus znak równości ciagZnakow kropka charAt otwórz nawias okrągły i zamknij nawias okrągły średnik.
Linia 13. if otwórz nawias okrągły ciagZnakow kropka charAt otwórz nawias okrągły i plus 1 zamknij nawias okrągły znak równości znak równości apostrof apostrof ampersant ampersant ciagZnakow kropka charAt otwórz nawias okrągły i zamknij nawias okrągły wykrzyknik znak równości apostrof kreska pionowa apostrof zamknij nawias okrągły otwórz nawias klamrowy.
Linia 15. switch otwórz nawias okrągły podciag zamknij nawias okrągły otwórz nawias klamrowy.
Linia 16. case cudzysłów • minus cudzysłów dwukropek.
Linia 17. zakodowane plus znak równości cudzysłów A cudzysłów średnik.
Linia 18. break średnik.
Linia 19. case cudzysłów minus ••• cudzysłów dwukropek.
Linia 20. zakodowane plus znak równości cudzysłów B cudzysłów średnik.
Linia 21. break średnik.
Linia 22. case cudzysłów minus • minus • cudzysłów dwukropek.
Linia 23. zakodowane plus znak równości cudzysłów C cudzysłów średnik.
Linia 24. break średnik.
Linia 25. case cudzysłów minus •• cudzysłów dwukropek.
Linia 26. zakodowane plus znak równości cudzysłów D cudzysłów średnik.
Linia 27. break średnik.
Linia 28. case cudzysłów • cudzysłów dwukropek.
Linia 29. zakodowane plus znak równości cudzysłów E cudzysłów średnik.
Linia 30. break średnik.
Linia 31. case cudzysłów •• minus • cudzysłów dwukropek.
Linia 32. zakodowane plus znak równości cudzysłów F cudzysłów średnik.
Linia 33. break średnik.
Linia 34. case cudzysłów minus minus • cudzysłów dwukropek.
Linia 35. zakodowane plus znak równości cudzysłów G cudzysłów średnik.
Linia 36. break średnik.
Linia 37. case cudzysłów •••• cudzysłów dwukropek.
Linia 38. zakodowane plus znak równości cudzysłów H cudzysłów średnik.
Linia 39. break średnik.
Linia 40. case cudzysłów •• cudzysłów dwukropek.
Linia 41. zakodowane plus znak równości cudzysłów I cudzysłów średnik.
Linia 42. break średnik.
Linia 43. case cudzysłów • minus minus minus cudzysłów dwukropek.
Linia 44. zakodowane plus znak równości cudzysłów J cudzysłów średnik.
Linia 45. break średnik.
Linia 46. case cudzysłów minus • minus cudzysłów dwukropek.
Linia 47. zakodowane plus znak równości cudzysłów K cudzysłów średnik.
Linia 48. break średnik.
Linia 49. case cudzysłów • minus •• cudzysłów dwukropek.
Linia 50. zakodowane plus znak równości cudzysłów L cudzysłów średnik.
Linia 51. break średnik.
Linia 52. case cudzysłów minus minus cudzysłów dwukropek.
Linia 53. zakodowane plus znak równości cudzysłów M cudzysłów średnik.
Linia 54. break średnik.
Linia 55. case cudzysłów minus • cudzysłów dwukropek.
Linia 56. zakodowane plus znak równości cudzysłów N cudzysłów średnik.
Linia 57. break średnik.
Linia 58. case cudzysłów minus minus minus cudzysłów dwukropek.
Linia 59. zakodowane plus znak równości cudzysłów O cudzysłów średnik.
Linia 60. break średnik.
Linia 61. case cudzysłów • minus minus • cudzysłów dwukropek.
Linia 62. zakodowane plus znak równości cudzysłów P cudzysłów średnik.
Linia 63. break średnik.
Linia 64. case cudzysłów minus minus • minus cudzysłów dwukropek.
Linia 65. zakodowane plus znak równości cudzysłów Q cudzysłów średnik.
Linia 66. break średnik.
Linia 67. case cudzysłów • minus • cudzysłów dwukropek.
Linia 68. zakodowane plus znak równości cudzysłów R cudzysłów średnik.
Linia 69. break średnik.
Linia 70. case cudzysłów ••• cudzysłów dwukropek.
Linia 71. zakodowane plus znak równości cudzysłów S cudzysłów średnik.
Linia 72. break średnik.
Linia 73. case cudzysłów minus cudzysłów dwukropek.
Linia 74. zakodowane plus znak równości cudzysłów T cudzysłów średnik.
Linia 75. break średnik.
Linia 76. case cudzysłów •• minus cudzysłów dwukropek.
Linia 77. zakodowane plus znak równości cudzysłów U cudzysłów średnik.
Linia 78. break średnik.
Linia 79. case cudzysłów ••• minus cudzysłów dwukropek.
Linia 80. zakodowane plus znak równości cudzysłów V cudzysłów średnik.
Linia 81. break średnik.
Linia 82. case cudzysłów • minus minus cudzysłów dwukropek.
Linia 83. zakodowane plus znak równości cudzysłów W cudzysłów średnik.
Linia 84. break średnik.
Linia 85. case cudzysłów minus •• minus cudzysłów dwukropek.
Linia 86. zakodowane plus znak równości cudzysłów X cudzysłów średnik.
Linia 87. break średnik.
Linia 88. case cudzysłów minus • minus minus cudzysłów dwukropek.
Linia 89. zakodowane plus znak równości cudzysłów Y cudzysłów średnik.
Linia 90. break średnik.
Linia 91. case cudzysłów minus minus •• cudzysłów dwukropek.
Linia 92. zakodowane plus znak równości cudzysłów Z cudzysłów średnik.
Linia 93. break średnik.
Linia 94. zamknij nawias klamrowy.
Linia 96. i plus plus średnik.
Linia 98. podciag znak równości cudzysłów cudzysłów średnik.
Linia 100. zamknij nawias klamrowy else if otwórz nawias okrągły ciagZnakow kropka charAt otwórz nawias okrągły i zamknij nawias okrągły znak równości znak równości apostrof kreska pionowa apostrof zamknij nawias okrągły otwórz nawias klamrowy.
Linia 101. zakodowane plus znak równości cudzysłów cudzysłów średnik.
Linia 102. podciag znak równości cudzysłów cudzysłów średnik.
Linia 103. i plus plus średnik.
Linia 104. zamknij nawias klamrowy.
Linia 105. zamknij nawias klamrowy.
Linia 107. return zakodowane średnik.
Linia 108. zamknij nawias klamrowy.
Linia 110. 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 111. System kropka out kropka println otwórz nawias okrągły odkodujMorsa otwórz nawias okrągły cudzysłów •• minus • •• minus • minus minus minus • minus • minus minus • minus minus minus • minus minus minus • minus • minus kreska pionowa • minus minus minus • ••• minus kreska pionowa ••• •• minus • minus minus • • • minus • cudzysłów zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 112. zamknij nawias klamrowy.
Linia 113. zamknij nawias klamrowy.