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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  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 ... 192
121  Media / Juegos y Consolas / Diferencia entre un buen juego y una tortura. en: 19 Febrero 2024, 07:38 am
Hace poco intenté pasar Startrek de DOS.

Moví la nave y se rompieron los cañones o algo así (ya me había pasado que por algo de eso no podía disparar). El comando DAMAGE no me daba la opción de reparar, así que busqué una base. Reparados los cañones, busqué unos enemigos. Al encontrarlos, recibí daño (no sé si puede evitarse) y se rompieron los cañones otra vez, así que fui a la base de nuevo.

Creo que me había ocurrido en otra partida también mientras intentaba entender cómo se juega, porque al usar NAV, para moverse, te piden una dirección y un valor de WARP, y no había encontrado mucha instrucción para eso ni para lo demás. Las direcciones son así:
432
5X1
678
O sea por ejemplo si quieres moverte a la izquierda debes presionar 5, no es algo fácil de recordar para mí. Y si quieres moverte sólo un casillero, debes poner WARP 0.1, no sé ni cómo me di cuenta de eso, probablemente lo vi en un video o por error. Pero me parece que no siempre funciona, le pones 0.4 por ejemplo luego de haber contado que es lo mínimo necesario para ir al siguiente cuadrante (tipo Zelda de NES) y se mueve 0.3, o a veces me ha pasado que se mueve para otro lado y más de lo que dije (¿quizá me confundí?).

Considerando también que a cada rato hay que recargar la energía (ir a una base), lo largo que es el juego y que no se puede guardar la partida, me pareció que más que interesante o divertido, era una tortura, y me hace preguntarme qué es realmente un buen juego.

https://www.youtube.com/watch?v=u7hDzhE6oVs

Por ejemplo en los juegos de rol, puede que te envenenen, es una molestia tener que curarte (en la mayoría), pero al menos tienes ítems, no tienes que regresar a un sitio para eso, y no ocurre por el simple hecho de caminar... Salvo que haya una trampa pero, no hay a cada rato o existe la habilidad de flotar o algo.

No creí que los comienzos de los videojuegos fuesen tan "oscuros". Probé otros de DOS también y más de uno me pareció injugable.

Si quiero hacer juegos ¿en tu opinión qué debo evitar hacer para que no sean una tortura, y sí interesantes y divertidos? ¿qué tiene un buen juego y qué no tiene?
122  Programación / Programación General / Re: ¿Existe un programa que genere la lista de fórmulas moleculares? en: 18 Febrero 2024, 07:31 am
El video arranca demasiado simple.

Si los protones son de la misma carga y funcionan de modo similar a los imanes ¿por qué no se repelen? ¿por qué están pegados en el núcleo? Dicen que porque son materia y la materia atrae a otra materia. Eso no lo dijo el video (al principio al menos, pero es un dato importante).

GPT:
Los protones en el núcleo atómico tienen carga eléctrica positiva y, según la teoría clásica de la electrostática, deberían repelerse debido a que cargas del mismo signo se repelen mutuamente. Sin embargo, el hecho de que los protones se mantengan unidos en el núcleo se debe a la interacción nuclear fuerte, una de las cuatro fuerzas fundamentales de la naturaleza.

La interacción nuclear fuerte es la fuerza que mantiene unidos a los protones y neutrones en el núcleo atómico. Es una fuerza mucho más fuerte que la fuerza electromagnética de repulsión entre los protones cargados positivamente. Esta fuerza fuerte actúa en distancias extremadamente cortas, del orden de femtómetros (10^-15 metros), y supera la fuerza electromagnética en estas distancias.

La interacción nuclear fuerte es la responsable de mantener a los protones y neutrones juntos en el núcleo, superando la repulsión electromagnética entre los protones. Esta fuerza se debe a la interacción entre los quarks, que son las partículas fundamentales que componen los protones y neutrones. Los quarks están unidos por la interacción nuclear fuerte a través de la mediación de partículas llamadas gluones.

En resumen, la interacción nuclear fuerte contrarresta la repulsión electromagnética entre los protones en el núcleo atómico, permitiendo que se mantengan unidos. Es importante destacar que esta explicación se basa en la física cuántica y en el modelo estándar de partículas, que es la teoría actualmente aceptada que describe las partículas y las fuerzas fundamentales en el universo.


Si los electrones son atraídos al núcleo por su carga distinta y porque son materia ¿por qué siempre están alrededor del núcleo en vez de estar pegados en el núcleo? No recuerdo esto, tengo la idea de que en realidad tienen la misma carga (electrones y protones) así que se están repeliendo, pero como son materia también se están atrayendo así que por eso medio de milagro nunca se acercan, similar a como ocurre con los planetas y el Sol, pero la situación esa es distinta también... Pero como contradice lo que suele decirse, no puede ser.

GPT:
Los electrones en un átomo no están "pegados" al núcleo de la misma manera que los protones y neutrones. Su comportamiento está descrito por la mecánica cuántica, que es la teoría que describe el comportamiento de las partículas a escala subatómica.

De acuerdo con la mecánica cuántica, los electrones se encuentran en regiones de espacio llamadas orbitales o niveles de energía. Estos orbitales representan la probabilidad de encontrar un electrón en una determinada ubicación alrededor del núcleo. Sin embargo, no podemos decir con certeza dónde se encuentra exactamente un electrón en un momento dado, solo podemos describir su distribución probabilística.

Los electrones están sujetos a la interacción electromagnética con el núcleo, que es atractiva debido a la atracción entre las cargas opuestas (carga positiva del núcleo y carga negativa del electrón). Sin embargo, también están sujetos a las leyes de la mecánica cuántica, que introducen conceptos como el principio de incertidumbre de Heisenberg.

El principio de incertidumbre establece que no se puede conocer simultáneamente con precisión la posición y el momento de una partícula. Esto implica que los electrones no pueden tener una órbita clásica bien definida alrededor del núcleo, como los planetas alrededor del sol. En cambio, los electrones existen en una distribución de probabilidades alrededor del núcleo, representada por los orbitales.

Los orbitales electrónicos describen las regiones en las que hay una alta probabilidad de encontrar un electrón. Algunos orbitales están más cerca del núcleo y otros están más alejados. Los electrones llenan estos orbitales en función de su energía y siguiendo el principio de exclusión de Pauli, que establece que no puede haber dos electrones en un mismo estado cuántico.

En resumen, los electrones no están "pegados" al núcleo debido a las propiedades cuánticas y probabilísticas que rigen su comportamiento. Su distribución alrededor del núcleo está determinada por orbitales electrónicos y no siguen trayectorias clásicas definidas.


Está raro eso...

Ya cometió otro error: Los gases nobles no se juntan con otros átomos, ergo no forman lo que él llama elementos, y aún así está en la tabla periódica. El diamante por ejemplo se forma con átomos de Carbono, pero el diamante no está en la tabla, sí el Carbono, ergo no está lo que forman sino los tipos de partes...
Tienen conceptos contradictorios en mi opinión, no sé si yo estoy loco o nadie se ha dado cuenta de sus contradicciones. Si buscas información del Hidrógeno, que normalmente forma la molécula H2, no te va a decir el peso de eso, sino de 1H, la información de lo que hay en la tabla no es de lo que forman sino de las partes...

Da a entender que las moléculas también se conectan entre sí, pero no explica cómo. No sé si es así. Además, esto me mostraron en Quora:
https://es.wikipedia.org/wiki/Autoionizaci%C3%B3n_del_agua

No dice por qué el número mol es relevante. Ese número fue sacado de un experimento pero yo no le veo sentido. Es como que veas que un bicho pone 87 huevos, a ese numero le llames huevol, digas que pone 1 huevol, y para los otros bichos en vez de decir que ponen 99 huevos o lo que sea digas que ponen 1,1 huevoles. Es una huevada, usar mol no mola.

Explicar los orbitales usando cubos no parece buena idea... Dudo que se pueda entender, yo no lo entendí, puedo hacer cálculos pero no sé qué estoy haciendo. Si están en el mismo "circulo" girando en direcciones opuestas ¿no se chocan? ¿no se frenan? (recuerda que supuestamente se repelen: Si se están acercando y de repente se repelen, la velocidad se anula).
Y si la representación esa es correcta entonces no entiendo por qué hacen esta:

Ese es el 1er caso raro que vi, debe haber más. Dicen que tienen 8 electrones como máximo en cada capa, pero este tiene 9 en una. Pero en el video es 2, 2, 6, 6, 6 ¿no? No sé si es el mismo tema.

Si se miran desde la misma perspectiva ambas bolas están girando hacia el mismo lado, a la derecha. Es decir, si la parte hacia donde avanzan la pones en la parte de arriba de la pantalla, en ambos casos es hacia la derecha. Aquí giré una bola para que la dirección sea la misma:

Aunque la flecha parezca curvarse distinto, eso es irrelevante, en ambos casos va de izquierda a derecha. Eso se relaciona con tenis, y los giros son mi especialidad ahí:


En fin, luego sigo... Pero ya había mirado un video curso y lo dejé porque eran puros cálculos y conceptos contradictorios y nada de práctica. Lo mismo con un par de libros.
123  Programación / Programación General / Re: Hacer que un generador de una lista haga excepciones y agregue elementos. en: 16 Febrero 2024, 20:37 pm
Me surgió un lío con respecto a:
En 10 Frames, mínimos casos de...
En 10 Frames, mínima cantidad de Frames en que ocurrió...
Y el otro par.

Me puse a pensar qué mediría cada cosa:
R = risking (parece que es aplicable siempre).
-> significa cambiado a

Casos de: Pushing speed, ability to evade pushing, R ability.

1er Frame en que: Reaction, max time evading push, how fast the risk begin, max R time.

Last Frame en que: Puntería, max time evading push, max R time.

Frames en que (only for "ing"): Ab to evade pushing, time R.

En 10 Frames, mín casos de -> Max distancia entre Fs en que:
Min pushing speed, Max time/ability evading push, max time R.

En 10 Frames, máx casos de -> Min distancia entre Fs en que:
Max pushing speed, Min time/ability evading push, min time R.


Me estaban faltando 2 y no veía cual era cual... Pero al leerte me di cuenta mejor, quedaría algo así:
- Casos de...
- 1er Frame en que...
- Último Frame en que...
- Frames en que... (sólo para Moviéndose, Cliqueando o Claqueando).
- Por Frame, mínimos casos de... (se excluyen los de arriba, y generalmente sería 0, por ejemplo 0 clics por Frame, es casi imposible que se haga 1 clic en cada uno).
- Por Frame, máximos casos de... (mismos excluídos, esto mide la velocidad máxima, por ejemplo 0.1 clics/frame).
- Mínima duración de... (sólo para Moviéndose, Cliqueando o Claqueando).
- Máxima duración de... (idem).

En cuanto a qué mide lo nuevo o no tan nuevo:
- Por Frame, mínimos casos de: Es como "Max distancia entre Fs en que", pero con la ventaja de que se tiene en cuenta también si hubo más de un mismo evento en un mismo Frame.
- Por Frame, máximos casos de: Es como "Min distancia entre Fs en que", pero con la ventaja mencionada arriba.
- Mínima duración de: Relacionado con time/ability to evade pushing y R ability.
- Máxima duración de: Idem.

Debo pensarlo más, algunas cosas parecen lo mismo y debo ver si encaja agregar medir la habilidad de no arriesgar.

El contexto de esto es medir la habilidad de jugadores en videojuegos, por ahora únicamente vinculado al manejo del PC. En juegos más específicos se podría medir la máxima velocidad conque el jugador agarró monedas por ejemplo.

Había logrado algunas cosas en el código pero como estaba liado (y sigo un poco) con eso me había trancado un poco y ya no recuerdo bien qué puntos solucioné y cuales no...

1- Agregué exclusiones, sí, pero actualmente me resulta difícil y poco útil (porque ahora tengo ideas mejores) ver si tienen sentido o no.

2- Sí logré que se generen casos de Clac+Clac, etc, hasta 3.

3- Aún no llegué a intentar cosas como "evento 1, luego evento 2".

4- Con el código que había puesto se evitaba esto, no recuerdo. Creo que el problema será al intentar cumplir el punto 3.

Código actualizado (24-02-10):
Código
  1. Escena 1
  2.   actions for fotograma 1
  3.      // Frames.
  4.      V1 = 0;
  5.      Max1 = 6;
  6.      V1Texto0 = "Casos de ";
  7.      V1Texto1 = "1er Frame en que ocurrió ";
  8.      V1Texto2 = "Frames en que ocurrió ";
  9.      V1Texto3 = "En 10 Frames, mínimos casos de ";
  10.      V1Texto4 = "En 10 Frames, máximos casos de ";
  11.      V1Texto5 = "En 10 Frames, mínima cantidad de Frames en que ocurrió ";
  12.      V1Texto6 = "En 10 Frames, máxima cantidad de Frames en que ocurrió ";
  13.      // Mov.
  14.      V2 = 0;
  15.      Max2 = 3;
  16.      V2Texto0 = "";
  17.      V2Texto1 = "Mov + ";
  18.      V2Texto2 = "Frenada + ";
  19.      V2Texto3 = "Moviéndose + ";
  20.      // Clic.
  21.      V3 = 0;
  22.      Max3 = 3;
  23.      V3Texto0 = "";
  24.      V3Texto1 = "Clic + ";
  25.      V3Texto2 = "Desclic + ";
  26.      V3Texto3 = "Cliqueando + ";
  27.      // Clac1.
  28.      V4 = 0;
  29.      Max4 = 3;
  30.      V4Texto0 = "";
  31.      V4Texto1 = "Clac + ";
  32.      V4Texto2 = "Desclac + ";
  33.      V4Texto3 = "Claqueando + ";
  34.      // Clac2.
  35.      V5 = 0;
  36.      Max5 = 3;
  37.      V5Texto0 = "";
  38.      V5Texto1 = "Clac + ";
  39.      V5Texto2 = "Desclac + ";
  40.      V5Texto3 = "Claqueando + ";
  41.      // Clac3.
  42.      V6 = 0;
  43.      Max6 = 3;
  44.      V6Texto0 = "";
  45.      V6Texto1 = "Clac + ";
  46.      V6Texto2 = "Desclac + ";
  47.      V6Texto3 = "Claqueando + ";
  48.      // Final.
  49.      V7 = -1;
  50.      Max7 = 2;
  51.      V7Texto0 = "Nada";
  52.      V7Texto1 = "Algo";
  53.      V7Texto2 = "Lo que sea";
  54.      Puntero = 8;
  55.      ProgramaCompletado = "No";
  56.      function GenerarTexto () {
  57.         // Obtener suma:
  58.         Suma = V1+V2+V3+V4+V5+V6+V7;
  59.         // Obtener texto:
  60.         Texto = eval("V2Texto"+V2)+eval("V3Texto"+V3);
  61.         Texto = Texto+eval("V4Texto"+V4)+eval("V5Texto"+V5);
  62.         Texto = Texto+eval("V6Texto"+V6)+eval("V7Texto"+V7);
  63.         // Esto es para que en vez de mostrar por ejemplo "Casos de Nada"...
  64.         // ...sea "Casos en que Nada "ocurrió".
  65.         // ¿La suma de Mov, Clic, etc, es > 0?
  66.         if (Suma-V2-V7>0) {
  67.            // Sí, se muestra el texto simple.
  68.            trace (Suma+":\t"+eval("V1Texto"+V1)+Texto);
  69.         } else {
  70.            // No, se muestra "Casos en que Nada "ocurrió".
  71.            trace (Suma+":\tCasos en que "+Texto+" ocurrió");
  72.         }
  73.      }
  74.      function ModificarVariable () {
  75.         // ¿La variable puede aumentar?
  76.         if (Valor<Max) {
  77.            // Sí, aumentarla:
  78.            set (Nombre, Valor+1);
  79.            // Los textos 3 de las variables 2~6, es decir...
  80.            // Moviéndose, Cliqueando y Claqueando, sólo son...
  81.            // válidos si el texto de la variable 1 o frames...
  82.            // es 1, 2, 5 o 6, es decir, si se cuentan los frames...
  83.            // en que eso ocurrió. Lo siguiente es para evitar...
  84.            // los casos inválidos.
  85.            // ¿La variable 1 es 1, 2, 5 o 6?
  86.            if (V1 != 0 && V1 != 3 && V1 != 4) {
  87.               // Sí, el texto es válido.
  88.               GenerarTexto();
  89.            } else {
  90.               // No. ¿Alguna variable 2~6 tiene valor 3?
  91.               if (V2 != 3 && V3 != 3 && V4 != 3 && V5 != 3 && V6 != 3) {
  92.                  // No, el texto es válido.
  93.                  GenerarTexto();
  94.               }
  95.               // sino no es válido y no se muestra.
  96.            }
  97.            Puntero = 8;
  98.            // Esta función se repetirá.
  99.         } else {
  100.            // No, resetearla:
  101.            set (Nombre, 0);
  102.            // ¿Hay otra variable aumentable?
  103.            if (Puntero>1) {
  104.               // Podría ser, apuntar a esa.
  105.               // Esta función se repetirá.
  106.            } else {
  107.               // Esta variable se pone para que del F3 no vuelva al 2.
  108.               ProgramaCompletado = "Sí";
  109.               stop ();
  110.            }
  111.         }
  112.      }
  113.      function ProcesoaRepetir () {
  114.         Puntero = Puntero-1;
  115.         Nombre = "V"+Puntero;
  116.         Valor = eval(Nombre);
  117.         Max = eval("Max"+Puntero);
  118.         // ¿La variable es tipo distinto de Clac2 y Clac3?
  119.         if (Puntero != 5 && Puntero != 6) {
  120.            // Sí, modificarla.
  121.            ModificarVariable();
  122.         } else if (eval("V"+(Puntero-1))>0) {
  123.            // Es tipo Clac2 o 3. ¿La de tipo Clac anterior tiene valor>0?
  124.            // Sí, modificar la señalada por el puntero.
  125.            ModificarVariable();
  126.         } else {
  127.            ProcesoaRepetir();
  128.         }
  129.      }
  130.   actions for fotograma 2
  131.      ProcesoaRepetir();
  132.   actions for fotograma 3
  133.      ProcesoaRepetir();
  134.      if (ProgramaCompletado == "No") {
  135.         gotoAndPlay (2);
  136.      }
Hallé una forma de simplificar el tema de las repeticiones rápidas, pero aún no la apliqué . Poner las funciones en objetos, básicamente, que la película se frene ahí y que la función indique si debe ir a otro lado. Mientras la película esté detenida, la función en el objeto puede repetirse como si ocurriera en cada frame. Hm, ahora me doy cuenta que quizá ese método no es tan rápido como usar goto que podría ser como hacer 2 cosas en 1 mismo frame (no sé), pero para mí quedaría mejor con esto, es buena velocidad pero no tan lioso.

1. Para manejar la exclusión de ciertas combinaciones, como "Moviéndose + Nada", podrías tener una lista de combinaciones excluidas y verificar si la combinación actual está en esa lista antes de generarla.
Podría ser una lista larga xD
Puse las condiciones que deben cumplirse.

Citar
3. Con respecto a este tercer punto tuyo, podrías definir una lista de eventos que pueden ocurrir simultáneamente, luego generar todas las combinaciones posibles de eventos de longitud 1 (un evento) y de longitud 2 (dos eventos simultáneos) y luego combinar las combinaciones de longitud 1 y de longitud 2.
Lo pensaré.

Citar
4. Para evitar combinaciones imposibles como "Clic + Desclic", podrías verificar si un evento y su opuesto están presentes en la misma combinación y omitir la combinación si es así.
Buena idea.

Buenas ideas también las que pusiste al final. La del rendimiento no porque es sobre el jugador no sobre la máquina.
124  Programación / Programación General / Re: ¿Cuando mostrar cosas en pantalla? en: 16 Febrero 2024, 19:18 pm
Borré los traces  :P

Tal vez en programas o problemas más complejos que el que hice tengan sentido, pero acá, sería para avisar que la situación ya había sido lograda y cosas así, que más o menos se entiende. O... No, no de nuevo el dilema >___< En fin, por ahora sólo los pongo si intento comprender algún error. Digamos que deben avisar de eventos importantes que no se noten en la pantalla, pero cuales son importantes y cuales no...
125  Programación / Programación General / Re: Otro error por decimales creo. en: 16 Febrero 2024, 10:48 am
Hallé una solución a esto pero buscaba algo que resolviera el tema de los decimales, lo que hice fue evitar usarlos en el chequeo.

En vez de chequear si la posición que se asignará es menor o igual a cierta cantidad... chequeo cuántos píxeles se colocaron en una fila.

Si se deben colocar 5, cuando se colocaron 5 ya sé que debo colocarlos más abajo.

Código
  1. PixelesdeLargo = PixelesdeLargo+1;
  2. // Colocados:
  3. Pixeles = 0;
  4. DistanciaEntrePixeles = 384/PixelesdeLargo;
  5. PosicionX = 64-DistanciaEntrePixeles;
  6. EnlaFilaActual = 0;
  7. PosicionY = 0;
  8. MaxPosiciondePuntero = PixelesdeLargo*PixelesdeLargo;
  9. Puntero = MaxPosiciondePuntero;
  10. // Píxeles pintados:
  11. SumadePintados = 0;
  12. MinSumadePintados = PixelesdeLargo-1;
  13. MinPixelInferior = PixelesdeLargo*(PixelesdeLargo-1);
  14. // Píxeles pintados que no estaban en hojas de menos píxeles:
  15. SumadePintadosNuevos = 0;
  16. // Agregar píxeles en blanco:
  17. do {
  18. Pixeles = Pixeles+1;
  19. if (EnlaFilaActual < PixelesdeLargo) {
  20. EnlaFilaActual = EnlaFilaActual+1;
  21. PosicionX = PosicionX+DistanciaEntrePixeles;
  22. } else {
  23. PosicionX = 64;
  24. EnlaFilaActual = 1;
  25. PosicionY = PosicionY+DistanciaEntrePixeles;
  26. }
  27. trace("El pixel "+Pixeles+" se colocó en "+PosicionX+", "+PosicionY);
  28. attachMovie("mPixel", "Pixel"+Pixeles, Pixeles);
  29. setProperty ("Pixel"+Pixeles, _x, PosicionX);
  30. setProperty ("Pixel"+Pixeles, _y, PosicionY);
  31. setProperty ("Pixel"+Pixeles, _width, DistanciaEntrePixeles);
  32. setProperty ("Pixel"+Pixeles, _height, DistanciaEntrePixeles);
  33. } while (Pixeles<MaxPosiciondePuntero);
126  Programación / Programación General / Re: ¿Existe un programa que genere la lista de fórmulas moleculares? en: 15 Febrero 2024, 07:06 am
Mr.Byte:
Esa info parece más completa que las cosas que había visto, pero a ver:
- Si el H pierde o da 1, no parece relevante, el enlace es siempre 1.
- Googlé sobre los peróxidos y no vi lo relevante, el O forma 2 enlaces, lo diferente es quizá quew son simples en vez de 1 doble (pero que serían 2 también). Además en Wikipedia dice que la oxidación también en ese caso es -2.
https://es.wikipedia.org/wiki/Per%C3%B3xido
Aunque aquí hay casos en que forma 3 enlaces  :o no sé si será un error
https://quimicafacil.net/compuesto-de-la-semana/peroxido-de-carbamida/

Luego habla de iones, no sé, seguiré buscando.


Parado_larga_duracion_ESP:
Yo creo que tienen conceptos confusos:
- En videojuegos se suele decir que el agua, el fuego, etc, son elementos, incluso en la película de Mortal Kombat cuando se lucha contra Sub Zero alguien dice que para derrotarlo "usa el elemento que da vida". Pero en Química esas cosas no son elementos, elementos son los átomos. La confusión es en parte porque antes se creía que el agua, etc, era lo más básico, lo más "elemental", y entonces a veces la confusión se arrastra.
- Las moléculas están compuestas de átomos, pero en Química no se dice que las moléculas sean compuestos creo y me importa un pepino a qué le llaman compuesto.
- Algo similar ocurre con mezcla: ¿El agua es una mezcla entre O y H2? Sí pero en Química creo que no le llaman mezcla al agua, creo que le llaman sustancia. ¿Jugo de naranja y diversas frutas sería una sustancia? Uno podría decir "Oye ¿qué es esa sustancia?" cuando algo parece homogéneo, pero en Química es un misterio a qué le llaman sustancia.
- No sólo llaman elemento a un átomo, sino a las moléculas homogéneas. Ah, pero esa expresión no es normal que la usen, por lo que generan confusión (llaman elemento a 2 cosas distintas).
- Llaman sustancia pura a algo que puede estar compuesto, eso no me acordaba. Quizá es cosa mía, pero si algo es puro es porque es una cosa sola, decir que puede descomponerse parece contradictorio, confuso. Por ejemplo el oro puro es 100% oro, no se puede quitar cosas de ahí que no sean oro (tal vez se podría quitar electrones, pero entiendes la idea).

Luego está el problema de que en mi opinión enseñan mal: En vez de enseñar a generar la materia o sustancia que uno quiera (no drogas sino jabón, plástico, papel, etc), y cómo se comporta la materia (esto de lo que tú y yo no tenemos idea), enseñan a calcular cuántos moles (un nro bastante al azar, sin sentido) de no sé qué hay en X gramos de no sé qué y cosas así que me parece no sirven para un caraj*. Yo le escribí a una profesora algo así:
"Por ejemplo dan este dato:"
No viene al caso cual, la profesora me dijo "Eso está mal, es...".
El resto del texto que escribí decía "...pero está mal, dan el dato mal no sé para qué", y la profesora me dice "para que lo corrijan y entiendan que la materia no se crea ni se destruye, que la cantidad inicial es igual a la final". Te pongo un ejemplo pero no tengo idea qué va a la derecha o izquierda, porque no me enseñaron eso:
H2O -> O2 + H4
Tienes que igualarlo, en este caso poner un 2 delante de H2O. Pero esto es como si pusieran bolitas en una balanza y nos preguntaran cuantas bolitas hay que agregar para que queden igual, parece cosa de nenes chicos, pero acá como hay que agregar un número a un grupo se complica (puede haber muchos grupos, agregar a uno hace que debas agregar más a otros), pero es una complicación muy al ped*, y son ejercicios de Matemática no de Química... No se aprende Química poniendo numeritos delante de fórmulas que tienen cantidades distintas a las de otras de otro lado, es como que te quieran enseñar Historia poniéndote ejercicios como:
30000 soldados -> 40000 sobrevivientes + 20000 muertos
Y debas poner un x2 al principio para arreglar el dato que te dan mal, es una taradéz. Además en el caso de la Química si agregas números es en cierto modo como si agregaras materia, y si se puede modificar de ese modo ¿por qué no puedo simplemente cambiar los números que se me antoje?
Si me dicen:
H2O -> O2 + H4
pongo:
H2O -> O + H2
¿por qué la única solución válida es poner un 2 delante del H2O si en este caso la proporción tsmbién es igual? Tampoco entiendo por qué te dan datos en kilos si luego lo quieren en gramos o por qué miden en átomos por mol o lo que sea en vez de medir átomos por gramo, o estoy muy perdido, no sé, yo quería aprender a hacer cosas Químicas como te comenté y dejé las clases porque en la última estuve toda la clase hojeando el cuaderno sin entender un pomo.
"Si tenemos 15 trozos de jamón y 14 de queso, sólo podremos hacer 14 sándwiches". Eso lo entiendo, el número menor marca cuántas mezclas se pueden hacer, la respuesta está en el mismo planteamiento. Pero luego de decir eso empezó a poner ejercicios que eran demasiado distintos de eso.

En Física me pasaba algo parecido, de niño tuve interés en construir cosas, pero casi nada me enseñaron al respecto, y en Física nos pasábamos calculando cosas y usando fórmulas que yo no sabía de dónde habían salido ni qué sentido tenían, nunca me dijeron "tienes que entender que es así porque...", yo sólo pensaba "pf, tengo que memorizar este sin sentido, a ver...", pero ¿para qué nos ponen a hacer cálculos si no nos enseñan ni a mover un alambrecito con la electricidad de una pila? Esto por ejemplo que vi ayer es mucho más útil e interesante que ser una calculadora con patas:
https://www.youtube.com/watch?v=lH-FLc8yI4Y
127  Media / Multimedia / Re: ¿Por qué este video de YT es tan difícil de descargar? en: 14 Febrero 2024, 16:52 pm
Songoku:
Ya lo descargué, agregué algo al mensaje antes de tu post.

Probé lo que me habías recomendado en un tema anterior porque ahora ya la conocía, ya sabía cómo usarla, me había dado cuenta de que ahora me habías recomendado otra cosa pero por lo dicho usé la anterior.

En cuanto a JDownloader 2, entré a lo 1ero que me apareció:


https://jdownloader.org/es/download/index

El mismo link que has puesto, yo siempre intento descargar las cosas de su sitio oficial. Entiendo que el antivirus pueda estar "comprado" por empresas que le piden que ponga eso en la lista de peligrosos aunque no lo sea, pero en fin, no parece buena idea desactivarlo xD
También pueden ser actualizaciones que se me hacen del Windows, "herramienta de eliminación de software". Si fuese Avast aprovecharía para poner sus carteles creo xD
128  Media / Multimedia / Re: ¿Por qué este video de YT es tan difícil de descargar? en: 14 Febrero 2024, 15:58 pm
Probé en Chrome una extensión que me habían recomendado pero me dijo que no funciona con YT, que pruebe en Firefox.

Probé y este fue el resultado:




De hecho, ni siquiera me reproduce videos. Ahora estoy instalando JDownloades 2.

Ah pero qué bien:


Seguiré probando.

Con AVC ya lo descargué. No supe dónde, puse convertir video a ver si me aparecía y sí, corté el archivo, cerré el programa, intenté pegarlo en otro lado pero no funcionó. Tuve que cortarlo desde una ventana normal. Otro problema es que parece sólo una versión trial. Pero ya está. Espero que le guste el dichoso video  :xD
129  Programación / Programación General / Otro error por decimales creo. en: 14 Febrero 2024, 06:36 am
Necesito que unos cuadrados (les llamo Pixeles) se coloquen uno al lado de otro como si fuese un tablero de ajedrez pero de 2x2, luego de 3x3, y así. El tamaño de cada píxel varía según cuantos deben caber en la pantalla. Una vez obtenido el largo, al pixel1 se lo coloca en 64, 0, al 2 en 64+largo, 0, y así hasta cierto punto, es decir, se van colocando cada vez más en la derecha, hasta antes de que se salgan de la pantalla, momento en que vuelve a comenzar desde 64 en X, pero aumenta en Y.

El problema es que ese límite, creo que al hacer sumas con decimales es superado antes de lo que debe. El programa está hecho de modo que coloca el píxel en el límite, y luego cuando lo supera hace lo que dije arriba. Cuando son 5x5 el límite es 371.2. Ocurre esto:
El pixel 1 se colocó en 64, 0
El pixel 2 se colocó en 140.8, 0
El pixel 3 se colocó en 217.6, 0
El pixel 4 se colocó en 294.4, 0
El pixel 5 se colocó en 64, 76.8 <- Mal colocado.

¿Qué puedo hacer para evitar el error? No es sólo para 5x5, debe servir para cualquier número entero digamos.

La parte que interesa está en el fotograma 2:

Código
  1.   actions for fotograma 1
  2.      PixelesdeLargo = 1;
  3.      function Variar () {
  4.         PixelaModificar = "ColordePixel"+Puntero;
  5.         ColordePixelaModificar = eval(PixelaModificar);
  6.         // ¿El pixel puede cambiar de color?
  7.         if (ColordePixelaModificar<1) {
  8.            // Sí, cambiarlo:
  9.            set (PixelaModificar, ColordePixelaModificar+1);
  10.            Col = new Color("Pixel"+Puntero);
  11.            Col.setRGB(parseInt(0, 16));
  12.            SumadePintados = SumadePintados+1;
  13.            // ¿El píxel está en el extremo derecho o abajo, donde no había en una hoja más chica?
  14.            if (Puntero/PixelesdeLargo == Math.floor(Puntero/PixelesdeLargo) or Puntero>MinPixelInferior) {
  15.               // Sí, actualizar SumadePintadosNuevos:
  16.               SumadePintadosNuevos = SumadePintadosNuevos+1;
  17.            }
  18.            // ¿El dibujo tiene píxeles donde no había en una hoja más chica...
  19.            // y son al menos (PixelesdeLargo) píxeles?
  20.            if (SumadePintadosNuevos>0 && SumadePintados>MinSumadePintados) {
  21.               DibujoListo = "Sí";
  22.               // Darme tiempo de ver el dibujo.
  23.               // Volver.
  24.               Puntero = MaxPosiciondePuntero;
  25.               gotoAndPlay (5);
  26.            } else {
  27.               // No, el dibujo es repetido, no mostrarlo y hacer otro:
  28.               DibujoListo = "No";
  29.               Puntero = MaxPosiciondePuntero;
  30.            }
  31.         } else {
  32.            // El pixel no puede cambiar de color, resetearlo:
  33.            set (PixelaModificar, 0);
  34.            Col = new Color("Pixel"+Puntero);
  35.            Col.setRGB(parseInt("FFFFFF", 16));
  36.            SumadePintados = SumadePintados-1;
  37.            // ¿El píxel está en el extremo derecho o abajo, donde no había en una hoja más chica?
  38.            if (Puntero/MaxPosiciondePuntero == Math.floor(Puntero/MaxPosiciondePuntero) or Puntero>MinPixelInferior) {
  39.               // Sí, actualizar SumadePintadosNuevos:
  40.               SumadePintadosNuevos = SumadePintadosNuevos-1;
  41.            }
  42.            // ¿Hay un pixel anterior?
  43.            if (Puntero>1) {
  44.               // Sí, apuntar a ese:
  45.               Puntero = Puntero-1;
  46.               // Continuar haciendo el dibujo:
  47.               DibujoListo = "No";
  48.            } else {
  49.               // No, aumentar tamaño de hoja y reiniciar.
  50.               DibujoListo = "Sí";
  51.               gotoAndPlay (2);
  52.            }
  53.         }
  54.      }
  55.   actions for fotograma 2
  56.      PixelesdeLargo = PixelesdeLargo+1;
  57.      Pixeles = 0;
  58.      DistanciaEntrePixeles = 384/PixelesdeLargo;
  59.      PosicionX = 64-DistanciaEntrePixeles;
  60.      MaxPosicionXdePixel = 64+DistanciaEntrePixeles*(PixelesDeLargo-1);
  61.      PosicionY = 0;
  62.      MaxPosiciondePuntero = PixelesdeLargo*PixelesdeLargo;
  63.      Puntero = MaxPosiciondePuntero;
  64.      // Píxeles pintados:
  65.      SumadePintados = 0;
  66.      MinSumadePintados = PixelesdeLargo-1;
  67.      MinPixelInferior = PixelesdeLargo*(PixelesdeLargo-1);
  68.      // Píxeles pintados que no estaban en hojas de menos píxeles:
  69.      SumadePintadosNuevos = 0;
  70.      // Agregar píxeles en blanco:
  71.      do {
  72.         Pixeles = Pixeles+1;
  73.         PosicionX = PosicionX+DistanciaEntrePixeles;
  74.         if (PosicionX>MaxPosicionXdePixel) {
  75.            PosicionX = 64;
  76.            PosicionY = PosicionY+DistanciaEntrePixeles;
  77.         }
  78.         trace ("El pixel "+Pixeles+" se colocó en "+PosicionX+", "+PosicionY);
  79.         attachMovie("mPixel", "Pixel"+Pixeles, Pixeles);
  80.         setProperty ("Pixel"+Pixeles, _x, PosicionX);
  81.         setProperty ("Pixel"+Pixeles, _y, PosicionY);
  82.         setProperty ("Pixel"+Pixeles, _width, DistanciaEntrePixeles);
  83.         setProperty ("Pixel"+Pixeles, _height, DistanciaEntrePixeles);
  84.      } while (Pixeles<MaxPosiciondePuntero);
  85.      stop ();
  86.   actions for fotograma 3
  87.      Variar();
  88.   actions for fotograma 4
  89.      Variar();
  90.      if (DibujoListo == "No") {
  91.         gotoAndPlay (3);
  92.      }
  93.   actions for fotograma 6
  94.      gotoAndPlay (3);
130  Programación / Programación General / ¿Existe un programa que genere la lista de fórmulas moleculares? en: 13 Febrero 2024, 09:11 am
H2O y todas esas normales.

Anormales son cuando son iones o radicales libres.

Para hacer esto hay que saber Química, claro ¿alguno sabe suficiente?

He pensado esto:
Citar
ÁtomosEnMolecula = 2
// Valencia del átomo 1:
VA1 = 1
// Identificador del átomo 1:
A1 = 1
// Eso se convierte en un átomo de la lista que la valencia marque, por ejemplo si VA1 es 1 y A1 es 1 entonces es H)
// Datos del átomo 2:
VA2 = 1
A2 = 1
Apuntador = ÁtomosEnMolecula

// Frame 2.
Si la fórmula molecular es normal, mostrarla (mostraría HH, no H_2, eso es secundario).

Si el átomo que indica el Apuntador (2: A2) puede ser otro (mayor que su anterior si hay, A1), modificarlo e ir a Frame 2.

Si hay un átomo anterior (sí: A1), disminuir el Apuntador e ir al párrafo anterior.

Resetear átomos (A1=1 y A2=1)
Apuntador = ÁtomosEnMolecula

Si la valencia del átomo que el apuntador indica (2: VA2) puede aumentar (sólo si es menor a su anterior si hay, VA1), aumentarla e ir a Frame 2.

Si hay un átomo anterior (sí: A1), disminuir el Apuntador e ir al párrafo anterior.

// Creo que en este punto habría mostrado todas las moléculas diatómicas.

// Agregar un átomo
ÁtomosEnMolecula+1
VA3=1 y A3=1 (o VA4 y A4, etc)
Apuntador = ÁtomosEnMolecula
ir a Frame 2.

Con eso se producirían fórmulas químicas hasta el aburrimiento.
Puede que el código ese tenga alguna falla, pero lo que necesito más urgentemente es:

- Entender qué átomos pueden formar 1 enlace, cuales 2, cuales 3 y cuales 4. Quizá hay más, pero es raro así que no lo consideraré. Se supone que eso es indicado por la valencia y que está en la tabla periódica, pero hay casos en que ponen muchos números y entonces no sé.

- Entender qué condiciones cumple una molécula normal.
Por ejemplo H3O no es normal porque la suma de las valencias no es par: 3+2=5
Pero eso no basta, por ejemplo CH6 tiene suma par pero no es normal, es un radical libre, normal sería esto:
  H
HCH
  H
El C con 4 enlaces y los H con 1, así que los 2H restantes no pueden formar parte de la molécula. Pensé que alcanzaba con decir que la suma de valencias de átomos con más de 1 debía ser mayor o igual que los con valencia 1 (en este caso 4<6 por lo que no sería normal), pero hay casos como NOH5 en que eso se cumple y aún así no es normal:
3+2+5=10, par, bien
3+2=<5, bien.
Pero la molécula sería: 2H-N-O-H y no hay forma de enlazar los 2H que faltan.
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 ... 192
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines