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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 [378] 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 ... 432
3771  Programación / .NET (C#, VB.NET, ASP) / Re: hacer split y almacenarlo en una matriz en vb.net en: 17 Julio 2017, 04:58 am
Lo siento, pero todos esos 'millones' que tú dices es insignificancia... Se pueden gestionar ficheros de hasta gigabytes de tamaño con cierta soltura.

Split, está pensado para cadenas de texto pequeñas, si tienes que manejar archivos muy grandes entonces hay que trabajar a un nivel mucho más bajo, manipulando bytes, aunque tampoco hace falta llegar al ensamblador.

...pero es que ni siquiera te has molestado en explicar si tus datos tienen o no un formato fijo y estricto, ni mucho menos el formato del 'fichero gigante' que dices tener... Pero tú mismo, si no quieres hacerlo eficiente, es cosa tuya... Perder el tren por llegar tarde es una cosa, perderlo por orgullo, es tontería.
3772  Programación / .NET (C#, VB.NET, ASP) / Re: C# Problemas con un tipo de guardado en: 17 Julio 2017, 04:49 am
No. La base puedes considerarlo la parte común a todos los lenguajes e independiente de ellos. Toca un poco todos los palos.
Y basta que sea a nivel conceptual, aunque al menos la parte matemática debe quedar muy clara. Con una buena base, luego es muy asequible avanzar, sin la base es frecuente tropezar casi con cada cosa que tenga algo de complejidad.

Busca algún libro sobre "fundamentos de programación"... No te preocupes si al principio, no entiendes demasiado, a medida que avances y lo leas 3 o 4 veces, lo verás todo bastante claro, es cuestión de que puedas atar cabos, mientras habrá cabos sueltos por todos lados, cuando logres empezar a atarlos, la complejidad desaparece y todo lo que queda es el trato del inglés...
3773  Programación / .NET (C#, VB.NET, ASP) / Re: C# Problemas con un tipo de guardado en: 16 Julio 2017, 21:38 pm
No entiendo nada.
Si quieres programar, y dedicarte a esto, lo primero e imprescindible es aprender lo básico y elemental, al margen de cualquier lenguaje de programación.

Tienes que saber operar con números, tienes que entender los números negativos y las bases binaria, hexadeciaml y octal (la decimal se supone que uno lo tiene).
Tienes que saber que son las operaciones lógicas, aritméticas, qué son los condicionales y las bifurcaciones, que son las funciones, propiedades, variables, secciones de código...
Tienes que saber la diferencia entre la ejecución compilada e interpretada y por lo mismo que es depurar/'debugar' un programa.
Tienes que conocer las estructuras básicas de datos: array, estructuras, listas enlazadas, pilas (FIFO), colas (LIFO), árboles, ficheros y de las bases de datos al menos algo somero...

...y todo sin profundizar, lo básico al menos. Solo entonces es cuando puedes decantarte por un lenguaje y avanzar en profundidad, si todo lo básico lo conoces, nada en un lenguaje va a ser tan complejo que te resulte incomprensible.

Sin un conocimiento básico, es perder el tiempo. Es como querer arreglar un avión cuando no conoces ni como funciona una bicicleta.

Es impòsible poder prestar ayuda útil a alguien que carece de conocimientos básicos... ¿qué baldosa puedo decirte que pises si tu no la conoces y yo ignoro lo que tu desconoces?. Cuando alguien se pone a programar se le supone que sabe lo básico y si no es así, su prioridad no debe ser otra que adquirir esa base... se torna absurdo querer conbstruir un avión, cuando uno no sabe lo que es un ala, ni un motor a reacción ni siquiera un tobera de escape, ni una hélice. ¿¿¿Cómo se supone que vas a hacer algo que no sabes ni cómo es, ni de qué piezas se compone????.
3774  Programación / .NET (C#, VB.NET, ASP) / Re: hacer split y almacenarlo en una matriz en vb.net en: 16 Julio 2017, 21:26 pm
bueno gracias a los dos por quererme ayudar pero yo desde un principio conocía la respuesta, pero solo preguntaba por si se podía pero párese que les gusta escribir mucho y sin llegar a nada
Vaya... es que eres duro de mollera. Se te ha explicado de todas las maneras posibles y sigues sin entenderlo. Y eso de llegar a nada, lo siento, solucion se te ha dado, otra cosa es que tu desistas de usarlas...

pero solo bastaba con decir "no se puede por esto y esto", eso aclararía todo ahora yo les digo por que no se puede
Eso es lo que se ha dicho una y otra vez... y no que no se pueda si no que las soluciones no son eficaces.


primero la solución a este problema es crear una matriz escalonada cosa que ninguno de los dos menciono como el siguiente ejemplo:
FALSO. Ya te comenté eso, otra cosa es que en tu ignorancia no sepas verlo...
Existen los JaggedArray que pueden solucionar ciertos problemas con arrays multidimensionales donde cada dimensión puede tener diferente cantidad de elementos...

Tu problema más elemental se traduce en que no aclaras (ni aún a estas alturas), para que rayos necesitas hacer eso, porque es fijo que hay una manera óptima de tratar los datos, pero tu te cierras en banda en querer usar un array mutidimensional porque sí, y solo si... (y además sin usar un bucle para volcarlo). Es como si alguien dice que quiere ir a la Luna, y contrata a una empresa aeroespacial, pero al final resulta que "quiere ir con su motocicleta y no admite ninguna otra cosa". Pues va a ser que así solo irás al pueblito de al lado o a otra ciudad... pero jamás a la Luna.

Si quieres y realmente lo necesitas, explica como tienes los datos en ¿el fichero?, y explica pará que vas a usarlos y por tanto qué datos son precisos y olvida la parte de cómo o de qué manera hay que tratarlo, eso ya se te aclara... deja abierto que te sugieran como tratar los datos, no te obceques en querer hacer algo de una manera específica. Es seguro que hay mucha maneras de hacerlo óptimo, pero 'usando tu moto, forzosamente', nadie se va a comprometer a que sea óptimo...
3775  Programación / .NET (C#, VB.NET, ASP) / Re: C# Problemas con un tipo de guardado en: 16 Julio 2017, 17:45 pm
A ver, yo personalmente no critico a nadie... la idea de responder es ayudar...

Igual que señalo fallos en el código, señalo fallos en el programador. Pero porque a veces el fallo está en el código y a veces el fallo está en el programador.

Si Elektro te puso el código que cumple tus necesidades y tu luego copias y pegas y añades código superfluo, ahora demuestras que el fallo está en el programador, luego señalo el fallo encontrado...

Si el fallo está en el código, pués señalo por donde puedes avanzar, con código y más a menudo con pseudocódigo. y si el fallo está en el programador, también señalo como avanzar o como evitar o solucionar el tema. De hecho mi mensaje previo está repleto de instrucciones y alternativas, que puedes seguir...

Si tú solo crees que los fallos están el código y que tu no debes 'corregirte' entonces seguirás siempre en la 'oscuridad' sin aprender nada, si no tras tropecientos mil intentos...

No te lo tomes a mal, nadie está aquí para molestar, aprende y sigue adelante...
3776  Programación / .NET (C#, VB.NET, ASP) / Re: hacer split y almacenarlo en una matriz en vb.net en: 16 Julio 2017, 17:25 pm
hola NEBIRE no me entendiste?
claro que te entendí... el código y explicaciones que pusiste (y que repito aquí debajo) son suficientemente claro:
Código
  1. ' tengo esta variable llamada cadena que es igual a
  2. dim cadena as string = "0-1-2-3-4-5-6-7-8-9"
  3. ' y declaro una matriz de 1x10 así
  4. dim matriz(1,9) as string
  5.  
  6. ' quiero hacer split y que el resultado sea almacenado en la posicion 0 hasta 10 de la matriz sin hacer esto
  7. dim vector() as string
  8.  
  9. vector=split(cadena,"-")
  10. for x=0 to 9
  11.   matriz(0,x)=vector(x)
  12. next
  13.  
  14. ' ... quiero guardar el vector en una fila de la matriz ... y quiero ahorrarme el ciclo
  15.  

Sin embargo, eres tú quien parece no haberme entendido...
Ningún lenguaje se dedica a crear funciones peregrinas para resolver un único caso que se va a usar 1 vez cada 5 años por parte de algún programador... máximo, cuando lo mismo puede hacerse con 3 líneas de código y para colmo a cambio de una complejidad extrema (sería preciso para que fuera útil del todo declarar que partes del array deberían mantenerse, lo que exigiría copias posteriores que lo harían lento).
Pero el principal problema por el que ningún lenguaje ha hecho ni hará jamás (salvo que lo formen chiflados), es crear una función cuyo resultado a priori se desconozca, y por tanto que deba crear y redimensionar un array y que en vez de ello, derive a un array administrado por 'el usuario', para volcar el contenido, pero antes redimensionarlo y J0D35L3 el contenido actual, o a cambio de una complejidad extrema donde declare que partes exigen ser mantenidas... y la función deba restaurar esas partes previas verificaciones de si el nuevo tamaño, lo va a permitir (ajustado a la perfeccción), si va a sobrtar contenido nuevo, o si se va a destruir contenido existente...

- Cuando vas a hacer Split, de entrada no sabes cuantas apariciones habrá, por eso en un primer momento han de contarse (si se quieren guardar en un array), para luego redimensionar el array a la cantidad encontrada y en otro paso volcar ahí los datos. Si en vez de un array se usara por ejemplo una lista enlazada, podría hacerse todo en un solo paso, pero la ventaja de los arrays recae en la contigüidad de sus elementos, y de ahí la facilidad de encontrar la dirección de memoria del elemento 'x'... y con ello la velocidad de acceso.

- Si tu tienes un array ya declarado con más de una dimensión, ese array ya está definido a tener 'x' dimensiones por 'y' elementos en cada dimensión (suponiendo uno de 2 dimensiones). Un Split, podría hacer una de dos cosas sobre un array así: Redimensionarlo de nuevo para que tenga el tamaño que encuentre el 'splitado', o bien usar el espacio actual que tenga el array no redimensionándolo en ningún caso y en tal situación que queden ocurrencias sin copia. ó indices sin una reocupación (con basura del contenido previo). ambas situaciones son una chapuza.... peroooooooooo... si ese es tu caso, YA te puse código para una función que hace eso, luego no vengas con que no te entendí.... prueba la función más arriba y dime si lo hace o no (que desde luego lo hace, porque la he probado).

- Pero el problema es que tu ya tienes ese array, en cambio Split, devuelve un array que Split crea. Split no admite (en ninguna sobrecarga) como parámetro de entrada un array tuyo donde volcar el contenido. Luego Split, no hace lo que tu pides (cierto es que no he probado aún VS-2017, pero dudo mucho que hagan eso ni ahora ni nunca. Es más si a alguien se le ocurriera tamaña patraña, creo que lo despidirían ese mismo día).

- Te decía también, que es posible tras obtener el array que devuelve split, volcar en contenido en tu array (sin usar un bucle), haciendo uso de Marshalling, para operar con punteros de dirección y hacer un: copyMemory(ptrDestino, ptrOrigen, NumBytesACopiar)...
...pero francamente el código necesario en NET para esto, es mucho más que las 3 PUT45 líneas sencillas de un bucle (en vb6 sería solo la línea de código de la llamada a la función, pero en NET al operar con memoria administrada se requiere más código aunque luego compilado no difiera mucho).

- Y en cuanto a la velocidad de copia, creo que estás subestimando los procesadores.... trata de hacer pruebas de velocidad de asignación entre bucles y demuéstrame que es lento, dime cuantos millones de índices por segundo es capaz de transferir tu equipo entre 2 arrays... sin conocer nada de tu equipo, apuesto que más de 20millones por segundo, así que tu aseveración de que 'es lento' es pueril e injustificada.

---------
p.d.: En programación se puede hacer cualquier cosa, pero eso no significa que sea admisible hacer cualquier cosa, hay aberraciones y esta que propones (por no usar un bucle) es una de ellas. Francamente eso dice muy poco a tu favor como programador...

Desde el momento en que se deba realojar memoria para copiar datos y deba modificarse una infinidad y la complejidad lo haga costoso, será relativamente más sencillo proveer una array adicional que se crea en el momento preciso y se destruye cuando ya no se requiera, y se deje el resto 'en paz'.... en general esta ecuación suele ser casi siempre cierta: Mayor sencillez = mayor velocidad.

En fin si no entiendes todo esto que te digo, es que tu madurez como programador aún está muy verde...
3777  Foros Generales / Foro Libre / Re: Escenas de hackers en peliculas o series en: 16 Julio 2017, 02:55 am
Una de las primeras pelis, de ese tipo fue la de Superman III (1983), donde el actor Richard Prior, encarnaba al hacker malandrín que hacía de las suyas para sacarse un dinerito... y eso que al inicio era un prongadillo en la programación...  :laugh: :laugh: :laugh:



p.d.: No es ni de lejos, la mejor actuación como hacker, pero si que influenció a muchísima gente para meterse en el mundillo de la informática e hizo soñar a otra mucha, con lo que se podía lograr hacer con un ordenador...
3778  Programación / Programación C/C++ / Re: Necesito ayuda con mi código help en: 16 Julio 2017, 02:20 am
Código:
array Modas() =  Funcion ContarPresencias(array Numeros() ) 
    array x(0 a numeros.MaxValue)  // esto es, exige previamente o bien conocer a priori el valor mayor del array o recorrerlo en un bucle para localizarlo.

    // Contar la presencia de cada valor en el array.
    Bucle para k desde 0 a Numeros.Length-1
         x(numeros(k)) += 1
    Fin Bucle

    // Buscar la moda o modas que pudiera haber...
    Bucle para k desde 0 a x.Length -1
        Si x(k) > n luego
            n = x(k)
            Modas=1
        O si x(k) = n luego
            Modas +=1
        Fin Si
    Fin bucle

    Redimensionar Array m(0 a Modas -1)
    k=0
    Hacer Mientras (modas > 0)
        Si n= x(k) luego
            Modas -=1   //hacemos una cuenta regresiva, para ser más óptimos, nos da igual en que orden aparezcan las modas, ¿no?
            m(Modas) = k            
        Fin si
        k +=1
    Repetir

    Devolver m //el array....
Fin Funcion
La llamada a esta función con el array de valores: 1, 2, 2, 3, 3, 4, 4 devolvería un array con 3 elementos y estos serían sus valores: m(0) = 4 , m(1) = 3 , m(2) = 2

Nota sin embargo que esta solución al usar parcialmente el algoritmo counting, tiene algunas serias limitaciones:
 --- solo vale para números, no para cadenas.
 --- solo vale para enteros, no para decimales (no es dle todo cierto, pero sería costoso multiplicar todos los números para convertirlos en enteros)
 --- si el valor mayor del array es gigante, será costoso en memoria, ya se necesita memoria auxilair del array de contar presencia de cada valor desde 0 hasta el mayor valor hallado en el array. por ejemplo si tienes un array de 5 elementos y sus valores son estos: 5,6,76543210,16,84, exige crear un array de 76543211 elementos...
 --- si hay valores negativos, es costoso, exige buscar el valor menor, sumar ese valor a todos, para hacer el menor igual a 0, y al final restar ese valor al consignar los valores en el array 'm'...


Ahora bien, si es algo simple como el ejemplo que has puesto cumple perfectamente tus necesidades...

-----------------------------------------
p.d.: modificado, para indicar la salida que daría la función con tus datos de ejemplo como entrada. OJO: Solo indica los valores de moda, no la frecunecia alcanzada en la moda. Si fuere preciso esto, podría devolverse dicho valor en un índice más (el último en el array)... y los cambios al código serían estos:
Citar
Redimensionar Array m(0 a Modas -1)
 Redimensionar Array m(0 a Modas)

y...
 
Citar
k = 0
  Hacer Mientras (modas > 0)

  k = 0
  m(Modas) =n
  Hacer Mientras (modas > 0)
y finalmente la salida sería entonces:
  array con 4 elementos y estos serían sus valores: m(0) = 4 , m(1) = 3 , m(2) = 2 y la cuenta de moda: m(3) = 3
3779  Programación / .NET (C#, VB.NET, ASP) / Re: hacer split y almacenarlo en una matriz en vb.net en: 16 Julio 2017, 01:49 am
No sé yo si entiendes la idea de 'bucle'.

La solución, pasa sí o sí, por hacer bucles. Otra cosa es que el bucle lo realices tú explícitamente o delegues en algún método interno.

Split, no entrega el contenido donde tu desees, si no en la posición de memoria de un array. Si quieres que Split, entregue el resultado en otro lado, tienes que manejar el puntero del array. Básicamente falsificando la dirección del array 'vector', para hacerle creer que su dirección es en realidad la dirección del índice en Matriz(0,0). Ahora bien, esto supone un problema irresoluble aquí... ya que Split, redimensiona automáticamente el array, pero al pasarle una dirección de array falsa, la estructura (SafeArray) del array (Matriz), no va a coincidir en nada con el de 'Vector', por lo que en algún punto va a cantar un error...

No hay buenas noticias para ti, que conste que en VB no existe solución a lo que tu esperas (ni en ningún lenguaje), porque exige sí o sí, redimensionar siempre el array en el que se vuelca, y si el array ya está redimensionado hacerlo de nuevo, sin duda borraría el contenido previo, pero puedes enfangarte y hacer algo...

Lo mejor es que ya que se requiere usar bucles (sí o sí), implementes tu propia función Split ... (aquí simplificada en parámetros)

Código
  1. ''' <summary>
  2. ''' Entrecorta un texto, por un carácter que se busca y el resultado lo aloja en un array.
  3. ''' </summary>
  4. ''' <param name="Texto">El Texto origen del procesado</param>
  5. ''' <param name="Delimitador">El carácter (ojo, no un texto), por el que se busca entrecortar.</param>
  6. ''' <returns>Un array con los resultados hallados.</returns>
  7. ''' <remarks>Si delimitador se quiere que sea una cadena y no un texto, debe modificarse la búsqueda (el condicional dentro del bucle).</remarks>
  8. Public Function Split(ByRef Texto As String, Optional ByRef Delimitador As String = " ") As String()
  9.        Dim cd() As String
  10.        Dim ct1 As UInt32, ct2 As UInt32, k As UInt32, n As UInt32
  11.  
  12.        ' Buscar cuantas coincidencias se localizan...
  13.        While (k < Texto.Length)
  14.            If Texto.Chars(k) = Delimitador Then
  15.                ct1 += 1
  16.            End If
  17.            k += 1
  18.        End While
  19.  
  20.        ReDim cd(0 To ct1)
  21.  
  22.        ct2 = 0 : n = 0 ' a cero, por si se usaran antes...
  23.        If (ct1 > 0) Then ' número de subdivisiones, si no se encontró, no recorremos de nuevo el texto...
  24.            k = 0
  25.            While (k < Texto.Length)
  26.                If Texto.Chars(k) = Delimitador Then
  27.                    cd(ct2) = Texto.Substring(n, k - n)
  28.                    ct2 += 1 : n = k + 1
  29.                End If
  30.                k += 1
  31.            End While
  32.        End If
  33.        ' queda la subcadena final, puede ser el texto original si no se encontró nada.
  34.        cd(ct2) = Texto.Substring(n, k - n)
  35.  
  36.        Return cd
  37. End Function
  38.  

Bien, ahora que hay una función que opera conforme a como se espera (esto es casi igual que hace el Split de VB, digo casi, porque el delimitador aquí debe ser un solo carácter, queda a tu esfuerzo hacer los cambios necesarios que requieras), ahora puedes añadir una sobrecarga con la modificación que tu pedías...
...y hay un pero, bastante gordo... y es que tu array ya debe estar redimensionado y debe poder albergar todos los hallazgos que se encuentren, o generará error... obviamente esto conlleva a preguntar qué necesidad hay de hacer realmente esto, que no va a quedar en condiciones (no deja de ser un poco chapuza), y hace cuestionar lo más importante: ¿Para qué es necesario hacer esto?... porque seguramente existe una alternativa mucho más óptima y razonable, con la que no es posible contar al ignorar el propósito de para qué lo necesitas...

Existen los JaggedArray que pueden solucionar ciertos problemas con arrays multidimensionales donde cada dimensión puede tener diferente cantidad de elementos...

...de todos modos, ya que he perdido el tiempo en ello, lo pongo... aquí el código de la modificación... pero fíjate en las 2 importantes limitaciones de esta 'solución': No puedes redimensionar el array, y el número de elementos de la dimensión final, debe poder alojar todos los hallazgos, o bien añadir un parámetro adicional (como tiene VB), para señalar cuántos elementos desean consignarse en el array (en VB un valor de -1, indica que todos los que haya)... nuevamente queda a tu esfuerzo cualquier cambio que necesites...

Código
  1. ''' <summary>
  2.    ''' Entrecorta un texto, por un carácter que se busca y el resultado lo aloja en la dimensión de un array YA ESTABLECIDO.
  3.    ''' </summary>
  4.    ''' <param name="Bolsa">Un array ya dimensionado a un tamaño útil.</param>
  5.    ''' <param name="Dimension">El índice la dimensión donde se van a alojar.</param>
  6.    ''' <param name="Texto">El Texto origen del procesado</param>
  7.    ''' <param name="Delimitador">El carácter (ojo, no un texto), por el que se busca entrecortar.</param>
  8.    ''' <returns>El número de delimitadores hallados</returns>
  9.    ''' <remarks>Si delimitador se quiere que sea una cadena y no un texto, debe modificarse la búsqueda (el condicional dentro del bucle).</remarks>
  10.    Public Function Split(ByRef Bolsa(,) As String, ByVal Dimension As Integer, ByRef Texto As String, Optional ByRef Delimitador As String = " ") As Integer        
  11.        Dim ct1 As UInt32, ct2 As UInt32, k As UInt32, n As UInt32, d As Integer
  12.  
  13.        ' Buscar cuantas coincidencias se localizan...
  14.        While (k < Texto.Length)
  15.            If Texto.Chars(k) = Delimitador Then
  16.                ct1 += 1
  17.            End If
  18.            k += 1
  19.        End While
  20.  
  21.        ct2 = 0 : n = 0 ' a cero, por si se usaran antes...
  22.        If (ct1 > 0) Then ' si no se encontró, no recorremos de nuevo el texto...
  23.            k = 0
  24.            While (k < Texto.Length)
  25.                If Texto.Chars(k) = Delimitador Then
  26.                    Bolsa(Dimension, ct2) = Texto.Substring(n, k - n)
  27.                    ct2 += 1 : n = k + 1
  28.                End If
  29.                k += 1
  30.            End While
  31.        End If
  32.        ' queda la subcadena final, puede ser el texto original si no se encontró nada.
  33.        Bolsa(Dimension, ct2) = Texto.Substring(n, k - n)
  34.  
  35.        Return ct2
  36. End Function
  37.  

Puede sprobar ambas funciones, por ejemplo con esto:
Código
  1.        Dim s As String = "0-1---2-3-4-5-6-7-8-9-"  
  2.        ' otros textos de prueba:"0-1-2-3-4-5-6-7-8-9", "0123456789"
  3.        Dim cd() As String, sd(,) As String
  4.        Dim n As Integer
  5.  
  6.        cd = Strings.Split(s, "-") ' el split de VB, para tras su ejecución y verifica si éste resultado coincide con el que devuelve la función cuyo código se ha creado...
  7.        cd = Me.Split(s, "-")
  8.  
  9.        ReDim sd(0 To 2, 0 To 16)
  10.        n = Me.Split(sd, 1, s, "-")
  11.        n= n ' pon aquí un punto de parada (tecla F9) , y ejecuta hasta aquí, luego posa el ratón sobre 'sd' y baja a la flechita para ver el contenido del array con el intellisense
  12.  

Y bueno, si nos cuentas para que los quieres se puede analizar una solución más óptima y acorde...

Incluso usando la función Split de VB, una vez obtenido el array podrías copiar el contenido (sin un bucle), nuevamente mediante el uso de punteros a memoria... la función de las API CopyMemory, vale perfectamente para ello, pero con Marshalling (bajo NET), evitarás la problemática de las API con la memoria administrada y no administrada....

p.d.: después de todo lo dicho, espero que reconsideres la opción de usar el bucle para asignarlo en tu array, aunque sea usando copymemory si no quieres usar un bucle (internamente en ensamblador, así se hará. Te guste o no, el bucle es inevitable).
3780  Foros Generales / Foro Libre / Re: CV ciego: ¿Una medida capaz de acabar con la discriminación laboral? en: 15 Julio 2017, 18:15 pm
Sin intención de crear polémica (quizás algo difícil), creo que las empresas consideran no solo el factor 'conocimientos', si no otros factores no menos importantes laboralmente hablando.

Al ser mujer, los días de baja por problemas de salud con los hijos es algo que se asume que va a suceder, entonces evitar mujeres en cierto rango de edad, claramente rebajan la posibilidad de esas ausencias laborales.

La mayor parte de mujeres presenta cambios de todo tipo cuanto les llega la regla, probablemente la media de días con 'dificultades o cambios de carácter' sean 3 días cada mes... se achaca que en esos días rinden menos y están más irritables. Datos ciertos o no, a nadie le gusta tener que lidiar con el mal humor de la gente 'por que sí', sin venir a cuento (aunque haya un motivo, uno se pregunta: ¿y por qué debo yo cargar con tu malhumor?).

Para mi el aspecto más fundamental en detrimento de las mujeres (solo cuando optan a altos cargos), no son ninguno de esos, si no la prácticamente nula adaptación de las mujeres para llegar a un estado laboro-emocional agradable. Cuando he tenido mujeres como cargo superior, siempre han sido ásperas, tajantes, sin ningún tipo de concesión, ni consideración, no existe con ellas la posibilidad de entenderse en el punto medio, son inflexibles, lo que provoca a menudo la espantada de buenos trabajadores. También defienden a capa y espada su posición con más ahínco que cualquier hombre incluso si para ello tiene que mentir o falsificar.... entiéndase 'hechar las culpas (de las que ellas y solo ellas son responsables) a los demás, y absorber como propios los méritos de los que están bajo ellas'. Aunque esto es algo que también hacen algunos hombres, en mi vida laboral he visto que ocurre con una notable frecuencia mayor en las mujeres.
Por ello no me dule nada decir que prefiero no tener ninguna mujer como jefe (directo) y si es así, me pienso si aceptar el trabajo o no. A veces te tienta probar, porque 'no todo el mundo es igual', para ver como con el tiempo, en efecto era igual... en resumen las 'mujeres jefe', son tigresas.... 'sacan las uñas' sin razón y sin venir a cuento y no dudan en 'morder' al que sea, cuando lo necesiten.

Fuera de esto, lo demás me importa poco o nada... en conocimientos, no veo que deba existir diferencias entre hombre y mujeres, pero si veo injusto que si hay 1.000.000 de hombres con un título x y solo 1.000 mujeres con el mismo título x, no entiendo que deba haber 50/50 de altos jefes mujeres y hombres. Es ridículo y supone favoritismo sexual discriminatorio contra el hombre. Creo que a igualdad de niveles de conocimientos, el procentaje de la cúpula debería ser aproximadamente un reflejo del porcentaje de los aspirantes... si hay 10 veces mas aspirantes de mujeres a enfermertas, pues habrá 10 veces más enfermeras que enfermeros trabajando en los hospitales, y lo msimo si hay 100 veces más hombres técnicos en informártica especializados en x, habrá 100 veces más profesionales trabajando en ese campo que sean chicos que chicas.

Aún así, lo de los currículum vitae, ciegos los veo, bien... aunque para ser más exactos, los currículum, los veo una estafa inútil.
Un currículum, solo habla de tu pasado, jamás de tu presente, ni mucho menos de tu futuro. Si vas a contratar a alguien, ¿de qué te vale a ti, lo que alguien hizo hace 10 años?... ¿de qué te vale lo que 'x' hizo el año pasado en 'y' empresa?. A ti te vale lo que haga ahora en tu empresa y nada más...
Una persona pudo ser un poco inútil 15-20 años atrás, porque estaba en una adolescencia tardía, y ahora estar centrado plenamente. Un currículum, nunca refleja quién eres, ni siquiera qué hiciste, a lo sumo, para qué te contrataron...
Es frecuente que te contraten para algo y al final asumas muchos mas roles de aquellos para los que te contrataron, pero que no se reflejen en tu contrato.
Para colmo hay gente con muchos conocimientos y experiencia, pero que no puede constar en su currículum, porque no han tenido un contrato por ello... esto es algo frecuente en gente que trabaja por horas o muy pequeños contratos, incluso en gente que hace cosas 'ilegales' y que por razones obvias no va a poner en su currículum...¿quién sería tan torpe de poner en su currículum, que entró a los servidores de tales o cuales empresas, y entregar así el currículum para optar a un puesto de seguridad de una empresa???.

Por último, desde que se hicieron populares los 'responsables de recursos humanos', los currículums, más que servir para contratar a alguien sirven para descartar...
Yo he escuchado la vivencia de unas 3 personas que optaron a trabajar en 'Mercadona', el proceso de selección que hacen resulta absurdo, incomprensible, sin lógica alguna... a lo más que llego es que eligen por las razones que les dé la gana y todo el proceso es solo autobombo, para que surja la leyenda de que 'son muy exigentes'... algo absurdo. yo soy de la opinión de que todo el mundo vale para camarero, vendedor de supermercado, mozo de almacén, basurero, pintor de brocha gorda, etc, etc, etc... y en esos casos pedir currículum o cosas tan absurdas como 'se valorará conocimientos de inglés' (para un puesto de basurero), es que se les ha ido de las manos...

Los currículum, solo deberían ser exigibles para cargos altos en las empresas, donde el conocimiento se les supone y la capacidad deben demostrarla.

La ley establece un período de pruebas de 15 días, durante el cual, tanto el trabajador como la empresa, puede renegar del contrato sin ninguna obligación extra y esto debería ser suficiente para valorasr si un trabajador vale o no para el puesto... lo que si debería hacer el gobierno es flexibilizar que durante ese período, los costes de alta y baja del trabajador (en caso de no resultar finalmente apto), así como el coste a la seguridad social, en esos casos fuera mucho menor...
...porque eso es lo que escuece a muchas empresas y quieren asegurarse antes de dar de alta a nadie que es apto para el puesto, cuando es algo previsto en los contratos ese período de pruebas de 15 días. Las empresas quieren hacer esa evaluación a un coste nulo y al final ni la evaluación es correcta, ni el ahorro es asumible, porque los de 'recursos humanos', al final están en plantilla con un coste fijo (asumible solo para medianas y grandes empresas).
Páginas: 1 ... 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 [378] 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 ... 432
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines