Zaloguj się aby ocenić lub skomentować publikację.
Szyfrowanie słów
Scenariusz lekcji informatyki
Leon Plebanek
Klasa: 3 LO
Profil: informatyczny
Temat: Szyfrowanie słów
Czas trwania: 2 godziny lekcyjne
Cele: rozumienie
znaczenia pojęć kod ASCII znaku, tablica kodów ASCII
•
• działania operatora %
• ułożenia algorytmu do szyfrowania słów
•
realizacji powyższego algorytmu w języku C++
Metody i formy: pogadanka, pokaz, ćwiczenia grupowe, praca samodzielna
Pomoce dydaktyczne: kartki z tekstem zadania, tablica kodów ASCII, komputery z kompilatorem
języka c++ (środowisko CodeBlocks)
Przebieg lekcji:
• Czynności wstępne
• Podział klasy na grupy 2-3 osobowe
• Rozdanie kart z tekstem zadania i tabelą kodów ASCII
Zadanie - Szyfrowanie tekstu
Dany jest ciąg znaków, których dziesiętne kody ASCII są w przedziale od 32 do 127 (zob. tabela 1).
Szyfrowanie z kluczem n polega na zastąpieniu każdego znaku z ciągu znakiem leżącym o n pozycji
dalej (w tabeli znaków ASCII) od zastępowanego znaku. Przy szyfrowaniu znaku należy postępować
w sposób cykliczny, tzn. po znaku o kodzie 127 przechodzimy do znaku o kodzie 32.
a. Podaj znaki i ich kody dziesiętne ASCII po zaszyfrowaniu znaku a (o kodzie 97) dla n = 23,
n = 84, n = 1005; podaj sposób otrzymania wyniku.
b. Opracuj na komputerze metodę szyfrowania z kluczem n dowolnego słowa złożonego z m
znaków (z tabeli 1).
• Przedstawienie schematu "maszyny szyfrującej"
• Obliczenie kodu zaszyfrowanego znaku n = 23 (kod 120 znak x, przedstawienie na
schemacie)
Strona 1 z 10
• Dyskusja sposobu wyznaczenia kodu zaszyfrowanego znaku dla n = 84 (kod 85 znak U,
przedstawienie na schemacie)
• Wyprowadzenie wzoru na nowy kod znaku
Gdyby kody znaków były z zakresu od 0 do 95 wystarczyłoby zastosować wzór
(1) nowy_kod =(stary_kod + n) mod 96 gdzie mod oznacza resztę z dzielenia przez 96.
W naszym przypadku stary_kod jest z zakresu od 32 do 127.
Wykonując odejmowanie stary_kod - 32 otrzymujemy zakres od 0 do 95.
Możemy zatem zastosować (1) otrzymując nowy_kod = (stary_kod - 32 +n) mod 96.
Pamiętając, że nowy_kod też musi być z zakresu od 32 do 127 dodajemy jeszcze 32 otrzymując
ostatecznie
(2) nowy_kod = (stary_kod - 32 + n) mod 96 + 32.
Stosując wzór (2) otrzymujemy kod zaszyfrowanego znaku dla n = 1005.
(kod 46 znak . kropka)
1. Ćwiczenie 1. Szyfrowanie z kluczem podanych słów
(praca w grupach, bez komputerów zob. materiały do ćwiczeń)
2. Programujemy " maszynę szyfrującą"
3. Ustalamy algorytm szyfrowania z kluczem n dowolnego słowa złożonego z m znaków
Powtórz m razy kroki III i IV.
I. Wczytaj klucz n i ilości znaków m.
II.
III. Wczytaj kolejny znak.
IV. Oblicz nowy kod według wzoru (2) i ...