-->

Menú principal

miércoles, 8 de marzo de 2023

COMPUTACIÓN Y ROBÓTICA - 3º ESO - Tema 3.- Introducción a la programación con XLogo

 ÍNDICE GENERAL

I. Introducción

  • ¿Qué es la programación?
  • ¿Por qué aprender programación?
  • ¿Qué es XLogo?

II. Conceptos Básicos

  • Introducción al entorno de XLogo
  • Comandos básicos de XLogo
  • Variables y constantes
  • Tipos de datos

III. Estructuras de Control de Flujo

  • Estructuras de selección
  • Estructuras de repetición
  • Ejemplos de uso de las estructuras de control de flujo

IV. Dibujo con XLogo

  • Comandos de dibujo
  • Dibujo de formas básicas
  • Dibujo de formas complejas

V. Proyectos con XLogo

  • Creación de un proyecto sencillo
  • Uso de las estructuras de control de flujo y los comandos de dibujo para crear proyectos más complejos
  • Ejemplos de proyectos en XLogo

VI. Conclusiones

  • Recapitulación de los conceptos aprendidos
  • Reflexión sobre la importancia de la programación en el mundo actual
  • Continuación de los estudios en programación.

1,- ¿Qué es la programación?

La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de software para crear aplicaciones informáticas, programas de computadora, sitios web, aplicaciones móviles, sistemas operativos y otros productos de software. Es el arte de escribir instrucciones o algoritmos que una computadora puede seguir para realizar una tarea específica. La programación implica la escritura de código en un lenguaje de programación específico que las computadoras pueden entender y ejecutar para resolver problemas y realizar tareas específicas. Los programadores utilizan una variedad de lenguajes de programación, herramientas y tecnologías para crear software, y se requiere de habilidades de resolución de problemas, lógica y pensamiento crítico para ser un buen programador.

2.- ¿Por qué aprender programación?

Aprender programación tiene varios beneficios, entre ellos:

  1. Habilidad en demanda: La programación es una habilidad altamente valorada en la economía actual, con una gran demanda en la industria tecnológica y otras áreas relacionadas.

  2. Creatividad y solución de problemas: La programación permite a las personas crear soluciones innovadoras para resolver problemas complejos y fomenta la creatividad y la resolución de problemas.

  3. Pensamiento lógico: La programación requiere pensamiento lógico y estructurado, lo que ayuda a desarrollar habilidades cognitivas que se pueden aplicar en otros aspectos de la vida.

  4. Mejora del rendimiento académico: Aprender programación puede mejorar el rendimiento académico en matemáticas, ciencias y otras áreas.

  5. Trabajo en equipo: La programación a menudo se realiza en equipo, lo que fomenta la colaboración y el trabajo en equipo.

  6. Emprendimiento: La programación también puede ayudar a las personas a desarrollar sus propios negocios y emprendimientos tecnológicos.

En resumen, aprender programación es beneficioso tanto para el desarrollo personal como profesional y se ha convertido en una habilidad fundamental en la economía actual.

3.- ¿Qué es XLogo?

XLogo es un lenguaje de programación orientado a objetos y un entorno de programación gráfica que se utiliza para enseñar a los estudiantes los conceptos básicos de la programación. XLogo es una versión moderna del lenguaje de programación Logo original, desarrollado en la década de 1960 para enseñar programación a niños.

XLogo utiliza comandos gráficos simples para dibujar figuras geométricas y patrones en una ventana de dibujo. Estos comandos son fáciles de entender y se pueden utilizar para enseñar conceptos como variables, repeticiones, decisiones y funciones. XLogo es fácil de aprender y permite a los estudiantes experimentar con la programación de manera interactiva, ya que pueden ver los resultados de su código en tiempo real en la ventana de dibujo.

XLogo también es multiplataforma, lo que significa que se puede ejecutar en diferentes sistemas operativos, como Windows, Mac y Linux, lo que lo hace accesible para una amplia gama de estudiantes y profesores. Además, XLogo es de código abierto, lo que significa que está disponible de forma gratuita y se puede modificar y compartir libremente.

En resumen, XLogo es un lenguaje de programación gráfica diseñado para enseñar a los estudiantes los conceptos básicos de la programación de manera interactiva y visual.

4.- Introducción al entorno de XLogo

El entorno de XLogo también proporciona una amplia variedad de herramientas y funciones para facilitar la programación, incluyendo un editor de texto para escribir y guardar el código, un depurador para corregir errores, y una biblioteca de comandos y funciones para su uso en los proyectos de programación.

Los comandos gráficos simples, el editor de texto, el depurador y la biblioteca de funciones y comandos hacen que XLogo sea fácil de usar y accesible para estudiantes de diferentes edades y niveles de habilidad.

5.-Comandos básicos de XLogo

A continuación se presentan algunos de los comandos básicos de XLogo:

  1. AVANZA (av): Este comando se utiliza para mover la tortuga hacia adelante en la dirección que está mirando. Por ejemplo, el comando AV 50 mueve la tortuga hacia adelante 50 píxeles.

  2. RETROCEDE (re): Este comando se utiliza para mover la tortuga hacia atrás en la dirección que está mirando. Por ejemplo, el comando RE 50 mueve la tortuga hacia atrás 50 píxeles.

  3. GIRA DERECHA (gd): Este comando se utiliza para girar la tortuga hacia la derecha en un ángulo específico. Por ejemplo, el comando GD 90 gira la tortuga 90 grados hacia la derecha.

  4. GIRA IZQUIERDA (gi): Este comando se utiliza para girar la tortuga hacia la izquierda en un ángulo específico. Por ejemplo, el comando GI 45 gira la tortuga 45 grados hacia la izquierda.

  5. SUBE LÁPIZ (sl): Este comando levanta el lápiz de dibujo de la tortuga, lo que significa que la tortuga no dibuja cuando se mueve. Por ejemplo, el comando SL mueve la tortuga sin dibujar una línea.

  6. BAJA LÁPIZ (sl): Este comando baja el lápiz de dibujo de la tortuga, lo que significa que la tortuga dibuja cuando se mueve. Por ejemplo, el comando BL mueve la tortuga y dibuja una línea.

  7. REPITE (rp): Este comando se utiliza para repetir una serie de comandos un número específico de veces. Por ejemplo, el comando REPITE 4 [AV 50 GD 90] dibuja un cuadrado.

  8. PONXY: Este comando se utiliza para mover la tortuga a una posición específica en el plano cartesiano. Por ejemplo, el comando PONXY 100 100 mueve la tortuga a la posición (100, 100).

Estos son solo algunos de los comandos básicos de XLogo. Hay muchos otros comandos y funciones disponibles que permiten a los estudiantes crear dibujos y patrones más complejos. Con la práctica y la exploración, los estudiantes pueden aprender a usar estos comandos para crear obras de arte y animaciones interesantes y creativas.


6.- Variables y constantes en XLogo

    En XLogo, las variables y constantes se utilizan para almacenar y representar valores en un programa. Una variable es un espacio de memoria reservado para almacenar un valor que puede cambiar a lo largo del tiempo, mientras que una constante es un valor que no cambia durante la ejecución del programa.

Para declarar una variable en XLogo, se utiliza el comando HAZ, seguido del nombre de la variable y el valor que se le asignará. Por ejemplo, el comando HAZ "x 50 asigna el valor 50 a la variable x.

Para utilizar la variable en un programa, se utiliza su nombre en lugar de un valor numérico. Por ejemplo, si queremos mover la tortuga hacia adelante la cantidad de píxeles almacenada en la variable x, podemos utilizar el comando av :x.

Las constantes en XLogo se declaran utilizando el comando NAME, seguido del nombre de la constante y el valor que se le asignará. Por ejemplo, el comando NAME "pi 3.14159 define la constante pi con un valor de 3.14159.

Una vez definida una constante, se puede utilizar en cualquier parte del programa utilizando su nombre. Por ejemplo, si queremos dibujar un círculo de radio 50 píxeles, podemos utilizar los comandos HAZ "r 50 y REPITE 360 [AVANZA :r/360 GIRADERECHA 1] para dibujar el círculo. En este ejemplo, se utiliza la variable r para almacenar el valor del radio y la constante 360 para dividir el ángulo total del círculo en incrementos más pequeños.

En resumen, las variables y constantes son elementos clave en la programación de XLogo. Las variables se utilizan para almacenar valores que pueden cambiar a lo largo del tiempo, mientras que las constantes se utilizan para representar valores fijos que no cambian durante la ejecución del programa. Con el uso adecuado de variables y constantes, los estudiantes pueden escribir programas más flexibles y poderosos en XLogo.

7.- Tipos de datos en XLogo

En XLogo, existen dos tipos de datos principales: los datos numéricos y los datos de texto.

Los datos numéricos se utilizan para representar valores numéricos, como las posiciones de la tortuga en el plano cartesiano o la longitud de una línea. Los datos numéricos se pueden operar utilizando operadores matemáticos como suma, resta, multiplicación y división. XLogo también admite funciones matemáticas predefinidas como seno, coseno y tangente, que se pueden utilizar para realizar cálculos más avanzados.

Los datos de texto se utilizan para representar cadenas de caracteres, como los nombres de las variables o los mensajes que se muestran en la pantalla. Los datos de texto se representan utilizando corchetes [ ] para delimitar la cadena. Por ejemplo, el comando ESCRIBE [Hola, mundo!] muestra el mensaje "Hola, mundo!" en la pantalla.

Además de los datos numéricos y de texto, XLogo también admite otros tipos de datos, como los datos booleanos y las listas. Los datos booleanos solo pueden tomar dos valores posibles: verdadero o falso. Los datos booleanos se utilizan comúnmente en las estructuras de control de flujo, como los bucles y las sentencias condicionales.

Las listas en XLogo son colecciones ordenadas de datos. Cada elemento de la lista se almacena en una posición numerada y se puede acceder utilizando su índice. Las listas son muy útiles para almacenar y manipular grandes cantidades de datos en un programa.

En resumen, en XLogo existen dos tipos principales de datos: numéricos y de texto. También se pueden utilizar datos booleanos y listas para realizar operaciones más avanzadas en el programa. Es importante tener en cuenta los diferentes tipos de datos al escribir programas en XLogo para garantizar que los cálculos y las operaciones se realicen correctamente.

Ejemplos de programas realizados con XLogo

Un ejemplo de programa en XLogo que dibuja una flor:

MAKE "petals 8 MAKE "radius 50 REPEAT :petals [ FORWARD :radius RIGHT 180/:petals REPEAT 2 [ RIGHT 90 FORWARD :radius/2 RIGHT 90 CIRCLE :radius/4 RIGHT 90 FORWARD :radius/2 RIGHT 90 ] RIGHT 180-360/:petals ]

Hay que pasarlo a instrucciones en español, en la figura podemos ver el resultado con el código.

Explicación del programa:

Primero, definimos dos variables: "petals" y "radius". "petals" define el número de pétalos de la flor y "radius" define el tamaño de los pétalos.

Luego, utilizamos un bucle REPEAT para dibujar cada uno de los pétalos. Dentro del bucle, movemos la tortuga hacia adelante "radius" píxeles y giramos a la derecha en un ángulo de 180 grados dividido entre el número de pétalos. Esto asegura que la tortuga se posicione correctamente para comenzar a dibujar el primer pétalo.

Dentro del bucle principal, hay otro bucle REPEAT que dibuja la forma de cada pétalo. Este bucle dibuja cuatro segmentos: dos líneas rectas y dos círculos. Primero, la tortuga gira a la derecha en un ángulo de 90 grados y avanza la mitad del radio "radius/2". Luego, la tortuga gira a la derecha en un ángulo de 90 grados y dibuja un círculo de radio "radius/4". Después, la tortuga gira a la derecha en un ángulo de 90 grados y avanza de nuevo la mitad del radio "radius/2". Finalmente, la tortuga gira a la derecha en un ángulo de 90 grados y se posiciona para comenzar a dibujar el siguiente segmento.

Una vez que se han dibujado los cuatro segmentos, la tortuga gira a la derecha en un ángulo de 180 grados menos 360 dividido entre el número de pétalos. Esto asegura que la tortuga se posicione correctamente para comenzar a dibujar el siguiente pétalo.

Después de que el bucle principal ha dibujado todos los pétalos, la flor está completa.

III. Estructuras de Control de Flujo

8.- Estructuras de selección en XLogo

En XLogo, las estructuras de selección se utilizan para tomar decisiones en el programa y ejecutar diferentes acciones según la condición se cumpla o no. Existen dos tipos principales de estructuras de selección en XLogo: la estructura SI y la estructura SI NO.

La estructura SI se utiliza para ejecutar una acción si se cumple una condición. La sintaxis básica es la siguiente:

Xlogo
SI <condición> [ <acciones a ejecutar si la condición es verdadera> ]

Por ejemplo, el siguiente programa dibuja un cuadrado solo si la variable "drawSquare" es verdadera:

less
HAZ "drawSquare cierto SI :drawSquare [ REPITE 4 [ av 100 gd 90 ] ]

La estructura SI NO se utiliza para ejecutar una acción si se cumple una condición y otra acción si no se cumple. La sintaxis básica es la siguiente:

php
SI NO <condición> [ <acciones a ejecutar si la condición es verdadera> ] [ <acciones a ejecutar si la condición es falsa> ]

Por ejemplo, el siguiente programa dibuja un cuadrado si la variable "drawSquare" es verdadera y un círculo si es falsa:

less
HAZ "drawSquare falso SI :drawSquare [ REPITE 4 [ av 100 gd 90 ] ] [ CIRCLE 50]

Es importante tener en cuenta que las condiciones en XLogo pueden ser expresiones aritméticas o lógicas, como por ejemplo:

  • :x > 10
  • :y < 20
  • :x + :y = 30
  • :a = "verdadero"

En resumen, las estructuras de selección en XLogo son herramientas muy útiles para tomar decisiones en el programa y ejecutar diferentes acciones según la condición se cumpla o no. La estructura IF se utiliza para ejecutar una acción si se cumple una condición, mientras que la estructura IFELSE se utiliza para ejecutar una acción si se cumple una condición y otra acción si no se cumple.


9.- Estructuras de repetición en Xlogo

Las estructuras de repetición en XLogo se utilizan para ejecutar un conjunto de acciones varias veces. Hay dos estructuras de repetición principales en XLogo: la estructura REPITE, REPITEPARA(for) y la estructura MIENTRAS (while).

La estructura REPEAT se utiliza para ejecutar un conjunto de acciones un número específico de veces. La sintaxis básica es la siguiente:

php
REPITE <número de repeticiones> [ <acciones a ejecutar> ]

Por ejemplo, el siguiente programa dibuja un cuadrado repitiendo cuatro veces las instrucciones de avanzar y girar a la derecha:

scss
REPITE 4 [ av 100 gd 90]

La estructura REPITEPARA hace el papel de los bucles for en otros lenguajes de programación. Consiste en asignar a una variable un número determinado de valores comprendidos en un intervalo y con un incremento (paso) dados. Su sintaxis es: repitepara [ lista1 ] [ lista2 ]

La lista1 contiene tres parámetros: el nombre de la variable y los límites inferior y superior del intervalo asignado a la variable. Puede añadirse un cuarto argumento, que determinaría el incremento (el paso que tendría la variable); si se omite, se usará 1 por defecto.

Ejemplo 1: repitepara [i 1 4] [escribe :i*2]

proporciona 2 4 6 8

Ejemplo 2: # Este procedimiento hace variar i entre 7 y 2, bajando de 1.5 en 1.5 # incremento negativo 
 
repitepara [i 7 2 -1.5] [es lista :i potencia :i 2]        #proporciona

7 49 
5.5 30.25 
4 16 
2.5 6.25

La estructura MIENTRAS se utiliza para ejecutar un conjunto de acciones mientras se cumpla una condición específica. La sintaxis básica es la siguiente:

php
MIENTRAS <condición> [ <acciones a ejecutar> ]

Por ejemplo, el siguiente programa dibuja un cuadrado utilizando la estructura MIENTRAS en lugar de la estructura REPEAT o FOR:

less
HAZ "i 1 MIENTRAS [:i <= 4] [av 100 gd 90 HAZ "i :i + 1 ]

Es importante tener en cuenta que, en la estructura WHILE, es necesario incluir una expresión que cambie el valor de la condición en algún momento, de lo contrario se producirá un bucle infinito.

En resumen, las estructuras de repetición en XLogo son herramientas muy útiles para ejecutar un conjunto de acciones varias veces. La estructura REPEAT se utiliza para ejecutar un conjunto de acciones un número específico de veces, mientras que la estructura FOR y la estructura WHILE ofrecen mayor flexibilidad y control sobre el número de repeticiones o la condición de ejecución.