Skip to main content

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

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 Calculadora.

Los elementos implicados son

  • Salidas: Mostrar menú inicial, preguntar por números implicados, mostrar resultado.
  • Entradas: Operación a realizar (operac), números implicados (sumando1, sumando2....), reinicio.
  • Almacenamiento de datos: operacion a realizar (operac), números implicados, resultado, reinicio (S/N)
  • Operaciones: bucle y condicional (SEGUN, SI-ENTONCES, REPETIR hasta que), operaciones lógicas (comparaciones, Y, O), operaciones aritméticas.

En cuanto a la estructura del programa 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 (operac).

Diagrama de flujo:

diagramaflujo.pngdiagramaflujo.png

Las dimensiones del diagrama no permiten distinguirlo bien, pero sí notar que hay una estructura REPETIR HASTA QUE la variable operac tenga un valor comprendido entre 1 y 4, que muestra el mensaje inicial con las operaciones a elegir.

image-1664305359822.png

image-1664305246214.png

Dentro de ella una estructura SEGÚN que abre 5 opciones posibles, la última la de que se haya elegido un número distinto del 1 al 4 que vuelve a iterar el proceso, y las otras 4 una por cada operación.

También que cada una de las 4 operaciones termina con un bloque condicional para preguntar por el reinicio, y en caso de querer reiniciar, le da a la variable operac un valor diferente de 1,2, 3 y 4 lo que reactiva el bucle repetir hasta que.

image-1664305097276.png

Pasos 3, 4 y 5: Codificación, compilación y verificación del programa Calculadora con PSeInt.

Empezamos por definir las funciones. La suma la haremos directamente dentro del algoritmo principal para ver la diferencia.

image-1654451001598.png

El algoritmo principal quedaría de la siguiente forma:

image-1664305476461.png

image-1664305520242.png

image-1664305565107.png

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:

image-1663263840580.png

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.

image-1663264147617.png

image-1663264137317.png

Saludamos y realizamos la pregunta con los bloques correspondientes de Apariencia y Sensores ya que son Salidas.

image-1663264272988.png

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

image-1663264383423.png

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).

image-1663264617264.png

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.

image-1663264859184.png

Tras una última salida con la despedida, el programa quedaría así.

image-1663264971872.png

Por último vendría el momento de verificación del funcionamiento.

image-1663265372307.gif

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.