Red de conocimiento informático - Problemas con los teléfonos móviles - Programa de cifrado y descifrado de textos de tareas de secundaria de VB ¡Ayuda!

Programa de cifrado y descifrado de textos de tareas de secundaria de VB ¡Ayuda!

Principio:

Construya una tabla de caracteres cifrados en el orden alfabético correspondiente en mayúsculas y minúsculas,

(Parece caracteres árabes, no tengo ninguna investigación al respecto , No lo entiendo del todo. Si está interesado, puede imprimir la tabla de caracteres cifrados aryencode (0-52) y echar un vistazo).

Determine si la letra ingresada es una letra y busque. su ubicación en el alfabeto (número de serie),

De acuerdo con el número de serie correspondiente, los caracteres de la tabla de caracteres cifrados se extraen y se muestran.

Entonces, el el proceso de descifrado es el mismo.

Cópielo. El segmento del programa que determina los caracteres determina los caracteres cifrados y obtiene la posición (número de serie).

Las letras del número de serie se generan y muestran. , es decir, está completo.

El segmento de descifrado es el siguiente, los demás Sin cambios.

(De hecho, es el mismo que el programa de cifrado, excepto que el nombre de la matriz se cambia Al mostrar, el nombre de la matriz cifrada se cambia al nombre de la matriz descifrada. Simplemente cambie el control de salida a text3, jaja)

Private Sub Command2_Click()

Dim i As. Entero

Dim strchar como cadena

Dim intlow como entero, inthigh como entero, intmid como entero

Text3.Text = ""

Para i = 1 Para Len(Text2.Text)

intlow = 0

inthigh = charnum

strchar = Mid(Text1.Text, i, 1 )

' Saca carácter por carácter, desde 1 hasta el final

Hacer hasta intlow gt

intmid = (intlow inthigh) / 2

'Inicial intmid=26

Si arycode (intmid) = strchar Entonces

Salir Do

De lo contrario

Si arycode(intmid) lt; strchar Entonces

intlow = intmid 1

Else

inthigh = intmid - 1

Fin si

Finalizar si

Bucle

Si intlow lt; = inthigh Then

Text3.Text = Text3.Text arycode(intmid) ' Es una letra, descifre la salida

'Esto es, necesita ser cambiado Eso es todo, simplemente cambie el código aryencode(intmid) original a la matriz alfabética original

'arycode (intmid) es suficiente, no es difícil, jaja

Else

Text3.Text = Text3.Text strchar 'Sin letras, no cifrado, salida directa

Fin I

f

Siguiente

End Sub

Todos los programas con comentarios:

Const charnum = 52

Dim arycode (charnum) como cadena

Dim aryencode(charnum) como cadena

Subcomando privado1_Click() 'Segmento cifrado

Dim i como entero

Dim strchar como cadena

Dim intlow como entero, inthigh como entero, intmid como entero

Text2.Text = ""

Para i = 1 a Len(Text1.Text)

intlow = 0

inthigh = charnum

strchar = Mid(Text1.Text, i, 1)

'Saque la cadena carácter por carácter, desde el principio hasta el final, y juzgue uno por uno

Hacer hasta intlow gt;

intmid = (intlow inthigh) / 2

'Inicial intmid=26

Si arycode(intmid) = strchar Entonces

Salir Do

De lo contrario

Si arycode(intmid) lt; strchar Entonces

intlow = intmid 1

Else

inthigh = intmid - 1

Fin If

End If

Loop

'Encuentra la posición de la letra en el alfabeto.

If intlow lt = inthigh Then;

Text2.Text = Text2.Text amp; aryencode(intmid) ' es una letra, según la posición de la letra correspondiente, busque la salida del carácter cifrado correspondiente

De lo contrario

Text2.Text = Text2.Text amp; strchar 'Sin letra, no cifrado, salida directa

Finalizar si

Imprimir

Siguiente

End Sub

Private Sub Form_Load() 'Cuando se inicializa el programa, se construyen dos matrices de caracteres para su uso posterior.

Dim i As Integer

arycode( 0) = Chr(32)

'arycode(0) es un espacio

Para i = 1 a 26

arycode(i ) = Chr(64 i )

'arycode(1-26) es el alfabeto en mayúsculas A-Z

<

p>Siguiente

Para i = 27 Para charnum

arycode(i) = Chr(97 (i - 27))

'arycode(27-52 ) es el alfabeto minúscula a-z

Siguiente

Para i = 0 Para charnum

aryencode(i) = Chr(-22879 i) 'corresponde a arycode( 0 -52) tabla de caracteres cifrados

Siguiente

End Sub

Private Sub Command2_Click() 'Descifrar segmento

Dim i Como entero

Dim strchar Como cadena

Dim intlow Como entero, inthigh Como entero, intmid Como entero

Text3.Text = ""

For i = 1 To Len(Text2.Text)

intlow = 0

inthigh = charnum

strchar = Mid(Text1.Text, i, 1)

'Sal carácter por carácter, desde 1 hasta el final

Hacer hasta intlow gt;

intmid = (intlow inthigh) / 2

'Inicial intmid=26

Si arycode(intmid) = strchar Entonces

Salir Do

De lo contrario

Si arycode( intmid) lt; strchar Entonces

intlow = intmid 1

Else

inthigh = intmid - 1

Fin

Finalizar si

Bucle

Si intlow lt; = inthigh Then

Text3.Text = Text3.Text arycode(intmid; ) 'es cifrado Caracteres, según sus posiciones, saque las letras correspondientes, genere y complete el descifrado

Else

Text3.Text = Text3.Text strchar 'Non- letras, no cifradas, salida directa

Finalizar si

Siguiente

Fin Sub