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

#2981
Cita de: Orubatosu en  6 Noviembre 2017, 09:01 AM
Por enesima vez.... un politico preso, no es un preso politico
Esto mismo, llevo repitiendo a algunos amigos desde hace un tiempo.
Al delinquir un ciudadano, va a la cárcel, sea lo que sea, incluso político.

Pero ningún político va la cárcel por sus ideas (en países auténticamente democráticos), si no en todo caso por sus actos. Que es exactamente lo que ha sucedido: políticos que han delinquido y claramente se sabe quiénes y cómo.

Cuando hayas complicaciones sobre quiénes, cómo, etc.. se abren pesquisas que pueden durar años... para ejemplos, véase el caso de Jordi Pujol y familia y véase el caso del Palau... son los mismos políticos (en su mayoría) afectados que por el independentismo, solo que en esos casos las pruebas están enturbiadas y llevará tiempo bosquejar la verdad (hasta donde se logre llegar, claro)). ...pero en lo que hasta cierto punto ha sido transparente como ha sido el teatrillo de la independnecia, demorarlo injustificadamente sería faltar a la diligencia legal exigible.
#2982
Yo opino básicamente lo mismo que Slava_TZD, pero además añado alguna cosa...

El software libre no implica software gratis, creo que Richard Stallman ya está aburrido de repetirlo. Es el problemo de que en inglés Free refiera tanto a ligre como a gratuito (los ingleses no tienen la palabra gratis en su diccionario, a pesar de que si tengan palabras como: 'agradecer, gratificar' (gratification, perquisite,    
gratuity, meed, etc...)).

Por otro lado, si el software ha de ser libre (en el sentido que se quiera, quizás ambos), entonces se acabaría por cuestionar por qué el resto de cosas de la administración, no lo son también... y al final nos creeremos con derecho a que todo en la administración debiera ser gratis y de libre acceso... pero es fácil darse cuenta del errror, haciéndose unas cuantas preguntas y ver adónde podría conducir responderlas con un sí...:
¿Es adecuado que todos tengamos acceso a los datos de los presidiarios, por ejemplo?. Si son bases de datos de la administración, ¿porqué esos datos han de ser privados?... y no quiero ni entrar en el juego de 'armamento que funciones con software libre', estaríamos al final con que cualquier bocachancla acabara hackeando una base militar, una tanqueta, una fragata o vete tu a saber si la BD de Hacienda o de la Seguridad Social e incribir o borrar pensionistas a su antojo, o eliminar/crear dedudas con Hacienda.

Si me parecería acertado, en cambio que los países tuvieran un departamento de creación de software para la administración del propio país... pero eso es otra historia al margen de la cuestión planteada en el hilo...
#2983
Como bien se señala, la idea es ejercitar los bucles. Usando bucles, surge la necesidad de usar también arrays o bien variables reutilizables, y no tantas variables para 'componentes individuales'.

La idea es algo así como usar una llave inglesa en vez de 30 llaves fijas de distinto tamaño.

En pseudocodigo de una manera clara, a base de más líneas de código,
podría ser más o menos así (fíjate que las funciones las pongo en orden inverso a como son llamadas, sólo para que veas desde el final hacia el principio):

Esta función, verifica que dados dos valores son o no entre sí desgarrables (en el orden introducido).

Buleano = Funcion EsDesgarrable(entero valor, entero valor1, entero valor2)
   string v1 = ((valor1 + valor2)^2).ToString
 
   devolver (v1 = valor.ToString)
Fin funcion



Esta función toma un valor de entrada y genera para el todos los posibles despieces y con cada uno verifica si cumple lo esperado.

buleano = Funcion DesgarrarValor(entero valor)
   string numeroStr = valor.ToString
   entero digitos = caracteresen(numerostr)
   entero k, n1, n2
   string s1, s2

   bucle para k desde 1 a digitos-1
       s1 = TomarCaracteresDesdeIzquierda(numeroStr, k)
       s2 = TomarCaracteresDesdeDerecha(numeroStr, digitosStr-k)
       n1 = ConvertirAEntero(s1)
       n2 = ConvertirAEntero(s2)
     
       Si EsDesgarrable(valor, n1, n2) = TRUE luego
           devolver TRUE
       fin si    
   fin bucle

   devolver FALSE
fin funcion


La función principal se compone de  1 petición de entrada al usuario (aquí dos, pero puede señalarse un "Introduzca 0 para terminar") y luego una llamada a la función que verifica el asunto y devuelve el resultado, que luego se muestra al usuario... Todo ello encerrado en un bucle hasta que el usuario 'se canse'...

funcion Problema21
   entero numero
   buleano resultado
   string masPreguntas

   Hacer    
         numero = pedirNumeroAlUsuario
         resultado = Desgarrar(numero)
         Si (resultado = TRUE) luego
             mostrarMensaje "El número introducido es desgarrable."
         sino
             mostrarMensaje "el número introducido no es desgarrable."
         fin si

         // en la peición de arriba puede aceptarse un valor 0, como fin de operaciones, en vez de solicitarlo explícitamente aquí.
         masPreguntas = PedirAlUsusario("desea proceder con otro número (s/n) ?."
   Repetir mientras masPreguntas = "s" //"yes", "si", "y", >0, etc....
fin funcion


Como puedes ver, con solo 3 funciones y aún no simplificándolas el código resultante es muy breve. Bastan 2 bucles y unas pocas variables, que incluso podrían ser menos... el caso presente, no precisa ningún array.

Nota que básicamente al desguazar el número hemos operado convirtiendo en número en una cadena de texto, de la que hemos partido en dos trozos (en un bucle, según lo largo del mismo) y luego a conveniencia volver a convertir en número para hacer las operaciones... siempre es más eficiente operar con números que con cadenas, pero el objetivo del ejecrcicio es plantear la solución al problema para operar con bucles, el objetivo aquí no es lograr una eficiencia óptima. ...es importante que entiendas ambas cosas.

Queda a tu esfuerzo convertir el pseudocódigo a C, para lo que te será necesario entenderlo.

p.d.: Nota, que no he considerado el caso de números negativos... la respuesta es buien fácil, pero tú como lo solucionarías?
#2984
Lo más lamentable, es que nunca he visto ni a los rusos ni a los estadounidenses pedir perdón, por esos atropellos.

La palabra "reclutaron", sueña chistosa, por no decir falsa. Cuando te obligan, el reclutamiento, deja de serlo. Dudo mucho que Laika, hubiera querido ir al espacio a morir, aunque su nombre pasara a la Historia (que no la Historia de los perros, solo a la Historia de los humanos).

...y yo tengo serias dudas de que Gagarin realmente fuera al espacio, a medida que pasa el tiempo, me parece más veraz que fue un montaje... es muy difícil creer que después de ver morir a unos animales, tu vayas a aceptar ir, sonriente y encantado de la vida, todo por... fama?. Nada, solo por "la patria".
Supongo que los estadounidenses, también tuvieron sus dudas, pero carecieron de pruebas para dmeostrar que fuera falso, pero como no hay mal que por bien no venga, quizás ahí se les ocurrió a ellos hacer tambén su montaje con lo de la Luna. Cuántas verdades se nos escapan, por tanto farsante político que tiene la Historia.
-------------------

p.d.: yo como no biólogo, pero sí como ser vivo, digo que la hipocresía es querer resolver los problemas a base de prueba y error... (así acabaríamos atinando todos, no te J0D3)...
#2985
No tiene mucho sentido que alguien que no sabe programar en tal o cual lenguaje diga que no le gusta.

Decir que éste o áquel lenguaje no te gusta, solo tiene sentido, cuando lo conoces en profundidad, porque entonces lo que tengas que decir del mismo será con conocimiento de causa y no por 'manía persecutoria'.

A muchos escolares, les basta con que su profesor les diga que tal o cual lenguaje es malo, para que luego se pasen los años despreciando tal lenguaje sin tener ni PU74 idea del mismo. Luego cuando salen con su título siguen con esos ideales distraídos sin una causa real para despreciar a uno u otro lenguaje.

Por ejemplo, jamás he programado en Delphi, pero a todos cuantos he conocido en persona que programan en Delphi, estaban ( y están) encantados con él mismo, motivo suficiente, como mínimo para tener un respeto por algo que no conoces en profundidad.

...pero hay mucho bocazas que se pronuncia sin haber escrito 4 líneas en un lenguaje, así que no puedo dar por válido los resultados del 'estudio' de esa empresa...
#2986
Seguramente sí se está creando, sólo que tú no sabes donde los estás creando.

Tienes como ruta: "prestamos.dat", prueba a poner la ruta absoluta, si es relativa, lo será de donde actualmente esté apuntando.
#2987
Es evidente, que el programa tiene en consideración el costo dle tratamiento, que será parte importante de lo que se le exija al programa, en consecuencia, la 'inteligencia artificial', va a lo práctico, matar al paciente cuanto antes ahorra costos.

...más o menos la misma inteligencia que tienen los políticos...
#2988
.NET (C#, VB.NET, ASP) / Re: thread multihilos
2 Noviembre 2017, 16:36 PM
De entrada el tema, no debiera haberse puesto aquí. este hilo es para VB6.0 y versiones previas, el adecuado es en .net: https://foro.elhacker.net/net-b62.0/

El tema d ela actualización de vistas, ya se ha tratado.
Se ralentiza cuando un control tras añadir un ítem, trata de actualizar la vsta... entonces si en vez de querer añadir 1 sólo ítem se pretende añadir cientos o miles, el control debe repintarse cientos o miles de veces, de ahí la lentitud...

La solución?, Hay varias...
1 - La más sencilla es ver si el control admite un método AddRange(items), con lo que puedes pasarle un array o colección de algún tipo... (ver sobrecargas).

2 - Otra opción en NET (cuando programas controles del propio NET) es usar los métodos:
   objeto.BeginUpdate
   objeto.DataSource = elArray
   objeto.EndUpdate

...cuya misión es precisamente evitar el redibujado. BeginUpdate y EndUpdate marcan el inicio y fin del 'NO-redibujado'...

3 - La práctica cuando el objeto no admite ninguna opción al respecto:
  objeto.visible =false
  bucle desde 0 hasta array.count ' o el tope del objeto que sea.
     objeto.addItem(array(k))
  fin bucle
  objeto.visible=true

De hecho este mismo código puede ser parte de una función que tú crees llamada precisamente AddRange(coleccion de algún tipo)

De este modo, fuerzas a que no se redibuje con cada añadido. El propio control (salvo que esté muy mal programado), cuando se añade un ítem no intentará redibujar si resulta que el control no está visible, en consecuencia no pierde tiempo en redibujarlo x veces, si no sólo una al final, cuando lo haces visible de nuevo.



Entonces te darás cuenta que no necesitas múltiples hilos para actualizar un control, de hecho no es aconsejable, porque se pelearán (competirán) por el acceso al control. Los hilos múltiples son adecuados para trareas asíncronas, y esta es una tarea síncrona.



P.d.:
OJO: El pseudocódigo:
  objeto.visible =false
   bucle desde 0 hasta array.count ' o el tope del objeto que sea.
      objeto.addItem(array(k))
   fin bucle
   objeto.visible=true

No considera el caso de que el objeto esté invisible, en realidad si fue ocultado desde otro lado, aquí no debería hacerse visible.
 
   Buleano v = objeto.visible
   objeto.visible =false
   bucle desde 0 hasta array.count ' o el tope del objeto que sea.
      objeto.addItem(array(k))
   fin bucle
   objeto.visible=v ' esto es, reasignamos el mismo estado que tenía previamente
#2989
Suena fatal eso de "Microsoft es el principal culpable de...", como si la gente tuviera que obedecer dictados de uno u otro.

Conste que para mi, sí es el principal culpable, pero por otras cuestiones indirectas y muy distintas. Es culpable por hacer caducar cosas que en principio no tienen caducidad. Cuando comppras una lavadora.... la usas hasta el día que ya revienta y no tiene arreglo, o el arreglo sale caro y te planteas adquirir una nueva. No existe eso de que porque salgan nuevos modelos de lavadoras, debas tirar la tuya a reciclar y comprarte otra nueva... la palabra "mientras funcione y funciones bien", es lo que debería hacer que algo no caduque.
Microsoft es culpable por hacer cada nuevo S.O. más complejo, añadido cada vez más cosas innecesarias (que el ciudadano de casa no necesita), pero no opcionales si no obligadas y con serias complicaciones de desinstalar, o al menos desactivar.
Microsoft es culpable de cambiar constantemente la interfaz, moviendo cosas de sitio, y renombrando, obligando a tantos y tantos usuarios 'torpones' a que de repente se sientan de nuevo inútiles y al resto a sentirse otra vez novatos.
Microsoft es culpable de hacer un nuevo S.O. que en el fondo es el mismo, pero que tienes que volver a comprar. A quién le apetece pagar por cada nueva versión que no incluye nada nuevo de tu interés, pero que en cambio te obliga a cambiar todos tus programas (o una buena parte que ahora son incompatibles)

Ésta razón (adquirir licencias nuevas para el nuevo S.O. de Microsoft y el resto de aplicaciones satélites), junto a la de falta de experiencia que provocan una caída en el rendimiento de los usuarios frente a un nuevo S.O. que no es tan nuevo, pero sí hasta el punto de que tienes que reaprender, son las razones principales de las negativas de las empresas a cambiar... Así que sí, Microsoft es el culpable, pero de manera muy distinta a la manera soviética mencionada en el artículo, que parece pretender que cuando microsoft decida un usuario debe desinstalarlo de su equipo por C0J0N3X, o bien basado en estrategias de venta con la finalidad de J0D35 al usuario.

Muchos dirán el aburrido y cansino: "...XP tiene muchos fallos de seguridad..." pero lo cierto es los más nuevos, no carecen de fallos de seguridad, entonces para muchos (usuarios domésticos) es cambiar fallos de seguridad (que de momento no le han afectado), por una seguridad incierta (pero muy cacareada), de la que tampoco parecen librarse pero que ya de entrada heredan. La sensatez dicta (siempre ha dictado) que "más vale malo conocido que bueno por conocer", y creo que los usuarios domésticos se agarran a ese clavo.
#2990
Tal como yo lo veo, los independentistas, no deberían participar en las próximas elecciones catalanas.

Por un lado ellos al parecer no tienen fé en la Democracia española, luego para qué presentarse. Además, según ellos son 'ya' un país, porque han declarado una independcia (a su manera), luego en su interior se supone que no deberían reconocer ninguna otra autoridad.... incongruencias de los independentistas.

Y por otro lado, creo que el propio gopbierno español, debería desautorizar a todos los partidos que 'decidieron votar' en ese teatrillo primero del referéndum y luego del parlamento catalán, por sublevación... inconsistencias del gobierno central si no lo hace.

No debería quedar todo igual. Es de suponer que aquellos que no quieren la independencia sepan dejar apartado sus diferencias personales, y hacer un frente común contra los independentistas. El nuevo gobierno catalán que salga de las urnas, debería desmontar el chiringuito que llevan décadas montando los independentistas en los puestos de gobierno y en las leyes que favorecen "in extremis", precisamente que si no eres independentista, lo tengas complicado como funcionario.

...pero bueno, saldrá lo que la voluntad del pueblo catalán decida. Solo espero que ahora que se han quitado la venda de los ojos y de la boca, no se dejen cegar ni enmudecer de nuevo.