martes, 4 de junio de 2013

Curso programación desde 0 - Tema 2 - Pensando como programadores

Vamos a ir entrando un poquito en materia, ahora que ya Vimos en el tema anterior http://robertogascon.blogspot.com/2013/05/curso-programacion-desde-0-tema-1-que.html que es la programación y algunas características generales, como la programación a bajo y a alto nivel, también hemos visto algunas características de los lenguajes más utilizados hoy día, y en que entorno se pueden usar.

Ahora podremos hacer 2 cosas, escoger un lenguaje de programación, algún manual, curso o tutorial, y empezar a aprenderlo, esto puede parecer lo más lógico, e incluso puede que lo más rápido, pero es aquí en donde fracasa la mayoría de la gente que intenta empezar a programar sin nociones previas; al que de verdad a nacido para esto, lo vive y pone todo el empeño en ello lo acaba logrando, pero después de sudar mucha sangre y horas y horas, para entender por un lado los ejemplos, por otro el lenguaje que haya elegido, y por último el IDE (un IDE es un entorno de desarrollo, que nos ayudara en la tarea de programación, mas adelante veremos cómo, y cuáles son los más populares para según qué lenguaje).
Es decir si elegimos ahora aprender un lenguaje, deberemos aprender a usar un programa para ello, los cuales normalmente son inmensos, aunque los hay muy ligeros, el lenguaje que elijamos y la lógica de programación, esto viene siendo como si al poco de nacer quisiéramos decir nuestra primera palabra, en 2 idiomas, y andar a la vez, todo ello sin gatear, ni balbucear, tarea casi imposible.

La otra opción que tenemos es ir por partes; eso es lo que vamos a hacer en este curso, poquito a poco, sin prisas, y cada uno a su ritmo.

En este tema, os voy a enseñar a pensar como programadores, lo cual aunque no es muy complejo, si necesita de un previo aprendizaje, y por supuesto, vamos a hacerlo en castellano, que es nuestro idioma.

Lo primero, es, vamos a pensar como programadores, pero ¿como? Pues como vimos en el anterior tema la programación consiste en resolver problemas, así que vamos con un problema de lo más cotidiano, tenemos sed:
Muchos diréis, pues bebemos, y eso como respuesta final, no está mal, pero recordemos que los ordenadores son tontos, solo cumplen ordenes, ¿si nosotros fuéramos un ordenador que orden nos tendrían que dar, para quitarnos la sed?

Si quisiéramos hacer un programa para resolver el problema de cuando tenemos sed, tendríamos que teclear paso a paso, por lo que un ejemplo de programa que resuelva tener sed puede ser algo así:

Sentimos sed;
Nos levantamos;
Vamos hasta la cocina;
Abrimos la vitrina;
Cogemos un vaso,
Vamos hasta la nevera;
Cogemos la botella de agua (o líquido a nuestro gusto);
Cerramos la nevera;
Abrimos la botella;
Llenamos el vaso;
Cerramos la botella;
Volvemos hasta la nevera;
La abrimos;
Guardamos la botella;
Cerramos la nevera
Volvemos hasta el vaso;
Bebemos;

Como podemos ver una tarea cotidiana a la hora de hacerla un programa se ha convertido en algo complejo, largo y algo tedioso, este programa para beber en realidad esta simplificado, y tiene un fallo, hemos cogido el vaso, la botella, y abierto el frigorífico, todo ello sin soltar el vaso, ay dependerá de la habilidad de cada uno, pero existen muchas posibilidades de que se nos caiga el vaso, o de lo que es lo mismo en programación, un bug, ya que cuando intentemos llenar el vaso, no va a existir, y el ordenador no sabrá donde echar el agua, pero esto es materia un poco más avanzada; de momento vamos a dejar aquí nuestro programa para beber, y voy a explicar de nuevo lo mismo con otro ejemplo:

Esta vez, estamos en casa, y tenemos que salir y coger el coche, para ir hasta el súper a hacer la compra.

Nos levantamos;
Buscamos las llaves;
Vamos hasta la puerta;
La abrimos;
Salimos;
La cerramos;
Vamos hasta la calle;
Buscamos el coche;
Lo abrimos;
Nos montamos;
Lo cerramos
Metemos la llave en el contacto;
La giramos para arrancar;
Salimos del aparcamiento (Utilizando los pedales de la manera necesaria);
Conducimos hasta el súper;
Aparcamos;
Paramos el motor;
Abrimos la puerta;
Nos bajamos;
Cerramos el coche;
Caminamos hasta el súper;
Compramos;

Os recomiendo leer un par de veces ambos ejemplos para terminar de entenderlo bien, no es algo demasiado difícil, pero es importante entenderlo bien para seguir entrando en materia.

Algunos ejercicios para practicar pueden ser:
-Hacer un programa para poner nuestra emisora favorita de música.
-Un programa que nos saque de la cama cada mañana para ir al trabajo.

Recuerda que el mejor modo para la correccion es publicarlo como comentario debajo del ejercicio, asi tu y todos tus compañeros podeis aprender y ayudaros los unos a los otros, pero estoy disponible en el email rogamainformatica@gmail.com