Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ideas Locas O Cientificas No Se!!
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ideas Locas O Cientificas No Se!! 
 
Buenas,

les cuento que ando con ideas locas jajaja

pensando... se me ha ocurrido hacer dos rutinas, una que cuenta los caracteres de cada versículo así sabré con exactitud cual es el mas largo versículo y el mas corto y datos interesantes que pueden surgir mirando los números.

otra idea parecida es hacer un diccionario con todas las palabras de las escrituras
contabilizándolas a cada una

sera un desafío para mi jajaaj siempre me pongo metas mas de mi posibilidades, pero... parece que la voluntad a veces puede mas que las capacidades.....

para esta ultima idea habrá que recorrer todos los versículos hacer un split con separador espacio, después eliminar comas, punto y coma- y demás caracteres que no sean las letras, agregar a una lista y si ya esta incrementar un contador.

suena interesante, estas subrutinas están interesantes pues serviría para cualquier tipo de texto.
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ideas Locas O Cientificas No Se!! 
 
Lo interesante es que ese diccionario fuera como tal, una vez tuvieras las palabras pudieras tener palabra y significado,
que eso si que es difícil de encontrar, ¿ una búsqueda en la wikipedia desde la aplicación ?. O quizás otro lugar más acorde.

¿ Eso se podrá hacer desde una aplicación ?. No creo que guste mucho a Wikipedia.  

No creas, no es tan difícil de hacer el diccionario. Tiene que ser lento. El problema que te puedes encontrar son los signos de puntuación.

Pongamos el caso de un número. Si das por sentado que todo es texto, ¿ como sabes que "1234" es un número ?.
¿ Haciendo todo que sea Variant ?. Pues va a ocupar un "poco".  

No hace falta, tienes IsDigit.

http://gambaswiki.org/wiki/lang/isdigit?l=es

Este enlace te va a venir de perlas.

http://gambaswiki.org/wiki/cat/char?l=es

Lo curioso de estas funciones es que muchas son para saber si "solo" incluyen eso que buscamos. Por ejemplo de:
Pongamos el caso de IsLetter



Te da True

En cambio:

PRINT IsLetter("Cool!")
 


Da False, ya que incluye el signo de exclamación.

Y como es normal no olvides la función "Instr"

Eso si no hay algo que se pueda hacer también en SQL.
 
Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 09 Agosto 2015, 19:27; editado 3 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ideas Locas O Cientificas No Se!! 
 
buenas,

bueno shell te voy tirando este código para ir calentando motores,

Public EsteTexto As String = "(Por (cierto,* ;(casa"
Public Eliminando As String


Public Sub Form_Open()
Dim Trozando As String[]
Dim Diccionario As New String[]
Dim CaracterProhibido As String
 Dim palabra1, PalabraLimpia As String
 Dim a, b As Integer
 Dim CaracteresProhibidos As String = "();,*"
 
 Trozando = Split(EsteTexto, " ")
 
 For Each palabra1 In Trozando
   Print palabra1
    REPETIR:
    For b = 1 To Len(CaracteresProhibidos)
       CaracterProhibido = Mid(CaracteresProhibidos, b, 1)
       ' Print "CaracterProhibido= " & CaracterProhibido
       If Left$(palabra1) = CaracterProhibido Then palabra1 = Right$(palabra1, Len(palabra1) - 1)
       ' Print palabra1
       ' Print "Right$(palabra1)=" & Right$(palabra1)
       If Right$(palabra1) = CaracterProhibido Then palabra1 = Left$(palabra1, Len(palabra1) - 1)
       Print palabra1
    Next
    If Not IsLetter(Left$(palabra1)) Or If Not IsLetter(Right$(palabra1)) Then
      Goto REPETIR
    Else
      Diccionario.Add(palabra1)
    Endif
Next


For Each PalabraLimpia In Diccionario
  Print PalabraLimpia
Next

End


a ver los que saben se escuchan propuestas de codigo jajajj
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ideas Locas O Cientificas No Se!! 
 
uy noo, hay que mejorar la rutina, tiene problemas con los tildes á,é,í,ó,ú  supongo que es isletter pues solo identifica mayúsculas y minúsculas limpias sin tildes.

haber como arreglo eso  
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ideas Locas O Cientificas No Se!! 
 
Ese Goto... ayayay....     
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ideas Locas O Cientificas No Se!! 
 
mejore la rutina, me falta contar las palabras y unir este codigo a la consulta sql, este código esta sucio y se puede reducir mas pero ahora solo quiero que funcione el código.
estoy en las fases preliminares.


' gambas class file

Public EsteTexto As String = "Y les dijo: Esto es lo que ha dicho Jehová: Mañana es el santo día de reposo*, el reposo consagrado a Jehová; lo que habéis de cocer, cocedlo hoy, y lo que habéis de cocinar, cocinadlo; y todo lo que os sobrare, guardadlo para mañana."
' Public EsteTexto As String = "(cierto,* (Por él Jehová ;(casa"
Public Eliminando As String
Public PalabraAhora As String
Public DerechaLimpia As Boolean
Public IzquierdaLimpia As Boolean



Public Sub Form_Open()
Dim Trozando As String[]
Dim Diccionario As New String[]
Dim CaracterProhibido As String
 Dim palabra1, Vocal, PalabraLimpia As String
 Dim a, b, c As Integer
 Dim CaracteresProhibidos As String = "(.);,*:-"
 Dim VocalesConTilde As String = "áéíóú"
 
 Trozando = Split(EsteTexto, " ")
 
 For Each palabra1 In Trozando
   Print palabra1
    
   Do While Not DerechaLimpia
     palabra1 = LimpiarCaracteresDerecha(palabra1)
   Loop
  
   Do While Not IzquierdaLimpia
     palabra1 = LimpiarCaracteresIzquierda(palabra1)
   Loop
   Diccionario.Add(palabra1)
   DerechaLimpia = False
   IzquierdaLimpia = False
  Next

For Each PalabraLimpia In Diccionario
  Print "palabra limpiada:" & PalabraLimpia
Next

End


Private Sub LimpiarCaracteresDerecha(palabraX As String) As String
  Dim b As Integer
  Dim CaracteresProhibidos As String = "();,*:-"
  Dim CaracterProhibido As String
  
  For b = 1 To Len(CaracteresProhibidos)
       CaracterProhibido = Mid(CaracteresProhibidos, b, 1)
       If Right$(palabraX) = CaracterProhibido Then
         palabraX = Left$(palabraX, Len(palabraX) - 1)
         DerechaLimpia = False
         Print "limpiando: " & palabraX
         Return palabraX
       Endif
       ' Print palabraX
  Next
  
  DerechaLimpia = True
  Return palabraX
  
End


Private Sub LimpiarCaracteresIzquierda(palabraX As String) As String
  Dim b As Integer
  Dim CaracteresProhibidos As String = "();,*:-"
  Dim CaracterProhibido As String
  
  For b = 1 To Len(CaracteresProhibidos)
       CaracterProhibido = Mid(CaracteresProhibidos, b, 1)
       If Left$(palabraX) = CaracterProhibido Then
         palabraX = Right$(palabraX, Len(palabraX) - 1)
         IzquierdaLimpia = False
         Print "Limpiando izquierda= " & palabraX
         Return palabraX
       Endif
       ' Print palabraX
  Next
  
  IzquierdaLimpia = True
  Return palabraX
  
End

 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ideas Locas O Cientificas No Se!! 
 
aquí es donde tengo que ver como hacer un array de manera que pueda contener la palabra y un contador de esa palabra

casa(3)
oficio(10)
el(100)

etc....  voy a mirar este post http://foro.gambas-es.org/viewtopic...ighlight=banana

nunca he usado una colección pero sera el momento creo jajajaj
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Domingo, 06 Septiembre 2015, 15:52; editado 1 vez 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ideas Locas O Cientificas No Se!! 
 
bueno ahi va contando....


' gambas class file

Public EsteTexto As String = "Y les dijo: Esto es lo que ha dicho Jehová: Mañana es el santo día de reposo*, el reposo consagrado a Jehová; lo que habéis de cocer, cocedlo hoy, y lo que habéis de cocinar, cocinadlo; y todo lo que os sobrare, guardadlo para mañana."
' Public EsteTexto As String = "(cierto,* (Por él Jehová ;(casa."

Public Eliminando As String
Public PalabraAhora As String
Public DerechaLimpia As Boolean
Public IzquierdaLimpia As Boolean
Public Diccionario As New String[]

Public DicContador As New Collection




Public Sub Form_Open()
Dim Trozando As String[]

Dim CaracterProhibido As String
 Dim palabra1, palabra2, Vocal, dato, PalabraLimpia, PalabraLimpia2 As String
 Dim a, b, c As Integer
 Dim CaracteresProhibidos As String = "(.);,*:-"
 Dim VocalesConTilde As String = "áéíóú"
 
 Trozando = Split(EsteTexto, " ")
 
 For Each palabra1 In Trozando
'    Print palabra1
    
   Do While Not DerechaLimpia
     palabra1 = LimpiarCaracteresDerecha(palabra1)
   Loop
  
   Do While Not IzquierdaLimpia
     palabra1 = LimpiarCaracteresIzquierda(palabra1)
   Loop
  
   ProcesarPalabraLimpia(palabra1)
    
   DerechaLimpia = False
   IzquierdaLimpia = False
  Next

' For Each PalabraLimpia In Diccionario
'   Print "palabra limpiada:" & PalabraLimpia
' Next

    For Each dato In DicContador
         Print DicContador.Key & "(" & DicContador[DicContador.Key] & ")"
    Next

End

Public Sub ProcesarPalabraLimpia(palabraX As String)
  Dim contador As Integer
  
  ' If Diccionario.Exist(palabraX) = False Then
  '   Diccionario.Add(palabraX)
  '  
  '   Print "no existe palabra agregada= " & palabraX
  ' Else
  '    Print "palabara ya existe=" & palabraX
  ' Endif
  
   If DicContador.Exist(palabraX) = False Then
     DicContador.Add(1, palabraX)
   Else
     DicContador.Add(DicContador[palabraX] + 1, palabraX)
   Endif
  
End

Private Sub LimpiarCaracteresDerecha(palabraX As String) As String
  Dim b As Integer
  Dim CaracteresProhibidos As String = "(.);,*:-"
  Dim CaracterProhibido As String
  
  For b = 1 To Len(CaracteresProhibidos)
       CaracterProhibido = Mid(CaracteresProhibidos, b, 1)
       If Right$(palabraX) = CaracterProhibido Then
         palabraX = Left$(palabraX, Len(palabraX) - 1)
         DerechaLimpia = False
         Return palabraX
       Endif
  Next
  
  DerechaLimpia = True
  Return palabraX
  
End


Private Sub LimpiarCaracteresIzquierda(palabraX As String) As String
  Dim b As Integer
  Dim CaracteresProhibidos As String = "(.);,*:-"
  Dim CaracterProhibido As String
  
  For b = 1 To Len(CaracteresProhibidos)
       CaracterProhibido = Mid(CaracteresProhibidos, b, 1)
       If Left$(palabraX) = CaracterProhibido Then
         palabraX = Right$(palabraX, Len(palabraX) - 1)
         IzquierdaLimpia = False
         Return palabraX
       Endif
  Next
  
  IzquierdaLimpia = True
  Return palabraX
  
End



resultado:

Y(1)
les(1)
dijo(1)
Esto(1)
es(2)
lo(4)
que(4)
ha(1)
dicho(1)
Jehová(2)
Mañana(1)
el(2)
santo(1)
día(1)
de(3)
reposo(2)
consagrado(1)
a(1)
habéis(2)
cocer(1)
cocedlo(1)
hoy(1)
y(2)
cocinar(1)
cocinadlo(1)
todo(1)
os(1)
sobrare(1)
guardadlo(1)
para(1)
mañana(1)

tengo que ver como hago para que no distinga entra mayúscula y minúscula. si observamos "Mañana" con mayúsculas es igual a "mañana" en minúscula si queremos hacer un conteo estricto.
aunque en la búsqueda actual las diferencia.

en la rutina tengo que poner para variar el largo de las palabras

buscar solo en un capitulo o solo versículo o toda las escrituras.

a medida que voy solucionando funciones van apareciendo nuevas ideas que acomplejan la tarea pero enriquecen las posibilidades de uso para los usuarios
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Tengo Un Proyecto Y Necesito Ideas cyberx0x General 1 Domingo, 13 Diciembre 2009, 17:18 Ver último mensaje
bies88
No hay nuevos mensajes Necesito Ideas De Diseño codificador General 17 Jueves, 04 Agosto 2011, 22:10 Ver último mensaje
codificador
No hay nuevos mensajes Ideas Para La Creación De Otros Retos Shell Retos de programación 0 Domingo, 05 Octobre 2014, 20:23 Ver último mensaje
Shell
No hay nuevos mensajes Frases Locas! Shell General 5 Viernes, 25 May 2018, 08:02 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron