Introducción

En este módulo vamos a introducirnos en todo lo referente a programación. La mayoría de los usuarios tienen un ordenador o pc al alcance de su mano, pero cuando hablan de "programar" parece que hay que estudiar una ingeniería y realmente no es así. Existen nuevos métodos y programas que nos facilitan la vida.

También sentaremos un poco las bases para entender la lógica de la programación, lo bueno de esto, que lo que aprendas aquí te valdrá para cualquier cosa, así que presta atención y no dejes escapar nada.

Unidad 9: Programación estructurada.

¿Qué vas aprender en este módulo? Bueno, este módulo pretende que conozcas la metodología de programación, es decir, ¿cómo se programa?. Existen unos elementos básicos que existen en cualquier lenguajes de programación, piensa lo siguiente:.

  • [IF-ELSE] o [SI-SINO]. En programación una estructura muy importante y usada es la condicional, si "ocurre tal cosa" hago esto. Si "ocurre tal otra" hago aquello. ¡Qué difícil es esto de programar!. Piensa lo siguiente, si voy a salir a la calle, tengo que coger la cartera, sino, no hago nada. Como ves, podré hacer más cosas, por ejemplo, podría añadir, si voy a salir a la calle, tengo que coger la cartera, ir vestido, coger las llaves...etc. Como ves, no es solo una cosa, puedo hacer muchas, cada cosa sería una sentencia. Pero ¿y sino? Pues también puedo hacer varias cosas, ya que no voy a salir a la calle, me voy a poner el pijama, voy a leer un libro, estudiar el curso de Aula Mentor...etc.

  • [FOR, WHILE, DO WHILE] o [POR n_veces, MIENTRAS (condición), HACER - MIENTRAS (condición)] Estas cosas a lo mejor te suenan mas a otro idioma, y bueno, en realidad lo es, si lo traduces del inglés lo verás sencillo. En programación una cosa que se suele hacer mucho es "las repiticiones", es decir, si voy a repetir mucho una cosa, y en esas repeticiones solo voy a variar una variable, pues ¿porqué no hacerlo de forma iterativa?. Como no, con un ejemplo seguro que lo entendemos mejor: imagina que tienes que hacer una mudanza del piso A aL piso B. Realmente hay muchos pasos que se repiten, y en programación, cuanto menos repitas código mejor que mejor. No por nada, sino porque estarás optimizando el programa. (De echo, los buenos algoritmos o programas son aquellos que son muy reutilizables). Bien, volviendo al ejemplo, si tengo que pasar 10 cajas de la casa A a la casa B y esto lo metemos en un programa (podrías ser un dron, coche ...etc); tendríamos que decirle paso a paso qué es lo que debe hacer. Recuerda que los programas solo hacen lo que les decimos.

    • Dirígete a la casa A
    • Coge caja número 1 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 2 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 3 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 4 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 5 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 6 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 7 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 8 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 9 y móntala en el coche
    • Dirígite a la casa B y suéltala
    • -------------------------
    • Dirígete a la casa A
    • Coge caja número 10 y móntala en el coche
    • Dirígite a la casa B y suéltala

    Si tuvieramos un dron al cual le podríamos meter órdenes, si le decimos todo lo anterior lo haría exáctamente, pero bueno, te estarás preguntado, ¿no podemos hacerlo de forma más sencilla? Es decir, si te fijas, en todos los pasos hacemos lo mismo, solo ha cambiado una cosa, el número de caja. Pues aquí es donde está la importancia de la programación usando sentencias iterativas, ya sea for, while o do-while. Todo lo anterior se podría haber escrito de la siguiente forma:

    for(int i=1; i<=10; i++){

    Dirígete a la casa A

    Coge caja número i y móntala en el coche

    Dirígite a la casa B y suéltala

    }

    Si te fijas, el for lo que hace es: desde la variable [i] con valor 1, mientras que la variable [i] sea <=10, súmale 1 a la variable (i++). ¿Y si lo quisiera al revés? Pues si lo quisieramos decreciente sería i--. ¡Pero ojo!, el inicio de la variable y el fin deben cambiar.

    Esto es en cualquier lenguaje de programación, existe también el while(condición) "hacer esto" y el "hacer esto" mientras se cumpla la condición. Realmente es un juego de opciones para hacer iteraciones. En la primera tendríamos todo en la misma frase, en el while nosotros seríamos los encargados de ir aumentando el contador, es decir, tendríamos que hacer un i++; al final de cada iteración.

    i=1;

    while(i<=10){

    Dirígete a la casa A

    Coge caja número i y móntala en el coche

    Dirígite a la casa B y suéltala

    i++;

    }

    ¿Y cómo se haría la misma operación con un DO-WHILE?

    i=1;

    do{

    Dirígete a la casa A

    Coge caja número i y móntala en el coche

    Dirígite a la casa B y suéltala

    i++;

    }while(i<=10)

    Compara las tres opciones, la última tiene una particularidad, que hace el "do" al menos una vez, ya que la condición o pregunta se hace al final. Es decir, hacer mientras(condición) tiene esa ventaja/inconveniente. Ahora te pregunto: ¿Sería igual en los tres casos? ¿Hay que tener algo en cuenta en cada caso? ¿Cuántas veces entraría en la última opción con el do-while?

    ¿Existen más cosas? Por supuesto, existen muchas cosas para programar, switch, funciones...etc, pero vayamos poco a poco. Con esto ya tienes mucho ganado si lo controlas bien.

Unidad 10: Programación orientada objetos y eventos.

Con la programación orientada a objetos o POO, se crean estructuras digitales a partir de objetos de la realidad o necesidad. Los objetos pueden ser tanto físicos como tangibles, es decir, una persona, un animal, vehículos, pero también pueden ser conexiones a internet, protocolos, comunicación vía bluetooth…etc.

Para que se pueda decir que un lenguaje es orientado a objetos tiene que cumplir una serie de características de las que podemos destacar algunas como son: la herencia, encapsulamiento, gestión de eventos, atributos, creación de objetos…etc.

Existen muchos programas orientados a objetos, de los más usado serían Java, Python, C#, Visual Studio, Delphi…etc. A través de estos programas se han podido crear otros, y crear a su vez nuevos framework de desarrollo para que los desarrolladores realicen las tareas más arduas de forma más cómoda.

En el curso vamos a ver una programación orientada a objetos y eventos basada en Scratch inicialmente. No te tomes la siguiente unidad a "juego para niños" porque no lo es, es verdad que todo esto se ve en cursos de la ESO, ya que poco a poco lo que se quiere es ir acostumbrando a los alumnos a este tipo de estructuras, ellos juegan, y a la vez aprenden....o creén que están jugando cuando están aprendiendo, como lo quieras ver. Además, podrás hacer muchas cosas y acostumbrarte a este tipo de programación te será muy útil para las siguiente unidades, asi que ¡ánimo y a estudiar!

Unidad 11. Programación con Scratch.

En esta unidad vamos aprender muchas cosas sobre Scratch. No caigas en el error común de pensar que esto es "solo para niños" ya que se puede usar de muchas formas, si lo piensas, dale un lápiz en un bebé hará garabatos, pero si lo coge alguien mayor, los garabatos serán más definidos, incluso te puede hacer una obra de arte. Esta es la idea de Scratch, esta herramienta usado de la forma correcta tiene mucho potencial.

Otro punto fuerte de Scratch bajo mi punto de vista es que de una forma gráfica podemos ver resultados, yo he programado en C, C++, Java, html, jquery...etc y claro, siempre que se hablaba de "parte gráfica o visual" uno se echaba a temblar y si lo piensas, aquí podemos mover objetos, cambiar escenarios, hacer cómic, historietas, resolver algoritmos...etc de una forma fácil.

Unidad 12. Scratch para Arduino.

Ya hemos aprendido un lenguaje de programación de alto nivel, es decir, más cercano al usuario y encima gráfico. También hemos comprobado en las primeras unidades cómo se puede programar Arduino de forma nativa, usando las herramientas y programando en C++.

Ahora, vamos aprender a programar nuestro Arduino usando el mismo método de la unidad anterior. En este caso, las entradas y salidas estarán referidas a Arduino, para poder sacarle todo el provecho a esta unidad tendríamos que tener un Arduino físico para comprobar por nosotros mismos que es fácil de programar. En caso contrario, como ya has usado el emulador de Tinkercad y Scratch en tu PC, imagina tenerlo todo junto, eso es precisamente lo que hace S4A.

Unidad 13. Programación con Processing.

Processing es un software de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de diseño digital. Fue iniciado por Ben Fry y Casey Reas a partir de reflexiones en el Aesthetics and Computation Group del MIT Media Lab dirigido por John Maeda.

¿Qué me aporta processing? pues tiene un montón de ejemplos resueltos para empezar y adentrarte en la programación clásica de Java y aprender a "darle vida" a los parámetros que tu creas conveniente. Además se pueden hacer juegos, de hecho la actividad M2_3 consiste en que realices un juego.

Pero ojo, no creas que esto está orientado solo para hacer "jueguecitos", que además de poder hacerlos, puedes usar esto como un SCADA (Supervisión, Control y Adquisición de Datos), y si no se te ocurre ningún ejemplo, aquí va uno. En la industria, se suelen usar unos elementos que son los PLC, y para ver cómo va el proceso en cuestión se representa con unos esquemas y símbolos en la pantalla. Tanto los PLC´s como los SCADA son sistemas muy caros. Ahora, si somos capaces de crear un sistema sencillo con Arduino, le agregamos varios sensores, hacemos unos "dibujos" en Processing y vamos interactuando con los elementos y la pantalla, tendremos un SCADA y sistema "barato" y libre de pagar licencias.

Esta web utiliza cookies, puedes ver nuestra la política de cookies, aquí Si continuas navegando estás aceptándola. Pulsa para quitar este mensaje
Política de cookies +