Tuve un problema similar cuando me introduje por primera vez a los lenguajes de programación. ¡Me perdí muchas conferencias porque era mi primer año de universidad! Para mí no encontré libros ni profesores que supieran cómo ayudarte a pensar como un programador. Siempre encontré que las personas que enseñaban ya no sabían cómo "no" pensar como un programador y, como resultado, asumen que conoces los conceptos simples. ¡Así que finalmente al final de mi primer año tuve que esforzarme mucho para ponerme al día y tuve que llenar los vacíos yo mismo ...! Así es como pienso sobre los problemas de programación ahora:
OBJETOS: Para objetos de programación orientada a objetos, la clave es todo. Si piensas qué es lo que tu programa necesita poder hacer, entonces puedes dividirlo en trozos más pequeños. Por ejemplo, si uno se imagina que hacen una taza de té, los objetos que necesita para tomar la taza de té son:
1 -> A cup
2 -> A tea bag
3 -> Water
4 -> A kettle
5 -> A spoon
6 -> Milk
7 -> Sugar
Así que ahora su programa tiene 7 objetos que van a interactuar de alguna manera para hacer una taza de té . Los objetos siempre se declaran como su propia clase y tendrán métodos de construcción que cuando sean llamados crearán una copia (instanciación) de su objeto que luego podrá ser utilizada en su programa. Todo el método que está dentro de su clase definirá qué funcionalidad puede proporcionar su objeto.
Kettle kettle = new Kettle();
kettle.boilWater();
Ahora que tiene sus objetos, debería pensar en su algoritmo.
ALGORITMOS: En todos los lenguajes de programación, un algoritmo es básicamente una lista de pasos que usted puede seguir para alcanzar su objetivo final. En nuestro caso, nuestro objetivo final es hacer una taza de té.
Los pasos que deberá seguir en su algoritmo tienen que venir uno tras otro de una manera lógica es decir, no se puede verter la leche en la caldera, o echar agua fría en la taza y hervir el azúcar, etc.
Por lo tanto nuestro algoritmo puede ser el siguiente:
Step 1: Pour water into Kettle
Step 2: Turn kettle on - to boil the water
Step 3: Put tea-bag into cup
Step 4: "IF" water is boiled -> pour into cup
"ELSE" wait until water has boiled
Step 5: Stir teabag with spoon
Step 6: Pour milk into cup
Step 7: Put sugar into cup
Step 8: Stir
siempre hay algunas maneras diferentes se pueden organizar los pasos en un algoritmos que todavía funciona, pero siempre se acuerdan de tener un orden lógico o de lo contrario hacer un lío! !
El mismo principio se puede aplicar incluso a los problemas más complejos. Lo más importante es intentar dividir el problema en los pasos más simples y organizar los pasos de una manera de sentido común.
Cuando se trata de tareas más complejas, es obviamente muy importante saber qué herramientas tiene a su disposición, es decir, saber qué funcionalidad le proporcionan las API y estar familiarizado con la sintaxis. Pero como la gente ya te ha mencionado antes, la práctica hace al maestro.Es la única manera en que comenzarás a entenderlo y créanme que finalmente lo conseguirás ... Algún día TODO tendrá sentido para ti, solo se trata de pensar de cierta manera. Divida todo en pequeños pasos simples y luego ordene los pasos de una manera lógica. Haz esto y comenzará a tener sentido para ti. ¡¡LO PROMETO!!
¿Se siente cómodo con un lenguaje de programación? Hay preguntas similares que flotan aquí en SO: http://stackoverflow.com/questions/259660/painless-analysis-of-algorithms-training y http://stackoverflow.com/questions/366418/how-to-get-started -en-algoritmos. Recomiendo MIT OCW. – dirkgently
IMO debe hablar de esto con un maestro. – ChrisW
Maldición, ustedes fueron demasiado serviciales, no esperaba mucho. Ahora no puedo decidir mi respuesta aceptada. – StudioWorks