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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
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 ... 34
111  Programación / Programación General / ¿Crees que definir el tipo de variable es útil o perjudicial? en: 9 Septiembre 2023, 11:19 am
Conversación con GPT:
¿Por qué en actionscript defines una variable por ejemplo así:
var count:int = 1;
cuando la puedes definir simplemente así:
count = 1;
?

Citar
En ActionScript, la declaración de variable con la palabra clave "var" seguida del tipo de dato y el nombre de la variable es una forma más explícita de definir una variable y asignarle un valor inicial. Esto se conoce como declaración e inicialización en una sola línea.

Al utilizar la sintaxis "var count:int = 1;", se está indicando que se desea crear una nueva variable llamada "count" de tipo entero (int) y se le asigna el valor inicial de 1. Esta sintaxis es útil cuando se desea especificar el tipo de dato de la variable de manera explícita y se quiere asegurar que la variable sea del tipo correcto desde el principio.

Por otro lado, la forma de definir una variable sin la palabra clave "var" es conocida como una asignación simple. En este caso, se asume que la variable "count" ya ha sido declarada anteriormente en el código. Si la variable no ha sido declarada previamente, se generará un error.

La elección de utilizar una u otra forma depende del contexto y de las preferencias del programador. Algunos programadores prefieren la declaración explícita de variables para mayor claridad y evitar posibles errores, mientras que otros pueden optar por la asignación simple cuando ya se ha realizado la declaración previa de la variable.

a mí nunca me dio error

Citar
Es posible que en tu caso específico no hayas experimentado errores al asignar directamente un valor a una variable sin utilizar la declaración explícita con la palabra clave "var". Sin embargo, es importante tener en cuenta que el lenguaje ActionScript es un lenguaje tipado, lo que significa que se espera que las variables tengan un tipo de dato específico.

Al utilizar la declaración explícita con "var count:int = 1;", estás indicando claramente que la variable "count" es de tipo entero (int) y se le asigna el valor inicial de 1. Esto ayuda al compilador a realizar verificaciones de tipo y garantizar que se utilicen las variables de manera coherente en el código.

Al omitir la declaración explícita y simplemente asignar un valor a la variable "count = 1;", el compilador de ActionScript puede inferir el tipo de dato basándose en el valor asignado. Sin embargo, esto puede llevar a confusiones o errores si el valor asignado no coincide con el tipo de dato esperado para esa variable.

En resumen, aunque no hayas experimentado errores en tu caso específico, es una buena práctica utilizar la declaración explícita con la palabra clave "var" para asegurar la consistencia y evitar posibles problemas relacionados con los tipos de datos en ActionScript.

muéstrame un ejemplo de un error

Citar
Claro, aquí tienes un ejemplo en ActionScript donde se produce un error al asignar un valor incorrecto a una variable sin utilizar la declaración explícita:

```actionscript
var count:int;
count = "1"; // Asignación incorrecta: se intenta asignar una cadena de texto a una variable de tipo entero

trace(count);
```

En este ejemplo, se declara una variable "count" de tipo entero utilizando la palabra clave "var". Luego, se intenta asignar el valor "1" como una cadena de texto a la variable "count", lo cual es incorrecto ya que se espera que la variable sea de tipo entero.

Al ejecutar este código, se producirá un error de tipo en tiempo de ejecución, y se mostrará un mensaje similar al siguiente:

```
TypeError: Error #1034: Tipo de coincidencia de valores no válida. No se puede convertir "1" en int.
```

Este error indica que se está intentando realizar una conversión no válida de una cadena de texto a un entero, lo cual es incompatible. Si se hubiera utilizado la declaración explícita con la palabra clave "var", se habría detectado el error durante la etapa de compilación y se habría evitado la ejecución del código con dicha asignación incorrecta.

pero ahí el error no ocurrió por no especificar el tipo de variable, sino por por especificar el tipo y darle un valor de otro tipo. Si no especificas el tipo se asigna según el valor y no hay problema ¿o sí puede haberlo? dame un ejemplo de que no se asigne el tipo y eso de un problema

Citar
Tienes razón, en ActionScript, si no se especifica el tipo de variable al declararla con la palabra clave "var", el tipo se asignará automáticamente según el valor asignado. Por lo tanto, no habrá un error si el tipo del valor asignado coincide con el tipo esperado para esa variable. Sin embargo, es posible que ocurran problemas si el tipo del valor asignado no coincide con el tipo esperado.

Aquí tienes un ejemplo donde no especificar el tipo de variable puede causar un problema:

```actionscript
var count; // Variable declarada sin especificar el tipo
count = "1"; // Asignación de una cadena de texto

trace(count);
```

En este ejemplo, la variable "count" se declara sin especificar el tipo utilizando "var". Luego, se le asigna el valor de la cadena de texto "1".

El problema ocurre cuando intentas realizar operaciones o utilizar la variable en contextos donde se espera un tipo de dato específico. Por ejemplo:

```actionscript
var count;
count = "1";

var result:int = count * 2; // Intento de multiplicar una cadena de texto por 2

trace(result);
```

En este caso, se intenta multiplicar la variable "count" por 2 y asignar el resultado a la variable "result" de tipo entero. Sin embargo, dado que "count" se asignó como una cadena de texto en lugar de un entero, se producirá un error en tiempo de ejecución debido a la incompatibilidad de tipos:

```
TypeError: Error #1006: No se puede acceder a la propiedad * mediante una referencia a un valor de tipo String.
```

Este error indica que no se puede realizar la operación de multiplicación en una cadena de texto.

En resumen, aunque ActionScript permite asignar automáticamente el tipo de una variable cuando no se especifica, es importante tener en cuenta que esto puede causar problemas si se utiliza la variable en contextos donde se espera un tipo de dato específico. Por lo tanto, es recomendable especificar explícitamente el tipo de variable siempre que sea posible para evitar posibles errores de tipo en tiempo de ejecución.

eso puede ocurrir incluso si se define el tipo

Citar
Tienes razón, incluso si se define el tipo de variable al declararla en ActionScript, aún es posible encontrarse con problemas si se asigna un valor incompatible con ese tipo. Aquí tienes un ejemplo:

```actionscript
var count:int = "1"; // Asignación incorrecta: se intenta asignar una cadena de texto a una variable de tipo entero

trace(count);
```

En este caso, se declara la variable "count" con el tipo de dato explícito "int". Sin embargo, se intenta asignar la cadena de texto "1" a la variable, lo cual es incompatible con el tipo entero.

Al ejecutar este código, se producirá un error de tipo en tiempo de ejecución similar al siguiente:

```
TypeError: Error #1034: Tipo de coincidencia de valores no válida. No se puede convertir "1" en int.
```

Este error indica que se está intentando realizar una conversión no válida de una cadena de texto a un entero, lo cual es incompatible.

La especificación del tipo de variable al declararla en ActionScript ayuda al compilador a realizar verificaciones de tipo durante la etapa de compilación. Sin embargo, no garantiza que los valores asignados sean siempre compatibles con el tipo especificado. Es importante asegurarse de asignar valores que sean del tipo esperado para evitar errores de tipo en tiempo de ejecución.

lo que te digo es que incluso definiendo el tipo y el valor acorde al tipo, si luego intentas usar esa variable en contextos que dará error, entonces dará error, entonces el problema no es no definir el tipo, sino asignarle un valor y querer usarlo en contextos en que no encaja. Por eso definir el tipo es inútil

Citar
Tienes razón, pido disculpas por la confusión anterior. Si definiste el tipo de variable correctamente y asignaste un valor compatible con ese tipo, no deberías encontrar problemas al utilizar la variable en contextos adecuados.

La ventaja de definir el tipo de variable explícitamente es que proporciona claridad y ayuda a prevenir posibles errores al asignar valores incorrectos. Además, también permite al compilador realizar comprobaciones de tipo durante la compilación, lo que puede ayudar a identificar errores antes de tiempo.

Sin embargo, es importante tener en cuenta que la definición del tipo de variable no garantiza por sí sola que no se produzcan errores en el uso posterior de la variable. Si intentas utilizar la variable en contextos incompatibles con su tipo, como realizar operaciones no válidas o pasarla como argumento a una función que espera un tipo diferente, es posible que se produzcan errores.

En resumen, definir el tipo de variable puede ser útil para mejorar la legibilidad del código y prevenir errores de asignación de valores incompatibles. Sin embargo, aún es necesario tener en cuenta el contexto de uso de la variable y asegurarse de utilizarla de manera coherente con su tipo especificado.

Bueno señores, si dice que ayuda a la compilación a detectar errores en ella, no puedo demostrar lo contrario, pero definitivamente una variable más clara es una que incluye simplemente su nombre y su valor, yo veo ese "var" y lo demás y me da una especie de ataque de nervios  :laugh:

Para saber cómo quiero usar una variable pienso qué tipo de valor tenía, memorizo el valor inicial o el que haya definido por última vez, no necesito definir el tipo.

En fin, cada uno haga lo que quiera.
112  Programación / Programación General / ¿Qué serie de candidatos cumplen en general condiciones más rápido y cómo programarla? en: 9 Septiembre 2023, 10:46 am
Si se quiere hallar un número positivo entero que cumpla una condición, el método más simple es algo así:
Código:
N = 0
Repetir:
  N++
  Si N cumple la condición
    mostrar N en pantalla
    N = "Listo"
mientras N != "Listo"

¿Pero qué pasa si se quiere también que se chequeen números negativos? Podría ser:
Código:
N = 0
Repetir:
  N++
  Si N cumple la condición
    mostrar N en pantalla
    N = "Listo"
  sino
    N*-1
    Si N cumple la condición
      mostrar N en pantalla
      N = "Listo"
    sino
      N*-1
mientras N != "Listo"
¿No?

¿Y si se quiere que también se chequee decimales cada vez más largos? Esto ya no sé, me refiero a algo como:
0
1
-1
2
-2
0.1
-0.1
3
-3
0.2
-0.2
0.01
-0.01
etc
¿Con qué código se podría generar una serie así?

En cuanto a que la serie produzca números que en general cumplan cualquier condición más rápido que otras, quizá no sea posible, porque si se necesita un número mayor que 10000 por ejemplo entonces que se produzcan negativos enlentecerá el proceso, acelerar el hallazgo de ciertos Ns enlentece la de otros.

Pero entonces al menos me gustaría que la serie produzca siempre partes muy distintas a las anteriores, creo que sería parecido. ¿Qué es "distintas"? Puede decirse que 123 es lo más distinto a -123, pero sus subnúmeros (1, 2 y 3) son iguales, su orden es el mismo, su diferencia es la misma (1-2=-1, 2-3=-1), la distancia entre los números en sí es sólo 246, etc, mientras que por ejemplo -9077 sería distinto en muchos más aspectos. Si sólo fuesen números positivos, me gustaría que fuese algo como:
1
9 (número de 1 subnúmero, lo más alejado posible del anterior).
53 (número de 2 subnúmeros, primero el más alejado o promedio de los anteriores, y el 2ndo es el más alejado entre medio del central y el mínimo (5 y 1)).
7 (1 subnúmero, el más alejado del que era central y del máximo (5 y 9)).
26 (2sns, no sé si sería el correcto pero quedando "02468", 2 y 6 son los más alejados y además están ordenados de menor a mayor, no como el anterior 53).
804 (3sns, quedaba "048", quizá 408 serviría, lo esencial es que no esté totalmente ordenado).
A partir de aquí ya no quedan números sin usar así que se repetirían, además cuando se formen números con varios subnúmeros también deben repetirse algunas veces (ejemplo 55).
¿Cómo se puede programar que suceda algo así?

Me gustaría mezclar eso con negativos y decimales también, cuidando que los mismos tipos de número (por ejemplo los negativos) sean siempre distintos (porque al producir distintos tipos cuidando que sean distintos entre sí quizá se da el caso de que los del mismo tipo sean muy parecidos, hay que evitar eso también).
¿Cómo?

Veamos qué dice GPT.
¿Con actionscript cómo se podría generar una serie así?
0
1
-1
2
-2
0.1
-0.1
3
-3
0.2
-0.2
0.01
-0.01
etc

Citar
Aquí tienes un ejemplo de cómo generar la serie que mencionaste utilizando ActionScript:

```actionscript
var series:Array = [];
var n:Number = 0;
var sign:Number = 1;
var increment:Number = 1;

while (series.length < 100) {
    series.push(n);
   
    if (sign > 0) {
        n += increment;
    } else {
        n -= increment;
        increment /= 10;
    }
   
    sign *= -1;
}

// Imprimir la serie
for each (var num:Number in series) {
    trace(num);
}
```

En este ejemplo, utilizamos un bucle `while` para generar los números de la serie. La variable `n` almacena el número actual, `sign` determina si el número debe ser positivo o negativo, y `increment` controla el tamaño del siguiente incremento.

En cada iteración del bucle, agregamos el número actual a la serie y luego actualizamos `n`, `sign` y `increment` según las reglas de la serie. Cuando el signo cambia de positivo a negativo, dividimos `increment` por 10 para generar los números decimales más pequeños.

Después de generar la serie, imprimimos cada número utilizando el comando `trace()`.

Ten en cuenta que este ejemplo es solo una forma de generar la serie solicitada en ActionScript. Puedes ajustar los parámetros y la lógica según tus necesidades específicas.
Muy complicado, hay mucho de ahí que no entiendo (no uso AS así), intento que simplifique:
Citar
puede ser una lista de números sueltos en vez de una serie?

Citar
¡Por supuesto! Si deseas generar una lista de números sueltos en lugar de una serie continua, puedes modificar el código de la siguiente manera:

```actionscript
var numbers:Array = [0, 1, -1, 2, -2, 0.1, -0.1, 3, -3, 0.2, -0.2, 0.01, -0.01];

// Imprimir la lista de números
for each (var num:Number in numbers) {
    trace(num);
}
```

En este ejemplo, hemos creado un arreglo llamado `numbers` que contiene los números sueltos de la lista. Luego, utilizamos un bucle `for each` para recorrer el arreglo y mostrar cada número utilizando el comando `trace()`.

Puedes agregar, eliminar o modificar los números en el arreglo según tus necesidades. Simplemente asegúrate de seguir la sintaxis correcta de ActionScript para definir los números (usando el punto decimal para los números decimales, por ejemplo).

Recuerda que este código solo imprimirá los números en la consola de salida. Si deseas hacer algo más con los números, como almacenarlos en variables o realizar cálculos, puedes adaptar el código en consecuencia.

no, sí programando, pero sin agregarlos en una variable array

Citar
Si deseas generar y mostrar una lista de números sin almacenarlos en un arreglo, puedes hacerlo utilizando un bucle y el comando `trace()` para imprimir cada número individualmente. Aquí tienes un ejemplo:

```actionscript
var count:int = 0;
var number:Number = 0;
var increment:Number = 1;

while (count < 13) {
    if (count % 2 == 0) {
        number += increment;
    } else {
        number -= increment;
        increment /= 10;
    }
   
    trace(number);
    count++;
}
```

En este ejemplo, utilizamos un bucle `while` para generar y mostrar una lista de 13 números. La variable `count` se utiliza para llevar la cuenta del número de elementos generados, y la variable `number` almacena el número actual de la lista. También tenemos la variable `increment`, que controla el tamaño del siguiente incremento.

Dentro del bucle, verificamos si `count` es par o impar utilizando el operador de módulo `%`. Si es par, incrementamos `number` según la regla de incremento. Si es impar, decrementamos `number` y dividimos `increment` por 10 para generar los números decimales más pequeños.

Finalmente, utilizamos `trace(number)` para imprimir cada número en la consola de salida.

Ten en cuenta que este código genera y muestra los números directamente sin almacenarlos en una variable de matriz. Puedes ajustar el número de elementos y las reglas de incremento según tus necesidades.

quiero que hagas eso pero para generar la lista que te dije al inicio

Citar
Mis disculpas por la confusión anterior. Aquí tienes el código para generar y mostrar la lista de números que mencionaste al inicio:

```actionscript
var count:int = 0;
var number:Number = 0;
var increment:Number = 1;

while (count < 100) {
    if (count % 2 == 0) {
        number += increment;
    } else {
        number -= increment;
        increment /= 10;
    }
   
    trace(number);
    count++;
}
```

En este caso, hemos ajustado el código para generar una lista de 100 números siguiendo el patrón que mencionaste inicialmente. El bucle `while` genera los números utilizando las mismas reglas de incremento que mencionaste.

Cada número se imprime utilizando el comando `trace()`. El código seguirá generando y mostrando los números hasta que se hayan generado los 100 elementos de la lista.

Recuerda que puedes ajustar el número de elementos y las reglas de incremento según tus necesidades.

muestra la lista que genera eso

Citar
Aquí tienes la lista generada por el código:

```
0
1
-1
2
-2
0.1
-0.1
3
-3
0.2
-0.2
0.01
-0.01
0.3
-0.3
Le di stop porque está mal.

no has entendido o me expliqué mal.
En la 1er repetición debe producirse un número entero positivo y su negativo, son el 1 y -1, eso lo entendiste.
En la 2nda repetición debe producirse eso mismo pero sumándole 1 al positivo (su negativo también debe cambiar, debe ser el negativo del numero número), y además debe producirse un número positivo de un decimal (0.1) y su negativo. Eso también lo entendiste.
En definitiva, es como si estuvieses haciendo una serie de enteros, mostrando también cada negativo, y en cada nueva repetición empiezas a hacer otra serie pero cada vez con más decimales, y sus negativos. Haz eso.

Citar
Mis disculpas nuevamente por la confusión. Ahora entiendo lo que estás buscando. Aquí tienes el código actualizado para generar la lista siguiendo el patrón que describiste:

```actionscript
var count:int = 1;
var increment:int = 1;

while (count <= 10) {
    var number:int = increment;
    var negativeNumber:int = -increment;
    trace(number);
    trace(negativeNumber);
   
    var decimalIncrement:Number = 0.1;
    var decimalCount:int = count;
    while (decimalCount > 0) {
        var decimalNumber:Number = number + decimalCount * decimalIncrement;
        var negativeDecimalNumber:Number = -decimalNumber;
        trace(decimalNumber.toFixed(1));
        trace(negativeDecimalNumber.toFixed(1));
        decimalCount--;
        decimalIncrement /= 10;
    }
   
    increment++;
    count++;
}
```

Este código generará la lista siguiendo el patrón que describiste. Comenzará con una serie de enteros positivos y sus respectivos negativos, y en cada repetición se agregarán números positivos con decimales y sus negativos correspondientes. El número de decimales aumentará en cada repetición.

Los números se mostrarán utilizando el comando `trace()`. Los números enteros se mostrarán sin decimales, mientras que los números con decimales se mostrarán con un solo decimal utilizando `toFixed(1)`.

Ten en cuenta que en este código he utilizado un límite de 10 repeticiones, pero puedes ajustarlo según tus necesidades.

muestrame los 1eros 20 números de eso

Citar
Aquí tienes la lista de los primeros 20 números generados por el código:

```
1
-1
1.1
-1.1
1.01
-1.01
1.001
-1.001
1.0001
-1.0001
1.00001
-1.00001
1.000001
-1.000001
1.0000001
-1.0000001
1.00000001
-1.00000001
1.000000001
-1.000000001
1.0000000001
-1.0000000001
2
-2
2.1
-2.1
2.01
-2.01
```

Estos son los primeros 20 números generados siguiendo el patrón descrito anteriormente. El patrón comienza con "1" y su negativo "-1", luego se agregan números con un decimal creciente y sus negativos correspondientes. Después de completar la serie con un decimal, se pasa al siguiente número entero y se repite el proceso.

Equivocado de nuevo y ya me cansé, al menos tengo más idea de cómo hacerlo. ¿Qué me dicen uds?
113  Foros Generales / Foro Libre / Conversaciones útiles con ChatGPT. en: 6 Septiembre 2023, 10:13 am
Pongan las que quieran.

Yo estoy haciendo una tabla en la que quiero llenar unos datos y me cuesta pensar ciertas cosas. GPT nunca me dió respuestas correctas pero me ayudó a ver mejor cuales serían.

Citar
dime el mínimo N tal que el contenido de la parte (longitud de N) de N sea 0

El mínimo valor de N para el cual el contenido de la parte (longitud de N) de N sea 0 es 10.

explícame por qué

Claro, permíteme explicarte el razonamiento detrás de mi respuesta.
Cuando se menciona la "parte (longitud de N) de N", se refiere al contenido numérico de los dígitos de N, considerando únicamente los dígitos más significativos hasta una determinada longitud.
En este caso, estamos buscando el valor mínimo de N para el cual el contenido de sus dígitos de longitud N sea igual a 0. En otras palabras, queremos encontrar un número que consista únicamente de ceros.
El número más pequeño que cumple con esta condición es el 10. Si consideramos su "parte de longitud 2", que son los dos dígitos más significativos, solo tenemos el dígito 1. Sin embargo, si consideramos su "parte de longitud 1", que es solo el dígito más significativo, obtenemos 0, que es el contenido que buscamos.
Por lo tanto, el mínimo valor de N para el cual el contenido de la parte (longitud de N) de N sea 0 es 10.

¿un número negativo no puede ser?

Mis disculpas por la confusión anterior. Tienes razón, no mencioné la posibilidad de números negativos en mi respuesta anterior.
Si permitimos números negativos, entonces el mínimo valor de N para el cual el contenido de la parte (longitud de N) de N sea 0 sería -10. En este caso, la "parte de longitud 2" de -10 sería 10, que tiene un contenido de 0.

no, con el - eso tendría longitud 3

Tienes toda la razón, me equivoqué nuevamente y lamento la confusión. Si consideramos la longitud de un número negativo, debemos contar el signo "-" como uno de los dígitos.
En ese caso, el número más pequeño para el cual el contenido de la parte (longitud de N) de N sea 0 sería -100. La parte de longitud 3 de -100 sería 100, que tiene un contenido de ceros.

no podría ser -990?

Mis disculpas nuevamente, cometí otro error en mi respuesta anterior. Tienes toda la razón, el número más pequeño para el cual el contenido de la parte (longitud de N) de N sea 0 es -990.
La parte de longitud 3 de -990 sería 990, que tiene un contenido de ceros. Gracias por señalar el error y por tu paciencia.

igual a penas yo me entiendo, con tu ayuda entiendo más

Me alegra poder ayudarte a entender mejor. Estoy aquí para responder tus preguntas y aclarar cualquier confusión que puedas tener. Si tienes más preguntas o si hay algo más en lo que pueda ayudarte, no dudes en preguntar. Estoy aquí para asistirte.
En definitiva yo no tenía idea, ahora creo que el N sería -9...0, es decir entre medio habría infinitos 9.

A ver, en el lenguaje que uso, la parte 1 es la 0.

-0 tiene una longitud 2, la parte 2 no existe.

Creo que nunca hay posible resultado, no hay N que cumpla la condición, porque el método es simplificable a "Última parte+1 de N", y la última parte+1 no existe, no existe algo posterior a lo último.

Ahora bien, GPT cuenta las posiciones de modo normal, entonces en ese caso sí, el método es simplificable a "Última parte de N", basta conque la última parte de N sea 0. Y el mínimo número o N que termine en 0 es -99999999...0.

Por supuesto, de haber sabido desde el principio que el método se podía simplificar eso me hubiera facilitado las cosas. La próxima vez, antes de intentar obtener un resultado a partir de un método complicado, intentaré simplificarlo.
114  Media / Juegos y Consolas / ¿Cómo aumentar la dificultad de un juego que se gana por hacer nada durante 3 segs? en: 5 Septiembre 2023, 07:59 am
No logro que el chatgpt entienda la pregunta, me dice por ejemplo que ponga obstáculos a esquivar. Ya entiendo, cree que debe buscarse la manera de quedar en un sitio por donde no haya peligro, está bien, pero no es lo que quería saber.

El juego se gana si nada haces, desde el inicio, si tocas una tecla o algo así, pierdes. ¿Cómo se puede complicar al jugador? Si acaso es posible.

Sólo se me ocurre que antes de empezar el juego se diga el objetivo, y durante el juego aparezcan mensajes de algún enemigo, diciendo que haga algo, insultando, amenazando o mensajes subliminales (yo avisaría previamente que los hay, no soy una basura). ¿Se les ocurre otra cosa?

Estoy pensando en cuales son los videojuegos más sencillos y cómo complicarlos. ¿Saben de algún foro donde pueda hablar de eso? No quiero llenar este de dudas como esta xD sorry.

Ah, el chat me inspiró poner tipo cofres que estimulen al jugador a querer ver qué hay dentro, o ya los adultos sabrán qué cosas.
115  Foros Generales / Foro Libre / ¿Cómo reduzco el ancho de este diagrama? en: 4 Septiembre 2023, 07:29 am


Necesito que entre en una hoja a imprimir.

Originalmente eran 4 columnas, reducirlas a 3 no fue suficiente.

El texto no queda bien si lo achico más (está en los cuadros, pero aquí no lo puse).

Con respecto a lo que sale del cuadro verde, no tengo mucho problema en ponerlo de otro modo, pero no se me ocurre cómo podría quedar bien.

Lo que se me ocurre es:
A- Dejar la columna 1 como está y lo demás moverlo hacia abajo de ella, quedarían 2 columnas. Me parece que sería mucha flecha entreverada, más de lo que ya está.
B- Poner la 3er columna debajo de alguna otra. También me parece que generaría un caos.
Y básicamente más nada, el cuadro verde lo podría poner debajo del texto que sale a su izquierda, se conectaría con el marrón por la derecha y lo que está a la derecha pasaría a estar abajo, pero creo que seguiría siendo demasiado ancho y además también parece caótico hacer eso.

Disculpen la duda tan tonta pero no sé hacerlo y lo necesito.
116  Foros Generales / Foro Libre / Dudas sobre la pandemia. en: 4 Septiembre 2023, 05:27 am
Hace unos días estaba viendo grafitis y vi este:


Nunca le di mucha bola a las teorías conspiranoias, pero la verdad esa imagen me impresionó un poco, pensé algo como "Ah ¿estoy cegado? ¿qué es lo que no veo?".

¿Cual fue el plan de lo que ellos llaman plandemia?
A mí un par me decían que los virus esos no existían. Pero la gente se moría, decían los noticieros. Luego me dijeron que era un plan para reducir la población mundial y me mostraron un fragmento de un video de Bill Gates en que, según ellos, o el video, él decía que iba a reducirla. Yo estaba confuso porque si eso fuese cierto hubiera habido revuelo, no puede decir eso como si nada, pero ellos decían que sí, que nadie le prestaba atención. Yo no vi bien el video, tendí a creer que lo habían editado o él estaba bromeando o estaba mal la traducción, etc. Luego creo que se empezó a decir (sino antes) que lo que mataba eran las vacunas y acabo de leer por ahí que con ellas se intentó estirilizar a la gente.

Yo quisiera que me aclaren o me den info (corta) sobre el tema.

No discutan entre uds, no hago este tema para discutir, cada uno tiene su creencia sobre lo que es verdad, yo sólo quiero un poco de info a ver cual es la teoría no oficial y cuales serían las pruebas de ella.
117  Informática / Software / ¿Excel podría configurarse para que al escribir se cambie de celda si...? en: 2 Septiembre 2023, 08:37 am
Supongamos que estoy escribiendo en una celda de la fila 1, muy ancha. Yo quisiera que cuando ya no entre más texto se pase a la celda de abajo sin que yo tenga que presionar Enter, que se haga automáticamente como sucede aquí o en cualquier editor de texto ¿es posible, cómo?

Sé que se puede configurar la celda para que se haga más alta y con más filas si lo que uno escribe no cabe en la celda, pero yo quiero que eso que no cabe se ponga en una celda de abajo, porque si el texto es mucho o bastante grande entonces no entra en la pantalla, una celda grande no entra en la pantalla, por eso el texto tampoco entraría, por eso lo quiero en distintas filas como si fuese un editor de texto común.

Si eso no es posible o no se les ocurre cómo ¿qué podría usar en vez de Excel? Esto que estoy haciendo no lo necesita, pero a ver, imaginen que tengo un texto así:

Proyecto 1:
Día 1: jdenjcnsxjcf

Día 2: djnjfjn f

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Proyecto 2:
Día 1: enjnjn

Día 2: dknjnjfn

Y así sucesivamente, muchos proyectos y muchos días (en realidad no escribo "Día 1", etc, cada párrafo es un día). Si escribí algo en el P1 y quiero pasar al 2 debo hacer scroll, luego para el 3 lo mismo, y así, y cuando abro el archivo también. Si pusiera cada P en distintos archivos quizá sería mejor, pero tendría que andar mirando cual abrir, dudo que sea mejor.

Excel la ventaja que me da es que si pongo cada P en hojas distintas y quiero pasar a otro P presiono Ctrl+Av Pag y me manda a la hoja de ese P y (creo) justo donde me quedé. El problema de Excel sería que, como comenté al inicio, si escribo mucho en una celda luego no entra en la pantalla y me complica y queda mal, y yo uso letra un poco grande así que la probabilidad de que eso ocurra no es tan baja.

¿Qué me recomiendan? Lo que se me ocurre es usar Excel configurado para que las celdas se estiren hacia abajo y si una se estira demasiado entonces corto parte del texto y lo pongo en una de abajo, pero no quiero perder tiempo haciendo cortando/pegando cada vez que ocurra eso...
118  Foros Generales / Foro Libre / Solucionado: Problema con expresión de funciones. en: 2 Septiembre 2023, 03:15 am
Estoy pensando en cuales son los métodos con los que se puede generar un número a partir de otro. Por ejemplo es conocido "Obtener longitud del número" (aunque puede requerir convertirse en texto antes ¿no?), con eso a partir de por ejemplo el número 32896 se generaría el número 5.

También intento resumirlos más o menos:
L(N) <- Obtener longitud de N.
A(N) <- Obtener el absoluto de N.
etc.

Mi problema actual es lo relacionado con partes y contenido de partes del número:

Esta la tengo clara:
n(cPdN) -> Mínimo (obtener cada Parte de N). "n" es Mínimo, "x" sería Máximo, y es claro que "n" no es lo mismo que "N". El resultado es siempre 0, porque se consideran las partes, no sus contenidos, entonces por ejemplo el N 987 tiene una parte 0, otra 1 y otra 2, y la mínima parte es la 0 (0<1<2, no me refiero al contenido 9, 8 y 7, sino las partes o posiciones en sí). Sin duda una función inútil, pero es que intento ver cuales son, estoy haciendo combinatoria digamos, luego veo si son útiles o no.
Mínimo (obtener cada Parte de 32896)
Mínimo (0, 1, 2, 3, 4)
0
Para simplificar, la he resumido a P(n, N) -> Parte Mínima de N.

Esta también la tengo clara:
n(CdcPdN) -> Mínimo (obtener Contenido de cada Parte de N). Aquí, si N es 32896, el resultado es 2 porque 2 es el mínimo contenido de las partes de N. 2<3<6<8<9.
Mínimo (obtener Contenido de cada Parte de 32896)
Mínimo (3, 2, 8, 9, 6)
2
Simplificada a Cn(N) -> Contenido Mínimo de N.

Esta no la tengo tan clara:
Contenido de la mínima parte de N.
Es lo mismo que contenido de la parte 0 de N, pero quiero aprender a hacerlo así, porque creo que me servirá para casos en que la parte a analizar sea variable.
Según pensé es CdlP(n(cPdN))dN, pero eso es absurdamente largo, por eso es que hice el 2ndo resumen, que sería CP(n, N) -> Contenido de la Parte Mínima de N.
Contenido de la Parte (Mínimo (obtener Contenido de cada Parte de 32896)) de 32896
Contenido de la Parte (Mínimo (3, 2, 8, 9, 6)) de 32896
Contenido de la Parte (2) de 32896
8 (el contenido de la parte 0 es 3, de la parte 1 es 2, de la parte 2 es 8).

Esta no la tengo clara:
Contenido de (mínimo contenido de N) de N.
¿Sería CP(Cn(N), N)?

Quiero un método para poder expresar estas cosas de forma clara para poder variarlas fácil.

En principio yo tenía:
Min P
Cd Min P
Min CdP
Cd Min CdP
Y había pensado que eso se podía ver como partir de lo 1ero: Min P
pero agregando cosas antes y/o luego de Min:
(Aquí1) Min (aquí2) P
Antes de Min puede agregarse Cd: Cd Min P
Luego de Min también: Min CdP
Y entonces al agregar antes y después surge el último de esa lista: Cd Min CdP

Lo malo que tiene eso es que no menciona a N y yo en el futuro quiero poder hacer esto usando varios Ns. Además el resumen no refleja bien lo que significa, o al menos ya no lo veo claro:
Min P -> Mínima Parte de N.
Cd Min P -> Contenido de la Mínima Parte de N.
Min CdP -> Mínimo Contenido de las Partes de N.
Cd Min CdP -> De N el contenido de la Parte que tiene el Mínimo Contenido de N.
Es un lío.

En Flash se diría más o menos así:
min(lista de partes de N)
N.charat(min(lista de partes de N))
min(lista de contenidos de N)
N.charat(min(lista de contenidos de N))
No me gusta porque si voy a usar por ejemplo L(N), como dije al inicio, entonces quisiera que todas tengan esa "forma", en que primero se dice qué se hace, y luego cual es el parámetro o qué número se usa. En las expresiones que acabo de poner N está al inicio a veces.

¿Qué me recomiendan?

Edit: Lo he pensado otra vez y llegué a esto, pero no sé si está bien o si hay algo mejor:
- Obtener la parte mínima de un número:
   - min(lista de partes de N).
   - n(cPdN) -> Mínimo (obtener cada Parte de N).
   - P(n,N) -> Parte Mínima de N.
Nota: La parte mínima de un número siempre es la 0, no debe confundirse con el contenido de esa parte.

- Obtener el contenido de la parte mínima de un número:
   - N.charat(min(lista de partes de N)) (más o menos así es en el lenguaje Actionscript).
   - CdlP(n(cPdN))dN -> Contenido de la Parte (Mínimo (obtener cada Parte de N)) de N.
   - C(P(n,N),N) -> Contenido de la parte Mínima de N.

- Obtener el mínimo contenido (subnúmero) de un número:
   - min(lista de contenidos de N).
   - n(cCdN) -> Mínimo (obtener cada Contenido de N).
   - nCN -> Mínimo Contenido de N.

- Obtener el contenido de la parte nro (Obtener el mínimo contenido de un número) del número.
   - N.charat(min(lista de contenidos de N)).
   - CdlP(n(cCdN))dN -> Contenido de la Parte (Mínimo (obtener cada Contenido de N)) de N.
   - C(nCN,N) -> Contenido de la parte (Mínimo Contenido de N) de N.

¿Ven algún error? Yo me pierdo bastante. ¿Se les ocurre algo mejor?

Edit2: Creo que así es suficiente:
nPN: Mínima parte de N.
C(nPN,N): Contenido de la mínima parte de N (en realidad es Contenido de la parte (mínima parte de N) de N, eso permite que puedan usarse 2 distintos N).
nCN: Mínimo contenido de N.
C(nCN,N): Contenido de la parte (mínimo contenido de N) de N.

Lo marco como solucionado, pero quién sabe, quizá vea un error que ahora no veo.
119  Foros Generales / Dudas Generales / ¿Es normal que la tinta desaparezca tan rápido del papel? en: 28 Agosto 2023, 20:19 pm
Quizá ni siquiera es normal que desaparezca. A veces voy a un ciber a imprimir algo, y tras manosearlo o frotarlo con una libreta (porque lo pongo detrás de ella si anoto algo en ella) la tinta empieza a desaparecer. Entiendo que por abaratar los costos ahora la tinta sea así, pero molesta/enoja un poco, tengo revistas viejas a color que leí muchas veces y la tinta no desapareció, en cierta medida parece una estafa similar a como dice aquí:
https://foro.elhacker.net/foro_libre/canon_una_organizacion_de_caracter_criminal-t498153.0.html
120  Foros Generales / Dudas Generales / ¿Cómo descargo esta imagen de modo que tenga transparencia? en: 28 Agosto 2023, 02:52 am
https://es.pngtree.com/freepng/3d-versus-vs-style_5326228.html

Usando una cuenta quizá podría, pero no es la idea.

En Google aparece, pero al copiarla sale con cuadraditos grises y blancos. Lo mismo al guardarla, por defecto es jpeg pero incluso al guardarla como png me salió con cuadraditos. Al intentar descargarla de esa página usando clic derecho, lo que se intenta guardar es la página entera ¿servirá? Pruebo. Tardará... Había probado quitar el código javascript pero el resultado fue el mismo. No sirvió descargar la página, la imagen es un jpeg.

¿Realmente tendrán una versión con transparencia? ¿qué tanto ganan conque me conecte con la cuenta de Google o lo que sea?
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 ... 34
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines