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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 [191] 192 193
1901  Programación / Programación General / Re: Programa que tenga libre albedrío ¿posible o imposible? ¿por qué? en: 27 Julio 2018, 18:25 pm
He tachado una frase, que creo no admite discusión...
En esta sección del foro, vale.

Citar
Una máquina no puede tener libre albedrío
Ok.

Citar
porque no puede pensar
Esto me parece que da para otro tema: "Máquina pensante: ¿Es imposible o cómo hacerla?". Pero no lo haré pronto. Sólo por curiosidad: ¿A qué llamas pensar? Porque aunque estoy de acuerdo contigo en que no pueden tener LA, las razones que doy de ello son distintas, o sea, creo que sí podrían pensar. Si el humano, que se supone es material, puede, por qué no iba a poder una máquina que también lo es. Sino es que la materia orgánica tiene alguna propiedad no imitable, pero no lo sé. No veo por qué no puede haber instrucciones que imiten el pensamiento humano. Los sentimientos son también imitables.

Citar
Puede calcular, pero eso no es pensar
El tema es a qué llamas calcular. Porque si por ejemplo evaluar cosas como verdaderas o falsas es calcular entonces no veo por qué nosotros cuando hacemos eso no calculamos.
Nuestra forma de pensar implica que "vemos" cosas, o "escuchamos", etc, todo mentalmente digo. Pero eso capaz que se puede imitar...

Citar
carece de consciencia
Esto suele decir el creyente al que me referí al inicio. ¿Pero qué es eso? ¿no es simplemente información? ¿decir consciencia es lo mismo que decir autoconsciencia? Se dice que nadie puede conocerse a sí mismo totalmente, pero se dice que los humanos tienen autoconsciencia. Si una máquina sabe cuánta energía le queda y sabe si tiene alguna parte rota, etc... o sea, lo que intento decir es que no entiendo qué marca la diferencia entre ser autoconsciente y no serlo.

Citar
por lo tanto desconoce lo que es el bien y el mal...
En esto me parece que te enredaste. El LA no es simplemente poder elegir entre lo bueno y lo malo, va más allá de eso y no hay por qué enredarse con eso, ya que es un tema complicado.

Citar
a lo sumo podrías programar que debe entender un programa por bien y mal, incluso puedes programar que cambie, que no tenga fijo la entrada que tu le diste, pero jamás lo hará por mediación de consciencia de la que carece.
El concepto de bien o mal no está del todo definido. Yo no soy relativista pero cual sería el significado correcto no es el tema a discutir. Ahora bien, por curiosidad: Pienso que se entiende lo que son esas cosas, a partir de información. Y creo que la consciencia es la percepción de información. Pero tú pareces estar hablando de otra cosa. ¿Por qué para determinar qué es El Bien, se debería tener autoconsciencia? Puede ser porque la propia existencia es una información relevante, pero el concepto va más allá de la existencia o estado de un aparato... ¿qué importa si es autoconsciente o no?

Citar
...y siempre será incorrecto, porque cada cual tendremos un juicio algo ligeramente distinto de lo que está bien y mal (es decir si no nos ponemos de acuerdo en ciertas cuestiones, un programa para una máquina implica que porta las 'ideas específicas' de alguien y que el resto tiene que tragar con ellas como si fueran las 'correctas').
Sí, esto pasa siempre, lo diga un moralista o una máquina. Y demostrar que sólo hay un concepto o idea correct@ es complicado. Aunque si una máquina pudiera y algunos no lo entiendan la falla sería de ellos.

No veo por qué esto viene al caso, pero bue.

Citar
La intuición humana, por ejemplo desdeña contínuamente porcentajes incluso del 99% a favor de ese 1%... y contínuamnete hay aciertos con ese 1%... ...esa era la respuesta correcta, en la que muchos no habían confiado.
Si te entendí bien estás diciendo que el humano a veces elige cosas que estadísticamente se consideran incorrectas o que una máquina consideraría tal. Eso suena a la película Yo Robot. Pienso que las máquinas pueden ser programadas para actuar como se quiera (nos salimos de tema pero bue), o sea, si quieres que imite al humano en el sentido de que tenga "intuición" y por ella de vez en cuando no siga las estadísticas ¿por qué no se va a poder? La intuición, a menos que sea algo medio mágico, es información de la que uno no es del todo consciente, una fuerza que nos recomienda hacer una cosa en vez de otra.
Yo no programo mucho, pero usaría estadísticas sólo cuando haya random. Considero que en iguales situaciones, si se aplica la misma acción, el resultado es siempre el mismo. El problema suele ser que no conocemos toda la situación y por ende el resultado se altera. En tales casos hay que intentar entender por qué pasa eso.

Citar
Un humano sabe equivocarse y no pasa nada, se sigue mejorando... para una máquina, no suele ser aceptable el error, puede costar vidas. Si un humano comete un error puede ser aceptable (porque todos los cometemos), pero para una máquina ciertos errores son intolerables...
No le veo sentido a esto. La máquina puede ser programada para que mejore, tolere y en teoría todo lo que haga el humano. Salvo tener sentimientos, pero en esta cuestión se pueden considerar simplemente una fuerza que influye en el pensamiento.

Citar
si un hombre genera 100 ideas y 1000 pensamientos, sin duda alguna serán más eficaces que lo que haga una máquina también con 100 ídeas y 1000 pensamientos...
Pienso que depende de cómo la programes. Además las personas nos equivocamos mucho.

Citar
El modo mas sencillo de demostrarlo, es pedirle a una máquina que si es tan lista, que sea ella quien diseñe su próxima versión (en vez de otro grupo de humanos), y que sea más eficaz de forma notable no en un ridículo 1-5%... además deberá exigírsele que incluya novedades jamás vistas hasta ahora como hace el hombre constantemente... no basta con mejorar las capacidades existentes, si no crea otras nuevas...
Creo que aún no hay una máquina tan lista, pero también que tu test no es bueno, porque entre más listo sea alguien menos se podrá mejorar, mentalmente hablando, porque está más cerca del límite. Los humanos tampoco son tan hábiles en mejorar sus cosas. Si lo logran es porque adquieren nueva información, pero en tu test no has dado esa posibilidad. Algunos aspectos son más fáciles de mejorar que otros...

Citar
pero créeme, las máquinas son idiotas... difícilmente superan a un niño de 5 años...
¿No es un tema de software?
Ojo, a mí no me interesa hacer una máquina con LA, y si no lo tienen o si no piensan parecido a un humano es en parte porque no interesa, ni conviene, que lo hagan. Eso explicaría en parte que el software sea pobre en inteligencia, o la máquina en sí. Pero si tiene memoria y todo lo que tiene... ¿no es suficiente? Es decir, sólo falta el software adecuado.

Citar
para no falsificar los conceptos, de 'inteligencia' y capacidades.
Sí, cuando me empecé a meter en estos asuntos me interesaba hacer una "IA" (y mi nick, es Tachikoma + IA), pero llegó un punto en que ya no quise más usar esas palabras. Parece inútil ponerse a discutir o definir qué es inteligencia. Hagamos lo que nos parezca y veremos...
1902  Programación / Programación General / Re: ¿Cómo detectar paréntesis redundantes? Avances. en: 27 Julio 2018, 03:17 am
Es cansino indicarte cosas que luego ignoras.
Si es el caso te pido disculpas.

Citar
Y tampoco tiene sentido resolver un problema estricto, sin un contexto que le dé sentido...
Te lo explico entonces, aunque creo que ya te lo expliqué un poco en otro tema y no le veo mucho sentido a hacerlo.

Quiero hacer un programa que mejore el universo o descubra cómo. No simplemente mediante leer páginas como hace Google, sino razonando, inventando. Leer páginas de hecho no lo veo necesario en esto, no va por ahí.

Como no tengo idea de cómo hacer ese programa, lo que hice fue algo similar aunque muy sencillo, resuelve una duda muy sencilla. En el código pongo una respuesta base, escribo la condición que debe cumplirse para que la duda se considere resuelta, y digo que la respuesta se varíe de cierto modo hasta que cumpla la condición. Casi así:
Código:
Candidato = 0;
Repetir
   Candidato++
Mientras Candidato < 10
Imprimir: "La respuesta es " + Candidato
Eso según he visto es:
https://es.wikipedia.org/wiki/B%C3%BAsqueda_de_fuerza_bruta
De hecho la palabra "Candidato" la tomé de ahí.

No le digo al programa cual es la respuesta a la duda, aunque en este caso sea obvia y el programa no parezca tener utilidad. Lo que pasa es que es una práctica para acercarme a lograr mi objetivo... Como un principiante hace prácticas para aprender a programar algo que quiera.
Lo que hago es darle los medios para que averigüe la respuesta, como se enseña a pescar en vez de dar pescado, aunque en mi caso quisiera llegar a enseñarle a aprender lo que se necesite, no simplemente enseñarle a pescar.

Ahora tengo que complicar la duda para que parezca más la que realmente me interesa resolver. Para eso puedo:
A- Complicar la condición a cumplir.
B- Hacer que el programa averigüe también la respuesta base.
C- Hacer que el programa averigüe también cómo variar la respuesta base.
D- Hacer que el programa averigüe también cual es la condición a cumplir.
Etc, no viene al caso la lista entera.

Resulta que B, C y D, se podrían considerar otros programas con otras dudas, o sea, no hay por qué resolver 2 dudas en el mismo, estas son dudas más complicadas que llegaré a enfrentar luego de aplicar muchas veces A.
Lo que pasa es que hay dudas en las que desconocemos más que simplemente la respuesta, pero cuando eso pasa supongo que se puede plantear cada una por separado, en distintos programas. Por ejemplo puede que desconozcamos las posibles acciones que pueden realizarse (esto está relacionado con B y C). En el universo imaginate: ¿Cuales son las posibles cosas que pueden hacerse? Poner objeto A arriba de B, ETC, pero no sabemos todo.

Entonces, como di a entender, aplicaré A muchas veces, o sea voy a complicar la condición muchas veces. Voy también a ir agregando variables de la situación, o sea, en la duda inicial de ejemplo no hay variables de esas, pero las dudas normalmente incluyen alguna, por ejemplo la medida del lado de un cuadrado, posición de unas fichas, etc.

Por ende, me conviene hacer un programa que haga las complicaciones. Pero me refiero a que la condición sea más complicada, no es que la base deba ser igual. Por ejemplo si tenemos 10 == Candidato, la próxima podría ser:
Candidato < Variable1 y Variable1 < Variable2
De hecho Candidato podría no estar presente, aunque para eso debe modificar alguna variable. No viene al caso.

Es entonces un generador de expresiones condicionales. Se escribe la cantidad que se quiere generar, y el programa las genera.

Nota: De momento NO intento que las expresiones puedan tener modificaciones de las variables. Ej: V1*2 < V2+4

El problema es que esas expresiones deben cumplir ciertas condiciones... No deben tener contradicciones como:
Candidato < Variable1 y Variable1 < Candidato
O sea deben ser posibles de cumplir, pero también posibles de no cumplir, hay que evitar cosas como:
Candidato == Variable1 or Variable1 != Candidato
Y quisiera evitar redundancias como:
Candidato <= Variable1 or Candidato < Variable1
...pero estas cosas no es el tema al menos aún.

Resulta claro que quiero que las expresiones puedan tener paréntesis, pero sólo en tanto no sean redundantes. Porque me parece absurdo que los tengan si sobran, eso es todo.

El resto ya fue explicado más o menos...

Dada una expresión, se generaría un número al azar o dependiente de la cantidad de "os" que tenga, si tiene alguna "y" separando, no pensé en eso ^^u pero es que parece secundario: La cosa es que podrían agregarse paréntesis por ahí y por allá, como comenté en el 1er post, y entonces tendría que detectar cuales sobran y cuales no.

No son redundantes cuando cambian la "lógica" de la expresión.

Creo que eso es todo...

Puf.

Ah, por cierto: Si crees imposible hacer un programa que mejore al universo o averigüe cómo, entonces me interesa aprender a hacer programas que resuelvan dudas, avanzar en eso.

Citar
En resumen: ¿pará que se van a utilizar tales expresiones?
Las copiaré, y las pegaré en el código de un programa que intentará cumplirlas. Repetiré eso muchas veces. Me gustaría por ende que la expresión fuese llevada "al if" directamente, sin que yo tenga que copiarla y pegarla, pero eso es otro tema.
Quiero hacer un programa que cumpla condiciones cada vez más complejas. Hacer experimentos con eso. Evitar tener que idear y escribir yo condiciones a cada rato.

Citar
¿cuál es la últilidad práctica que han de tener?
Creo que ya respondí eso o más o menos...

Citar
así se podrá ver una forma óptima y elegante de crearlas.
Ojalá...

Citar
Si tapas el monte y solo muestras una hoja, no te ayudas a tí mismo.
Es que no lo veo necesario y quería mantener el hilo corto. Si hubiera spoiler... pero igual había dicho algo:
"Quiero el pseudocódigo de un programa que genere expresiones que no tengan paréntesis redundantes."

¿No alcanzaba? ¿realmente lo que agregué te sirvió de algo para responder?
1903  Programación / Programación General / Re: Programa que tenga libre albedrío ¿posible o imposible? ¿por qué? en: 27 Julio 2018, 00:48 am
si defines libre albedrio como poder actuar aisladamente del resto (como seres individuales) probablemente no lo tenemos, mira los estudios de zimbardo... ^^ No somos seres individuales somos seres sociales y como tal actuamos. Como decia mi madre, tu eres tu y tus circunstancias. :)
Aisladamente no en un sentido espacial, por las dudas. También sería "aisladamente" de cada partícula, átomo, etc, salvo que sea parte de la estructura que produce el LA. Es decir, esa estructura debería no ser influenciada más que por ella misma y sólo si quiere. Parece incoherente e imposible...

Si no conoces a Ortega y Gasset, te recomiendo que lo viches.

Este foro es sobre PROGRAMACIÓN....
Este hilo, por tanto debería moverse al FORO LIBRE, aquí no pinta nada.
Capaz que no quedó claro pero estoy preguntando cómo se haría un programa que tenga libre albedrío, si alguien lo cree posible. Expliqué el contexto de la pregunta, quizá demasiado, pero la pregunta es de programación.
1904  Programación / Programación General / Re: Programa que tenga libre albedrío ¿posible o imposible? ¿por qué? en: 26 Julio 2018, 08:36 am
el problema es definir el libre albedrío, es decir, podría hacer cosas en base a números aleatoriamente ... pero no sería libre albedrío...
Correcto. Si yo tuviera que dar una definición diría que es el poder actuar sin que algo más allá de nosotros mismos nos esté causando hacer una cosa u otra. Dicho de otro modo es ser una estructura que no pueda ser influida por cosa alguna salvo que dicha estructura quiera, pero tenemos la gravedad por ejemplo... ¿podría hacerse una excepción? ¿podría ser una estructura "flotante"? Pero además esa estructura habría sido construida por algo, o sea que tampoco es que todo haya sido libre... ¿excepción?

Citar
las computadoras son deterministas es decir, los números al azar generados pueden ser calculados y sabrías su resultado...
¿No dependen de la temperatura en los chips o algo así? Lo que me llamó bastante la atención recientemente es que en un speed run de Mario, si dejaban la pantalla de inicio cierta cantidad de tiempo, luego los monitos del nivel 8 saltan justo cuando al jugador le conviene. Se nota que el random está basado en el tiempo pero uno pensaba que sería mucho más complejo. Si fuese tan fácil uno podría ganas más en los juegos de casino xD

Citar
¿como determinas si una computadora tiene consciencia?
Nunca lo pensé, más bien pensé en el tema de cómo hacer que la tenga, cosa que tampoco he pensado tanto.
Se dice que el solipsismo es irrefutable... Pero la máquina quizá tenga actividad eléctrica en alguna zona, eso sería algo...
El solipsismo es la idea de que sólo podemos demostrar nuestra propia consciencia, que podríamos estar soñando ergo que todo, incluyendo otras personas, sean creación de uno mismo. Bastante egocéntrico sí, no es que yo lo crea.

Citar
Descartes te diría "en el momento que la computadora dude de tener consciencia, quiere decir que la tiene" (jaja! truco con las pelis de ciencia ficción bien hechas! spoiler permanente!)...
Siguiendo tu razonamiento o pregunta anterior cabría preguntarse cómo determinar si está dudando...

Es más, cuando se habla de que las computadoras aprenden mucha gente "patalea" conque en realidad aprender es otra cosa.

Citar
en resumen, incluso se discute el hecho del humano y libre albedrío en si mismo, pero esto implicaría que existe un Dios
No necesariamente. El LA parece y está vinculado a algo milagroso, pero no hay real dependencia al menos no veo.

Citar
a su vez implica que existe un "Destino" y que eres libre de cambiarlo...
Los que creen en el LA suelen decir que el futuro aún no existe, aunque dicen que Dios lo vió. Contradicciones...

Citar
así que la demostración de libre albedrío requiere en conjunto la demostración de la existencia de dios...
Bueno... si se quiere asociar tanto a algo milagroso... Pero creo que hay ateos que defienden su existencia...
1905  Programación / Programación General / Programa que tenga libre albedrío ¿posible o imposible? ¿por qué? en: 26 Julio 2018, 05:51 am
Me canso de leer ciertas defensas a Dios en un foro que se supone es de filosofía. Por ejemplo más o menos esto:
"Creó al mundo y ahora no interviene ¿Qué culpa tiene Dios si te cae un árbol encima?"
"Nos da libertad. Lo malo que hace el humano es culpa del humano"
Combinada con la creencia de que Dios ha visto el futuro, sabe lo que pasará, y puede evitarlo se supone, lo cual es paradójico, pero eh, mucho de lo relacionado con él lo es.



Si tú creas un personaje de modo que camine por un sitio justo cuando algo está por caer allí, es que:
A- No sabías lo que estabas haciendo. Tu personaje es aplastado por culpa de tu ignorancia. Dios sería ignorante.
B- Le haz puesto azar. El aplastamiento se debe a tu irresponsabilidad, a dejar las cosas en manos del azar. Dios no sería necesariamente malvado, pero habría causado desastres debido a no programar bien o en pos del bien.
C- Querías que lo aplastara. Eso en general te convierte en un malvado, si el personaje fuese sensible. Si lo aplastarás, sería más coherente haber creado un personaje más apropiado, que pueda ser feliz sin tener que ser aplastado. Dios sería malvado o tonto.
D- Le has puesto libre albedrío a tu personaje o a lo que sea que derribó el árbol. Esto me parece imposible. ¿Alguien lo cree posible y tiene idea de cómo se haría? Pero de hecho parece entrar en las anteriores categorías. Ponerle un "diagrama de flujo desconocido que lo lleva a ser aplastado", parece lo mismo que aplastarlo (sólo que el proceso es más complejo o misterioso), o que poner azar o no tener idea de lo que se está haciendo. Un creyente puede decir que es un sacrificio necesario para que haya eso tan preciado que llama libertad, aunque bien sabemos que los árboles podrían evaporarse en vez de caerse, por ejemplo. Si puede dar eso tan mágico que parece ser la libertad, debería poder hacer eso otro con los árboles, o que se derritan, o que se caigan lentamente, o que un bicho los coma, etc. Hablo de árboles viejos. Los que por ejemplo caen por vientos fuertes se evita evitando vientos fuertes.

Por supuesto un creyente podrá decir que una máquina no puede ser libre pero un humano sí, pero los argumentos que suelo leer sobre eso son muy pobres. Que un programador programa a la máquina, como si Dios no hubiera programado al hombre en caso de que realmente lo hubiera creado. Yo dudo que los humanos tengamos alma o cosas raras así que probablemente seamos imitables, pero hay creyentes que afirman la libertad humana incluso sin que haya algo sobrenatural. Así que no se trata de demostrar que tenemos alma, sino de demostrar que el libre albedrío es una ilusión. Esta creencia está implicada en el determinismo fuerte:
https://es.wikipedia.org/wiki/Determinismo#Determinismo_en_los_individuos
A los amantes de la física cuántica, que parece refutar a ese determinismo, les advierto que las teorías de cosas que suceden "porque sí", son interpretaciones de los hechos, el azar ontológico es indemostrable. Capaz que para uds un determinista es lo que para un determinista es un creyente, pero bue, tampoco es que importe mucho.

Si alguno cree que por algún motivo las máquinas no pueden tener libre albedrío pero el humano sí, me gustaría escuchar sus razones.


El caso de los "seres libres que hacen maldades" es muy similar al del "ser libre que es aplastado", no lo explicaré para no alargar tanto el post.


Por cierto, originalmente estaban hablando de niños que mueren de cáncer, por si el caso del árbol parece una tontería. Por algún motivo el creyente puso ese otro ejemplo al responder.
1906  Programación / Programación General / ¿Cómo detectar paréntesis redundantes? Avances. en: 26 Julio 2018, 01:56 am
Resumen en negrita.

Parece que expresiones como esta:
Variable1 < Variable2 y Variable1 < Variable3 o Variable2 == Variable3
son análogas a esta:
2 * 3 + 4
en el sentido de la prioridad: Así como los * se aplican antes que los +, las "y" se aplican antes que las "o".

Supongamos que tenemos:
A s B s C s D s E
donde las letras mayúsculas representan números y las s representan signos.


Los paréntesis son redundantes cuando no alteran el orden de las operaciones.


Redundantes tipo 1: Envuelven sólo un valor.
Ej: (A) s B s C s D s E

Quiero el pseudocódigo de un programa que genere expresiones que no tengan paréntesis redundantes. Generar las expresiones no es difícil (al menos las que intenté por ahora; hay otras), lo difícil para mí actualmente se relaciona con los paréntesis. Según pensé, luego de generar una expresión la podría variar poniéndole paréntesis.

Los que abren sólo se pueden poner en las posiciones indicadas por los números de arriba y los que cierran en los de abajo. Básicamente al inicio de una expresión no tiene sentido cerrarlo y al final no tiene sentido abrirlo. El programa siempre en algún punto cerraría los que abra así que no tiene que revisar si todos están abiertos y cerrados. Ej:
Posición de los abiertos: 1, 3
Cerrados: 2, 4
Resultado: (A s (B s C) s D) s E

Unos paréntesis son redundantes tipo 1 si un número está en ambos grupos
En criollo: Si se cierra a penas se abre.
Ej:
Posición de los abiertos: 1, 3
Cerrados: 3, 4
Resultado: (A s B s (C) s D) s E
¿De acuerdo? ¿se les ocurre un método mejor de nombrarlos/generarlos?


Redundantes tipo 2: Envuelven a todo el resto.
Ej: (A s B s C s D s E)

Ocurren cuando:
- En abiertos está el nro 1.
- En cerrados está el número más alto admisible.
y alguna otra condición que no llego a entender. ¿Cual/es?

El problema son casos como por ejemplo este:
(A s B s C) s (D s E)
Posición de los abiertos: 1, 4
Cerrados: 3, 5
Ahí hay 1 y 5 pero no hay falla, por eso falta alguna condición más.


Redundantes tipo 3: No envuelven algún + y no hay un * fuera.
Recuerden que eso del + y * es una analogía. Pero la cosa es que A * B * C = A * (B * C). En la práctica puede que no si el resultado de A * B o B * C es infinito en extensión, pero por ahora no trabajo con eso. Condición1 y Condición2 y Condición3 = C1 y (C2 y C3). Los paréntesis tienen sentido si implican alguna + y hay alguna * fuera. Es decir, cuando alteran el orden normal de las operaciones.

Por ahora no puedo decir cómo detectaría estos, si acaso puedo averiguarlo. Necesito hacer ciertos códigos o pseudos antes de poder analizar esto. Pero si alguno sabe detectarlos, agradezco la respuesta.


¿Hay algún otro tipo?
1907  Programación / Programación General / Re: Saludos en: 26 Julio 2018, 01:35 am
No sé mucho del tema, pero Python podría ser, debido a que supuestamente es el más fácil de usar, dentro de los que son muy usados.

Para mí es Action Script de Macromedia Flash 5, pero no te lo recomiendo porque casi nadie lo usa y la mayoría lo critica mucho.
BASIC y Clipper también me parecieron más fáciles que Python pero son muy viejos, y gráficamente muy limitados. No confundir BASIC con Visual Basic. El 2ndo es mucho más complicado.



Cómo usar AS de MF5:
Lo instalas, haces el tutorial que viene incluído, vas ganando experiencia, etc.

Cómo usar Python:
Hay que buscar un IDE creo, hay que crear una variable de entorno, y si mal no recuerdo son 2 exes o sea tienes que probar a ver cual es el indicado.



Cómo unir un número y una string en AS de MF5:
Definir número. Ej: Num = 4;
Definir texto. Ej: Tex = "Hola";
Union = Num + Tex;

En Python.
Eh... no llegué a aprenderlo, me pareció excesivamente complicado. Por lo que acabo de ver hay que usar una función especial.
https://es.stackoverflow.com/questions/57263/c%C3%B3mo-concatenar-int-y-str-con-python
Si quieres tener que memorizar funciones especiales por cada chorrada que tengas que hacer, ya sabes.



Cómo poner variables en un archivo con AS de MF5:
Definir variables a guardar. Otras definirlas dentro de un objeto.
fs command ("save", "Nombredearchivo.extensión");
...
Más o menos eso. Hay varias cosas a tener en cuenta.
- No funciona si el archivo/código que estás ejecutando es un swf, sí si es exe. Me refiero al programa. El archivo que estás creando puede ser un txt.
- No funciona en versiones posteriores a la de MF5. Por eso me quedé en esa vieja versión (y porque en mi vieja compu es la que anda a velocidad normal, y porque las nuevas herramientas las pusieron en "íconos" grandes, no dejan ver bien la pantalla). Por algún estúpido motivo decidieron quitar esta función y en su lugar pusieron algo que me pareció excesivamente complicado (por lo que leí consiste en enviar un mail (ya sé que suena loco, pero fue lo que leí) o ejecutar un archivo o no sé bien qué, que tenga lenguaje de javascript).
- La función no está documentada, o sea, fue descubierta mediante hacking o no sé qué.
- No se sabe exactamente cuando las variables se terminan de guardar. Eso es problemático sí. Pero como desarrollé una forma de saberlo (básicamente copiando las variables a un objeto, cargar el archivo a él, y hacer tiempo hasta que las variables sean iguales a las que están en la raíz), no tengo mucho problema.
- Esta función sustituye el contenido antiguo del archivo. Si por algún motivo quisieras agregarle variables en vez de sustituirlas, es fácil: Cárgalas antes de usar el save. Eso se hace también con una línea cortita, es fácil, aunque también tiene sus cosas a tener en cuenta.
- Puedes crear archivos con nombres normalmente imposibles, los cuales puede que te sea difícil borrarlos. Tendrás que borrar la carpeta donde estén o usar alguna herramienta especial. Obviamente si haces bien las cosas no vas a crear archivos así.
...
Un problema sí es que en este programa los do while largos trancan la computadora (aparece un cartel, no es que tengas que resetarla, puedes usar el clásico CLTR ALT SUPR). Tienes que usar goto en esos casos. Algo que la mayoría de los programadores no recomiendan.

En Python:
Eh... no llegué a aprenderlo, me pareció excesivamente complicado.
https://es.stackoverflow.com/questions/105106/guardar-datos-de-un-txt
No tanto, pero eso de "abrir un archivo, leer las líneas y cerrarlo", parece una chorrada xD
- Quisiera guardar mi coche en vuestro estacionamiento.
- Inicio el proceso. ¡Abran el garaje!
- ¡Abierto!
- ¡Cuenten los autos!
- ¡Contados!
- ¡Cierren el garaje!
- ¡Cerrado!
- ¡Ábranlo!
- ¡Abierto!
- Pase...
Encima el forero dice que hay que crear una línea y luego eliminar una línea y espacios, es un desastre xD

¿Te das cuenta? En el lenguaje que digo se hace con sólo 1 línea de código, y bien cortita. En este otro lenguaje te exigen hacer otras cosas que parecen burocráticas, absurdas. Por eso no lo aprendí. Pero no me hagas mucho caso, que yo no tengo títulos ni nada.


POR OTRO LADO, tu firma me hizo sangrar los ojos digamos. Te recomiendo verr esto:
https://www.youtube.com/watch?v=cZYNADOHhVY
El dragón creo que representa el envejecimiento, pero podría representar cualquier cosa que una persona con 2 dedos de frente mínimo consideraría negativa, como la muerte.
Decir que la muerte es lo mejor de la vida (que es prácticamente lo que dices) parece una de las cosas más estúpidas que he escuchado.
1908  Programación / Programación General / Re: Como mantenerse programando? en: 25 Julio 2018, 18:08 pm
Sinceramente me es difícil responderte sin tomarte el pelo, pero la culpa es más bien tuya, porque un programador que no sabe qué programar parece algo ridículo, supongo que normal a cierta edad o nivel (muchas veces, y recientemente también, me he planteado por ejemplo hacer un anime pero no sabía de qué), pero es como un médico que no sabe a quién curar, por decir algo.

Tienes que observar qué se necesita o ayudaría, y sino mirar tus códigos o ejercicios que hayas hecho y complicarlos, plantearte nuevas cosas.

Puedes hacer videojuegos.
Complicar juegos ya existentes, ponerles variaciones. Por ejemplo un ajedréz para 3 personas y donde en vez de caballo, alfil y torre hayan mezclas: Alfil montado a caballo, torre montada en caballo (WFT), y alfil en torre. La reina estaría montada en caballo también. Y por las dudas no son simplemente dibujitos, "estar en" implica que adquieren las habilidades del otro.
Un programa que haga música. Él mismo, sí, el usuario sólo le dice el género o cosas así.
Que hable.
Que haga cómics.
Que haga películas.
Que programe.
Que te dé ideas.
Que resuelva dudas, o diga cómo.
Que intente mejorar el universo, o diga cómo.
Que represente mentes.
Que averigüe cómo hacer mejores speed runs, low level challange, etc, de un videojuego.
Que averigüe cómo ganar dinero.

O lo mejor de todo: ¡Que haga lenguajes y cursos para que tú los aprendas y hagas!  :xD :xD :xD

No, a ver, hay 2 cosas "normaluchas" que he necesitado:
- Convertir un texto normal en bb code o como se llame, y viceversa.
- Traducir texto de una imagen. O sea, no puedo copiarlo ¿entiendes? Menos si está en japonés. Capaz que puedo (antes anotaba los passwords de Tsubasa de NES), pero sería aburrido.
Supongo que las hay, pero no confirmé.

Deja la programación un rato, mira las noticias, diviértete, estudia algo de ciencia y filosofía... Luego quizá la programación deje de ser para ti un fin y se convierta en un medio. ¿Por qué programas? ¿porque quieres dinero? Espero que encuentres algo mejor que eso, pero sinceramente con tu despiste dudo que puedas conseguir mucho aunque si tienes capacidad para adaptarte a y hacer cualquier sin sentido que te pida un curso tienes mucho futuro como programador contratable.

quizás la diferencia más notable es que no estés rodeado de gente que también le fascine
Y no se habla por tv ni radio, etc. Pero tenemos Internet.

Citar
Si algo que supuestamente te gusta mucho, te supone mucho esfuerzo por tu parte y/o te da pereza
Eso también me pasa, es que uno suele querer los programas, no hacerlos. Aunque puede haber gente que quiere hacerlos y no le interese usarlos, sep.
1909  Programación / Programación General / Re: Duda sobre expresiones condicionales. en: 16 Julio 2018, 20:46 pm
no XD es un axioma que depende de un contexto o ambito... es decir, yo no puedo llegar y hablar de la propiedad distributiva si hablamos de leyes XD si la persona robó (2 años) y <agredió (1 año) o mató (10años)> entonces la persona robó con agresión (2años) + robó con asesinato(20 años) entonces la persona va presa 22 años XD

no es un axioma, es que estás interetando los simbolos como en "otro lenguaje" eso implicaría que "-" y "/" tienen su contrapartes en logica y que "1+1" en Lógica binaria es "10"
Digamos que estoy de acuerdo con lo esencial.

Un axioma es una proposición que antiguamente se consideraba que no necesita demostración.
Yo me confundí un poco y lo tomé como que "no necesita explicación", es decir que no necesitaba aclararse que se aplica sólo a ciertos contextos.


Tu idea está buena pero con 4 variables o más no sé cómo se usaría.

A - B - C - D

Rodear sólo una letra no me sirve así que salteo eso.
También el rodear todas.

AB -> (A y B) o C o D
AC (esto significaría que el paréntesis abarca desde A hasta C, supongo que no hay problema con eso) -> (A y B o C) o D
BC -> A y (B o C) o D
BD -> A y (B o C o D)
CD -> A y B o (C o D)
AABC -> ((A y B) o C) o D
Las que sean así con letra repetida capaz que pueden interpretarse mal, pero parece que no. Aún así lo veo complicado. No se sabe cuando una letra está abriendo y cuando cerrando. En este caso se entiende que A no puede estar cerrando (sino sólo implicaría una letra), pero cuando haya más variables puede haber casos en que no sea deducible, creo.

¿Y cómo se haría por ejemplo esto
(A y B) o (C o D)?
Quizá pienses ABCD, pero... si fuesen 5 variables:
A y B o C o D y E
entonces ABCD se podría interpretar así:
(A y B) o (C o D) y E
o así: (A y (B o C) o D) y E
Y si me dices que los pares abren y los impares abren entonces no puedes abrir 2 seguidos...
En el caso de 4 variables no hay problema porque un paréntesis no puede abarcar de A a D.


Quizá letras mayúsculas para indicar un abrir y minúsculas para un cerrar.
AbCd -> (A y B) o (C o D) y E
ABcd -> (A y (B o C) o D) y E

Citar
tienes que tomar en cuenta que tus permutaciones deben ser sin repetidos, y solo contiguos
¿Cual sería el problema si no cumplieran esas reglas?

Citar
tambien puedes permutar permutaciones, para casos con más variables
Esto suena interesante pero difícil y no sé si evita resultados repetidos... Tendría que guardar los resultados e indicar al programa qué cosas se pueden hacer en ellos...
Por lo que anduve pensando hay casos en que tiene sentido poner 2 o más paréntesis que impliquen lo mismo. Pero quisiera que se haga sólo cuando tenga sentido, no siempre. Bueno... para empezar supongo que estaría bien, pero a la larga necesitaría un filtro.
1910  Programación / Programación General / Re: Duda sobre expresiones condicionales. en: 16 Julio 2018, 13:39 pm
no entiendo que otro axioma...
Tal vez no es un "otro axioma", pero si uno mira desde donde dice axiomas y ve la propiedad distributiva podría interpretarse como yo lo hice SALVO que antes se hubiera leído el principio que tú me mostraste que yo no había leído.
Entonces es como un axioma que sólo funciona si se sigue otro axioma...

Citar
me parece que ya tienes discutido lo más extenso y complicado
No sé qué, pero dejémoslo así.


En cuanto a las fórmulas.

Esto parece inútil:
https://www.vitutor.net/1/estadistica.html

Y esto:
https://www.youtube.com/watch?v=m358EUYS1CQ
Parece ser un método para calcular la cantidad de casos posibles, pero a mí no me interesa ver la cantidad, me interesa ver los casos, es decir no quiero que el programa me diga un número, quiero que me muestre todos los casos.

Este código genera todos los textos (con los caracteres especificados en Data) posibles:
Código:
Escena 1
   actions for fotograma 1
      Data = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
      Char0ID = -1;
      Chars = 1;
      Resp = "";
   actions for fotograma 2
      C = "";
      Cursor = 0;
   actions for fotograma 3
      // Caracter listo para aumentar.
      Char_Cursor_ID = "Char"+Cursor+"ID";
      EvaledxChar_Cursor_IDxPlus1 = eval(Char_Cursor_ID)+1;
   actions for fotograma 4
      if (EvaledxChar_Cursor_IDxPlus1<27) {
         // Caracter puede aumentar.
         set (Char_Cursor_ID, EvaledxChar_Cursor_IDxPlus1);
         // Caracter aumenta.
         // Hay que actualizar C.
      } else {
         // El valor del char está fuera del límite.
         set (Char_Cursor_ID, 0);
         Cursor = Cursor+1;
         if (Cursor == Chars) {
            // Hay que agregar un char.
            set ("Char"+Cursor+"ID", 0);
            Chars = Chars+1;
            // Hay que actualizar C.
         } else {
            // Hay que aumentar el char siguiente.
            gotoAndPlay (3);
         }
      }
   actions for fotograma 5
      // Actualizar C.
      C = "";
      Cursor = 0;
   actions for fotograma 6
      C = Data.charAt(eval("Char"+Cursor+"ID"))+C;
      Cursor = Cursor+1;
   actions for fotograma 7
      if (Cursor<Chars) {
         // Continuar actualizando chars.
         gotoAndPlay (6);
      } else {
         // Listo, mostrar en pantalla y crear otro tx.
         Resp = C+"\n"+Resp;
         gotoAndPlay (2);
      }


El resultado llega hasta se quiera, lo corté porque no tiene sentido aquí.
Citar
AS
AR
AQ
AP
AO

AN
AM
AL
AK
AJ
AI
AH
AG
AF
AE
AD
AC
AB
AA
Z
Y
X
W
V
U
T
S
R
Q
P
O
Ñ
N
M
L
K
J
I
H
G
F
E
D
C
B
A
Creo que está relacionado.

Esto son las variables que no muestra (por si te interesa entenderlo mejor):
Citar
  Variable _level0.Data = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"
  Variable _level0.Char0ID = 20
  Variable _level0.Chars = 2
  Variable _level0.C = ""
  Variable _level0.Cursor = 0
  Variable _level0.Char_Cursor_ID = "Char0ID"
  Variable _level0.EvaledxChar_Cursor_IDxPlus1 = 20
  Variable _level0.Char1ID = 0
No recuerdo bien el funcionamiento pero básicamente crea variables llamadas CharXID, donde X es el número de caracter, o sea la posición que ocupa en el texto creado. Y el valor se va variando. Entonces se forma el texto:
C = Char0ID + Char1ID
El momento en que lo corté no necesariamente es la parte en que acaba de actualizar C, pero bueno, digamos que
Char0ID es 20, o sea S
y Char1ID es 0, o sea A.

Supongo que hay formas más sencillas de hacerlo pero esa fue la que se me ocurrió.

El código que genera condiciones no lo tengo a mano y quizá ni siquiera lo tengo, pero la "lógica" es similar, se va variando el comparador y las relaciones, y se van agregando. Las variables no me interesa variarlas, pero no sería difícil.

Los paréntesis... sí.

- Los abiertos sólo se pueden poner al comienzo de la expresión y/o luego de una relación.
- Los cerrados, sólo al final de la expresión y/o antes de una relación.
- La cantidad de abiertos debe ser la misma que de cerrados y además, por cada cerrado, debe haber uno abierto antes.

En esta expresión:
A o B y C
Tenemos...
1 A o 3 B 4 y C 6
es decir, esos números son posibles posiciones de los paréntesis.
Los abiertos sólo pueden ir en lugares impares.
Y los cerrados sólo en pares.
El lugar 2 y 5 no cuentan porque sólo encerrarían una subcondición pero para que tengan "sentido" deben encerrar una relación. Antes había dicho otra cosa, me confundí.

Luego es cuestión de "hacer números", casi...
NOTA: X = 0.
0X00X0: A o B y C
0X10X1: A o (B y C)
1X01X0: (A o B) y C
Es sólo esto xD Es más fácil de lo que había pensado y dicho. Pero se va complicando a medida que aumentan las relaciones.
NOTA: Ya sé que al poner paréntesis puede cambiar la lógica, esa es la idea.

0X0000X0: A o B y C o D
0X0010X1: A o B y (C o D)
0X1000X1: A o (B y C o D)
0X1001X0: A o (B y C) o D
0X1010X2: A o (B y (C o D))

O sea, eso es más o menos lo que tengo en mente, pero es difícil de aplicar, porque hay que especificar cuando puede ir un número mayor que 1, cuando puede haber paréntesis contiguos... ¿Alguna otro método?
Páginas: 1 ... 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 [191] 192 193
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines