Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Rot-13 - rot13.pl

rot13.pl

Caricato da:
Scarica il programma completo

  1. % PROCEDURA PER CIFRARE E DECIFRARE UNA STRINGA MEDIANTE SCHEMA ROT-13
  2.  
  3.  
  4. % rot13(L, A)
  5. % "A è la stringa (atomo) cifrata / decifrata
  6. % mediante schema Rot-13 a partire dalla lista L"
  7.  
  8. rot13(L, A) :- nonvar(L), rot13_list(L, L1), name(A, L1).
  9.  
  10.  
  11. % rot13_list(L, L1)
  12. % "L1 è la lista cifrata / decifrata mediante
  13. % schema Rot-13 a partire dalla lista L"
  14.  
  15. rot13_list([], []).
  16. rot13_list([HEAD|TAIL], [HEAD1|TAIL1]) :-
  17.         shift(HEAD, HEAD1), rot13_list(TAIL, TAIL1).
  18.  
  19.  
  20. % shift(T, T1)
  21. % "la lettera T1 è ottenuta traslando la lettera T di
  22. % 13 posizioni all'interno dell'alfabeto (di 26 lettere)
  23.  
  24. shift(T, T1) :- T >= 97, T =< 109, T1 is T+13.
  25. shift(T, T1) :- T >= 109, T =< 122, T1 is T-13.