Komputerowa realizacja w języku Java

Zanim spróbujemy napisać własną implementację algorytmuimplementacja algorytmuimplementację algorytmu szyfru Cezara, przypomnijmy kilka ważnych kwestii związanych z językiem Java.

  • Aby odwołać się od i‑tego znaku w łańcuchu znaków (String), należy użyć notacji tekst.charAt(i), gdzie tekst oznacza nazwę łańcucha znaków.

  • Do sprawdzenia długości łańcucha znaków służy funkcja length(). Jest ona wywoływana w następujący sposób: tekst.length(), gdzie tekst to nazwa łańcucha znaków.

  • W języku Java wykorzystywany jest standard kodowania Unicode. W przypadku dokonywania operacji arytmetycznej na znaku wchodzącym w skład łańcucha należy zwrócić uwagę na otrzymaną wartość. Znak zostanie zastąpiony odpowiadającym mu kodem. Przykładowo, wykonując działanie 'A'*1, otrzymamy wartość 65, oznaczającą, że kod litery A wynosi właśnie 65.

  • Aby zamienić cały łańcuch znaków na taki, który składa się wyłącznie z wielkich liter, użyjemy funkcji tekst.toUpperCase(). Zamianę w przeciwnym kierunku, czyli na małe litery, możemy wykonać funkcją tekst.toLowerCase(), gdzie tekst to nazwa łańcucha znaków.

Polecenie 1

Napisz w języku Java program szyfrujący przy użyciu szyfru Cezara łańcuch znaków wyraz składający się z wielkich liter alfabetu łacińskiego. Przetestuj działanie programu dla wiadomości ENIGMA dla klucza równego 3. Pamiętaj, że w szyfrze Cezara nie rozróżnia się małych i wielkich liter. Spacje zapisujemy bez zmian.

Specyfikacja problemu:

Dane:

  • wyraz – łańcuch znaków; tekst jawny

  • klucz – liczba naturalna; klucz szyfrowania

Wynik:

szyfrogram – łańcuch znaków; zaszyfrowany tekst jawny

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

Porównaj swoje rozwiązanie z zaproponowanym w prezentacji.

R1Igvfg956RHF1
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Słownik

implementacja algorytmu
implementacja algorytmu

komputerowa realizacja algorytmu przy użyciu języka programowania; często mianem implementowania określa się sam proces tworzenia programu

klucz szyfrujący
klucz szyfrujący

wartość używana do zamiany tekstu jawnego na zaszyfrowany; w przypadku szyfru Cezara jest to liczba określająca, o ile miejsc w alfabecie oddalone są litery tekstu jawnego od odpowiadających im znaków tekstu zaszyfrowanego

szyfr Cezara
szyfr Cezara

szyfr podstawieniowy, w którym każdy znak tekstu jawnego jest zastępowany przez inny znak, oddalony od niego o stałą liczbę pozycji (tzw. klucz)