Strefa wyzwań
Czym jest i jak działa szyfr Cezara.
Jak zaszyfrujesz przykładową wiadomość.
Zaimplementujesz algorytm Cezara.
Teraz czas, aby sprawdzić wiedzę i umiejętności w praktyce.
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 znakuliteraw systemie Unicode
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 CezaraodszyfrowanyWyraz– ciąg znaków; słowo odszyfrowane szyfrem Cezara
Wynik:
klucz– liczba naturalna; wartość klucza użyta do zaszyfrowania słowaodszyfrowanyWyraz
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.
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ówzdanieDoZaszyfrowaniaprzesuwa o kwadrat jej pozycji w alfabecie łacińskim