Zanim zapiszesz program w Java - przetestuj algorytm
Polecenie 1
W poniższym schemacie przygotuj algorytm analogiczny do szyfru Cezara, uwzględniający zamianę (kodowanie) cyfr na litery z przesunięciem o 4 znaki.
Napisz program w języku Python analogiczny do szyfru Cezara, uwzględniający zamianę (kodowanie) cyfr na litery z przesunięciem o 4 znaki.
Przygotuj w języku Python algorytm analogiczny do szyfru Cezara, uwzględniający zamianę (kodowanie) cyfr na litery z przesunięciem o 4 znaki.
Przygotuj w języku Python algorytm analogiczny do szyfru Cezara, uwzględniający zamianę (kodowanie) cyfr na litery z przesunięciem o 4 znaki.Wymyśl pytanie na kartkówkę związane z tematem materiału.
Wymyśl pytanie na kartkówkę związane z tematem materiału.Przykładowe rozwiązanie zadania:
1. from numbers import Number
2.
3. tekstJawny = None
4. przesuniecie = None
5. alfabet = None
6. tekstZaszyfrowany = None
7. i = None
8. tekst = None
9. pozycja = None
10.
11. def upRange(start, stop, step):
12. while start <= stop:
13. yield start
14. start += abs(step)
15.
16. def downRange(start, stop, step):
17. while start >= stop:
18. yield start
19. start -= abs(step)
20.
21. """Opisz tę funkcję...
22. """
23. def Szyfruj(tekstJawny, przesuniecie):
24. global alfabet, tekstZaszyfrowany, i, tekst, pozycja
25. tekstZaszyfrowany = ''
26. i_end = float(len(tekstJawny))
27. for i in (1 <= i_end) and upRange(1, i_end, 1) or downRange(1, i_end, 1):
28. tekst = tekstJawny[int(i - 1)]
29. pozycja = alfabet.find(tekst) + 1
30. if pozycja < 1:
31. tekstZaszyfrowany = str(tekstZaszyfrowany) + str(tekst)
32. continue
33. pozycja = pozycja + przesuniecie
34. if pozycja > 26:
35. pozycja = (pozycja if isinstance(pozycja, Number) else 0) + -26
36. tekst = alfabet[int(pozycja - 1)]
37. tekstZaszyfrowany = str(tekstZaszyfrowany) + str(tekst)
38. return tekstZaszyfrowany
39.
40.
41. alfabet = 'abcdefghijklmnopqrstuvwxyz'
42. print(Szyfruj('abcdefghijklmnopqrstuvwxyz', 4))
43. print(Szyfruj('Ala ma kota.', 4))
1. from numbers import Number
2.
3. tekstJawny = None
4. przesuniecie = None
5. alfabet = None
6. tekstZaszyfrowany = None
7. i = None
8. tekst = None
9. pozycja = None
10.
11. def upRange(start, stop, step):
12. while start <= stop:
13. yield start
14. start += abs(step)
15.
16. def downRange(start, stop, step):
17. while start >= stop:
18. yield start
19. start -= abs(step)
20.
21. """Opisz tę funkcję...
22. """
23. def Szyfruj(tekstJawny, przesuniecie):
24. global alfabet, tekstZaszyfrowany, i, tekst, pozycja
25. tekstZaszyfrowany = ''
26. i_end = float(len(tekstJawny))
27. for i in (1 <= i_end) and upRange(1, i_end, 1) or downRange(1, i_end, 1):
28. tekst = tekstJawny[int(i - 1)]
29. pozycja = alfabet.find(tekst) + 1
30. if pozycja < 1:
31. tekstZaszyfrowany = str(tekstZaszyfrowany) + str(tekst)
32. continue
33. pozycja = pozycja + przesuniecie
34. if pozycja > 26:
35. pozycja = (pozycja if isinstance(pozycja, Number) else 0) + -26
36. tekst = alfabet[int(pozycja - 1)]
37. tekstZaszyfrowany = str(tekstZaszyfrowany) + str(tekst)
38. return tekstZaszyfrowany
39.
40.
41. alfabet = 'abcdefghijklmnopqrstuvwxyz'
42. print(Szyfruj('abcdefghijklmnopqrstuvwxyz', 4))
43. print(Szyfruj('Ala ma kota.', 4))Linia 1. from numbers import Number.
Linia 3. tekstJawny znak równości None.
Linia 4. przesuniecie znak równości None.
Linia 5. alfabet znak równości None.
Linia 6. tekstZaszyfrowany znak równości None.
Linia 7. i znak równości None.
Linia 8. tekst znak równości None.
Linia 9. pozycja znak równości None.
Linia 11. def upRange otwórz nawias okrągły start przecinek stop przecinek step zamknij nawias okrągły dwukropek.
Linia 12. while start otwórz nawias ostrokątny znak równości stop dwukropek.
Linia 13. yield start.
Linia 14. start plus znak równości abs otwórz nawias okrągły step zamknij nawias okrągły.
Linia 16. def downRange otwórz nawias okrągły start przecinek stop przecinek step zamknij nawias okrągły dwukropek.
Linia 17. while start zamknij nawias ostrokątny znak równości stop dwukropek.
Linia 18. yield start.
Linia 19. start minus znak równości abs otwórz nawias okrągły step zamknij nawias okrągły.
Linia 20. cudzysłów cudzysłów cudzysłów.
Linia 21. Opisz tę funkcję kropka kropka kropka.
Linia 22. cudzysłów cudzysłów cudzysłów.
Linia 24. def Szyfruj otwórz nawias okrągły tekstJawny przecinek przesuniecie zamknij nawias okrągły dwukropek.
Linia 25. global alfabet przecinek tekstZaszyfrowany przecinek i przecinek tekst przecinek pozycja.
Linia 26. tekstZaszyfrowany znak równości apostrof apostrof.
Linia 27. i podkreślnik end znak równości float otwórz nawias okrągły len otwórz nawias okrągły tekstJawny zamknij nawias okrągły zamknij nawias okrągły.
Linia 28. otwórz nawias ostrokątny code style znak równości cudzysłów white minus space dwukropek pre średnik cudzysłów data minus inline zamknij nawias ostrokątny for i in otwórz nawias okrągły 1 ampersant lt średnik znak równości i podkreślnik end zamknij nawias okrągły and upRange otwórz nawias okrągły 1 przecinek i podkreślnik end przecinek 1 zamknij nawias okrągły or downRange otwórz nawias okrągły 1 przecinek i podkreślnik end przecinek 1 zamknij nawias okrągły dwukropek.
Linia 29. tekst znak równości tekstJawny otwórz nawias kwadratowy int otwórz nawias okrągły i minus 1 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 30. pozycja znak równości alfabet kropka find otwórz nawias okrągły tekst zamknij nawias okrągły plus 1.
Linia 32. if pozycja ampersant lt średnik 1 dwukropek.
Linia 33. tekstZaszyfrowany znak równości str otwórz nawias okrągły tekstZaszyfrowany zamknij nawias okrągły plus str otwórz nawias okrągły tekst zamknij nawias okrągły.
Linia 34. continue.
Linia 36. pozycja znak równości pozycja plus przesuniecie.
Linia 37. if pozycja ampersant gt średnik 26 dwukropek.
Linia 38. pozycja znak równości otwórz nawias okrągły pozycja if isinstance otwórz nawias okrągły pozycja przecinek Number zamknij nawias okrągły else 0 zamknij nawias okrągły plus minus 26.
Linia 39. tekst znak równości alfabet otwórz nawias kwadratowy int otwórz nawias okrągły pozycja minus 1 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 40. tekstZaszyfrowany znak równości str otwórz nawias okrągły tekstZaszyfrowany zamknij nawias okrągły plus str otwórz nawias okrągły tekst zamknij nawias okrągły.
Linia 41. return tekstZaszyfrowany otwórz nawias ostrokątny prawy ukośnik code zamknij nawias ostrokątny.
Linia 43. alfabet znak równości apostrof abcdefghijklmnopqrstuvwxyz apostrof.
Linia 44. print otwórz nawias okrągły Szyfruj otwórz nawias okrągły apostrof abcdefghijklmnopqrstuvwxyz apostrof przecinek 4 zamknij nawias okrągły zamknij nawias okrągły.
Linia 45. print otwórz nawias okrągły Szyfruj otwórz nawias okrągły apostrof Ala ma kota kropka apostrof przecinek 4 zamknij nawias okrągły zamknij nawias okrągły.
from numbers import Number
tekstJawny = None
przesuniecie = None
alfabet = None
tekstZaszyfrowany = None
i = None
tekst = None
pozycja = None
def upRange(start, stop, step):
while start <= stop:
yield start
start += abs(step)
def downRange(start, stop, step):
while start >= stop:
yield start
start -= abs(step)
"""
Opisz tę funkcję...
"""
def Szyfruj(tekstJawny, przesuniecie):
global alfabet, tekstZaszyfrowany, i, tekst, pozycja
tekstZaszyfrowany = ''
i_end = float(len(tekstJawny))
for i in (1 <= i_end) and upRange(1, i_end, 1) or downRange(1, i_end, 1):
tekst = tekstJawny[int(i - 1)]
pozycja = alfabet.find(tekst) + 1
if pozycja < 1:
tekstZaszyfrowany = str(tekstZaszyfrowany) + str(tekst)
continue
pozycja = pozycja + przesuniecie
if pozycja > 26:
pozycja = (pozycja if isinstance(pozycja, Number) else 0) + -26
tekst = alfabet[int(pozycja - 1)]
tekstZaszyfrowany = str(tekstZaszyfrowany) + str(tekst)
return tekstZaszyfrowany
alfabet = 'abcdefghijklmnopqrstuvwxyz'
print(Szyfruj('abcdefghijklmnopqrstuvwxyz', 4))
print(Szyfruj('Ala ma kota.', 4))