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

#681
Foro Libre / Re: AUXILIO ASUNTO GRAVE!!!
17 Febrero 2021, 14:40 PM
Acude a un espacialista. Primero ve al médico y luego éste te derivará al psicólogo o al psiquiatra.
...hasta donde sé, un par de pastillas que te receten, 'desconecta' ese 'dispositivo integrado'...

Aparte de forma individual, ignora las voces y haz ejecrcio, come sano y evita consumir alcohol, drogas y café.
#683
Eres el tutor legal de tu padre, así que tienes todo el derecho a negarte. En principio, es así.
Si tu padre estuviera (por ejemplo) en una residencia de ancianos, lo más probable es que los de la residencia exigieran que se vacunase, y con tu negativa tendría un juez que tomar la decisión.

Pero si tu padre vive en tu casa y no recibe visitas (nadie salvo tú puede teóricamente contagiarle) no veo que nadie tenga motivos para oponerse a tu voluntad, tal que un juez debiera intermediar y darle la razón a una tercera parte (que no está implicada, como sería el caso de una residencia).

p.d.: En cualquier caso negarse a la vacunación propia o la de una persona tutelada, no es ningún delito. Es más creo recordar que existe un convenio internacional que justamente viene a decir que "no puede obigarse a la vacunación forozosa", pero no recuerdo los datos específicos (el nombre del mismo) de dicho convenio, para localizarlo y leerlo, habría que preguntar a un jurista especializado en temas internacionales y/o sanitarios.
#684
A todos los cuidados que has puesto en el manejo de la placa base, SIEMPRE debes añadir el de la electrostática.
Hay chips que solo con tocar sus puntas, se genera una descarga desde tu cuerpo con un voltaje muy superior al que opera en el circuito en su trabajo, el posible resultado de dicha manipulación es que se queme algún componente.

Ahora bien si logra arrancar, la cosa no es tan delicada, me inclino a pensar que no está dañada o a lo sumo algún condensador. Podrías haber olvidado conectar correctamente el cable del ventilador (el del procesador de la placa base,etc...), de modo que le llegue energía, pero no testee la temperatura?. La ausencia de datos de temperatura o un sobrecalentamiento pueden llegar a detener el sistema. Las BIOS deberíans e rmás eficaces al caso... antiguamente los 'beeps', te ayudaban a descubrir o evaluar mucho mejor el problema presente.

También, teniendo una tarjeta de vídeo interna en la placa madre, en el BIOS podrás configurar desde cuál de ellas arrancas, así aunque una de ellas estuviere dañada, eligiendo la otra podría funcionar siempre y cuando el modo de vídeo en que esté configurado el monitor sea admitido. Esto puede pasar con relativa frecuencia, cuando una tareta gráfica elige una alta resolución que el monitor admite (y recuerda, se guarda en el registro) y luego la tarjeta interna no soporta... al arrancar desde la placa interna, se puede  congelar si no es capaz de cambiar la resolución a una válida. La solución a este caso es elegir como vídeo la tarjeta gráfica externa, la PCI-eXpress (o la que sea que tengas, mientras funcione)... En resumen, determinadas placas internas, no cambian la resolución, así si el monitor tiene una fuera de rango establecida, sucede lo que te pasa, justo cuando conmuta durante el arranque a la resolución configurada para el monitor.
No recuerdo ahora entrando en el modo 'reparar' (hablas de un PC viejo, asumo que pudiera ser un XP?), haciendo uso de las herramientas como cambiar la resolución... hace una eternidad que no pruebo ciertas cosas desde 'reparar'... así que no puedo indicarte de memoria.

Recuerda que suele haber un jumper de 'chasis-intrusion', que se debe resetaer desde el BIOS... y en la BIOS, no deberías toquetear mucho más, por lo menos eso de poner valores por defecto (cuando todo funcionaba), tampoco es buena idea, si sucede que tuviste que elegir un modo específico para los discos duros, así que asegúrate que para ellos el valor es el correcto. El reset a modo de fábrica debe dejarse para el caso, en que un inexerto toca aquí y allá y no tiene ni idea de lo que hace ni los cambios que ha aplicado, y por tanto se ve incapaz de regresarlo a su estado previo.

Si al llegar aquí y descatar todo lo anterior sigue con problemas, todavía puedes hacer otro intento... retirar de nuevo todos los componentes (primero apaga el equipo, deja que se enfríe y elimina la electricidad estática de tus manos, por ejemplo tocando una gran mas a metálica), pero ahora vuelve a conectarlos uno a uno asegurándote que encajas bien los terminales. Doy por sentado que no has tocado los cables de Power-On, Reset, HDD, etc... y que no has cambiado ningún jumper de posición, no?.

Sería de utilidad si puedes tener el pc encendido (pongamos) 30 minutos, mientras estás en la BIOS frente al monitor de temperatura... así si aguanta se puede descartar sobrecalentamiento, cables mal puestos o desconfiguración por jumpers y en general daños en la placa si aguanta todo ese tiempo. Y así quedaría problemas en la configuración en la BIOS, o el software (como el mencionado de la resolución, un sistema de discos que no es la instalada, etc..), daños en el software (quizás un fichero dañado necesario para el arranque (auqneu en este caso lo típico es un "pantallazao azul de la muerte", notificando que tal o cual fichero está dañado (a veces son más de uno) o incluso daños en la tarjeta gráfica...  pero primero empieza por lo más fácil y probable.
#685
Con el teorema fundamental de la aritmética, ya Euclides hace milenios, penetró en los números primos, incluso demostró que los primos son infinitos de una forma magistral... Al problema se han aplicado gente de la talla de Euler, Fermat, Gauss, Riemann Goldbach... vamos prácticamente todo matemático que ha 'pisado dicha isla' se ha visto atrapado por la fascinación que despiertan los primos, incluso Ramanuján dejo algún que otro teorema-entuerto sobre el asunto.

Como te señalaba Kub0x, puedes proceder desde las cribas (la primera de todas fue la de Eratóstenes), después de tachar todos los compuestos, los que quedan son primos, la distribución es obvia, no arroja ningún misterio. Si quieres algo más sofisticado tira por la criba de Aitkin y si lo quieres más gráfico, por la de Matiyasevich y Stechkin...
Cuando se dice que los primos son aleatorios, el término ciertamente es impreciso, aunque se entiende perfectamente lo que intenta decir ("no conocemos una función que lo resuelva"), el término adecuado es impredecible, pero incluso dentro de esa impredecibilidad, ya Gauss, demostró con bastante aproximación cuantos primos pueden hallarse en un rango dado de números.

Con la función Zeta lo que Riemann, nos dice es que los primos forman una secuencia en las 4 dimensiones, pero dada la dificultad de concebir 4 dimensiones, lo que se ha hecho desde entonces es 'sacar fotogramas' a lo que se percibe fuera de esas 4 dimensiones (que es a lo que podemos aspirar estando enclavados en un mundo de 3 dimensiones).

Tu hiciste un gráfico 2D, y yo hace 30 años hice uno en 3D y habrá miles de personas más que habrán hecho muchas cosas muy interesante de las que nadie sabe nada ¿y qué...?

...pero nada, llegas tú y dices que no sabemos lo que son, que todo el mundo es tonto por que tú lo dices. Creo que llegado a cierto punto, lo acertado es o demostrar cosas, o dejar de decir sandeces. Teoriza todo lo que quieras (preferiblemente la teoría la lleva uno adentro y solo habla o publica cuando logra demostrar que no se equivoca), mal no hace a nadie, pero no caigas en la banalidad de descalificar a todo el mundo y proponerte por encima de ellos. Todos los nombrados (y muchos más) son sobradamente meritorios, tú, al menos aún, no puedes compartarte en nada. Si tu orgullo te lo exige... entonces déjalo para cuando logres demostrar algo (si esos llegara a suceder) y entonces llamas tonto a todos los matemáticos que existen y existieron, pero hasta entonces camina con humildad. La gente puede tragar de mejor o peor grado la soberbia de un genio, pero jamás la de un necio (y en este estado está todo el mundo hasta que demuestre lo contrario).
#686
La excepción fijo que te sale en la línea anterior 'tareas[xindex] = tareasstring;', te debe marcar una referencia nula al array, ya que no está inicializado...
Además como parece recibir una asignación pero luego no aparece más en todo el código se puede comentar (quizás es que esté sin terminar el código, pero igualmente puedes comentar dicha línea hasta entonces).

Hay más errores (de todo tipo), pero ya los irás viendo y a ver si puedes resolverlos solo...
#687
Cita de: marax en 11 Febrero 2021, 12:37 PM
..no satisfacen la logica de lo que realmente significa que un numero sea primo porque, sabemos que lsa caracteristicas de un numero primo es que puede ser dividido solo entre 1 y el mismo (en terminos de cantidades naturales) pero nadie realmente sabe que significa que un numero sea primo.
Saber, sabemos lo que son, otra cosa es que no alcancemos a conocer toda su implicación y que el único modo de resolución conocido sea la fuerza bruta.
Te interesaría conocer la definición sobre lo que son problemas NP-Completos.

En cuanto al algoritmo que expone nosoy, es subóptimo, olvídalo. Incluso el diagrama lógico es subóptimo. Sabiendo que el único primo par es dos, es ridículo aumentar en 1 el número en cada iteración.

En algún hilo se abordó algoritmos óptimos para buscarlos...
Cita de: Serapis en 20 Diciembre 2017, 18:26 PM
....
... el bucle puede mejorarse toda vez que sabemos que si acaba en 5, no será primo, y también porque muchos impares son múltiplos de 3 (esto es cada 3 impares seguidos, solo 1 es múltiplo de 3):
11,13->15;  
17,19->21;
23,25->27;
29,31->33 (todos estos a la derecha deben evitarse al buscar primos)
Así de cada 20 números enteros (tras el 10) solo hace falta verificar 5-6 números
#688
Entiendo perfectamente que personas ajenas a la seguridad, a la informática o a las matemáticas en general, diga tonterías referentes a la seguridad...

Es más díficl ya, tragar que alguien dentro de esos grupos, las suelte peregrinamente o incluso que aunque no afirme rotundamente tal o cual cosa, meta el miedo en el cuerpo a otros que no termina de comprender el problema y no les queda otra que fiarse...

No es aceptable sugerir o insinuar que un programa es inseguro meramente porque tiene antigüedad, porque es lo mismo que afirmar que solo aquello que es 'nuevo', es seguro... y eso es algo que está por demostrar, tanto como lo previo. es decir ni lo primero está demostrado (que un programa viejo sea inseguro solo por ser viejo), ni lo último está demostrado (que solo por ser nuevo es seguro), lo que deja 'en tablas', el asunto...

Tampoco es aceptable sugerir o insinuar que un 'programa desconocido', no es fiable, sin siquiera señalar a qué llama desconocido. A priori, para un usuario nuevo recién llegado al mundo de los ordenadores, absolutamente todos los programas son desconocidos, luego equivale a decir que ninguno es fiable (y quizás este fuera el mejor resumen, si tiramos del abuso de generalizar).
Todos los programas cuando se crean (por lógica) son desconocidos, luego haciendo caso de la 'sugerencia' jamás tendrían la posibilidad de ser conocidos y por tanto nos tendríamos que conformar solo con aquellos existentes en la actualizad no siendo posible crear ninguno nuevo porque 'es desconocido'.

En cambio lo de 'procedencia dudosa', es una afirmación que no arroja duda alguna al respecto.

Para terminar, mi comentario... un artículo que solo se ciñe a señalar los problemas de contraseñas y cifrado, debería aportar también las 'soluciones' para evitar cada tipo de problema que menciona, si no el artículo se queda cojo... es como emitir solo la primera mitad de un partido de fútbol (llegado a ese punto, todo el mundo espera oir, ver, leer la segunda parte). ...dicho de otro modo se queja de programas sin citar cuales, para decir que hay que usar otros conocidos, también sin citar cuales, luego al neófito, lo deja en la misma silla que estaba sentado, pero con una sensación de angustia en el cuerpo.
#689
Programación C/C++ / Re: sopa de letras
11 Febrero 2021, 21:31 PM
Esto no requiere ayuda alguna, no son un problema matemático ni de programación (per sé) es pura y simple lógica, cuentas de niño de 8 años...

Toma un papel, cuadricula un rectángulo, numera las casillas. Contínuas si usas un array unidimensional, por filas si es  bidimensional...

Marca una casilla hacia el centro como la actual...
Ahora, anota cada dirección y a su derecha las casillas que correponden a un hallazgo de por ejemplo 4 letras.
Finalmente observa la diferencia entre las casilla y analiza cual es la solución viendo que cambia.

Piensa, si no sabes pensar dedícate a otra cosa.
#690
La solución que te ofrece Elek... digo el señor Nobody, es muy válida cuando tengas expresiones enteramente textuales, pero si el contenido procede de entresacar valores de alguna parte que vuelcas sobre un array, es preferible el método que te he descrito... también será más rápido.

Te pongo un ejemplo, tu completa, corrige allí donde precises y haz los cambios que necesites...

Primero el código de ejemplo... cuyo resultado arroja 45.
(LaClaseDondeLoPongas hace referencia a una clase donde coloques el código de la siguiente sección)
Código (vbnet) [Seleccionar]

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim v() As String, o() As String
        Dim resultado As Single

        ReDim v(0 To 4), o(0 To 4)
        v(4) = "5" : v(3) = "7" : v(2) = "11" : v(1) = "13" : v(0) = "17"
        o(4) = "/" : o(3) = "-" : o(2) = "+" : o(1) = "*" : o(0) = "+"

        resultado = LaClaseDondeLoPongas.Operandos.Totalizar(v, o)
        System.Windows.Forms.MessageBox.Show(resultado.ToString)
    End Sub



Y el código que realiza todo el trabajo:
Código (vbnet) [Seleccionar]

  Public Structure Operandos
        Public Total As Single
        Private Operando As Integer
        Private Operador As Operadores

        Public Enum Operadores
            OPERADOR_SUMA = 0
            OPERADOR_RESTA = 1
            OPERADOR_MULTIPLICA = 2
            OPERADOR_DIVIDE = 3
        End Enum

        Public Shared Function Totalizar(ByRef Valores() As String, ByRef Operadores() As String) As Single
            Dim k As UInt32
            Dim T As New Operandos
            Dim Resul As New Operandos

            ' NOTA: se supone que ambos arrays son igual de largos (el primer valor se considera 0, luego se entiende que el operador para el primer operando es '+').
            ' Procesa un operando de cada vez, con el operador asociado sobre el total acumulado
            '    (si entendi mal deberas corregirlo a tus necesidades)
            For k = 0 To Valores.Length - 1
                With T
                    .Operando = Convert.ToInt32(Valores(k))
                    .Operador = ToOperador(Operadores(k))
                    .Total = Resul.Total
                    Resul = (T = Resul)
                End With
            Next

            Return Resul.Total
        End Function

        Public Shared Operator =(ByVal XY As Operandos, ByVal R As Operandos) As Operandos
            With XY
                Select Case .Operador
                    Case Operadores.OPERADOR_SUMA
                        Try
                            .Total += .Operando
                        Catch ex As Exception
                            System.Windows.Forms.MessageBox.Show(ex.Message)
                        End Try
                    Case Operadores.OPERADOR_RESTA
                        Try
                            .Total -= .Operando
                        Catch ex As Exception
                            System.Windows.Forms.MessageBox.Show(ex.Message)
                        End Try
                    Case Operadores.OPERADOR_MULTIPLICA
                        Try
                            .Total *= .Operando
                        Catch ex As Exception   ' desbordamiento, etc...
                            System.Windows.Forms.MessageBox.Show(ex.Message)
                        End Try
                    Case Operadores.OPERADOR_DIVIDE
                        Try
                            .Total /= .Operando
                        Catch ex As Exception   ' division por 0, etc...
                            System.Windows.Forms.MessageBox.Show(ex.Message)
                        End Try
                End Select

                Return XY
            End With
        End Operator

        ' Declarar un operador '=' exige declarar tambien otro '<>' (aunque no lo usemos).
        Public Shared Operator <>(ByVal XY As Operandos, ByVal R As Operandos) As Operandos
            Return Nothing
        End Operator

        ' Resulta autoexplicativo...
        Private Shared Function ToOperador(ByVal Op As String) As Operadores
            Select Case Op.Trim
                Case "+" : Return Operadores.OPERADOR_SUMA
                Case "-" : Return Operadores.OPERADOR_RESTA
                Case "*" : Return Operadores.OPERADOR_MULTIPLICA
                Case "/" : Return Operadores.OPERADOR_DIVIDE
            End Select
        End Function
  End Structure