|
Página 1 de 1
|
Ideas Locas O Cientificas No Se!!
Autor |
Mensaje |
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
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/
|
#1 Domingo, 09 Agosto 2015, 16:01 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
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:
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
|
#2 Domingo, 09 Agosto 2015, 19:14 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Ideas Locas O Cientificas No Se!!
buenas,
bueno shell te voy tirando este código para ir calentando motores,
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/
|
#3 Viernes, 21 Agosto 2015, 16:25 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
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/
|
#4 Viernes, 21 Agosto 2015, 16:36 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Ideas Locas O Cientificas No Se!!
Ese Goto... ayayay....
=================== No podemos regresar
|
#5 Viernes, 21 Agosto 2015, 17:51 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
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/
|
#6 Domingo, 06 Septiembre 2015, 15:41 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
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
|
#7 Domingo, 06 Septiembre 2015, 15:47 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
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/
|
#8 Domingo, 06 Septiembre 2015, 18:46 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|