Página
exercício complementar
Olá,
alguns alunos me escreveram reforçando o pedido de eu incluir algum (ou alguns) exercício(s) complementar(es) para ajudar nos estudos de vocês.
Eu resolvi o exercício de criptografia que sugeri no final da aula, o qual sugeri de improviso durante a aula, e notei que ele na verdade é um exercício bastante bom para estudar e entender a manipulação de Strings. Ele seria um pouco complicado demais para uma prova, mas para estudo ficou bom.
Minha sugestão é a seguinte: tentem resolver esse exercício, como ferramenta para estudo. Depois de conseguirem (ou tentarem bastante), vejam a solução abaixo e verifiquem se entenderam cada passo. Estudem até entender.
Depois de entenderem a solução, estudem o programa que decodifica um texto criptografado. Novamente, estudem até entender.
Os programas só funcionam para chaves maiores que 2 e no máximo iguais ao comprimento do texto. Tentem entender o motivo.
Bons estudos e até sexta!
Flávio
Sub cripto()
Dim a As String
Dim a1 As String
Dim a2 As String
Dim a3 As String
Dim a4 As String
Dim a5 As String
Dim chave As Integer
Dim i As Integer
a = Cells(1, 1)
chave = Cells(1, 2)
i = 1
Do While ((i + (chave - 1)) <= Len(a))
a1 = ""
If (i > 1) Then
a1 = Mid(a, 1, i - 1)
End If
a2 = Mid(a, i + (chave - 1), 1)
a3 = Mid(a, i + 1, chave - 2)
a4 = Mid(a, i, 1)
a5 = ""
If (i + (chave - 1) < Len(a)) Then
a5 = Mid(a, i + chave, Len(a) - (i + chave - 1))
End If
i = i + 1
a = a1 + a2 + a3 + a4 + a5
Loop
Cells(2, 1) = a
End Sub
Sub decripto()
Dim a As String
Dim a1 As String
Dim a2 As String
Dim a3 As String
Dim a4 As String
Dim a5 As String
Dim chave As Integer
Dim i As Integer
a = Cells(2, 1)
chave = Cells(1, 2)
i = Len(a) - (chave - 1)
Do While (i >= 1)
a1 = ""
If (i > 1) Then
a1 = Mid(a, 1, i - 1)
End If
a2 = Mid(a, i + (chave - 1), 1)
a3 = Mid(a, i + 1, chave - 2)
a4 = Mid(a, i, 1)
a5 = ""
If (i + (chave - 1) < Len(a)) Then
a5 = Mid(a, i + chave, Len(a) - (i + chave - 1))
End If
i = i - 1
a = a1 + a2 + a3 + a4 + a5
Loop
Cells(3, 1) = a
End Sub
alguns alunos me escreveram reforçando o pedido de eu incluir algum (ou alguns) exercício(s) complementar(es) para ajudar nos estudos de vocês.
Eu resolvi o exercício de criptografia que sugeri no final da aula, o qual sugeri de improviso durante a aula, e notei que ele na verdade é um exercício bastante bom para estudar e entender a manipulação de Strings. Ele seria um pouco complicado demais para uma prova, mas para estudo ficou bom.
Minha sugestão é a seguinte: tentem resolver esse exercício, como ferramenta para estudo. Depois de conseguirem (ou tentarem bastante), vejam a solução abaixo e verifiquem se entenderam cada passo. Estudem até entender.
Depois de entenderem a solução, estudem o programa que decodifica um texto criptografado. Novamente, estudem até entender.
Os programas só funcionam para chaves maiores que 2 e no máximo iguais ao comprimento do texto. Tentem entender o motivo.
Bons estudos e até sexta!
Flávio
Sub cripto()
Dim a As String
Dim a1 As String
Dim a2 As String
Dim a3 As String
Dim a4 As String
Dim a5 As String
Dim chave As Integer
Dim i As Integer
a = Cells(1, 1)
chave = Cells(1, 2)
i = 1
Do While ((i + (chave - 1)) <= Len(a))
a1 = ""
If (i > 1) Then
a1 = Mid(a, 1, i - 1)
End If
a2 = Mid(a, i + (chave - 1), 1)
a3 = Mid(a, i + 1, chave - 2)
a4 = Mid(a, i, 1)
a5 = ""
If (i + (chave - 1) < Len(a)) Then
a5 = Mid(a, i + chave, Len(a) - (i + chave - 1))
End If
i = i + 1
a = a1 + a2 + a3 + a4 + a5
Loop
Cells(2, 1) = a
End Sub
Sub decripto()
Dim a As String
Dim a1 As String
Dim a2 As String
Dim a3 As String
Dim a4 As String
Dim a5 As String
Dim chave As Integer
Dim i As Integer
a = Cells(2, 1)
chave = Cells(1, 2)
i = Len(a) - (chave - 1)
Do While (i >= 1)
a1 = ""
If (i > 1) Then
a1 = Mid(a, 1, i - 1)
End If
a2 = Mid(a, i + (chave - 1), 1)
a3 = Mid(a, i + 1, chave - 2)
a4 = Mid(a, i, 1)
a5 = ""
If (i + (chave - 1) < Len(a)) Then
a5 = Mid(a, i + chave, Len(a) - (i + chave - 1))
End If
i = i - 1
a = a1 + a2 + a3 + a4 + a5
Loop
Cells(3, 1) = a
End Sub
Última atualização: quarta-feira, 29 dez. 2010, 21:00