elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 127
141  Foros Generales / Noticias / Re: SII chileno define prácticas tributarias para las criptomonedas en: 6 Marzo 2018, 16:03
 :laugh: :laugh: :laugh: :laugh: esto es lo mismo que decir:
"Señores delincuentes, devuelvan lo que han robado y entréguense a la policía." ...esto es: algo que nunca ocurrirá.
142  Foros Generales / Noticias / Re: Trump alimenta la interminable polémica: el problema de los tiroteos son los ... en: 4 Marzo 2018, 22:56
Es lo que pasa cuand se elige como presidente a un anormal.

Pienso yo que para presentarse a presidente, debería uno pasar algún test mental...

Cada x años, en USA se elige a un presidente de este 'tipo', para barrer... y que no haya quien pueda hacer nada, el último fue 'Bush' (hijo) otro anormal... curiosamente siempre todos millonarios...

Pero me gusta la solución. Si hay gente que muere de hambre en el mundo, culpemos a las hormigas o a los ratones, que se comen la comida...
143  Programación / Programación C/C++ / Re: Añadir 3 condiciones && en un if ¿Es posible? C en: 4 Marzo 2018, 20:21
Buenas, estoy intentando introducir tres condiciones en un if, más o menos así:

Añadir 3 condiciones && en un if ¿Es posible? C )
Técnicamente un lenguaje no limita el número de condiciones, sino al límite que el compilador tuviere en la pila.... vamos que puedes tener perfectamente 40 y 4000 condiionales en una sola línea si fuera preciso.
Otra cosa es que sea aconsejable a partir de cierto número, o dicho de otro modo, si hay un número alto de condiciones en una misma línea cabe preguntarse si el código que se está realizando es subóptimo...
144  Programación / Ejercicios / Re: Ayuda en ejercicio en C++ en: 4 Marzo 2018, 20:17
No se hacen tareas... se ayuda a resolver dudas puntuales.

Muestra que llevas hecho y donde te atascas y a partir de ahí puedes recibir ayuda.
145  Programación / Java / Re: Quitar IF en: 4 Marzo 2018, 20:13
Otro tema sería usar un "goto" que eso si que es aberrante en casi todos los casos.
Es la misma tontería... un goto, es un Jump a nivel ensamblador... es inaceptable evadir su uso.

Lo que hacen los lenguajes de alto nivel es darle estructura a los saltos y delimitar el punto al que salta... por ejemplo para un bucle, simplemente se le permite 'salir del bucle', no saltar a cualquier otro punto si se usa, solo salta fuera dle bucle.
Código:
Bucle para k desde x hasta y
   ...
   Si (k es múltiplo de 7)
        Salir del bucle // es un jump, un goto...
   fin si
Fin bucle

Los goto, fueron condenados, no por el goto en sí, que son imprescindibles, si no porque lo hacían en la misma manera que se usan en ensamblador... un salto incondicional a una dirección específica sin que quede claro, el flujo, algo legítimo en ensamblador, queda sin embargo anodino en un lenguaje de alto nivel... especialmente cuando el programador no tiene/tenía la base suficiente, fabricando código altamente espagueti... (enredado).
146  Programación / Java / Re: Quitar IF en: 4 Marzo 2018, 20:00
Si los 'if' fueran ineficaces ni siquiera formarían parte de la lógica... pero es que la lógica se basa exclusivamernte en los condicinales... a nivel 'atómico', son puertas AND, OR y XOR... lo que al final configuran los 'if'... cuando hacemos un if, estamos haciendo una comparación que a nivel de diseño, es una resta, y cuyo resultado arroja uno de 3 valores <0, 0 ó >0. Como resultado uno o más bits del registro de estado del procesador (en los x86), se activa y luego es cuando el programador puede 'test'ear el resultado.

Gran parte de la lógica digital descansa precisamente en esto... y en los saltos (al caso condicionados por el resultado de la comparación).

....

Esto no quiere decir que lo que te han señalado sobre el uso y abuso de 'IF', como que es mala programación no sea correcto, siempre que se entienda sin ambigüedad a que se quiere referir..., y parta ello te expongo claramente el ejemplo de 'no usar + ifs' de los necesarios...

Por ejemplo, en el caso de calcular fechas... dado que es complejo, verificar en concreto si un día, de un mes, de un año cae por ejemplo es tal o cual día ó si es válido (existe dicho día para dicho mes), exige usando IFs, muchas comprobaciones... entonces al caso es que es preferible resolverlo de forma más arítmetica que lógica...

En otras ocasones es haciendo uso de las operaciones lógicas más elementales: AND, OR, XOR qwue al fin y al cabo, bien entendidos son otra forma de condicionales.

Lo que se hace en general es calcular, y al final basta uno solo o dos condiconales.

Una foma sencilla de usar 'If's y no sobrecargar con cada llamada es entender que todos los meses tienen un nínimo de 28 días, luego no es preciso hacer un cácluclo total y abusivo con cada fecha que se llame...

Por claridad creamos una estructura que comprenda los datos precisos.
Código:
Estructura Fecha
    byte día
    byte mes
    entero año
fin estructura

También por claridad, no se consideran (en la función) los casos en que mes, día o año estén fuera de rango...
    Si ((f.año > x) y (f.año < y)) //x,y representan un límite impuesto para el año....
    Si (f.mes > 0) y (f.Mes < 12)  // mes va en el rango 1-12, descartar cualquier otra posibilidad (aunque podría ir en el rango 0-11).
    Si (f.dia > 0) y (f.dia < 32)  // se supone que día está en el rango 1-31

Código:
buleano = Funcion ValidarFecha(fecha f)
  Si (f.dia <= 28)
     devolver TRUE
  Sino
    devolver ValidarFechaAFondo(f)
  Fin si
Fin funcion

Aquí es cuando nos meteríamos en verificar si el día es 29, 30 ó 31 en base al mes y en caso de ser febrero el mes, en si es bisiesto.
Código:
buleano = Funcion ValidarFechaAFondo(fecha f)
    byte mes = f.mes

    Si (mes = 2) // febrero
        Si (f.Dia <30)
            Si AñoEsbisiesto(f.año)
                devolver TRUE
            fin si
         fin si
    Sino
        // el 'ó', es también un condicional... así esta línea tiene 4 condicionales.
        Si (mes = 4) ó (mes = 6) ó (mes = 9) ó (mes = 11)
            Si (f.dia < 31)
                devolver TRUE
            Fin si
        Sino  //enero, marzo, mayo, julio, agosto, octubre y diciembre tienen 31 días.
            devolver TRUE  
        Fin si
    Fin si
    
    devolver FALSE  
Fin Funcion

Por ejemplo: si queremos hacer algo basado en si un mes tiene 30, 31, 28, ó 29 días... sería relativamente sencillo, crear un array... que aunque largo, contuviera ya la solución, así se ahorrarían muchísimos 'IF's, y solo sería preciso una comprobación posterior para el caso de febrero cuando se señale el día 29 y no para 30 y 31

Nota ahora como el siguiente código ahorra mucho código a cambio de ocupar más memoria, con un array...
Código:
  //                                          mes , día
   Array de bytes DiaMesValido(0 a 12, 0 a 2) // el mes 0, no se usa...

Funcion RellenarArrayValido
   // Enero
   DiaMesValido(1,0) = 1   // día 29
   DiaMesValido(1,1) = 1   // día 30
   DiaMesValido(1,2) = 1   // día 31
   // Marzo
   DiaMesValido(3,0) = 1   // día 29
   DiaMesValido(3,1) = 1   // día 30
   DiaMesValido(3,2) = 1   // día 31
   // Mayo
   DiaMesValido(5,0) = 1   // día 29
   DiaMesValido(5,1) = 1   // día 30
   DiaMesValido(5,2) = 1   // día 31
   // Julio
   DiaMesValido(7,0) = 1   // día 29
   DiaMesValido(7,1) = 1   // día 30
   DiaMesValido(7,2) = 1   // día 31
   // Agosto
   DiaMesValido(8,0) = 1   // día 29
   DiaMesValido(8,1) = 1   // día 30
   DiaMesValido(8,2) = 1   // día 31
   // Octubre
   DiaMesValido(10,0) = 1   // día 29
   DiaMesValido(10,1) = 1   // día 30
   DiaMesValido(10,2) = 1   // día 31
   // Diciembre
   DiaMesValido(12,0) = 1   // día 29
   DiaMesValido(12,1) = 1   // día 30
   DiaMesValido(12,2) = 1   // día 31

   // Mes de 29 días: Calcular bisiesto
   // Febrero
   DiaMesValido(2,0) = 255   // día 29
   DiaMesValido(2,1) = 0      // día 30
   DiaMesValido(2,2) = 0      // día 31

   / Meses de 30 días: Abril, Junio, Septiembre y Noviembre
   // Abril
   DiaMesValido(4,0) = 1   // día 29
   DiaMesValido(4,1) = 1   // día 30
   DiaMesValido(4,2) = 0   // día 31
   // Junio
   DiaMesValido(6,0) = 1   // día 29
   DiaMesValido(6,1) = 1   // día 30
   DiaMesValido(6,2) = 0   // día 31
   // Septiembre
   DiaMesValido(9,0) = 1   // día 29
   DiaMesValido(9,1) = 1   // día 30
   DiaMesValido(9,2) = 0   // día 31
   // Noviembre
   DiaMesValido(11,0) = 1   // día 29
   DiaMesValido(11,1) = 1   // día 30
   DiaMesValido(11,2) = 0   // día 31
Fin funcion

// Al inicializar el componente se crea el array (estático) una única vez.
funcion Inicializar
   llamada a la funcion RellenarArrayValido
fin funcion

La función de validación (es la misma que la previa):
Código:
buleano = Funcion ValidarFecha(fecha f)
  Si (f.dia <= 28)
     devolver TRUE
  Sino
    devolver ValidarFechaAFondo(f)
  Fin si
Fin funcion

Y finalmente la función de validación 'a fondo' ahora queda así:
Código:
buleano = Funcion ValidarFechaAFondo(fecha f)
    byte resultado

    resultado = DiaMesValido(f.mes, f.dia - 29)  
    Si (resultado = 1)
        devolver TRUE
    Si (resultado = 255)  // caso de febrero, día 29...
        Si AñoEsbisiesto(f.año)
            devolver TRUE        
        Fin si
    Fin si

    devolver FALSE
fin funcion

Incluso si comparas la primera función (que yo expongo) con tú código, ésta es mucho más óptima, sigue sin necesitar entrar en consideraciones extras si el día es inferior a 29, ya que todos los meses tienen esos días... pero en la 2ª función que expongo...

Como se puede ver, se ha limitado mucho la cantidad de los 'If's usados. Hay otras opciones igualmente aceptables, pero la idea simplemente es la demostrar que el número de condicionales puede ser limitado de diferentes maneras, en el ejemplo mediante el uso de un array pre-configurado con las soluciones...
Ante una miríada de llamadas, se puede ver que solo se va a calcular si el año es bisiesto, tan solo cuando el mes introducido es febrero y el día 29 (tampoco si se indica día 30, ni 31 para febrero), y no con cada fecha que se recibe....

La función AñoEsBisiesto... queda a tu esfuerzo, baste saber que cada 4 años es bisiesto, y que los acabados en 00, no lo son, pero cada 400 años, el que acabe enn 00 si lo es, etc... posiblemente en wikipedia esté bien explicado, si lo precisas...

Otros casos para evitar IFs conllevan usar aritmética, o solucionando casos con AND, OR y XOR (pueden testear varios bits a la vez, en vez de verificar cada caso con un 'if suelto').
147  Foros Generales / Foro Libre / Re: El fraude de la Homeopatía y lo que la medicina moderna puede aprender de ella.. en: 23 Febrero 2018, 16:42
Je... gracioso el temita...
Muchos quejándose de la homeopatía, porque dicen que no tiene nada de ciencia...

Bueno, vayamos a la Ciencia...

La mayor parte de las llamadas 'enfermedades mentales', no son ninguna enfermedad, solo comportamientos que distan de lo que quien quiera dice que es "normal" y "fuera de lo normal", de ahí se sigue una visita al pisocólogo o psiquiatra, de ahí un diágnostico y finalmente un tratamiento... y así tenemos que al final el 80% o más de la población tiene o tendrá una  enfermedad mental, por la que estará medicalizada toda su vida...

...sin ir más lejos cuando un niño es algo travieso e inquieto (vamos que le resulta imposible estar sentado en la escuela porque le aburren soberamanete las gilipolleces que está oyendo y que pretendan tratarlo como un corderito atado con cadena, lo llaman 'defícit de atención, hiperactividad' y 'hale-hop' a medicarlo... a un niño que apenas tenga o rebase los 10 años... ya ni siquiera hablo de gente adulta que algo de sesera tendrá para decidir si se deja comer el cerebro o no, pero hacerlo con niños es de cárcel para arriba.

Yo no sé que es peor, que alguien abandonado de la ciencia médica por no tener cura, pero pero que por DECISIÓN PROPIA, decida seguir un tratamiento homeópatico (al margen de su efectividad) o que gente sana sea convencida de estar enferma y necesitar medicamentos... en un caso uno está enfermo, lo tiene claro y no tiene cura, agarrarse a un clavo ardiendo por una mísera posibilidad es una cosa, y por otro estar sano y convencerlo de no estarlo y que tome 'medicamentos' que fijo que si lo van a enfermar, es sin ningún género de dudas mucho más malvado y terrible. Juzgad vosotros, yo lo tengo tan claro que mandaría a mucha gente a la guillotina sin pestañear...

...y la cosa no acaba sólo en supuestas enfermedades mentales, la cosa contnúa con los medicamentos para controlar el colesterol, los adelgazantes, etc, etc... es tan larga la lista que resulta vergonzoso. y eso sí es Ciencia????.... porque detrás de ella hay científicos a patyadas, con tanta titulitis que pareciera generada como un virus...

No pondré muchos vídeos, cualquier persona un poco sensata debería ser capaz de buscar por sí mismo (basta y sobra con el sentido común, tan ausente y carente hoy día, para conocer la verdad):

Las grandes farmacéuticas:
<iframe width="640" height="360" src="https://www.youtube.com/embed/8k25PIQpMLU" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

La salud mental, o el negocio de dictar enfermo a todo el mundo, a tí porque te gusta el ordenador o el móvil te declaramos 'adicto a las tecnologías', al otro obsesión por esto o aquello, al otro... en 20-40 años, todos seremos enfermos (si sobrevivimos para entonces, claro):
<iframe width="640" height="360" src="https://www.youtube.com/embed/YEPYnL7KDuQ" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>


Sobre el déficit de atención y tonterías similares:
<iframe width="640" height="360" src="https://www.youtube.com/embed/44tZtYa5SVo" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Punset en su programa Redes, tratando el 'efecto placebo' (te venden humo, pero te lo cobran a precio de medicamento, más o menos es la misma queja de la homeopatía):
<iframe width="640" height="360" src="https://www.youtube.com/embed/owBWskk9B88" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Se podría poner muchos vídeos, pero no lo creo necesario, solo una pizca, doy por supuesto que os valeis por vosotros mismos...


p.d.:
para terminar, digo yo... que si yo fuera psicólogo, lejos de diagnosticar a los niños con 'déficit de atención e hiperactividad' diagnosticaría al resto de 'carencia de actividad y exceso de inaniccción sumida en somnolencia aturdidora constante...' y 4000 adjetivos más y ¿los medicaría, o quizás a los padres por tener hijos tan soberanamente robotizados y aburridos?.
148  Foros Generales / Noticias / Re: Cómo esta lista de 500 millones de contraseñas hackeadas puede ayudar a ... en: 23 Febrero 2018, 07:31
psssssssch...

Es un poco tontería. Estaremos de acuerdo en que 12345678... es una aberración, pero si 20 personas han usado alguna vez una contraseña como: 457ptbvi2kDf89Güh, preteder no usarla es tontería... deberán meter previamente ese  medio millón de contraseñas...
La contraseña "BillGatesEsTonto", no ha sido usada, pero prefiero la previa aunque hubiera sido usada 20 veces anteriormente.

El problema de la gente es que no dedica nada de tiempo a pensar un modelo de realizar contraseñas complejas, largas y aún así fácilmente memorizables...

...parte de culpa (probablemente un 90%), se deba a cosas como los candados (con 3 ó 4 rodillos de 10 cifras) y los malditos pines de teléfoonos móviles y  tarjetas de crédito, porque siendo un sistema de seguridad, donde 'la gente de la calle' confía en que 'los banqueros sabrán que es bueno para la seguridad', usan solo 4 dígitos, igual que los candados sencillos de toda la vida... La gente piensa en su interior que si los bancos sólo te reclaman 4 cifras, es seguro, introducir contraseñas de 6 letras debe ser extremadamente seguro...

...y como ninguna agencia de seguridad (ni siqueira un agente de seguridad a título personal), tiene el valor de burlarse públicamente de los imbéciles fabricantes y diseñadores de candados, telefónos móviles y tarjetas de crédito, la gente no cambia de opinión ni se toman las cosas más en serio... Si los bancos lo tienen así de simple, y ninguna autoridad, se queja ni reclama nada mejor, es razonable que los no informados consideren que algo como el nombre de su gato (que tiene 8 letras y se ha molestado en poner 2 de ellas en mayúsculas), es superseguro...

Y para rematar, los proveedores de correos electrónico, exigen un mínimo de caracteres, excesiamente bajo... 6-8, cuando lo lógico es que siendo más conscientes del problema lo subieran a un mínimo de 16 caracteres. Así Google tiene tambén gran parte de culpa, por un lado con su Gmail y también por la estúpida idea del bloqueo de Andorid con el sistema del patrón de 3x3... 

En fin, si ni siquiera las  supuestas empresas interesadas en ofrecer seguridad, se toman las debidas molestias, la gente forzosamente ha de confiar en la gente que 'supuestamente entiende del tema', alegando que sí ellos 'que saben' no lo exigen es por que es suficiente...
149  Foros Generales / Noticias / Re: Tu youtuber de confianza no va a subir vídeo: YouTube tiene problemas en: 22 Febrero 2018, 17:38
Google, una vez más, miente...

Los cambios, creo yo que tienen más que ver, con recaudar más dinero y el modo de hacerlo es pagar menos a 'sus youtubers'... en respuesta a la demanda millonaria que le impuso la UE, de 2420 millones de euros...
https://www.elconfidencial.com/tecnologia/2017-06-27/google-shopping-ue-europa-multa-comparadores-online_1405648/


...dicho de otra manera, mata varios pájaros de un tiro:
1- Solventar los problemas que sus clientes de publicidad le reclaman.
2- limitar posibles trolls en alguna medida y..
3- recaudar a base de limitar lo que paga.

Las dos previas son la excusa de para la última, cuando posiblemente la última sea la razón de las dos previas (esto es, la puesta como 3ª es en realidad la 1ª, tras lo cual surgen las siguientes, pero explicado en orden inverso, resulta más conviencente a los afectados, que decirles: "Os bajo los pagos, para recaudar los fondos para pagar la multa, en resumen, que vosotros me vais a pagar la multa, queridos youtubers".
150  Foros Generales / Noticias / Re: Cómo 4 gigantes tecnológicos controlan toda tu vida:"Hay que frenarlos como sea" en: 22 Febrero 2018, 17:29
Estoy de acuerdo en algunas cosas, especialmente en que: "hay que frenarlos...", no tanto en "...como sea", y para terminar, me extraña que por vez primera, no ver demonizado a Mocosoft... además incluiría en la lista, muchas más empresas, de hecho más que '4', yo haría una lista de 400 (como mínimo). ...si solo fueran 4, no merece la pena 'hacer una lista'... es una liga fácil de 'recordar'.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 127
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines