Ejercicios de creación
EJEMPLO 1
ENUNCIADO
A partir de los ejercicios vistos anteriormente realiza un programa que simule ser una pequeña calculadora con las cuatro operaciones básicas (sumar, restar, multiplicar y dividir):
- Que muestre un menú inicial donde se elija la operación que se va a realizar.
- Si alguien escoge una opción no contemplada debe volver a mostrar las opciones iniciales.
- Que solicite los números implicados en cada operación y muestre el resultado.
- Que de opción a reiniciar el programa una vez realizada una operación.
SOLUCIÓN
Se propone realizar funciones parciales para cada una de las operaciones.
Para mostrar el menú se propone la estructura SEGUN ya que las opciones son discretas (4 operaciones) dentro de una estructura REPETIR hasta que la opción seleccionada sea la correcta.
El reinicio se realiza al finalizar cada operación, preguntando y si la respuesta es afirmativa, modificar la condición que volvía a mostrar el menú inicial.
EJEMPLO2
ENUNCIADO
Crea un programa en Scratch para aprender las tablas de multiplicar. Las condiciones del programa son:
- Al inicio un personaje pregunta si quieres participar o no. Tiene que seguir preguntando hasta que se le diga que sí.
- Después preguntará del 1 al 10 qué tabla de multiplicar quiere practicar.
- A continuación mostrará en pantalla las operaciones de la tabla de multiplicar del número introducido.
- Al terminar se despedirá.
SOLUCIÓN
Seguimos los mismos pasos vistos en el capítulo anterior en la creación de un programa.
Pasos 1 y 2: Análisis y diagrama de flujo del programa Tabla de multiplicar
Los elementos implicados son
- Salidas: Saludar, preguntar si se participa, preguntar la tabla a recitar, recitar la tabla, saludar al final.
- Entradas: Respuesta Sí/No a participar, número de la tabla.
- Almacenamiento de datos: almacenamos las respuestas obtenidas, y una variable contador para recorrer la tabla del 0 al 10
- Operaciones: bucle condicional (repetir mientras la respuesta sea no), bucle con número prefijado (multiplicar del 0 al 10), multiplicaciones, comparaciones, concatenaciones.
Diagrama de flujo:
Pasos 3, 4 y 5: Codificación, compilación y verificación del programa Tabla de multiplicar con Scratch
Como siempre empezamos por definir las variables. Definimos una variable contador y le asignamos el valor 0 al inicio del programa. La otra variable no será necesario crearla puesto que al ser respuesta de una pregunta, la crea el programa por defecto.
Saludamos y realizamos la pregunta con los bloques correspondientes de Apariencia y Sensores ya que son Salidas.
Ahí comienza el primer bucle, en este caso condicional puesto que depende de la respuesta obtenida. En scratch el bloque que realiza esta operación es Repetir hasta que
Cuando realizamos comparaciones con textos, hay que tener en cuenta las variaciones de mayúsculas, minúsculas, tildes, etc...Lo mejor en ese caso sería usar el operador "O" que nos admite como válidas cualquiera de las posibilidades (Sí, Si, SI, si)
Una vez obtenida la respuesta afirmativa (ENTRADA), pasamos a preguntar de nuevo por el número del 1 al 10 del que se quiere usar la tabla (SALIDA).
Con la respuesta obtenida (ENTRADA) realizamos otro bucle en este caso del 0 al 10 por lo que son 11 veces, donde se va a mostrar en pantalla al personaje diciendo el numero de la tabla x contador = resultado y el valor del contador se va incrementando de uno en uno en cada iteración.
Tras una última salida con la despedida, el programa quedaría así.
Por último vendría el momento de verificación del funcionamiento.
Consideraciones finales:
- Este programita se podía haber hecho de muchas otras formas, como casi todos los programas. Se pueden utilizar estructuras condicionales anidadas, por ejemplo. Te invitamos a que explores algunas de ellas.
- Se ha escogido esta forma porque es una de las que menos bloques de código requiere. Es una buena práctica para nuestro alumnado exponerle a crear un programa de distintas formas y hacer un análisis crítico de cada una de ellas.
- Es bueno tener presente siempre en programación las siglas DRY (Don't Repeat Yourself) Si se repiten muchas líneas de código o muchos bloques iguales, probablemente hay una forma más eficiente de hacerlo.