• Viernes 8 de Noviembre de 2024, 05:12

Autor Tema:  Como pasar de codigo morse a texto  (Leído 6694 veces)

Jesmi89

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Como pasar de codigo morse a texto
« en: Lunes 3 de Noviembre de 2008, 04:33 »
0
Hola, lo que pasa es que he hecho un codigo, el cual quiero que me convierta de Codigo Morse a Texto. Perp esto nop lo consigo, lo unico que me muestra es una serie de "E" y "T2, y lo que quiero es que me muestre el texto que debe ser, miren el codigo es

Código: Text
  1.  
  2. Public Class Form3
  3.    
  4.     Private Sub ConvertirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ConvertirToolStripMenuItem.Click
  5.  
  6.         Dim x As String
  7.         Dim b As String
  8.  
  9.         For j = 1 To Len(TextBox1.Text)
  10.             x = Mid(TextBox1.Text, j, 1)
  11.             TextBox2.Text = TextBox2.Text.ToUpper
  12.             Select Case x
  13.                 Case ".-" : b = b & "A"
  14.                 Case "-..." : b = b & "B"
  15.                 Case "-.-." : b = b & "C"
  16.                 Case "-.." : b = b & "D"
  17.                 Case "." : b = b & "E"
  18.                 Case "..-." : b = b & "F"
  19.                 Case "--." : b = b & "G"
  20.                 Case "...." : b = b & "H"
  21.                 Case ".." : b = b & "I"
  22.                 Case ".---" : b = b & "J"
  23.                 Case "-.-" : b = b & "K"
  24.                 Case ".-.." : b = b & "L"
  25.                 Case "--" : b = b & "M"
  26.                 Case "-." : b = b & "N"
  27.                 Case "---" : b = b & "O"
  28.                 Case ".--." : b = b & "P"
  29.                 Case "--.-" : b = b & "Q"
  30.                 Case ".-." : b = b & "R"
  31.                 Case "..." : b = b & "S"
  32.                 Case "-" : b = b & "T"
  33.                 Case "..-" : b = b & "U"
  34.                 Case "...-" : b = b & "V"
  35.                 Case ".--" : b = b & "W"
  36.                 Case "-..-" : b = b & "X"
  37.                 Case "-.--" : b = b & "Y "
  38.                 Case "--.." : b = b & "Z"
  39.                 Case "-----" : b = b & "0"
  40.                 Case ".----" : b = b & "1"
  41.                 Case "..---" : b = b & "2"
  42.                 Case "...--" : b = b & "3"
  43.                 Case "....-" : b = b & "4"
  44.                 Case "....." : b = b & "5"
  45.                 Case "-...." : b = b & "6"
  46.                 Case "--..." : b = b & "7"
  47.                 Case "---.." : b = b & "8"
  48.                 Case "----." : b = b & "9"
  49.                 Case ".-.-.-" : b = b & "."
  50.                 Case "--..--" : b = b & ","
  51.                 Case "..--.." : b = b & "?"
  52.                 Case "-...-" : b = b & "="
  53.                 Case "-....-" : b = b & "-"
  54.                 Case "-..-." : b = b & "/"
  55.                 Case "..--.-" : b = b & "_"
  56.                 Case ".----." : b = b & "'"
  57.                 Case "-.-.--" : b = b & "!"
  58.                 Case "---..." : b = b & ":"
  59.                 Case "-.-.-." : b = b & ";"
  60.            
  61.             End Select
  62.         Next
  63.         TextBox2.Text = b
  64.     End Sub
  65. End Class
  66.  
  67.  

Ok, gracias...
Espero y me puedan ayudar con esto

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Como pasar de codigo morse a texto
« Respuesta #1 en: Lunes 3 de Noviembre de 2008, 05:58 »
0
Hola.

El problema que tienes es que tu tomas del texto carácter a carácter, luego en el bloque select case le dices que si es uno de aquellos a 'b' se le añada tal... pero claro elo código morse no es un código basado en 1 sólo carácter sino en varios, por tanto puesto que sólo tomas un carácter en el bloque select case sólo coincidrá cuando sea '.' ó '-' , es decir punto o raya (E y T), porque son los únicos caso de un sólo carácter.

La solución no es posible. De hecho para que fuera sencillo debería haber un carácter separador entre cada signo del código, sino es así no hay manera de saber si la secuencia '-.-.-.' es ';' o si es 'NNN' ó 'KR' ó 'CN', etc....

El código ha sido abandonado de los procesos digitales por los errores ineludibles cuando una máquina intenta interpretar el 'acento' de cada conferenciante. Si hubiera un tercer signo separador, sería otra cosa, o bien una regla de separación , por ejemplo en binario se usan también sólo dos dígitos pero para interpretar un cóodigo se establece previamente el tamaño de cada 'palabra', casos:  byte= 8 códigos, Integer=32 códigos, etc... Caudno se teclea, el separador es una pausa en el tiempo, que una persona puede interpretar correctamente con cierto adiestramiento, pero en un texto lineal, es prácticamente imposible, habría que hacer un programa de inteligencia artificial  primero para crear un contexto y luego probar si lo que sigue es consecuente con el contexto, si no lo es habría que recrear un nuevo contexto, etc... Todavía no tenemos esa potencia de análisis apenas hemos emepezado a procesar el lenguaje humano, como saber si la secuencia es un texto humano o los datos de la matriz de una imagen... o un ruido previo para ofuscar y entorpecer a un posible oyente... ?

No te rompas los cuernos con morse, aunque si es por precticar siempre aprenderás algo....
« última modificación: Lunes 3 de Noviembre de 2008, 06:10 por Nebire »
«Ma non troppo»
----> ModoVacaciones = False<----

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Como pasar de codigo morse a texto
« Respuesta #2 en: Lunes 3 de Noviembre de 2008, 06:01 »
0
salió repetido el mensaje...
«Ma non troppo»
----> ModoVacaciones = False<----

Carlos Joel Elvir

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Como pasar de codigo morse a texto
« Respuesta #3 en: Viernes 12 de Diciembre de 2008, 06:23 »
0
hey brother  mira, yo en la universidad que estoy que es la UTH de Honduras mi pais..... he resuelto ese mismo programa q as hecho tu, y yo tenia el mismo problema q no me convertia de morse a español pero lo he resuelto y te dire la sintaxis y un ejemplo, talves te ayuda a resolver tu problema solo que esta hecho en java ...

mira lo q tienes q hacer es utilizar una funcion o un metodo q te pida el ingreso de la palabra despues utilizas un comando q te recoora la palabra y te la separe por decir en java utilice el comando .charAt no  c en tu lenguaje, y utilizas un if para recorrer la palabra despues de recorrerla utilizas el comando ascii para q pueda leer el codigo ingreasado de morse y despues lo despliegas en pantalla...  bueno el ejemplo te lo devo pero si funciona pruebalo y me avisas si te resulto ok ASCII lo q ase es traducior la el texto ingresado....    if (palabraingresada.charAt.equals('.-') , Ascii 'a';


es un ejemplo ahi lo puedes hacer en todo el abecedario es una condicion nada mas  ahi tu sabras como utilizarlo en tu lenguaje.... pero ahi te mandare el ejemplo mas especificado ok para q mires por q ahorita no lo tengo a mano ok...