Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

Szyfrowanie trzech bitów


Zad. 2. W pliku szyfr.txt znajduje się zdanie, które jest zaszyfrowane według następującego schematu:

każdy znak, przedstawiony w formie binarnej szyfrujemy według szablonu:

trzy bity leżące po prawej stronie  są szyfrowane symetrycznie odpowiednio z trzema następnymi bitami, a następnie odwracane kolejnością. Dla przykładu zaszyfrujmy literkę "d ".

kod ASCII znaku "d" to 100

100 = (01100100)2

Trzy bity na prawo (100), szyfrujemy z trzema następnymi bitami (100) (odpowiednio bit po bicie), według schematu:

  • gdy są takie same bity nadajemy wartość 0, w przeciwnym wypadku wartość 1
  • następnie te trzy bity zapisujemy w odwrotnej kolejności

Po zastosowaniu pierwszego podpunktu otrzymamy 01100000, zapis w odwrotnej kolejności nie ma znaczenia (trzy zera), czyli drugi podpunkt nie zmieni wartości tej liczby. Zaszyfrowany znak to " ' ".

a) zdeszyfruj tekst zawarty w pliku szyfr.txt

b) zaszyfruj następujący tekst:

Każdy program jest tylko na tyle dobry na ile jest przydatny!

Aby wyłuskać kod ASCII danego znaku należy użyć rzutowania typów.