Napisz program, który poda kod zmiennej litera w systemie Unicode. Przetestuj działanie programu dla zmiennej litera o wartości G.
Specyfikacja problemu:
Dane:
litera – znak, którego kod w systemie Unicode chcemy uzyskać
Wynik:
szyfrogram – liczba całkowita, kod znaku litera w systemie Unicode
RVqAq1NCMXJ3a1
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. 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 3. char litera znak równości apostrof G apostrof średnik.
Linia 5. System kropka out kropka println otwórz nawias okrągły litera asterysk 1 zamknij nawias okrągły średnik.
Linia 6. zamknij nawias klamrowy.
Linia 7. zamknij nawias klamrowy.
31
Ćwiczenie 2
Napisz program, który poda, jakim kluczem zostało zaszyfrowane słowo za pomocą szyfru Cezara.
Działanie programu przetestuj dla odszyfrowanego słowa INforMATYkA oraz zaszyfrowanego QVnwzUIBGsI.
Specyfikacja problemu:
Dane:
zaszyfrowanyWyraz – ciąg znaków; słowo zaszyfrowane szyfrem Cezara
odszyfrowanyWyraz – ciąg znaków; słowo odszyfrowane szyfrem Cezara
Wynik:
klucz – liczba naturalna; wartość klucza użyta do zaszyfrowania słowa odszyfrowanyWyraz
RtW596Ivtl0nB1
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static void main otwórz nawias okrągły String args otwórz nawias kwadratowy zamknij nawias kwadratowy zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. String zaszyfrowanyWyraz znak równości cudzysłów QVnwzUIBGsI cudzysłów średnik.
Linia 4. String odszyfrowanyWyraz znak równości cudzysłów INforMATYkA cudzysłów średnik.
Linia 6. System kropka out kropka println otwórz nawias okrągły Math kropka abs otwórz nawias okrągły odszyfrowanyWyraz kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły minus zaszyfrowanyWyraz kropka charAt otwórz nawias okrągły 0 zamknij nawias okrągły zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 7. zamknij nawias klamrowy.
Linia 8. zamknij nawias klamrowy.
21
Ćwiczenie 3
Napisz program, który zaszyfruje ciąg zdanieDoZaszyfrowania, używając szyfru, który przesuwa każdą literę o kwadrat jej pozycji w alfabecie łacińskim. Zachowaj wielkość liter. Ciąg składa się jedynie ze znaków alfabetu łacińskiego. Spacje nie są przesuwane.
Działanie programu przetestuj dla ciągu znaków IgnORANtIA IUriS noCET.
Przykład 1
Jeżeli litera jest na k-miejscu w alfabecie, to zaszyfrowana litera będzie stała na miejscu w alfabecie przesuniętym o (k⋅k) mod 26 (ponieważ właśnie tyle liter zawiera alfabet łaciński). Np. dla litery A (małej i wielkiej) przesunięcie wyniesie 1, zatem uzyskamy B, dla K przesunięcie wyniesie 17 – uzyskamy również literę B! Uwaga: jeżeli przesunięcie wyniesie 0, kodowana litera się nie zmienia.
Specyfikacja problemu:
Dane:
zdanieDoZaszyfrowania – ciąg znaków; tekst jawny
Wynik:
zaszyfrowaneZdanie – ciąg znaków zaszyfrowany szyfrem, który każdą literę w ciągu znaków zdanieDoZaszyfrowania przesuwa o kwadrat jej pozycji w alfabecie łacińskim
R7nHDzitnVxSH1
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. 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 3. String zdanieDoZaszyfrowania znak równości cudzysłów IgnORANtIA IUriS noCET cudzysłów średnik.
Linia 4. String zaszyfrowaneZdanie znak równości cudzysłów cudzysłów średnik.
Linia 6. String duzeLitery znak równości cudzysłów ABCDEFGHIJKLMNOPQRSTUVWXYZ cudzysłów średnik.
Linia 7. String maleLitery znak równości cudzysłów abcdefghijklmnopqrstuvwxyz 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 zdanieDoZaszyfrowania 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 11. char znak znak równości zdanieDoZaszyfrowania kropka charAt otwórz nawias okrągły i zamknij nawias okrągły średnik.
Linia 12. char przesunietyZnak średnik.
Linia 14. if otwórz nawias okrągły znak wykrzyknik znak równości apostrof apostrof zamknij nawias okrągły otwórz nawias klamrowy.
Linia 15. if otwórz nawias okrągły Character kropka isLowerCase otwórz nawias okrągły znak zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 16. int pozycja znak równości maleLitery kropka indexOf otwórz nawias okrągły znak zamknij nawias okrągły plus 1 średnik.
Linia 17. int przesuniecie znak równości pozycja asterysk pozycja procent 26 średnik.
Linia 18. przesunietyZnak znak równości maleLitery kropka charAt otwórz nawias okrągły otwórz nawias okrągły pozycja plus przesuniecie minus 1 zamknij nawias okrągły procent 26 zamknij nawias okrągły średnik.
Linia 19. zamknij nawias klamrowy else otwórz nawias klamrowy.
Linia 20. int pozycja znak równości duzeLitery kropka indexOf otwórz nawias okrągły znak zamknij nawias okrągły plus 1 średnik.
Linia 21. int przesuniecie znak równości pozycja asterysk pozycja procent 26 średnik.
Linia 22. przesunietyZnak znak równości duzeLitery kropka charAt otwórz nawias okrągły otwórz nawias okrągły pozycja plus przesuniecie minus 1 zamknij nawias okrągły procent 26 zamknij nawias okrągły średnik.
Linia 23. zamknij nawias klamrowy.
Linia 24. zaszyfrowaneZdanie plus znak równości przesunietyZnak średnik.
Linia 25. zamknij nawias klamrowy else otwórz nawias klamrowy.
Linia 26. zaszyfrowaneZdanie plus znak równości apostrof apostrof średnik.
Linia 27. zamknij nawias klamrowy.
Linia 28. zamknij nawias klamrowy.
Linia 29. System kropka out kropka println otwórz nawias okrągły zaszyfrowaneZdanie zamknij nawias okrągły średnik.
Linia 30. zamknij nawias klamrowy.
Linia 31. zamknij nawias klamrowy.