Foros del Web » Programación para mayores de 30 ;) » Programación General »

¿Cómo programar mejor?

Estas en el tema de ¿Cómo programar mejor? en el foro de Programación General en Foros del Web. Por ahora no haré cambios radicales como empezar a usar Java, simplemente quiero que me den consejos sobre cómo programar mejor o al menos de ...
  #1 (permalink)  
Antiguo 26/05/2015, 22:07
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
¿Cómo programar mejor?

Por ahora no haré cambios radicales como empezar a usar Java, simplemente quiero que me den consejos sobre cómo programar mejor o al menos de forma que no me cagu*n a puteadas cuando hago una consulta aquí. Alguien me dijo:
Cita:
1 - Todo tu código está desordenado, mal indentado, carece completamente de estructura, prolijidad, coherencia y cohesión. Básicamente es un desastre.
Cita:
3 - Tus comentarios no tienen absolutamente nada que ver con nada.
Cita:
5 - Todo tu código tiene muy poco sentido, en general. "no va a ningún lado". No "hace nada". Solo declaras variables sin ninguna estructura, declarás funciones que no está claro cual es el objetivo de cada una, y en general no se entiende qué es lo que estás tratando de hacer.
Cita:
Me hacés acordar al abuelo Simpson cuando se pone a contar que tenía una cebolla en el cinturón. Es decir, tus planteos y tu código son un sinfin de divagues sin relación, al mejor estilo del rock alternativo empastillado, o de la abuela con alzheimer.
Y hasta ahí leí porque no había hablado tantas veces con él pero no es la 1era vez que me responde de esa manera tan ofensiva, y por eso es la única o una de las pocas personas que he decidido ignorar en un foro.
Pero resulta que el mensaje donde dijo esas cosas recibió 7 "me gustó", o sea que, vamos a ver qué es lo que pasa: O mejoro, o mejoran unos cuantos y el respeto hacia mí, o mejoramos todos, o me voy de este foro donde insultarme o exagerar mis defectos al parecer se aplaude.

Incluso un mod ha dicho que la respuesta de ese señor fue una buena respuesta, que yo no me expreso bien y dió a entender que mi código no era suficientemente legible.

Bueno, voy a realizar una serie de ejercicios y si quieren que aprenda en vez de insultarme o festejar los insultos que me hagan, entonces por favor díganme qué errores ven en esos ejercicios.

Ejercicio 1:
Hacer que aparezca "Hola Mundo!" en la pantalla.

Aquí voy.

Modo 1:
Escribí
Código:
trace ("Hola Mundo!");
en el panel de acciones del frame 1.
Probé la película y apareció el mensaje.

Modo 2:
Inserté un texto en la hoja, usando la herramienta texto. Escribí la frase en cuestión, probé la película y básicamente es el mismo resultado que con el modo 1.

Listo.

¿Cómo voy hasta ahí? ¿todo mi código está desordenado, mal indentado, en definitiva he cometido algún error por el que quieran dar +1 a quien me insulte? ¿me expresé bien? ¿hice bien el ejercicio?

Si creen que lo hice bien, y que mi forma de hacer y mostrar el código y de expresarme no son dignas de insultos, entonces por favor díganme un ejercicio un poco más complejo que quieran que realice. La idea es ir viendo de a poco mis defectos, por eso no debería ser un ejercicio mucho más complejo porque pasaríamos de "lo has hecho bien" a "hay 25 cosas que tienes mal", prefiero ver las cosas de a poco.

No estoy pidiendo un tutorial ni curso de programación, estoy pidiendo que se fijen si hago mal los ejercicios, que me digan en qué sentido están mal o qué he hecho mal hasta ahora (en este tema), y si está todo bien entonces que me planteen otro ejercicio como he descrito y así sucesivamente hasta que digan "Ok Tachikomaia, ahora mereces respeto y no te vamos a mandar a estudiar artículos cuando hagas un tema".

Gracias.
__________________
"No se puede borrar hasta", PHPeros.
  #2 (permalink)  
Antiguo 26/05/2015, 23:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: ¿Cómo programar mejor?

Tachikomaia: Tu no quieres aprender a programar. Lo que has estado intentando desde hace tiempo es implementar diversos paradigmas de programación a una única herramienta que usas, y que es el ActionScript, corriendo sobre Flash 5.0
El problema es que esa herramienta sólo soporta un único paradigma: Programación estructurada, y para colmo lo hace de un modo rudimentario.
En tanto tu única meta y recurso sea ese, es imposible que puedas avanzar en el uso de otros paradigmas. Simplemente no aplican a tu herramienta, ni lo van a hacer.
Como no podemos hacer nada por que busques otros horizontes de programación, porque ya nos has dicho repetidamente que no lo vas a hacer, es difícil poder aportarte nada.

Si realmente desearas aprender a programar, como la inmensa mayoría de los desarrolladores, simplemente estarías hace rato explorando las capacidades y adquiriendo experiencias en otros lenguajes (los que fuesen), y las respuestas serían positivas.
Una de las cosas que aprendemos a través de la experiencia como desarrolladores, es que tenemos que adquirir la habilidad de saltar de lenguaje en lenguaje, es parte de la experiencia normal de los programadores en este siglo.

El ActionScript es tu recurso de vida, lo entendemos. Pero comprende que para la mayoría de nosotros, es sólo un lenguaje menor que se usa en un único sistema, y para aportar capacidades a un único recurso (Fash). No representa ventajas para el desarrollo de aplicaciones, y por tanto tampoco es algo que merezca tiempo a dedicar.
En tanto el AS no pueda funcionar construyendo aplicaciones fuera de Flash... no representa una herramienta de interés para programadores.
Se podría decir que es algo para diseñadores Web, que encima está perdiendo su nicho a expensas de otras herramientas nuevas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/05/2015, 00:06
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tachikomaia: Tu no quieres aprender a programar.
A lo mejor lo que quiero se podría describir como "hacer un programa que resuelva problemas, en Flash y si no puedo entonces en otro lenguaje". También me interesa que ese programa esté hecho de forma eficiente, por ejemplo usando funciones para evitar repetir código. Pero también me interesa hacer ciertos videojuegos y otras cosas. Y consultas si tengo dudas y sin que me insulten como he comentado.
Si "aprender a programar" implica cosas que no están implicadas en las que dije, entonces no. Pero no sabría cómo expresarlo en pocas palabras, en el título ¿qué debería decir?

Cita:
Lo que has estado intentando desde hace tiempo es implementar diversos paradigmas de programación a una única herramienta que usas, y que es el ActionScript, corriendo sobre Flash 5.0
No sé si paradigmas porque no los conozco bien, yo hago lo que me resulta cómodo o necesario para avanzar. Si lo que me resulta cómodo es lo que mencionas lo uso y si me resultara insuficiente buscaría quizá otra cosa.

Cita:
En tanto tu única meta y recurso sea ese, es imposible que puedas avanzar en el uso de otros paradigmas.
No sé lo que es paradigmas ¿es algo necesario para avanzar en mis objetivos? ¿pueden mi códigos ser legibles y efectivos sin que aprenda sobre paradigmas? Por ahora creo que el problema es la legibilidad ¿cómo mejoro la legibilidad?

Cita:
Si realmente desearas aprender a programar, como la inmensa mayoría de los desarrolladores, simplemente estarías hace rato explorando las capacidades y adquiriendo experiencias en otros lenguajes (los que fuesen), y las respuestas serían positivas.
Eso asumiendo que programar es aprender lenguajeS, para mí si se puede mejorar con el uso de uno entonces se puede aprender a programar con uno. Pero es que además he oído que la programación va más allá de un lenguaje, como si hubiera normas o algo que se aplicaran para todos los lenguajes.
Como di a entender, con este tema quiero ver cosas de a poco, pero bueno ¿hay reglas generales de la programación que se puedan aprender o más bien hay que explorar otros lenguajes?

Cita:
Una de las cosas que aprendemos a través de la experiencia como desarrolladores, es que tenemos que adquirir la habilidad de saltar de lenguaje en lenguaje, es parte de la experiencia normal de los programadores en este siglo.
Antes usaba Clipper... De AS nada sabía, pero como me pareció tanta la diferencia de dificultad en dibujar entre uno y otro -en Clipper se dibuja con código ASCII o algo así xD -, no lo pensé mucho. Pero entre Flash y algo supuestamente mejor no me ha parecido así. VB podría ser pero lo he visto muy complicado. Entre que no lo siento, que mi computadora o lo que sea me complica instalar esas cosas, que aprender me cuesta y que ya tengo bastante hecho en Flash... pues sí, difícil que cambie. Pero es que incluso no creo que sea necesario cambiar en ese sentido.

Saludos.
__________________
"No se puede borrar hasta", PHPeros.
  #4 (permalink)  
Antiguo 27/05/2015, 02:16
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.329
Antigüedad: 11 años, 10 meses
Puntos: 606
Respuesta: ¿Cómo programar mejor?

Hacer un "Hola mundo no es aprender a programar, no se porque te cuesta tanto entenderlo. Quieres aprender a programar? hay cursos de algoritmos en webs como coursera, donde lo imparten profesores universitarios, eso sí, en inglés.

Lo que es de risa es que pretendas hacer un programa que utilice sistemas de redes neuronales y auto-learning, cuya teoría es bastante espesa y complicada, y en cambio te cueste aprender un lenguaje de programación que te facilitaría mucho tu tarea.

Pero como no se puede ayudar a quien no está abierto a cambiar y mejorar... creo que quizás tendrías que leer entre líneas y ver que cuando tanta gente te dice lo mismo y la cantidad de "me gusta" que reciben, quizás es que ellos tengan razón, no? Entonces porque culparles por lo que te dicen? No es más que te da pereza hacer las cosas bien? Porque preguntas como hacer algo bien si, cuando te lo dicen, dices "ah, eso no quiero aprenderlo". Lo has planteado como que el resto tiene un problema de actitud contigo y más bien parece que el que tiene un problema de actitud para aceptar las críticas eres tú. Si quieres aprender, empieza estudiando POO o, en su defecto, programación estructurada. Y de paso un lenguaje que tenga más posibilidades para lo que buscas.

En el foro no estamos para decirte lo que quieres escuchar. Estamos para decirte como mejorar y luego es decisión tuya hacerlo o no. Aunque nuestra sensación es que muchas ganas no tienes de cambiar y con eso no podemos hacer nada.
__________________
Aviso: No se resuelven dudas por MP!

Última edición por Malenko; 27/05/2015 a las 02:29
  #5 (permalink)  
Antiguo 27/05/2015, 07:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: ¿Cómo programar mejor?

Voy a intentar un despeje de incognitas didáctico, y para empezar vamos a hacer una aclaración sobre la primera duda que respondes:
Cita:
No sé si paradigmas porque no los conozco bien, yo hago lo que me resulta cómodo o necesario para avanzar. Si lo que me resulta cómodo es lo que mencionas lo uso y si me resultara insuficiente buscaría quizá otra cosa.

No sé lo que es paradigmas ¿es algo necesario para avanzar en mis objetivos?
Paradigma de programación:
En esencia, un paradigma de programación es un modelo de resolución de problemas de programación, y su tecnología asociada. Plantea el cómo, con qué y de qué modo de la creación de programas de computadora.
El hecho de que sea un modelo implica que es es un modo de representar un sistema (ver concepto de sistema en informática), y el modo en que se analiza, desglosa y construye la lógica que lo hace funcionar.

Existen varios paradigmas diferentes, todos los cuales tienen su aplicación práctica en diferentes lenguajes de programación, los cuales han sido diseñados para dar soporte a determinados paradigmas, o incluso a más de uno.

- Imperativo o por procedimientos. Es el más común y está representado , por ejemplo, por BASIC, C, Fortran, Pascal, Perl, PHP, Lua, Java y Python (en este contexto estaría el ActionScript, aunque como el AS no funciona fuera de Flash, su inclusion como lenguaje es discutible).
- Funcional: Está representado por Scheme o Haskell. Este es un caso del paradigma declarativo. Lenguajes funcionales híbridos más conocidos son Scala, Lisp, Clojure, Scheme, Ocaml, SAP y Standard ML.
- Lógico: está representado por Prolog. Este es otro caso del paradigma declarativo.
- Declarativo: Por ejemplo la programación funcional, la programación lógica, o la combinación lógico-funcional. En este contexto está el SQL (leguaje de consultas de los DBMS).
- Orientado a objetos: está representado por Smalltalk, un lenguaje completamente orientado a objetos. Incluye a C#, Java, y otros.
- Programación dinámica: está definida como el proceso de romper problemas en partes pequeñas para analizarlos.
- Programación multiparadigma: es el uso de dos o más paradigmas dentro de un programa.

El más extendido de todos, hoy, es el Orientado a Objetos.

Como nota, para que se visualice mejor el sentido de aprender lenguajes, robo esto de una web que leí hace tiempo:

Cita:
La comprensión básica de los conceptos de los lenguajes de programación y los diferentes paradigmas son necesarios para todos los ingenieros de software, [...]. Esto se debe a que los lenguajes de programación son una herramienta fundamental.

Los lenguajes de programación influencian notablemente la manera en que pensamos acerca del diseño y construcción del software y los algoritmos y estructuras de datos que utilicemos para desarrollar software.
Respondiendo a la pregunta de si es necesario para tus objetivos, la respuesta es SI. Es NECESARIO para tus objetivos, desde el momento en que buscas construir programas que sólo se pueden crear si entiendes las reglas del modelo que intentas aplicar (aunque no le conozcas el nombre).

En cuanto a esto:
Cita:
pueden mi códigos ser legibles y efectivos sin que aprenda sobre paradigmas? Por ahora creo que el problema es la legibilidad ¿cómo mejoro la legibilidad?
Si, pueden serlo, y una de las críticas que has recibido es algop que te enseñan como ABC en cualquier curso de programación para dummies: No se crean las variables y a las fuciones ni se les asignan nombres a las cosas porque sí, ni tampoco cualquier nombre. Por regla de necesidad de comprensión de código, se usan ciertas metodologías que permiten entender rápidamente un código sin necesidad de leerlo en detalle.
En tu caso, es imposible leer el codigo de un vistazo para econtrar las estructuras lógicas que contiene, no solo porque no está indentado, sino que hay que leerlo de atras hacia adelante, y de aadelante para atrás, para saber qué es cada variable por el uso que le das, en lugar de por su nombre. Y eso, al momento del mantenimiento de código es muy grave.

Existen al menos tres componentes que le otorgan a un codigo legibilidad:
1) Notación de objetos/identificadores.
2) Indentación de código.
3) Sangría en indentación.

Para el (1), existen dos tipos de notación: La CamelCase y la Húngara (es en esencia una extensión). Usualmente en las empresa las areas técvnicas tienen un protocolo que exige usar una u otra en todo desarrollo y documetnación.
La indentación (2), es general. La usan todos los lenguajes, y ayuda a entender las estructuras de un sólo vistazo.
la (3) Se ha vuelto universal, y permite visualizar perfectamente las dependencias lógicas de cada bloque en un código. Es tal la universalidad generada que todo editor de código de cualquier tipo incluye una funcionalidad que permite al programador "reformatear" el código de acuerdo a esas dependencias.

Esto lo hace el Oracle SQL Navigator, por ejemplo:

Código SQL:
Ver original
  1. UNDEF &&cuid;
  2. DEF &&cuid = 1111;
  3.  
  4. SELECT cliente, f.nota, fecha,  f.alta
  5.   FROM cuotas f
  6.  WHERE servicio = 24
  7.    AND TRUNC (fecha) >= TRUNC (SYSDATE)
  8.    AND servicio = '0000'
  9.    AND cliente = &&cuid;

Esto lo hacen los editores de XML:

Código XML:
Ver original
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <rss version="2.0">
  3.  
  4. <channel>
  5.   <title>Titulo del Canal de RSS</title>
  6.   <link>http://www.tudominio.com</link>
  7.   <description>Descripción del canal de tu sitio</description>
  8.   <language>es-ES</language>
  9.  
  10.   <image>
  11.     <title>Título de la Imagen</title>
  12.     <url>http://www.tudominio.com/logotipo-del-rss.png</url>
  13.     <link>http://www.tudominio.com</link>
  14.     <width>90</width>
  15.     <height>36</height>
  16.   </image>
  17.  
  18.   <item>
  19.     <title>Titulo del primer artículo</title>
  20.     <link>http://www.tudominio.com/ruta/articulo/primero.html</link>
  21.     <description>
  22.       Breve descripción del contenido de este artículo concreto. Puedes usar un
  23.       par de líneas para crear esta descripción, aunque no hay ningún tope máximo.     </description>
  24.   </item>
  25.  
  26.   <item>
  27.     <title>Título de un segundo artículo</title>
  28.     <link>http://www.tudominio.com/ruta/articulo/segundo.html</link>
  29.     <description>
  30.       Breve descripción del contenido del otro artículo. Puedes usar un
  31.       par de líneas para crear esta descripción, aunque no hay ningún tope máximo.     </description>
  32.   </item>
  33.  
  34. </channel>
  35. </rss>

Y esto lo hace Visual Studio con C#:
Código vb:
Ver original
  1. public class Coche {
  2.     private int numPuertas;
  3.     public int NumPuertas {
  4.         get {
  5.             return this.numPuertas;
  6.         }
  7.         set {
  8.             this.numPuertas = value;
  9.         }
  10.     }

Ese es el tipo de codificacion limpia y ordenada que debes lograr si quieres que entendamos lo que haces...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 27/05/2015 a las 08:10
  #6 (permalink)  
Antiguo 27/05/2015, 07:55
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 7 años, 7 meses
Puntos: 31
Respuesta: ¿Cómo programar mejor?

Yo pienso únicamente que quizás (no sigo tus hilos como los otros participantes) lo que te haga falta es simplemente un poco de fundamentos de programación.

Los fundamentos de programación lo que dan es simplemente la facultad de abstraer y estructurar un programa en el lenguaje en el que piensas hacerlo, ya que el lenguaje si lo conoces, lo único que te hace falta es la facultad de estructuración de tus programas. Y eso es lo que te da los fundamentos de programación.

Tampoco es muy complicado. Quiero decir... que fundamentos de programación es una asignatura en las carreras de informática... pero tampoco te hace falta tanto contenido.

Yo aprendí lo básico para saber estructurar bien mis programas a base de hacer organigramas. Los organigramas son los que realmente te dan esa estructura. Qué es lo que va realizando tu programa en cada momento.

Hay programas que tienen muchas funciones que pese a funcionar de manera independiente sobre unos datos, pueden manejar los mismos datos y cambiarlos que otras funciones. En ese caso, cada función llevaría su propio organigrama. Por ejemplo, un botón que coja 2 números seguidos de la serie de Fibonacci y te ponga el 2º como el 1º... y como 2º ponga el siguiente en la serie. Otro botón que coja el 1º de los 2 que estén en ese momento y te muestre en letras qué numero es. Pues ambos funciones llevarán un organigrama distinto.

Empieza con programas simples, quiero decir con problemas simples de 1 sola acción. Esas acciones pueden llevar muchísimos pasos por medio, muchísimas tomas de decisiones, esperas, sincronizaciones, etc... pero será un único organigrama y una única función. Como por ejemplo el organigrama de las cosas que haces a lo largo del día desde que te levantas, teniendo en cuenta que de camino hacia lo que sea que hagas cada día tengas que esperar a alguien en algún punto intermedio (sincronización) o cualquier tipo de problema que te inventes.

Esto te va a dar la facultad de organizar mejor tus funciones, junto con unas pequeñas normas, que te ayudarán a que tu código sea mucho más entendible. Por ejemplo... nombre de variables en minúsculas, y si tienen que juntar 2 palabras o más, las iniciales de cada palabra en mayúsculas menos la de la 1º. (numeroMasAlto). Constantes todo en mayúscula (NUMEROPI), funciones igual que variables pero la 1ª letra también en mayúscula (NumeroMasAlto), que los nombres de todo tengan relación con las cosas que hacen o el tipo de dato que contienen. No llames a una variable que va a calcular el coseno de un ángulo como "variable1", sino como, por ejemplo, "cosenoAngular", declarar todas las variables en el mismo sitio, normalmente al principio de cada función donde se usen en vez de cada variable en cualquier sitio en medio de las instrucciones. Este tipo de normas hacen más "standard" los códigos. Y en cuanto a los comentarios... ponerlos donde creas que una parte de tu código necesite una aclaración. Y poner esos comentarios junto a la parte de tu código que sea a la que hace referencia. No pongas un comentario sobre un bucle for después del while que va después del for al que haces referencia. O bien haces el comentario a la derecha de tu línea de código o justo encima. Los comentarios, cuanto más "para no programadores" sean... es decir, cuanto más aclaren qué es lo que hace a alguien que no tenga ni idea de programación... mejor. Por ejemplo

//Imprimo una lista del 1 al 10
for (num=1 hasta num=10)
imprimir (num)
fin for

o...

for (num=1 hasta num=10)//Imprimo una lista del 1 al 10
imprimir (num)
fin for

Con unas simples normas de estructuración de tu código, este se convertirá en mucho más estructurado y entendible. Uses AuctionScript o uses lo que quieras.

Última edición por Kritik; 27/05/2015 a las 08:07
  #7 (permalink)  
Antiguo 27/05/2015, 09:11
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 4 años, 9 meses
Puntos: 52
Respuesta: ¿Cómo programar mejor?

Bien dice mi vieja:

Cita:
Un buen cachetazo a tiempo te ahorra problemas futuros.
Me alegro de haberte motivado a replantearte y preguntar ¿Como hago para programar mejor?. Aunque te hayas molestado conmigo.

Después me lo vas a agradecer.

Te deseo éxito.
  #8 (permalink)  
Antiguo 27/05/2015, 09:14
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 4 años, 9 meses
Puntos: 52
Respuesta: ¿Cómo programar mejor?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lenguajes funcionales híbridos más conocidos son Scala, Lisp, Clojure, Scheme, Ocaml, SAP y Standard ML.
Te olvidaste de F#.

http://www.eweek.com/developer/micro...-a-bullet.html
  #9 (permalink)  
Antiguo 27/05/2015, 09:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: ¿Cómo programar mejor?



Bueno, era sólo un ejemplo. Tampoco quiero marearlo con tantos nombres que no conoce.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 28/05/2015, 00:40
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

Ya que en los 2 1eros posts no hubo criticas sobre mi ejercicio pondré otro que hice:

Hacer que aparezca "Hola Mundo!" en la pantalla después de presionar un botón.

Modo 1:
Cree un botón y le puse:
Código:
on (release) {
    trace ("Hola Mundo!");
}
Modo 2:
Le puse
Código:
stop ();
al frame 1.
Cree un botón y le puse:
Código:
on (release) {
    gotoAndStop (2);
}
En el frame 2 puse un texto que dice "Hola Mundo!"

¿Todo bien?

Cita:
Iniciado por Malenko Ver Mensaje
Hacer un "Hola mundo no es aprender a programar, no se porque te cuesta tanto entenderlo.
No dije que fuese aprender a programar, simplemente me pareció un buen 1er ejercicio.

Cita:
Lo que es de risa es que pretendas hacer un programa que utilice sistemas de redes neuronales y auto-learning, cuya teoría es bastante espesa y complicada, y en cambio te cueste aprender un lenguaje de programación que te facilitaría mucho tu tarea.
Pues sí, me cuesta mucho aprender lenguajes, incluso si me hablan en portugués me cuesta mucho entenderlos por más parecido al español que sea.

De redes neuronales leí poquísimo y no entendí bien, así que no sé si en el fondo es lo que pretendo hacer, pero yo te diría que no, incluso lo que leí no me gustó mucho.

Que la computadora aprenda sí, pero de un modo muy sencillo.

Cita:
Quieres aprender a programar? hay cursos de algoritmos en webs como coursera, donde lo imparten profesores universitarios, eso sí, en inglés.
¿Pero tienen mucha práctica y poca teoría o al revés? Yo quiero eso, los cursos me parece que son al revés. Por eso plantee este método de aprendizaje, es decir el que describí en el 1er post, que sólo tiene teoría cuando es necesaria.

Cita:
Pero como no se puede ayudar a quien no está abierto a cambiar y mejorar...
Wrong. Es cierto que en ciertas cosas no estoy muy dispuesto a cambiar, pero en otras sí.

Cita:
creo que quizás tendrías que leer entre líneas y ver que cuando tanta gente te dice lo mismo y la cantidad de "me gusta" que reciben, quizás es que ellos tengan razón, no?
Sí, por eso hice este tema.

Cita:
Entonces porque culparles por lo que te dicen?
Porque en aquél post hubo demasiados insultos.

Cita:
No es más que te da pereza hacer las cosas bien?
Lo de "bien" es discutible, pero aunque fuese así hay otras formas de aprender, "aceptablemente".

Cita:
Porque preguntas como hacer algo bien si, cuando te lo dicen, dices "ah, eso no quiero aprenderlo"
¿De qué hablas? Por ejemplo POO por ahora no quiero aprender porque lo que he visto me ha resultado muy complicado, pero por ejemplo lo que me dijiste de pasar variables a las funciones en vez de usar variables externas es algo que me interesa empezar a poner en práctica.

Cita:
Lo has planteado como que el resto tiene un problema de actitud contigo y más bien parece que el que tiene un problema de actitud para aceptar las críticas eres tú.
Malenko, una cosa es que te digan que cometiste faltas de ortografía y donde, y otra cosa es que te digan que tu post está lleno de ellas. Si tú no tienes idea del significado de lo que te están diciendo y tienes dificultad para entender artículos entonces eso que te dicen no te va a servir. Si en cambio te muestran con un poco más de exactitud dónde cometiste las faltas entonces sí. Bueno, si a mí me dicen "todo tu código está desordenado", por ejemplo, yo no sé de qué me hablan y no me sirve que me digan eso. Sin importar la forma conque se critique, son críticas, pero hay buenas formas de hacerlo y malas formas de hacerlo.

Cita:
Si quieres aprender, empieza estudiando POO o, en su defecto, programación estructurada. Y de paso un lenguaje que tenga más posibilidades para lo que buscas.
Entonces no quiero "aprender", te cito lo que dijo a gnzsoloyo y mi respuesta:
Cita:
"Tachikomaia: Tu no quieres aprender a programar."
A lo mejor lo que quiero se podría describir como "hacer un programa que resuelva problemas, en Flash y si no puedo entonces en otro lenguaje". También me interesa que ese programa esté hecho de forma eficiente, por ejemplo usando funciones para evitar repetir código. Pero también me interesa hacer ciertos videojuegos y otras cosas. Y consultas si tengo dudas y sin que me insulten como he comentado.
Si "aprender a programar" implica cosas que no están implicadas en las que dije, entonces no. Pero no sabría cómo expresarlo en pocas palabras, en el título ¿qué debería decir?
Cita:
En el foro no estamos para decirte lo que quieres escuchar. Estamos para decirte como mejorar y luego es decisión tuya hacerlo o no. Aunque nuestra sensación es que muchas ganas no tienes de cambiar y con eso no podemos hacer nada.
Creo que va más allá qué herramienta usar... Aquí en este tema, a medida que haga ejercicios, podrás decirme cómo hacerlos mejor y si considero que son acertados tus consejos los implementaré.
__________________
"No se puede borrar hasta", PHPeros.
  #11 (permalink)  
Antiguo 28/05/2015, 01:42
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.329
Antigüedad: 11 años, 10 meses
Puntos: 606
Respuesta: ¿Cómo programar mejor?

Cita:
Iniciado por Tachikomaia Ver Mensaje
No dije que fuese aprender a programar, simplemente me pareció un buen 1er ejercicio.
Un "hola mundo" nunca puede ser un ejercicio de programación. Es un ejemplo que se usa para mostrar la estructura básica de un lenguaje de programación pero no es en absoluto un problema de programación.

Ejemplos típicos de ejercicios de programación son: contar las vocales "a" de una línea de texto, decidir si un número es par, ver si una palabra es palíndroma, etc. Haz ese tipo de ejercicios y aprenderás a programar.

Cita:
Iniciado por Tachikomaia Ver Mensaje
De redes neuronales leí poquísimo y no entendí bien, así que no sé si en el fondo es lo que pretendo hacer, pero yo te diría que no, incluso lo que leí no me gustó mucho.

Que la computadora aprenda sí, pero de un modo muy sencillo.
Con la cantidad de gente que trabaja investigando estos temas es bastante complicado que alguien que apenas sabe programar, pueda llegar a algo tan complejo como lo que planteas. Empieza por la base y no quieras correr tanto.

Cita:
Iniciado por Tachikomaia Ver Mensaje
¿Pero tienen mucha práctica y poca teoría o al revés? Yo quiero eso, los cursos me parece que son al revés. Por eso plantee este método de aprendizaje, es decir el que describí en el 1er post, que sólo tiene teoría cuando es necesaria.
Depende. Si haces un curso de la MVA podrás aprender la gramática de, por ejemplo, C# de la mano de trabajadores de Microsoft. Son cursos en Inglés en los que la práctica corre de tu cuenta. En los cursos de Coursera en cambio son de un componente teórico más elevado (optimización de algoritmos, uso de grafos, etc.) y sí tienen ejercicios que son evaluados. Estos en cambio son en inglés con subtitulos en castellano (entre otros idiomas).

Cita:
Iniciado por Tachikomaia Ver Mensaje
Wrong. Es cierto que en ciertas cosas no estoy muy dispuesto a cambiar, pero en otras sí.
(...)

Lo de "bien" es discutible, pero aunque fuese así hay otras formas de aprender, "aceptablemente".
Si se te dan unas soluciones y no quieres aceptarlas... poco más podremos hacer.
Y eso de que existan otras formas aceptables de aprender...porque es que no te dan resultado? Será entonces que no son tan "aceptables"? Aunque eso ya es cuestión de lo exigente que sea uno. A mi no me sirve con que una solución sea "aceptable", tiene que ser buena y a poder ser óptima.

Cita:
Iniciado por Tachikomaia Ver Mensaje
¿De qué hablas? Por ejemplo POO por ahora no quiero aprender porque lo que he visto me ha resultado muy complicado, pero por ejemplo lo que me dijiste de pasar variables a las funciones en vez de usar variables externas es algo que me interesa empezar a poner en práctica.
Eso hoy en día es sinónimo de no querer avanzar. Es como si la gente aún hiciese el fuego con dos piedras en lugar de usar mecheros y cerillas...


Cita:
Iniciado por Tachikomaia Ver Mensaje
Creo que va más allá qué herramienta usar... Aquí en este tema, a medida que haga ejercicios, podrás decirme cómo hacerlos mejor y si considero que son acertados tus consejos los implementaré.
Arriba te he puesto unos ejercicios que te vuelvo a repetir aquí. Si quieres aprender a programar resuélvelos usando pseudocódigo y sin pensar en flash ni en ningún lenguaje en particular, que precisamente es la gracia de usar pseudocódigo... Eso quiere decir que no quiero ver ninguna función de flash, ni nada de frames ni "gotos" ni nada, usa simplemente bucles WHILE/IF-ELSE-THEN-FOR.

Aquí tienes la gramática que has de usar para resolver los ejercicios.

Una vez puesto este enlace, te reto públicamente a que demuestres que sabes y/o quieres aprender a programar, y resuelvas con el pseudocódigo que te he enlazado, estos ejercicios:

- contar las vocales "a" de una línea de texto (que estará en una variable)
- decidir si un número es par
- ver si una palabra es palíndroma
- ver si un número es capicúa
__________________
Aviso: No se resuelven dudas por MP!
  #12 (permalink)  
Antiguo 29/05/2015, 09:45
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

gnzsoloyo:
Si digo que un paradigma es un conjunto de normas que se siguen al intentar programar ¿está bien?

Llevado a mi ámbito, creo que "usar frames" es un paradigma y "no usar frames" es otro ¿es así?

Pero me parece que "lo que te resulta más simple" está bien, no hay necesidad de seguir normas a priori SALVO para ser comprendido por otros que las siguen al pie de la letra o lo que sea, y también para comprender los propios códigos si se ponen muy difíciles.

Improvisativo =)
Nota: Para que termine en ativo como imperativo y declarativo, pero si vamos al caso sería improvisación o algo así sí...

Cita:
(aunque no le conozcas el nombre).
Eso, lo importante es saber la técnica no cómo le dicen...

Pero bueno, gracias por el aporte, en algún momento llegaré a ver en qué consiste cada uno, digo yo, no está mal comenzar por una presentación breve.

------------------------------------------------------------------------------------------

Legibilidad:
Ah, muy instructivo. Suelo usar use tal CamelCase, aunque no conocía el término. El otro no, hago algo parecido pero por otro motivo. Quizá me sirva algún día.

En cuanto a la indentación, por lo que vi el problema que tengo es que si copio el código en modo experto entonces aumenta el espacio. Te muestro:

Normal.
Código:
C = 0;
do {
    C = C+1;
    set ("N"+C, random(100)*Math.random());
} while (C<10);
Experto:
Código:
C = 0;
do {
	C = C+1;
	set ("N"+C, random(100)*Math.random());
} while (C<10);
Debo copiarlo en modo normal. Pero en definitiva si el código tiene muchos ifs o dows dentro de otros entonces no entrará en la pantalla y aparecerá una línea debajo de la otra ¿no? ¿qué puedo hacer en esos casos?

¿Qué diferencia hay entre la 2 y 3? @[email protected]

¿El código que he puesto está bien de legibilidad?
No aparecen con números, pero no sé si eso depende de mí.

Te diré algunas cosas antes de que respondas a eso.

Me gusta usar variables cortas,
para escribir menos,
para que el código sea más corto,
para que ocupe menos espacio -supongo-,
para que funcione más rápido -supongo-,
creo que eso es todo.

Entonces, supongo que sacrifico legibilidad, cuando traiga códigos intentaré extender los nombres pero yo seguiré programando así... ¿es inconveniente más allá de la legibilidad?

C es un Contador.
N1, N2, etc son lo que muestran unos cuadros de texto en la pantalla. Números.
Es parte de un programa, el código expuesto asigna números positivos al azar de 0 a 100 más o menos, a los 10 cuadros de texto y a las variables que ellos muestran.
__________________
"No se puede borrar hasta", PHPeros.

Última edición por Tachikomaia; 29/05/2015 a las 09:57
  #13 (permalink)  
Antiguo 29/05/2015, 10:11
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 7 años, 7 meses
Puntos: 31
Respuesta: ¿Cómo programar mejor?

Tachikomaia:

Kromaika maloom tropo laron palon zespri sagon "C" wosky "Contador" shomi phin Rimomillo e quano vento.

Pobeno "N1" cavir treclafa sermela eterin cosdonyo pelodi caleoces pro mi vue naqui masi rod capidor torjura tor.

Nunbi coqui dicen so saci tranor taganrach tin poba no restichi koprezon hide menshelo drón. Fepocon barte caude mudonca his.
  #14 (permalink)  
Antiguo 29/05/2015, 11:02
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

Cita:
Iniciado por Kritik Ver Mensaje
organigramas.
He hecho diagramas de flujo. Ejemplo:


El original tiene código, claro. Sé que existen ciertas normas como usar rombos o cuadros girados para los ifs, pero desconozco los detalles y seguí mi criterio. Los rombos es como si ocuparan más espacio, en vez de eso uso cuadros oscuros. Síp, los oscuros son ifs. La flecha clara significa sí y la oscura no. Los colores de fondo indican qué tipo de dato se está tratando o desde qué sección del programa se inicia ese caso.

No es lo mismo que organigramas creo, pero ¿sirve, igual?

Me ha servido pero, toma mucho tiempo hacerlo bien y generalmente no los hago.

Cita:
nombre de variables en minúsculas, y si tienen que juntar 2 palabras o más, las iniciales de cada palabra en mayúsculas menos la de la 1º. (numeroMasAlto).
Bien, eso me va a servir además para no confundirme el nombre de las películas con el de las variables, que generalmente diferencio pero a veces no sé bien cómo.

Cita:
Constantes todo en mayúscula (NUMEROPI), funciones igual que variables pero la 1ª letra también en mayúscula (NumeroMasAlto), que los nombres de todo tengan relación con las cosas que hacen o el tipo de dato que contienen.
Había pensado en mayúscula inicial para películas, pero habiendo leído esto tendré que pensar otra cosa.
En cuanto a nombres, el tema es que hay variables que son multiuso y, o sea, no tiene sentido crear otras, o al menos prefiero eficiencia por más mínima que sea en vez de legibilidad.
Si una variable puede ser un contador en un momento y en otro momento una constante, y esos momentos no se chocan, entonces no hay necesidad de crear 2 variables...
En pos de eficiencia también es que no le pongo nombres largos. Si la variable es multifunción y le ponemos un nombre que intente describir sus funciones será peor.

Igual ya dije que cuando muestre códigos intentaré poner nombres acordes...

Cita:
No pongas un comentario sobre un bucle for después del while que va después del for al que haces referencia. O bien haces el comentario a la derecha de tu línea de código o justo encima.
Yo suelo ponerlos debajo... primero el código, luego la aclaración... For prácticamente nunca usé.

Bueno, gracias.
__________________
"No se puede borrar hasta", PHPeros.
  #15 (permalink)  
Antiguo 29/05/2015, 11:05
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

Cita:
Iniciado por Kritik Ver Mensaje
Tachikomaia:

Kromaika maloom tropo laron palon zespri sagon "C" wosky "Contador" shomi phin Rimomillo e quano vento.

Pobeno "N1" cavir treclafa sermela eterin cosdonyo pelodi caleoces pro mi vue naqui masi rod capidor torjura tor.

Nunbi coqui dicen so saci tranor taganrach tin poba no restichi koprezon hide menshelo drón. Fepocon barte caude mudonca his.
Y esto a qué viene? Lo googleo?
__________________
"No se puede borrar hasta", PHPeros.
  #16 (permalink)  
Antiguo 29/05/2015, 11:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: ¿Cómo programar mejor?

Cita:
Si digo que un paradigma es un conjunto de normas que se siguen al intentar programar ¿está bien?
No, un paradigma es un modelo, no un conjunto de reglas.
De la definición del modelo se pueden inferir reglas prácticas de trabajo, pero las reglas no son parte del modelo.
La definición de modelo y paradigma llevan mas o menos cuatro clases de discusiones en una materia de la facultad, y dan mucha tela para cortar, pero en esencia, es un modo coherente de representar la realidad o sistema.
Existen múltiples formas de modelar los sistemas, y cada uno de ellos está contenido dentro de uno o más paradigmas.
Ese nivel de abstracciones es algo complejo de aprender a manejar.

Cita:
Llevado a mi ámbito, creo que "usar frames" es un paradigma y "no usar frames" es otro ¿es así?
Usar o no frames es un tema de tecnología, no de modelo o de paradigmas. Es la forma en que algo se implementa, pero no es parte del modelo.
En tu caso se trataría de programación imperativa, aunque como ya te dije, al no funcionar el AS sin compilación fuera de un entorno de una determinada aplicación, incluirlo entre los lenguajes de programación es discutible.

Cita:
Pero me parece que "lo que te resulta más simple" está bien, no hay necesidad de seguir normas a priori SALVO para ser comprendido por otros que las siguen al pie de la letra o lo que sea, y también para comprender los propios códigos si se ponen muy difíciles.

Improvisativo =)
Nota: Para que termine en ativo como imperativo y declarativo, pero si vamos al caso sería improvisación o algo así sí...
Seguir las normas es necesario para comunicarse y transmitir las cosas a otros. Si no deseas obligarte a ti mismo e imponerte respetar las normas comunes a todos, no esperres que el resto entienda lo que preguntas o pueda comprender lo que haces.
Nadie es una isla, y todos debemos hablar un lenguaje común, una lingua franca. Y esa lengua está dada por las reglas y normas de programación que son comunes a todos los lenguajes.
Queda a tu criterio.

En cuanto a lo de "improvisativo", probablemente lo que estés haciendo esté más relacionado con las técnicas ágiles, con lo que en realidad no estás inventando nada sino usando algo ya inventado... solo que con otro nombre.
Cita:
Eso, lo importante es saber la técnica no cómo le dicen...
Nop. Es importante saber cómo se llama, y usar ese nombre, de lo contrario nadie te entenderá cuando preguntes algo.
Cita:
Debo copiarlo en modo normal. Pero en definitiva si el código tiene muchos ifs o dows dentro de otros entonces no entrará en la pantalla y aparecerá una línea debajo de la otra ¿no? ¿qué puedo hacer en esos casos?
Deja que nosotros nos preocupemos por ese salto de linea. Pero procura no usar 2l "CODE" para poner código, es un etiquetado espantoso. Usa el resto de los Highlight, para que se formatee mejor.
Cita:
Me gusta usar variables cortas,
para escribir menos,
para que el código sea más corto,
para que ocupe menos espacio -supongo-,
para que funcione más rápido -supongo-,
creo que eso es todo.
- Ni las variables cortas (vicio heredado de BASIC) ayudan en nada, ni hacen el código más comprensible.
- Que el código sea corto, hace que sea proclive a errores de interpretación por otras personas. Te insisto en que nadie es una isla. Si luego pides ayuda, no te vas a poner a "agregar" lo faltante, eso te lo puedo asegurar, vas a hacer un Copy+Paste y seguiremos con el mismo problema.
- Acostumbate a escribir códigos claros y limpios. Ayuda a desarrollar una metodología de fácil mantenimiento.
Además, es una cuestión de costumbres, al principio tienes que pensarlo, pero luego es un reflejo condicionado y lo haces correctamente sin dudar.
- Finalmente: hacer el código más corto no hace que compile más rápido ni funcione más agilmente. Porque lo que luego queda al compilar, no es el nombre de las variables. Eso es para que los seres humanos lo entiendan. La PC no lo ve.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #17 (permalink)  
Antiguo 29/05/2015, 14:51
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 4 años, 9 meses
Puntos: 52
Respuesta: ¿Cómo programar mejor?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
hacer el código más corto no hace que compile más rápido ni funcione más agilmente. Porque lo que luego queda al compilar, no es el nombre de las variables. Eso es para que los seres humanos lo entiendan. La PC no lo ve.
El problema es que difícilmente el editor de código que él está usando tenga algún tipo de Autocomplete.

A mí por ejemplo no me molesta usar identificadores como "includeItemsFromNonMatchingParts" (acabo de crear un field con ese nombre en una clase) porque cada vez que tengo que referenciarlo tecleo "in" y el Intellisense de Visual Studio me autocompleta el resto. Si así no fuera, ese field probablemente se llamaría "i".
  #18 (permalink)  
Antiguo 30/05/2015, 03:15
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.329
Antigüedad: 11 años, 10 meses
Puntos: 606
Respuesta: ¿Cómo programar mejor?

Yo sigo esperando a ver si es capaz de resolver los sencillos ejercicios que comenté. Veo que no y que sigue en bucle... en fin...

Por cierto, lo que has puesto no es un diagrama de flujo. Los diagramas de flujo siguen un estandar que el tuyo no cumple. Sin contar los colores de fondo!
__________________
Aviso: No se resuelven dudas por MP!
  #19 (permalink)  
Antiguo 30/05/2015, 04:05
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

Cita:
Iniciado por Malenko Ver Mensaje
Un "hola mundo" nunca puede ser un ejercicio de programación. Es un ejemplo que se usa para mostrar la estructura básica de un lenguaje de programación pero no es en absoluto un problema de programación.
Creo que depende de la capacidad del estudiante xD

Cuando aprendí Basic hice algunos "ejercicios" con print, luego con input y print, y así sucesivamente, empezar por:
Cita:
contar las vocales "a" de una línea de texto
...me parecería mucho, de hecho he trabajado muy poco con texto desde que "programo".

Cita:
Con la cantidad de gente que trabaja investigando estos temas es bastante complicado que alguien que apenas sabe programar, pueda llegar a algo tan complejo como lo que planteas. Empieza por la base y no quieras correr tanto.
Esas cosas no se saben. Ayer viendo una película de Mafalda me acordé de Cristobal Colón -lo mencionaron en ella-, el argumento o excusa de los locos, tal vez, pero es así, no se sabe si la mayoría o expertos tienen la razón.

Yo voy de a poco. Al principio sólo intentaba resolver 1 tipo de problema -de 1 o 2 variables solamente, además- por programa, pasé años dando vueltas con eso, sin poder avanzar mucho en cuanto a la complejidad de los problemas, la verdad, pero no tanto por no hacerme idea de cómo resolverlos o plantearlos en el programa sino porque... no sé, sinceramente, quizá me tomaba un tiempo y al volver no entendía mi código y reempezaba "desde 0", o veía el asunto desde otra perspectiva y lo mismo: "reempezaba desde 0".
Un día, después de mucho tiempo así, decidí lanzarme a intentar un programa que pudiera resolver cualquier problema planteable y en eso estoy, lejos de terminarlo pero avanzando...

Yo no intento decir que los expertos sean "pura palabrería" ni algo por el estilo, pero a mí en cierto punto puede que me perjudique, no siempre se puede mezclar todo, o se adopta una posición para usar Takeondo o Jui Jitsu ¿me explico? O hago las cosas como me dicen o como a mí me parezca.
Además, como dijo Kritik en otro tema, el ir por un camino diferente puede llevar a un destino diferente, si todos vamos por el mismo camino con la misma base... puede que no. Claro ir por "el propio camino" puede llevar a dar vueltas como caracol, pero bueno, alguien tiene que correr el riesgo.

Lo que está claro es que SÍ voy a practicar siguiendo sus reglas, y cuando postee consultas también intentaré seguirlas. Simplemente, que el hecho de que yo siga las reglas cuando me relacione con uds en este foro, no significa que las vaya a seguir fuera. Eso tendré que ver hasta qué punto me conviene.

Cita:
Si se te dan unas soluciones y no quieres aceptarlas... poco más podremos hacer.
Las aplicaré aquí, creo que en principio debería ser suficiente. Excepto lo de cambiar de lenguaje/IDE.

Cita:
Y eso de que existan otras formas aceptables de aprender...porque es que no te dan resultado?
Buena pregunta... yo diría que la velocidad inicial de avance no es necesariamente proporcional al alcance. Que avanzar lento en principio no significa que el automóvil o persona hará menos kilómetros que los demás, luego de cierto tiempo.
Además, hay varias cosas a tener en cuenta. Supuestamente uds hicieron cursos más profundos, yo hice uno pero por lo visto fue una estafa porque básicamente sólo me enseñaron a programar ingresos de datos, modificaciones y borrones. Es decir, no me enseñaron a contar las "a" de una cadena, por ejemplo. Nada de eso, que yo recuerde. Y uds me imagino que hablan mucho más con gente que sabe programación y están en la misma onda. Yo prácticamente sólo hablo con gente mediante foros y no estoy en la misma onda. Todo eso influye.
Y en general también puede decirse que siempre he hecho cosas complicadas, por eso me ha sido complicado.
En fin, puede haber varios, em... "argumentos malabares", pero bueno, yo no me convenzo.
Y yo soy yo, o sea, vos no le pidas peras al olmo xD como si yo pudiera aprender cualquier cosa así de repente, no es sencillo. Hace tiempo algunos me decían que use funciones, y yo no lo veía necesario. Actualmente, no es que las considere necesarias pero me gustan porque evitar repetición de código, y en cierto modo les doy la razón a aquellos que me decían. Pero tampoco por eso voy a hacer a lo loco todo lo que me digan.

Cita:
Eso hoy en día es sinónimo de no querer avanzar. Es como si la gente aún hiciese el fuego con dos piedras en lugar de usar mecheros y cerillas...
Soy así. La verdad, me he aburrido de ciertos juegos pero en muchos casos prefiero jugar uno conocido en condiciones limitadas -ej: no usar ítems- que jugar uno nuevo. Me gusta sacarle el jugo a las cosas y/o evitar el impacto que me causan las nuevas. Bueno de hecho hay películas nuevas que no he visto por eso.
También es una cuestión de enfocarse en algo y de entrenar más, como el amigo:
Claro que sin las pesas o con un auto -una mejor herramienta- sería más fácil, pero sería menos entrenamiento. En fin, yo haré lo que me diga "mi intuición".

Cita:
Arriba te he puesto unos ejercicios que te vuelvo a repetir aquí. Si quieres aprender a programar resuélvelos usando pseudocódigo y sin pensar en flash ni en ningún lenguaje en particular, que precisamente es la gracia de usar pseudocódigo... Eso quiere decir que no quiero ver ninguna función de flash, ni nada de frames ni "gotos" ni nada, usa simplemente bucles WHILE/IF-ELSE-THEN-FOR.
No tenía muy claro eso del pseudocódigo, a veces lo que pasa es que lo hago basado en las herramientas que tengo, no recuerdo bien pero me ha pasado de querer hacer cosas que después no sabía cómo...

For prácticamente nunca usé, veremos...

Ok.



Pero en lo posible no quiero leer todo ese artículo, en lo posible corríjeme y listo.

Cita:
- contar las vocales "a" de una línea de texto (que estará en una variable)
Esto es lo que hice:
Código:
Crear cuadro de texto donde el usuario pueda escribir el texto, de una línea.
Repetir:
    Averiguar la extensión de lo escrito (*)
    Repetir:
O sea, no entiendo ¿puedo definir variables?

Esto:
"hacer i = 1 hasta 100 "
que está en la wikipedia, parece un sin sentido ¿se supone que "i=1" significa "i++"? ¿y cómo inicia?

No tengo problema en hacerlo en pseudocódigo pero explícame mejor qué me dejas hacer y qué no.

El asterisco es por si quieres que te diga cómo averiguarlo sin usar una función del programa.

Bueno, te lo hago con variables si está mal me dices:

Código:
Crear cuadro de texto donde el usuario pueda escribir el texto, de una línea.
Repetir:
    Si el contenido del cuadro cambia, entonces:
        aDetecadas es 0
        caracterAnalizandose es 0
        Repetir:
            caracterAnalizandose aumenta 1
            Si el caracter nro caracterAnalizandose es "a", entonces:
                aDetecadas aumenta 1
            Fin del si
            caracterAnalizandose aumenta 1
        mientras caracterAnalizandose < extensiondelTexto
    Fin del si
Mientras el programa esté activo.
Permíteme aclarar algunas cosas.

1- Tengo entendido que el 1er caracter puede ser considerado el 0, en tal caso debería restar 1 a algunas variables.
2- Estas cosas, en mi opinión, la mejor forma de saber si funcionan es probándolas. Puede que haya errores porque yo sea tontuelo, y otro las descubra fácilmente, sé que incluso el hecho de que un programa parezca funcionar bien no significa que funcione bien, pero ahí entra la capacidad de buscarle errores.
3- En mi Flash no sé si se puede "ver si el contenido del cuadro cambia", es decir, nunca probé, se me ocurren formas pero no existen los "listenings" aún -eso es de Flash 8 o un poco antes, pero no 5, es diferente-.

En fin ¡espero ansioso tus correcciones! Palos no.

Los otros ejercicios claro está los haré después.
__________________
"No se puede borrar hasta", PHPeros.
  #20 (permalink)  
Antiguo 30/05/2015, 19:54
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

gnzsoloyo:
He leído este artículo:
http://www.genbetadev.com/paradigmas...e-programacion
...hasta la pregunta
"¿Y qué hay de la programación orientada a objetos?"
Esperaba algún ejemplo de Imperativa y Declarativa, sobre un mismo problema. Seguiré buscando, pero no muy dedicadamente.

Cita:
Seguir las normas es necesario para comunicarse y transmitir las cosas a otros. Si no deseas obligarte a ti mismo e imponerte respetar las normas comunes a todos, no esperres que el resto entienda lo que preguntas o pueda comprender lo que haces.
Las seguiré cuando hable con uds.

Cita:
En cuanto a lo de "improvisativo", probablemente lo que estés haciendo esté más relacionado con las técnicas ágiles, con lo que en realidad no estás inventando nada sino usando algo ya inventado... solo que con otro nombre.
Bueno, no lo sé, pero tampoco era mi intención en este sentido crear algo nuevo.

Cita:
Nop. Es importante saber cómo se llama, y usar ese nombre, de lo contrario nadie te entenderá cuando preguntes algo.
Creo que exageras un poco, pues si muestro el código y está bien -incluyendo legible- entonces los que conozcan el nombre de la técnica podrán saber cual es aunque yo lo desconozca. En otro sitio me han dicho ayer que hice una cuyo nombre implica burbuja, no recuerdo bien, "bubble sort" -he buscado el mensaje-.

Cita:
Pero procura no usar 2l "CODE" para poner código, es un etiquetado espantoso. Usa el resto de los Highlight, para que se formatee mejor.
A ver si entendí. Dices que en vez de usar esto:

use el que dice Highlight?

Así?
Código Actionscript:
Ver original
  1. on (release) {
  2.    Ejemplo = "Este";
  3. }

Cita:
- Que el código sea corto, hace que sea proclive a errores de interpretación por otras personas. Te insisto en que nadie es una isla. Si luego pides ayuda, no te vas a poner a "agregar" lo faltante, eso te lo puedo asegurar, vas a hacer un Copy+Paste y seguiremos con el mismo problema.
Lo pondré... aunque sinceramente me cuesta, si pueden enseñarme a poner nombres claros mejor.

Cita:
hacer el código más corto no hace que compile más rápido ni funcione más agilmente. Porque lo que luego queda al compilar, no es el nombre de las variables. Eso es para que los seres humanos lo entiendan. La PC no lo ve.
Me resulta complicado averiguar el tema de la velocidad, pero de la extensión ya te digo.

Esto es un archivo swf abierto con un editor hexadecimal:
Código hex:
Ver original
  1. FWS.X...p..*..»€.x..C......Ÿ...$1$PJ$5X7bffv1FRCG2UgkbQ.38..?.....–[email protected]
Se supone que copiaría los números, pero igual sirve.
Pesa 88 bytes.

Esto es un archivo idéntico pero con un nombre largo en la variable:
Código hex:
Ver original
  1. FWS.†...p..*..»€.x..C......Ÿ[email protected]–;[email protected]..
Pesa 134 bytes.

No sé si los swf son compilados -creo que sí- o se compilan al usarse, pero el caso es que las variables largas hacen que los swf y los fla ocupen más. De los fla no probé, pero bue.

Una mínima diferencia quizá, pero la hay.

Igual como ya dije, aquí no acortaré las variables.
__________________
"No se puede borrar hasta", PHPeros.
  #21 (permalink)  
Antiguo 30/05/2015, 20:14
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

Cita:
Iniciado por Malenko Ver Mensaje
Por cierto, lo que has puesto no es un diagrama de flujo. Los diagramas de flujo siguen un estandar que el tuyo no cumple. Sin contar los colores de fondo!
Quizá desconozco la esencia o definición de diagrama de flujo, pero quizá estás siendo un poco cerrado, una botella no deja de ser tal sólo porque esté pintada con muchos colores y tenga el pico triangular en vez de circular. Y los estándares pueden cambiar...
__________________
"No se puede borrar hasta", PHPeros.
  #22 (permalink)  
Antiguo 31/05/2015, 02:34
Avatar de Tachikomaia  
Fecha de Ingreso: agosto-2011
Mensajes: 403
Antigüedad: 8 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo programar mejor?

Malenko el 1er ejercicio lo puse en posts anteriores pero ahora te lo dejo en el formato que me recomendó gnzsoloyo.

Contar las "a" de una línea de texto:
Código Javascript:
Ver original
  1. Crear cuadro de texto donde el usuario pueda escribir el texto, de una línea.
  2. Repetir:
  3.    Si el contenido del cuadro cambia, entonces:
  4.       aDetecadas es 0
  5.       caracterAnalizandose es 0
  6.       Repetir:
  7.          caracterAnalizandose aumenta 1
  8.          Si el caracter nro caracterAnalizandose es "a", entonces:
  9.             aDetecadas aumenta 1
  10.          Fin del si
  11.          caracterAnalizandose aumenta 1
  12.       mientras caracterAnalizandose < extensiondelTexto
  13.    Fin del si
  14. Mientras el programa esté activo.

Acabo de ver que lo quieres en una variable, por ahí no quieres que esté en un cuadro de texto, pero fue la forma que se me ocurrió para que un usuario pueda elegir la palabra o frase a contar.

2ndo ejercicio:
- decidir si un número es par
Código Javascript:
Ver original
  1. Crear cuadro de texto donde el usuario pueda escribir el número.
  2. Repetir:
  3.    Si el contenido del cuadro cambia, entonces:
  4.       numeroDividido es el número ingresado / 2
  5.       Si numeroDividido es igual que remover decimales de numeroDividido, entonces:
  6.          Mostrar mensaje de que es par.
  7.       Sino
  8.           Mostrar mensaje de que es impar.
  9.       Fin del si
  10.    Fin del si
  11. Mientras el programa esté activo.

Si no tuviera una función para quitar decimales... buscaría si hay un . usando alguna función de texto y si lo encuentra empezaría a borrar desde ahí.

Otro día sigo con los otros.
__________________
"No se puede borrar hasta", PHPeros.
  #23 (permalink)  
Antiguo 01/06/2015, 14:11
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.553
Antigüedad: 11 años, 8 meses
Puntos: 1085
Respuesta: ¿Cómo programar mejor?

jaja me encanto esta comparación
Cita:
una botella no deja de ser tal sólo porque esté pintada con muchos colores y tenga el pico triangular en vez de circular.
Aunque un poco desviada o equivocada... una botella no deja de ser botella porque cambie su forma y los estándares cambien.... lo que si afecta es su función, uso y finalidad.

Asi como un estudiante de arquitectura que estudia dibujando planos y uno de software con una computadora... no dejan de ser estudiantes pero cuando se titulen si que cambia su finalidad su campo laboral.

Lo mismo aplica a los codigo, diagramas, y cualquier cosa... tal vez el nombre y esencia no cambia pero si su uso y puede ser muy grastico ese cambio.

Etiquetas: form, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:10.