Zmodyfikuj podaną funkcję rotN tak, aby realizowała ona odwrotnościowy szyfr Cezara dla ciągu złożonego z cyfr. Pamiętaj, że okres tego szyfru będzie wynosił 10.
Specyfikacja:
Dane:
x - ciąg znaków
Wynik:
y - wartość logiczna
RiBjtxSYmJA1d2
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static String rotN otwórz nawias okrągły String value zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. char otwórz nawias kwadratowy zamknij nawias kwadratowy result znak równości value kropka toCharArray otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 4. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny result kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. result otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości otwórz nawias okrągły char zamknij nawias okrągły otwórz nawias okrągły otwórz nawias okrągły otwórz nawias okrągły result otwórz nawias kwadratowy i zamknij nawias kwadratowy minus apostrof 0 apostrof plus 5 zamknij nawias okrągły procent 10 zamknij nawias okrągły plus apostrof 0 apostrof zamknij nawias okrągły średnik.
Linia 6. zamknij nawias klamrowy.
Linia 7. return String kropka valueOf otwórz nawias okrągły result zamknij nawias okrągły średnik.
Linia 8. zamknij nawias klamrowy.
Linia 10. 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 11. System kropka out kropka println otwórz nawias okrągły rotN otwórz nawias okrągły rotN otwórz nawias okrągły cudzysłów 12341234 cudzysłów zamknij nawias okrągły zamknij nawias okrągły kropka equals otwórz nawias okrągły cudzysłów 12341234 cudzysłów zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 12. zamknij nawias klamrowy.
Linia 13. zamknij nawias klamrowy.
31
Ćwiczenie 2
Napisz funkcję, która dla dwóch słów: tekst jawny i tekst zaszyfrowany znajdzie wartość N, o jaką zostały przekształcone poszczególne znaki. Proces szyfrowania wygląda następująco:
Linia 1. 1 kropka W tekście jawnym zamień litery małe na wielkie przecinek a wielkie na małe kropka.
Linia 2. 2 kropka Zapisz tekst jawny od końca kropka.
Linia 3. 3 kropka Przekształć wszystkie znaki tekstu jawnego o naturalną liczbę N kropka.
Specyfikacja:
Dane:
plain - tekst jawny, ciąg znaków
coded - tekst zakodowany, ciąg znaków
Wynik:
x - liczba całkowita
R1FPalzm3lzaa31
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static int findKey otwórz nawias okrągły String plain przecinek String coded zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. int value znak równości coded kropka toUpperCase otwórz nawias okrągły zamknij nawias okrągły kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły minus plain kropka toUpperCase otwórz nawias okrągły zamknij nawias okrągły kropka charAt otwórz nawias okrągły plain kropka length otwórz nawias okrągły zamknij nawias okrągły minus 1 zamknij nawias okrągły średnik.
Linia 4. if otwórz nawias okrągły value zamknij nawias ostrokątny 0 zamknij nawias okrągły.
Linia 5. return value średnik.
Linia 6. else return 26 plus value średnik.
Linia 7. zamknij nawias klamrowy.
Linia 9. 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 10. System kropka out kropka println otwórz nawias okrągły findKey otwórz nawias okrągły cudzysłów KwAdRaT cudzysłów przecinek cudzysłów aHyKhDr cudzysłów zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 11. zamknij nawias klamrowy.
Linia 12. zamknij nawias klamrowy.