Tak więc zapraszam wszystkich do wspólnej zabawy
Jedna osoba zarzuca zlecenie na program a nastepna je realizuje i zarzuca następne
(Ale żeby to był krótkie programy, takie jak na lekcji PS)
Umówmy się, że programista dobiera sobie język programowania, najlepiej żeby to był TP, C++ albo PHP. Basic też może być, najwyżej będe się musiał doedukować
To zaczynamy:
Napisz program, który pobierze ze standardowego wejścia ciąg znaków, zwanych dalej tekstem jawnym oraz wypisze na standardowe wyjście jego zaszyfrowany odpowiednik. Algorytm szyfrujący opiera się na różnicy symetrycznej. Każdy znak ciągu musi być poddany działaniu XOR z innym znakiem w KLUCZU. KLUCZ jest to stały ciąg znaków określony przez programiste. Jeżeli jest on krótszy od ciągu, to należy go powtórzyć. Ponieważ podczas tego działania można otrzymać znaki nie nadające się do wypisania na ekranie, należy użyć dwucyfrowych wartości szesnastkowych.
Przykładowo:
KLUCZ: ABC
ciąg: zskrlz
z XOR A = 3B
s XOR B = 31
k XOR C = 28
r XOR A = 33
l XOR B = 2E
z XOR C = 39
Działanie XOR przedstawia się następująco
p XOR q = PRAWDA <=> (p AND (NOT q)) OR ((NOT p) AND q)
przy czym działamy na każdym bicie z osobna
czyli
ASCII('A')= 01000001
ASCII('B')= 01000010
to wtedy 'A' XOR 'B' = 01000001 XOR 01000010 = 00000011
ponieważ
01000001
01000010
-----------
00000011
(w bajcie wynikowym bit ustawiony jest na pozycjach, na których występuje różnica w operandach.
Oczywiście większość języków programowania zna operator XOR lub ^ i nie trzeba tego liczyć na piechote



