Skip to main content

Situación de aprendizaje 5. Programando la calculadora básica

Vamos a programar el ejercicio planteado en los diagramas de flujo sobre cómo programar una calculadora básica. Recordamos que solo puede haber las 4 operaciones básicas (+ - * /) y que tenemos que controlar que el segundo número no sea un cero si se ha elegido la división como operación. Tras mostrar el resultado, preguntaremos si quiere seguir jugando.

Como primera solución poco rigurosa, al detectar que el segundo número es un cero o si no introduce una de las 4 operaciones deseadas, simplemente sacará un mensaje de error y a continuación preguntará si quiere seguir jugando. La experiencia de juego debería ser como la siguiente:

Esta primera resolución del problema tendría un código fuente parecido al siguiente:

Situación de aprendizaje 5. Programando la calculadora básica v1 on Scratch.png


Si lo que queremos es asegurarnos que el segundo número no sea un cero en una división y programar la solución para que e la ejecución del programa no continue hasta que se introduzca algo diferente a un cero, habría que cambiar el código por lo siguiente:

Situación de aprendizaje 5. Programando la calculadora básica v2 on Scratch.png

 

Y la experiencia de juego sería así:


Finalmente, para controlar que se introduce una de las 4 operaciones deseadas, tendríamos que introducir un REPEAT UNTIL del mismo estilo que el anterior en el momento de pedir la operación:

Situación de aprendizaje 5. Programando la calculadora básica v3 on Scratch.png

y además tendríamos que modificar la última parte del código donde sacábamos un mensaje para decir que no había introducido una operación correcta. Con esta modificación anterior, realmente cuando llegamos al último SINO ya no hace falta preguntar si es una división porque si ha llegado hasta ahí ya sabemos que era una de las 4 operaciones válidas, y que no era ni suma, ni resta, ni división, y por lo tanto, queda tan simplificado como lo siguiente:

Situación de aprendizaje 5. Programando la calculadora básica v3 on Scratch (1).png


La experiencia de juego del programa quedaría de la siguiente forma: