RiA - Research in Action, un'idea per l'alternanza scuola lavoro
(Liceo scientifico G.B. Grassi di Latina)
Blockly, A JavaScript library for building visual programming editors.
...
...
JavaScript
Python
PHP
Lua
Dart
XML
1011011231194503.16410501100110011abc{textVariable}abc{textVariable}{textVariable}abcabcabcabc5{listVariable}{listVariable}{listVariable}{listVariable},100500#ff0000#3333ff0.5CreaAlfabetoCifratoCesareCrea un alfabeto cifrato secondo il metodo di Cesare (a ogni lettera dell'alfabeto in chiaro è sostituito un simbolo che è la lettera che si trova "chiave" posizioni più in là).
Parametri:
chiave, un numero intero che definisce lo spostamento del simbolo cifrato
Valore restituito:
una lista in cui ogni elemento è una lettera dell'alfabeto cifrato
alfabetoinchiaroalfabetocifratoi110alfabetoinchiaro1LTEADD1i1chiavealfabetoinchiaroxADD1i1chiaveINSERTLASTalfabetocifratoGETFROM_STARTalfabetoinchiaroxx64ADD1i1chiave10alfabetoinchiaroINSERTLASTalfabetocifratoGETFROM_STARTalfabetoinchiaroxalfabetocifratoCodiceCesareCifraCifra un testo con il metodo di Cesare.
Usa CreaAlfabetoCifratoCesare, PreparaTestoPerCifratura
Parametri:
testoinchiaro, il testo da cifrare
chiave, un numero intero che è la chiave per il metodo di Cesare
Valore restituito:
il testo cifrato (in maiuscolo)
alfabetoinchiaroalfabetocifratochiavetestoinchiarotestoinchiarotestocifratoi110abctestoinchiaro1cFROM_STARTtestoinchiaroixFIRSTalfabetoinchiaroctestocifratotestocifratoGETFROM_STARTalfabetocifratoxUPPERCASEabctestocifratoCodiceCesareDecifraDecifra un testo cifrato con il metodo di Cesare.
Usa CreaAlfabetoInChiaro, CreaAlfabetoCifratoCesare
Parametri:
testocifrato, il testo da decifrare
chiave, un numero intero che è la chiave per il metodo di Cesare
Valore restituito:
il testo in chiaro, decifrato (in minuscolo)
alfabetoinchiaroalfabetocifratochiavetestoinchiaroi110abctestocifrato1cLOWERCASEabcFROM_STARTtestocifratoixFIRSTalfabetocifratoctestoinchiarotestoinchiaroGETFROM_STARTalfabetoinchiaroxtestoinchiaroCreaAlfabetoCifratoSostituzioneCrea un alfabeto cifrato con il metodo di sostituzione
Parametri:
chiave, una stringa che contiene la chiave
Valore restituito:
una lista che contiene l'alfabeto cifrato, un simbolo per ogni elemento della lista
alfabetoinchiaroalfabetocifratoi110alfabetoinchiaro1INSERTLASTalfabetocifratoUPPERCASEabcFROM_STARTchiaveialfabetocifratoCreaAlfabetoCifratoFraseChiaveCrea un alfabeto cifrato secondo il metodo della frase chiave (sono inserite le lettere della frase chiave, senza ripetizioni, e poi le restanti lettere dell'alfabeto)
Usa: PreparaTestoPerCifratura
Parametri:
chiave, una stringa da usare come chiave
Valore restituito:
una lista in cui ogni elemento è una lettera dell'alfabeto cifrato
alfabetoinchiaroalfabetocifratochiavechiaveiAggiunge le lettere della frase chiave controllando che non ci siano ripetizioni110abcchiave1cUPPERCASEabcFROM_STARTchiaveiEQFIRSTalfabetocifratoc0INSERTLASTalfabetocifratoccGETLASTalfabetocifratoxFIRSTalfabetoinchiaroLOWERCASEabcciAggiunge all'alfabeto cifrato le lettere ancora mancanti a partire dall'ultima lettera inserita1x10alfabetoinchiaro1cUPPERCASEabcGETFROM_STARTalfabetoinchiaroiEQFIRSTalfabetocifratoc0INSERTLASTalfabetocifratociAggiunge all'alfabeto cifrato le lettere ancora mancanti a partire dalla prima lettera dell'alfabeto110alfabetoinchiaro1cUPPERCASEabcGETFROM_STARTalfabetoinchiaroiEQFIRSTalfabetocifratoc0INSERTLASTalfabetocifratocalfabetocifratoSostituzioneCifraCifra un testo con il metodo di sostituzione.
Usa CreaAlfabetoCifratoSostituzione, PreparaTestoPerCifratura
Parametri:
testoinchiaro, il testo da cifrare
chiave, una stringa di caratteri che contiene la chiave per il metodo di sostituzione
Valore restituito:
il testo cifrato (in maiuscolo)
alfabetoinchiaroalfabetocifratochiavetestoinchiarotestoinchiarotestocifratoi110abctestoinchiaro1cFROM_STARTtestoinchiaroixFIRSTalfabetoinchiaroctestocifratotestocifratoGETFROM_STARTalfabetocifratoxUPPERCASEabctestocifratoSostituzioneDecifraDecifra un testo cifrato con il metodo di sostituzione.
Usa CreaAlfabetoInChiaro, CreaAlfabetoCifratoSostituzione
Parametri:
testocifrato, il testo da decifrare
chiave, una stringa che è la chiave per il metodo di sostituzione
Valore restituito:
il testo in chiaro, decifrato (in minuscolo)
alfabetoinchiaroalfabetocifratochiavetestoinchiaroi110abctestocifrato1cFROM_STARTtestocifratoixFIRSTalfabetocifratoctestoinchiarotestoinchiaroGETFROM_STARTalfabetoinchiaroxtestoinchiaroFraseChiaveCifraCifra un testo con il metodo della frase chiave.
Usa CreaAlfabetoInChiaro, CreaAlfabetoCifratoFraseChiave, PreparaTestoPerCifratura
Parametri:
testoinchiaro, il testo da cifrare
chiave, una stringa da usare come chiave per il metodo della frase chiave
Valore restituito:
il testo cifrato (in maiuscolo)
alfabetoinchiaroalfabetocifratochiavetestoinchiarotestoinchiarotestocifratoi110abctestoinchiaro1cFROM_STARTtestoinchiaroixFIRSTalfabetoinchiaroctestocifratotestocifratoGETFROM_STARTalfabetocifratoxUPPERCASEabctestocifratoFraseChiaveDecifraDecifra un testo cifrato con il metodo della frase chiave.
Usa CreaAlfabetoInChiaro, CreaAlfabetoCifratoFraseChiave
Parametri:
testocifrato, il testo da decifrare
chiave, una stringa da usare come chiave per il metodo della frase chiave
Valore restituito:
il testo in chiaro, decifrato (in minuscolo)
alfabetoinchiaroalfabetocifratochiavetestoinchiaroi110abctestocifrato1cFROM_STARTtestocifratoixFIRSTalfabetocifratoctestoinchiarotestoinchiaroGETFROM_STARTalfabetoinchiaroxtestoinchiaroCreaTabellaVigenereCrea una tabella di Vigenère (una lista in cui ogni elemento è un alfabeto cifrato con il metodo di Cesare)
Usa: CreaAlfabetoCifratoCesare
Parametri:
...
Valore restituito:
una lista in cui ogni elemento è una lista, ognuna di queste liste è un alfabeto cifrato
tabella_vigenerej1261ajINSERTLASTtabella_vigenereatabella_vigenereVigenereCifraCifra un testo usando il metodo di Vigenère.
Non usa la tabella di Vigenère ma calcola la posizione nell'alfabeto cifrato del simbolo da sostituire come somma di riga e colonna nella tabella, modulo la lunghezza dell'alfabeto.
Usa: CreaAlfabetoInChiaro, PreparaTestoPerCifratura
Parametri:
testoinchiaro, il testo da cifrare
chiave, la frase chiave da usare nella cifratura
Valore restituito:
il testo cifrato
testoinchiarotestoinchiarochiavechiavetestocifratoalfabetoinchiaroi110abctestoinchiaro1Determina la posizione della lettera corrispondente nella frase chiaveEQ64i10abcchiave0nchiaven64i10chiavec_chiaveFROM_STARTchiavenDetermina la riga da usare nella tabella di VigenèreEQc_chiaveay26yMINUS1FIRSTalfabetoinchiaroc_chiave1c_inchiaroFROM_STARTtestoinchiaroizFIRSTalfabetoinchiaroc_inchiaroDetermina la posizione del simbolo cifrato come somma di riga e colonna modulo lunghezza dell'alfabetoEQ64ADD1y1z10abcalfabetoinchiaro0nabcalfabetoinchiaron64ADD1y1z10abcalfabetoinchiarotestocifratoGETFROM_STARTalfabetoinchiaronUPPERCASEabctestocifratoVigenereDecifraDeifra un testo usando il metodo di Vigenère.
Non usa la tabella di Vigenère ma calcola la posizione nell'alfabeto cifrato del simbolo da sostituire come differenza tra la posizione nell'alfabeto del simbolo da decifrare e colonna nella tabella, modulo la lunghezza dell'alfabeto.
Usa: CreaAlfabetoInChiaro, PreparaTestoPerCifratura
Parametri:
testocifrato, il testo da decifrare
chiave, la frase chiave da usare nella cifratura
Valore restituito:
il testo in chiaro
chiavechiavetestoinchiaroalfabetoinchiaroi110abctestocifrato1EQ64i10abcchiave0nchiaven64i10chiavec_chiaveFROM_STARTchiavenEQc_chiaveay26yMINUS1FIRSTalfabetoinchiaroc_chiave1c_cifratoLOWERCASEabcFROM_STARTtestocifratoizFIRSTalfabetoinchiaroc_cifratotMINUS1z1yQuesta istruzione serve solamente perché il blocco "remainder" di Blockly non funziona correttamente su operandi negativi!
P.es.: in Python è sufficiente il blocco "if" successivo (e questo si può eliminare)
LTt0tADD1abcalfabetoinchiaro1tEQ64t10abcalfabetoinchiaro0nabcalfabetoinchiaron64t10abcalfabetoinchiarotestoinchiaroGETFROM_STARTalfabetoinchiaronLOWERCASEabctestoinchiaroRSACifraCifra un testo usando l'algoritmo RSA.
L'algoritmo è semplificato perchè trasforma ogni carattere in un numero intero positivo pari alla sua posizione nell'alfabeto e poi applica l'algoritmo su questo numero.
Usa: CreaAlfabetoInChiaro, PreparaTestoPerCifratura
Parametri:
testoinchiaro, il testo da cifrare
p, q, due numeri primi
e, numero intero primo con (p-1)*(q-1)
Valore restituito:
una lista di numeri interi positivi ciascuno dei quali è la cifratura di ogni carattere del testo in chiaro
alfabetoinchiarotestoinchiarotestoinchiaronMULTIPLY1p1qtestocifratoi110abctestoinchiaro1c_inchiaroUPPERCASEabcFROM_STARTtestoinchiaroimFIRSTalfabetoinchiaroLOWERCASEabcc_inchiaroc64POWER1m1e10nINSERTLASTtestocifratoctestocifratoRSADecifraDecifra un messaggio cifrato usando l'algoritmo RSA.
L'algoritmo è semplificato perché trasforma ogni carattere in un numero intero positivo pari alla sua posizione nell'alfabeto e poi applica l'algoritmo su questo numero.
Usa: CreaAlfabetoInChiaro
Parametri:
testocifrato, una lista di numeri interi ognuno dei quali corrisponde alla cifratura di un carattere del messaggio in chiaro
p, q, due numeri primi
e, numero intero primo con (p-1)*(q-1)
Valore restituito:
una lista di numeri interi positivi ciascuno dei quali è la cifratura di ogni carattere del testo in chiaro
in caso il calcolo superi le capacità di Blockly restituisce NaN
alfabetoinchiaronMULTIPLY1p1qphiMULTIPLY1MINUS1p11MINUS1q1d2WHILENEQ64MINUS1MULTIPLY1e1d110phi0d1testoinchiaroctestocifratoabccdnm64POWER1c1d10ntestoinchiaroGETFROM_STARTalfabetoinchiaromtestoinchiaroTrasformaAccentateTrasforma una lettera accentata nella corrispondente non accentata.
Parametri:
c, la lettera da trasformare
Valore restituito:
la lettera corrispondente a quella accentata, se possibile
una stringa nulla in caso contrario
ANDGTEcÀLTEcÅAANDGTEcàLTEcåaANDGTEcÈLTEcËEANDGTEcèLTEcëeANDGTEcÌLTEcÏIANDGTEcìLTEcïiANDGTEcÒLTEcÖOANDGTEcòLTEcöoANDGTEcÙLTEcÜUANDGTEcùLTEcüuCreaChiaveCasualeDescribe this function...alfabetoinchiaroi110abcalfabetoinchiaro1x1100abcalfabetoinchiaroNEQixcGETFROM_STARTalfabetoinchiaroxSETFROM_STARTalfabetoinchiaroxGETFROM_STARTalfabetoinchiaroiSETFROM_STARTalfabetoinchiaroici110abcalfabetoinchiaro1SETFROM_STARTalfabetoinchiaroiUPPERCASEabcGETFROM_STARTalfabetoinchiaroialfabetoinchiaroPreparaTestoPerCifraturaPrepara un testo per la cifratura. Dal testo originale vengono eliminati tutti i caratteri non alfabetici e le lettere accentate sono trasformate nelle corrispondenti non accentate.
Parametri:
t, il testo da preparare
Valore restituito:
il testo privato di caratteri non alfabetici
testoinchiaroi110abct1cFROM_STARTtiANDGTEcaLTEcztestoinchiarotestoinchiarocANDGTEcALTEcZtestoinchiarotestoinchiaroctestoinchiarotestoinchiarocLOWERCASEabctestoinchiaroCreaAlfabetoInChiaroCrea una lista che ha come elementi le lettere dell'alfabeto anglosassone.
Parametri:
...
Valore restituito:
una lista in cui ogni elemento è una lettera dell'alfabeto
alfabetoinchiaroSPLITa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,alfabetoinchiaroContaOccorrenzeAlfabetoConta le occorrenze di ciascun carattere specificato in un testo
Usa: ContaOccorrenzeCarattere
Parametri:
a, una lista di caratteri da ricercare
t, una stringa contenente il testo in cui ricercare i caratteri
Valore restituito:
una lista di interi ognuno dei quali indica il numero di occorrenze del corrispondente carattere
occorrenze05ak110a1cGETFROM_STARTakSETFROM_STARToccorrenzekctoccorrenzeContaOccorrenzeCarattereConta le occorrenze di un carattere in un testo
Parametri:
c, il carattere da ricercare
t, il testo all'interno di cui cercare
Valore restituito:
un numero intero: il numero di occorrenze di c nel testo t
x0i110abct1EQUPPERCASEabccUPPERCASEabcFROM_STARTtix1x