Ejercicios con CodeOrg (I)

0
315

Después de presentar distintas plataformas para aprender a programar, y haber practicado con Scratch, hoy iniciamos una serie de artículos para tomar consciencia de algunos elementos importantes para el diseño de software y la realización de ejercicios con CodeORG.

Estos pequeños retos pretenden que nos familiaricemos con la plataforma. Igualmente, veremos ciertos conceptos básicos que muchas veces no se explican porque se dan por obvios. No obstante, a veces, lo obvio presenta ciertas sutilezas de las que es importante ser consciente de su existencia.

Primero empezaremos con un poco de teoría, una explicación de los conceptos que trabajaremos hoy y, a continuación, presentaré unos ejercicios con CodeOrg con los que practicar los mismos. Así que ¡allá vamos!

CONCEPTOS BÁSICOS

INICIO DE UN PROGRAMA

Puede parecer una tontería, o demasiado obvio, pero la realidad es que todo código empieza por alguna parte. Todos tienen una línea de código que es la primera o, quizá, sería más correcto decir que todos los códigos tienen uno (o más) puntos de entrada o activadores. Estos elementos activadores son aquellos que provocan que un robot o un determinado programa se pongan en marcha. Y lo más importante, estos activadores pueden tener muchas y variadas formas: una tecla del teclado, un click de ratón, una hora, una orden de voz, que otro programa ejecute una instrucción o el típico botón rojo de la guarida del supervillano.

En el caso de CodeOrg este tipo de instrucciones se denominan Acciones.

Los tenemos de distintos tipos:

  • Dependen de un periférico: son aquellas acciones que requieren que el usuario tenga algún tipo de interacción con el dispositivo de programación (ordenador, tablet, etc…). Por ejemplo: pulsar una tecla determinada del teclado o una interacción con el ratón.
  • Dependen de un evento previo: son aquellas acciones que empiezan a actuar a partir de un evento previo que puede producirse sin interacción directa del usuario, sino que dependen de que ocurra una determinada situación dentro del propio programa y que se genere por el código. Puede parecer un tanto complicado de entender a primera vista, por ello lo veremos posteriormente con un ejemplo práctico.

CONDICIONES INICIALES

Por norma general estamos acostumbrados a que cuando encendemos un ordenador o un electrodoméstico este responde siempre de la misma manera. Es más, en caso de no hacerlo, generalmente arqueamos la ceja o nos ponemos en lo peor suponiendo que se ha roto o, cuanto menos, tiene un mal funcionamiento. Esto no siempre es así, un aparato puede tener distintos funcionamientos de arranque previstos, pero lo que es innegable es que todos están diseñados para ubicarse siempre en el mismo estado.

Imaginemos, por poner un ejemplo sencillo, una nevera. Al conectarla, esta siempre verificará si:

  • El motor está apagado o encendido. (Sí, ya sé que sin la ayuda de un fantasma no puede estar activada si no está conectada. Pero ella lo verifica igualmente.)
  • La temperatura de la cabina está por encima o por debajo del valor al que queremos que esté.
  • El pulsador de la puerta nos indica si esta está abierta o cerrada.

Una vez verificadas estas condiciones tomará unas decisiones:

  • Si el motor está apagado y la temperatura en la cabina es superior a la deseada, entonces encenderá el motor. En caso contrario, lo mantendrá apagado.
  • Si la puerta está abierta, encenderá la luz. Si no está abierta, la mantendrá apagada.

Pero siempre verificará estas dos cosas al empezar a funcionar. Y, además, lo hará en el mismo orden. Y eso mismo hacen todos los programas (por lo menos los que están bien hechos) y robots del mundo. El primer paso al encender siempre es el de fijar las condiciones iniciales de todos los elementos que control, generalmente con un valor que tienen almacenado en su memoria o con un valor que capturan con algún sensor.

Por consiguiente, todo programa que hagamos, deberá en primer lugar establecer estas condiciones iniciales con el fin de asegurar el correcto funcionamiento. Y eso incluirá, a veces, listas muy largas de condiciones que verificar. Pero, al mismo tiempo, significa que cada vez que queramos añadir una función o condicionante nuevo a nuestro programa tendremos que acordarnos de modificar este apartado de condiciones iniciales.

RETOS Y EJERCICIOS CON CODEORG

Una vez tengáis vuestro usuario creado en CodeOrg, podéis buscar en los enlaces de los ejercicios y podréis ver los códigos de los distintos ejercicios.

Este pequeño reto pretende que se investigue un poco la aplicación y las instrucciones. Pero primero expliquemos los detalles principales del funcionamiento. En primer lugar os presento al queco o monigote que sale en pantalla (ponedle un nombre, el mío se llama Asistente BaM y así lo llamaré a partir de ahora):

ejercicios con codeorg

Esta es la zona de instrucciones disponibles:

ejercicios de programación para niños

Si arrastráis cualquiera de las instrucciones del lateral hasta el panel principal las instrucciones estarán disponibles:

ejercicios con codeorg para aprender

No obstante, si las colocáis sin conectar con nada sencillamente no se ejecutarán nunca porque nadie le dará la orden pertinente. Para que las instrucciones se ejecuten es importante que se ponga de manera secuencial a otras instrucciones:

Así, funcionan:

ejercicios para niños aprendan programar

Así, no funcionan todas:

Eso implica que cuando se ejecute el programa (entraremos en cómo se ejecutan en breve) se irán ejecutando las instrucciones de una en una y de manera ordenada según se hayan dispuesto.

Y con esto y un bizcocho, ya estamos listos para empezar a trabajar.

Como sugerencia, antes de ponernos a trabajar en los ejercicios con CodeOrg, cuando queráis editar el código sugiero no borrar las instrucciones. No obstante, en el caso de querer volver a cargar el código bastará con volver a reabrir el programa y se verá como estaba al principio.

RETO 1

En este primer reto (llamado BAM_Reto1) el programa simplemente realiza lo siguiente: cuando hacemos click en Ejecutar Asistente BaM se situará en una posición aleatoria y luego avanzará 50 píxels. Podéis ver el funcionamiento pulsando la tecla Ejecutar.

Y podéis regular la velocidad desplazando el icono entre la liebre y la tortuga:

Podéis mirar el código pulsando en Cómo funciona.

aprender codigo niños

Sencillo, ¿verdad?

NOTA: es importante mencionar que el cuadrado donde habita Asistente BaM, en realidad, está delimitado por coordenadas (X,Y) y que el centro del recuadro es la posición (0,0).

Bien, pues ahora os propongo que hagáis tres cosas:

  1. Conseguid que, cada vez que se pulse Ejecutar, Asistente BaM vuelva a la posición inicial y luego se mueva los 50 píxels. Es decir, fijarle unas condiciones iniciales. Podréis encontrar esta solución en el programa que lleva por nombre BAM_Reto1-SOL.
  2. Una vez resuelto este pequeño reto sumaremos una nueva dificultad. Cuando se pulse el botón Ejecutar, debe avanzar 50 píxels. Pero cuando haya avanzado los 50 píxels, el Asistente BaM debe volver a la posición inicial. Podréis encontrar esta solución en el programa que lleva por nombre BAM_RETO1_SOL2.
  3. Como último ejercicio, conseguid que Asistente BaM se pueda mover 100 píxels. Hay varias maneras de solucionar este reto. Explicaremos la solución en próximos retos.

RETO 2

En este segundo ejercicio de CodeOrg, que podréis encontrar en el siguiente enlace, el programa realiza lo siguiente: cuando hacemos click en el botón ejecutar, Asistente BaM avanzará 50 píxeles, cambiará el color de la impresión de la línea y luego volverá a avanzar 50 píxeles. Como podemos observar, al mirar el código podemos ver esas instrucciones detalladas y de manera consecutiva.

Bien pues los ejercicios, ahora, son los siguientes:

  1. Conseguid que al pulsar la tecla Ejecutar el Asistente BaM vuelva a la posición inicial y que mire hacia la derecha. Aunque al pulsar el botón Ejecutar el Asistente BaM ya vuelve a la posición inicial, no lo hace por tener condiciones iniciales debidamente indicadas, sino porque CodeOrg obliga a ello y ya tiene unas condiciones iniciales fijadas.
  2. Una vez tengamos las condiciones iniciales establecidas, al acabar el proceso del código, Asistente BaM debe saludaros y mirar hacia la izquierda. Este es un indicador de funcionamiento. Es decir, una interacción que se ejecuta en un determinado momento que nos indica que el programa ha llegado hasta ese punto funcionando correctamente. Esta condición equivale a un led verde que se enciende al seleccionar un canal en un mando a distancia.

Podréis hallar la solución a este ejercicio en el fichero BAM_Reto2_SOL.

NOTA: Es importante recalcar que si pulsáis en cualquier momento en la tecla </> Mostrar Código podréis acceder al código formal que se estará ejecutando. Esta opción solamente se recomienda para secundaria por su complejidad.

programar con codeorg

Espero que estos ejercicios de CodeOrg os hayan servido, no solamente como un reto con el que aprender los primeros pasos de programación, sino también como contexto sobre la importancia de estos elementos en un código.

Recordad que podéis consultarme cualquier duda mandando un correo electrónico a marc@bebeamordor.com. Nos vemos en el siguiente artículo.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

En cumplimiento de la legislación española vigente en materia de protección de datos de carácter personal y del reglamento europeo RGPD 679/2016 le informamos de:
Responsable: Julia María Iriarte Gahete + info
Finalidad: Gestión del envío de información solicitada, gestión de suscripciones al blog y moderación de comentarios. + info
Legitimación:: Consentimiento expreso del interesado. + info
Destinatarios: No se cederán datos a terceros para la gestión de estos datos.
Derechos: Tiene derecho a Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la información adicional. + info
Información adicional:: Puede consultar la información adicional y detallada sobre Protección de Datos Personales en mi página web bebeamordor.com + info