Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Serapis

#3131
El problema real, no es como va a acabar el gordito, sino si tendrá efectos nocivos para la población inocente de ese país...

...país administrado por un loco que utiliza la tecnología como su propia XBox... (se ve que su padre le regaló una Game-boy de pequeño, y luego su tío se la rompió... por eso como nunca le perdonó, cuando llegó al poder lo asesinó (corrijo) mandó asesinar y decidió pasar d ela game-boy ahora mayorcito prefiere la XBox, pero se ve que no pudo comprarla por internet y decidió imitar a todos esos que prefieren construirse su propia máquina de juegos... pero él a lo grande).
#3132
La operación módulo, se utiliza muy a menudo para saber la congruencia de dos números.

Un ejemplo:
Imagina un señor que tiene un huerto y quiere plantar naranjos, ha comprado 67 y quiere plantar 13 por línea... ¿tendrá líneas completas?.

si (67 módulo 13) = 0 luego
   mensaje = "si líneas completas."
sino
   mensaje "la última línea tiene sólo " + (67 modulo 13) + " árboles..."
fin si


Otro ejemplo:
El señor tras plantar los naranjos, quiere ahora plantar limoneros, harto de tener solo dos árboles en una línea, decide comprar sólo los que necesite parta tener líneas completas.
...pero no lo tiene fácil, porque la tienda le vende limoneros sólo de 5 o 5, ¿cuántos (árboles) tendrá que comprar ahora  (como mínimo), para tener líneas completas?

- Solución: Dado que tiene 13 por línea y solo 2 en la última, necesita comprar (13-2) + 'x' lineas de 13, tal que la suma de ellos sea múiltiplo de 5.

n=0  //n empieza valiendo 0 por si fuera el caso que naranjos den líneas completas, pero si a pesar de ello
//    se quisiera comprar si o sí limoneros, debería empezar valiendo 5.
Hacer mientras ((n - (13-2)) modulo 13) distinto de 0   //en vez de (13-2), lo razonable sería poner ((13 - (naranjos modulo 13)
  n +=5
repetir


y finalmente confirmamos que sea cierto:

//67 era el número previo, 13 siguen siendo los árboles en cada línea
// es decir naranjos + limoneros hacen líneas completas?
Si ((67 + n) módulo 13) = 0 luego
   mensaje = "si líneas completas."
sino
   mensaje "pués no..."
fin si


El resultado final es que deberá comprar 50 limoneros... así tendrá 9 líneas de 13 árboles.

Finalmenter la congrencia consiste en que dos números tengan el mismo resto dados un divisor común.
Por ejemplo:
buleano = funcion  Congruencia(valor1, valor2, divisor)
  devolver ((valor1 modulo divisor) = (valor2 modulo divisor))
Fin funcion


Un ejemplo el día 122 del año es el mismo día que el 257 del año?
Mensaje = Congruencia(122, 257, 7) //porque 7 días tiene la semana,
//     no importa que día sea en concreto, cada 7 días coincidirán.. esto es, el día 1º del año, será el mismo que el 8º, el 15º, el 22º, etc...


Y si no lo es, cuál sería el siguiente dia congruente con el 122º?...
n = 0
Hacer mientras Congruencia(122, 257 + n, 7) = FALSE
       n += 1
Repetir
Mensaje (257 + n)


Puede ser optimizado para no requerir un bucle, te lo dejo como tarea...

#3133
Java / Re: Comparar Imagenes y encontrar similitudes.
10 Septiembre 2017, 01:45 AM
Bien...

Es importante hacer siempre un buen reparto de clases. si son un par de métodos sólo, s epueden meter de forma privada a una clase, pero cuando son muchos, acaba siendo más práctico y claro, crear una clase al efecto que contenga y mantenga toda la funcionalidad relacionada.

...mientras iré editando el artículo en wikipedia... es realmente sencillo, pero tal como estaba era incomprensible y el pseudocódigo actual, más de lo mismo, amén que no se atiene al algoritmo final... eso csí, lo iré editando sin prisas  :laugh: :laugh: :laugh: :laugh:
#3134
Foro Libre / Re: Como escribir dentro del cuadrado
7 Septiembre 2017, 15:42 PM
Tienes que posicionar el cursor de dibujado en las cordenadas requeridas.

Si no se indican esas cordenadas, o bien son 0,0 o bien donde haya quedado de una operación previa.

...depende de cada lenguaje, así como la forma específica de indicar la posición.

Es típico que la propia función provea parámetros de desplazamiento absoluto para ello.
#3135
mmm... el título no es correcto, dice "propone", cuando al parecer queda bastante claro que "dispone"...
#3136
Tener ganas de innovar está bien, pero querer destacar cambiando cosas por que sí, es una solemne estupidez.

La clavija de audio ("jack", de hecho significa clavija, conector y por tanto su traducción es redundante, "la clavija clavija") , es posiblemente la clavija más eficaz que ha existido. Casi todas han sufrido cambios porque tenían flecos donde mejorar, pero la jack, desde su inicio fue compacta y bien diseñada y no me parece que la estúpida ocurrencia de una empresa farolera deba poner en declive su existencia.

Si es por el tamaño y el espacio ocupado, se creó otra jack de menor tamaño la de 2'5mm. Y si es por el cable, creo que puede ser opcional ofrecer sonido bluetooth para quien prefiera no tener cables de por medio.
#3137
mmmm... es que no suelo aparecer mucho por el foro de vb6 (tras responder, luego nadie suele volver)...

Al decir deshabilitar, pensaba más en sistemas de VB6. Pero en general si en otros controles resulta complejo, lo más sencillo es deshabilitar el propio control.
Código (vbnet) [Seleccionar]

Control.Enabled =FALSE
   Bucle de inserción de datos
       '....
   Fin bucle
Control.Enabled = TRUE


Un control deshabilitado simplemente deja de redibujarse y con ello (y básicamente), impedir al usuario su uso a través d ela interfaz grádica del mismo.

En definitiva deja de pintarse. Cuando se habilita de nuevo, el redibujado es siempre forzado.

En los controles de interfaz, si no están correctamente programados, suele pasar eso, sería acorde que poseyeran un método de entrada múltiple (en los controles que lo admiten) o bien disponer del par de métodos para que el programador desactive y active (a voluntad) la actualización de la interfaz gráfica del control.
Al menos si que todos los controles se comportan correctamente cuando se deshabilitan y habilitan. Primeor dejando de dibujarse si están deshabilitados y después redibujarse al cambiar su estado de Enabled desde FALSE a TRUE.

No obstante, deshabilitar y habilitar no es evidente... yo soy más partidario de estas opciones.
- Propiedad: FreezeRedraw o incluso de un
- Método: InsertMultiple(datos, UpdateOnlyToFinish:=TRUE), y cuando el parámetro fuera false, actualizaría con cada inserción.

Claramente la 2ª opción es válida solo para controles contenedores de datos que alteran la vista.
Incluso la 1ª opción nunca sobra en el resto de controles, si no se necesita no se invoca pero cuando se necesite, sin duda su utilidad queda manifiesta.

------
p.d.: El tema de actualización no indiqué nada, porque no me quedaba claro, si se refería a búsquedas de los datos, a la eficiencia dle método a usar, o si se refería lo que dices tú Elektro, a realizar la búsqueda al instante de que el usuario haga un cambio en la entrada de datos (caso típico de actualizar una vista de un listbox, haciento un 'TopItem' coincidente con el primer ítem que parece encajar con el ´termino de búsqueda 'actual' y que suele ser parcial mientras se va escribiendo.

Esperaba que tras una seguna entrada sobre lo cmentado, pidiera soluciones dando explicaciones más en detalle del caso... en fin según el interés del usuario, me extiendo más o menos en explicaciones...
#3138
Pero eso no son 'trucos' son características incorporadas para aumentar la jugabilidad y el interés del jugador.

Aunque no seas el mejor jugador, quién jugaría si nunca logra pasar del movimiento 25, o los 2 minutos, si no se es un profesional top 100 del mundo?. Realmente quién quiere jugar contra uno de los 100 mejores del mundo?.

Lo razonable es que un juego ponga jugadores de un nivel similar al que tenga el propio jugador. Así que lo llaman 'trucos', supongo que es una forma 'sencilla' de lograr esto, sin tener que toquetear el código al completo en el juego, si no solo en determinadas partes.
#3139
Lo siento pero no me convence.

Es cierto que siempre habrá algún error, pero que una actualización sea a la spocas horas, implica 2 cosas muy importantes:
1º - El fallo que tenga es 'gordo'.
2º - que no lo han probado una *****...

Que esto ocurra con una aplicación donde tras ella haya 1-3 programadores, tiene su pase, pero que ocurra en una aplicación de una empresa de cierta envergadura es intolerable.

Programar se compone de dos partes:
1 - Escribir código.
2 - Asegurarte que el código escrito funciona y funciona bien, si no, vuelta al paso 1.

Cuando te saltas el paso 2, sucede lo que se comenta...
#3140
Indistintamente de lo que haya hecho, yo considero que los datos que has cifrado, es exactamente lo mismo que si algo consta en tu cerebro.
Del mismo modo que nadie puede obligarte a decir todo lo que está en tu mente (para esto está Dios), nadie puede obligarte e revelar lo que hayas cifrado, es una extensión de tu cerebro... y bueno o malo, es como tus pensamientos o tu memoria.

Si alguien asesina y la policía lo coge, nadie lo mete en la cárcel por no revelar lo que haya hecho (que consta en su cerebro, en su memoria), sino que la policía recurre a pruebas que obtengan por ellos mismos. Pero no se lo encarcela por 'no abrir su mente de plano, para que pueda leerse al completo'.