Hola me llamo cludio y tengo el grabe problema de no saber pensar como programador y mi pregunta es la siguiente si vos podes ayudarme con esto Te cuento que estoy en primer año de una tecnicatura en informática y en mi vida jamas he visto ningún lenguaje de programación y mi profesora no nos dice como pensar los distinto problemas si no que ella nos da el atgorimo . Espero que me entiendas.
Gracias claudio
1 Respuesta
Respuesta de burraburiash
1
1
burraburiash, Bueno, sobre todo me gusta la computación
La verdad que hacer una tutoría es algo complicado y realmente cansador. Sin embargo, te puedo recomendar un par de sitios done seguramente vas a encontrar alguna punta desde la cual comenzar: www.lawebdelprogramador.com aquí encontrarás muchos tutoriales on line. www.lafacu.com Y aquí muchos apuntes que ya sea para una materia u otra seguro encontrás MUY útiles. También hay profesores online que contestan tus preguntas. Finalmente te digo que en primer año seguramente estarás viendo C o Pascal. Es necesario que comprendas bien que hay varios paradigmas de programación y que aún los más arcaicos tienen sus ventajas, de modo tal que no trates de incorporar la metodología de un lenguaje como una base definitiva; más bien te convendría verlo como una opción, una posible plataforma de partida pero no como el origen de todo. Por decirte algo, te cuento que yo a la fecha conozco los siguientes paradigmas: El más viejo y casi en desuso es el de la programación lineal, le sigue la programación estructurada y luego a la par están la programación orientada a eventos, la orientada a componentes y la orientada a objetos. En otro orden están la programación lógica y la programación funcional. Cada una de las anteriores posee sus características distintivas y son útiles en distintas aplicaciones, pero no por ver primero la estructurada tenemos que adaptar los puntos de vista de los otros paradigmas a un equivalente en estructurado. Eso es un error común en la educación informática moderna. Por ejemplo, la programación estructurada se basa en desglosar un problema general en muchas partes y a su vez, desglosar esas partes en otras más pequeñas de modo tal que programando pequeños problemas y uniéndolos adecuadamente se obtiene la solución al problema general. Así, el problema de llamar por teléfono se vería como: descolgar el tubo, escuchar si tiene tono, introducir monedas, marcar el número, esperar que conteste, hablar, colgar el tubo. A su vez, marcar podría implicar recordar cada dígito y presionarlo con el dedo en el teclado del teléfono y así. Cada subproblema es un programita sencillo y uniéndolos en orden se obtiene la solución. Como vez, el desglose se hace por medio de identificar acciones y describirlas, si es posible, con otras acciones. Por otra parte, te puedo citar la programación de objetos, aquí se presta especial atención a los participantes y su composición: visto el problema anterior, tenemos como actores a la persona, el tubo, el teléfono y su teclado. Primero si identifican los sustantivos importantes, puesto que los actores son casi siempre sustantivos. Ahora se ve su composición, se ve que el teléfono es un contenedor de un teclado y un tubo, no quiere decir que el teclado y el tubo se unan al teléfono. Se siguen modelando independientemente, pero se ve que están "dentro" de otro objeto. Bueno, hasta aquí la composición (si hilvanamos más fino podríamos incluir a la mondea y demás cosas). La programación orientada a objeto describe en vez de la secuencia de eventos (que es lo que hace la estructurada), un modelo de la realidad. Entonces luego en programación orientada a objetos que la persona y el teléfono intercambian mensajes: ¿HayTono?, marcarNúmero, enviar mensaje, escucharTubo, ponerMoneda, etc. El teléfono a su vez manda mensajes a sus ojetos componentes y así. Lo bueno de este paradigma es que la persona conoce al teléfono y se olvida de cómo comunicarse independientemente con el tubo y el teclado, y de este modo es posible que sólo cambiando el objeto teclado se pueda utilizar un teléfono analógico o digital, sólo programando esa sección de código. También es muy interesante el paradigma funcional que en vez de describir el orden de ejecución, o los objetos intervinientes, describe las transformaciones de la información viendo al sistema como una caja negra y haciendo de cuenta que la información entra por un lado y sale transformada en el resultado. La programacín funcional describe las transfomaciones matemáticas que sufre la información y a diferencia de los anteriores en este paradigma se puede demostrar matemáticamente que tu programa funciona correctamente (imaginate las ventajas de no tener que testear, sino directamente decir SÍ, FUNCIONA!), jaja Bueno, me cansé de escribir, pero lee los links que te envié y dale para adelante, no te mates por meterte demasiado en un paradigma, sólo identificá los métodos de descripción del problema y las características fundamentales de ese paradigma (porque vas a encontrar que hay muchísimos lenguajes por cada uno y no vale la pena conocer el lenguaje específico sino sus virtudes). En informática es muy importante la ABSTRACCIÓN y meterte con un lenguaje como si fuese una verdad, porque no lo es.