Curso básico de programación: Lección #6 Funciones.
Portada diseñada en Canva
1- Cuéntanos sobre tu experiencia con la programación, ¿Fue tu primera vez? ¿Te resulto complicado?(2 puntos)
La verdad es que no tengo ningún tipo de experiencia en cuanto a la programación, pero si tenia una noción muy básica acerca de este tema, ya que en el bachilletato curse la materia de informática y por eso estaba un poco familiarizada con muchos de los conceptos que utilizamos a lo largo de este curso y en esa ocasión nos enseñaron acerca de programación y la verdad es que en su momento tenia mucha facilidad para entender la estructura básica del código de un programa.
Es por ellos que durante estas cinco semanas me fui interesando en refrescar mis conocimientos y participar de este curso ya que entendía con bastante facilidad y debo reconocer que cada lección fue estructurada con un lenguaje muy sencillo, y estoy segura que hasta personas que nunca hayan tenido ningún tipo de experiencia en este tema de la programación, podrían resolver los ejercicios y preguntas que se planteaban. Así que sinceramente, le expreso mi admiración y felicitación a @alejos7ven por dedicarse y crear este curso que nos aporta mucho conocimiento y aunque parece un tema muy complejo, la verdad es que ha fluido de una muy buena forma y me ha encantado participar semana tras semana y espero que se mantenga para la próxima semana, ya que aun hay muchas cosas que podemos aprender.
¿Cual fue tu parte favorita del curso?
Sinceramente, disfrute de todas las clases y me mantenía a la expectativas de cual serie el próximo tema a desarrollar, sin embargo, en estas dos ultimas semana he tenido que poner a prueba un poco mas mi lógica porque los ejercicios se iban volviendo mas complejos y el hecho de tener que combinar varias estructuras de control en un mismo programa se volvía un reto y duraba incluso horas tratando de lograr que el programa funcionara de forma correcta y eso me gusta, ya que me hace pensar y buscar la forma de ir resolviendo los errores hasta lograr el objetivo.
2- Agrega a la calculadora del curso las funciones para multiplicar y dividir. Explica como lo hiciste. (3 puntos)
El primer paso que realice, fue crear las as funciones con valor de retorno, para la operación de multiplicación y división, las cuales son muy parecidas a la de suma y resta.
Así que la función de multiplicación queda de la siguiente manera:
Funcion result = multiplicacion (n1, n2)
Definir result Como Real
result = n1 * n2
FinFuncion
En esta función se utiliza la variable result de tipo real para almacenar el resultado de la multiplicación. Por lo que la result tendrá el valor de la multiplicación de n1 y n2.
Ahora bien, la función de división, tiene una particularidad y es que para que sea una división posible, el dividendo tiene que ser diferente de 0, por lo que es un detalle que debemos tener en cuenta, asi que al crear la función, debemos utilizar la estructura de control condicional para contemplar dos condiciones o posibilidades.
Funcion result = division (n1, n2)
Definir result Como Real
si n2 == 0 Entonces
Imprimir "Error: no se permite la división por cero."
SiNo
result = n1 / n2
showResult(result)
FinSi
FinFuncion
Así que estableceremos que si n2 que en este caso es el numero que representa el dividendo es igual a 0, se imprimirá el mensaje en el que se anuncia el error, ya que no se puede realizar una división entre dos, terminando esta estructura, pero sino sucede eso, entonces la variable result almacenara el resultado de la división entre n1 y n2 y continuara llamando la función showResult(result), es decir, que se mostrara el resultado de la división en pantalla.
Ahora bien, les muestro la estructura completa del programa que brinda las opciones de calculadora.
Iniciamos creando las funciones fuera de nuestro algoritmo, así que la primera función sera la de las opciones del menú, en la cual se le indica al usuario las operaciones que puede realizar este programa, en este caso serian: suma, resta, multiplicación. división y la opción para finalizar el programa.
Continuamos con la creación de la Funcion n = askNum(n) para solicitar los números para realizar las diferentes operaciones. En esta, se imprime un mensaje solicitando al usuario que introduzca un número y se lee dicho valor el cual se almacena en la variable n.
También creamos la Funcion showResult(r) que nos permite tomar el valor del resultado de la operación que haya elegido el usuario, este valor esta almacenado en la variable r y lo muestra en pantalla.
También es necesaria crear la Funcion reset, con la cual se le indica al usuario que debe presionar presionar cualquier tecla para continuar y que se limpie la Pantalla, retornando al Menú principal.
Ahora si, creamos la función de suma y resta, en las cuales establecemos que los dos números introducidos por el usuario sean sumados o restados, según corresponda la opción que haya seleccionado el usuario y se retorne el resultado.
Finalmente creamos las funciones correspondientes para multiplicar y dividir que describí en el inicio.
Ahora si podemos iniciar nuestro algoritmo, al cual le asigne el nombre **Calculadora.
Se declaran las dos variables n1 y n2 que son de tipo real, opt de tipo entero y exit que es de tipo lógico.
A la variable exit se le asignara el valor falso.
Iniciamos una estructura de control de repetición, en este caso repetir y llamaremos la opt = showMenu(); para que el usuario visualice el menú de opciones.
Así se mostrara el menú de opciones a los usuarios.
Dentro de esta estructura repetitiva, vamos a hacer uso también de la estructura Según, la cual nos permite establecer un conjunto de instrucciones para cada caso.
Así que el caso 0, permite evaluar el valor de la variable opt, si el usuario introduce un 0, se procederá a limpiar la pantalla y a mostrar un mensaje de despedida, y al asignarle el valor verdadero a la variable exit, se cerraría la repetición del ciclo y finalizaría el programa.
Como podemos observar, si introducimos el valor 0.
Se procede a mostrar el mensaje: Bye y finaliza el programa.
Ahora bien, si el valor introducido por el usuario es 1, estableceremos el Caso 1, esta opción le ofrece a los usuarios realizar la suma de 2 números, estos valores serán almacenados en la variable n1 y n2, los cuales serán obtenidos a través de la función askNum(n). El resultado de la operación sera almacenado en la variable result y luego se llama la función showResult(result) para mostrar el resultado y seguidamente la función reset(); para que el usuario pueda volver al menú principal al presionar cualquier tecla.
Vemos que al introducir la opción 1, se nos solicita introducir dos numero y luego se muestra el resultado de la suma y un mensaje que indica que al presionar cualquier tecla se puede volver al menú de opciones.
El caso 2, corresponde a la opción que ofrece la operación de resta y funciona de forma similar al caso 1, solo que en este caso, los números se restan.
Al ejecutar el programa y seleccionar la opción 2, podemos visualizar el resultado de la resta de dos números.
Ahora bien, el caso 3 permite realizar la operación de multiplicación, al igual que en los casos anteriores, se llama la result = multiplicacion (n1, n2) para realizar la multiplicación de los dos números introducidos por el usuario.
como podemos observar, al seleccionar la opción 3, podemos visualizar el resultado de la multiplicación de los dos números.
En el caso de elegir la opción 4, se establecer el caso 4 en el cual se leen los dos numero y se llama la función result = división (n1, n2) para que se realice la división de los dos números.
Al ejecutar el programa y seleccionar la opción 4, podemos introducir dos números, pero si el segundo numero es 0, entonces se muestra el mensaje de error, indicando que no se permite la división por 0.
Pero si el segundo numero es diferente de 0, entonces se podrá visualizar el resultado de la división de ambos números.
Si la variable opt no tiene ninguno de los valores contemplados en los 5 casos, entonces se procede a mostrar el mensaje **"Opción Invalida."; ** y procedemos a cerrar la estructura según, la estructura de repetición y cerramos el algoritmo.
3- PROYECTO FINAL: Crea un simulador de cajero automático. El mismo debe solicitar inicialmente un pin de acceso al usuario, este pin es 12345678. Una vez el pin sea validado exitosamente debe mostrar un menú que permita: 1. ver saldo, 2. depositar dinero, 3. retirar dinero, 4. salir. El cajero no debe dejar retirar más saldo del que posee. Utiliza todas las estructuras que aprendiste, y funciones. (5 puntos)
Definitivamente son muchas las maneras en las que podemos estructurar nuestro programa. en esta oportunidad, para cumplir con estas indicaciones, lo primero que hice fue crear la función menú en la cual se muestran las opciones disponible para que el usuario elija.
También, cree la función reset, que permite limpiar la pantalla e indicarle al usuario que presione cualquier tecla para volver al menú principal.
Continué iniciando mi algoritmo al cual le coloque el nombre: Cajero_Automatico.
Declare las variable que iba a utilizar que en este caso son: clave, pin, opt, deposito, retiro, saldo las cuales son de tipo Entero y exit que es de tipo logico.
Inicie la variable Saldo con un valor de 8000 y a Clave le asigne el valor: 12345678, esta variable sera utilizada para validad el acceso del usuario a las operaciones del cajero automatico.
Luego hice uso de una estructura de control repetitiva para realizar la validación de la contraseña. en esta se le indica al usuario que debe introducir su contraseña y si esta no coincide con la contraseña registrada, mostrara un mensaje de error, para que el usuario vuelva a introducir la contraseña correcta. Este ciclo se repetirá, hasta que la clave introducida coincida con el valor de la clave registrada.
Como podemos ver, se nos solicita la contraseña, y si esta es incorrecta muestra un mensaje indicando que se debe intentar nuevamente, para ello debemos presionar cualquier tecla para iniciar nuevamente.
Luego de validar la contraseña, iniciamos una nuestra repetición para contemplar las diferentes opciones que se ofrece en el menú. Es por ello que inicialmente llamamos a la función menú para mostrarle al usuario las opciones disponibles.
Abrimos también la estructura Según, para contemplar las diferentes opciones disponibles. Así que creamos el Caso 1, en el cual se le muestra el saldo disponible que posee el cliente.
Si introducimos la contraseña correcta, se nos muestra el menú de opciones y si introducimos el numero 1, el cal corresponde a mostrar el saldo, inmediatamente se vera reflejado nuestro saldo en pantalla.
En el caso 2, se permite realizar el deposito de dinero, por lo que se le solicita al usuario que introduzca el monto que desea depositar, el cual se sumara al saldo disponible que tenia en el momento. Se mostrara un mensaje notificando que se ha realizado con éxito esta acción y se mostrara el nuevo saldo disponible, luego del deposito.
Al introducir el numero dos, se nos solicita introducir el monto a depositar y se muestra el mensaje notificando que se realizo de manera éxito y se refleja el nuevo saldo disponible.
Si el usuario introduce el numero 3, el cual corresponde a la opción de retiro de dinero, debemos utilizar una estructura condicional, ya que se puede presentar el caso de que quiera retirar un monto mayor al disponible, por lo que se establece la condición en la cual si el monto introducido por el usuario es menor o igual al disponible se procede a realizar el retiro, pero si esto no se cumple, entonces se le mostrar un mensaje notificando que el monto es insuficiente y se muestra en pantalla el saldo que tiene disponible el usuario.
Sabemos que el monto disponible es de 8000, pero si al seleccionar la tercera opción introducimos un monto a retirar de 8100, se nos muestra el mensaje Saldo Insuficiente y nos muestra cuanto tenemos disponible.
El caso 4, corresponde a la salida del programa, por lo que si el usuario introduce el numero 4, se limpiara la pantalla y se mostrara un mensaje de despedida. También se le asignara el valor verdadero a la variable exit que es la que le da el fin a la repeticion.
Vemos que al introducir el 4 cuatro, estaremos ejecutando la salida del programa.
Se limpia la pantalla automáticamente y se nos muestra el mensaje de despedida.
También dentro de la estructura según, tenemos la forma de considerar otras opciones, por lo que si no se realiza ninguno de los casos anteriores, entonces se mostrara un mensaje notificando al usuario que se ha introducido una opción invalida y se limpiara la pantalla nuevamente, ofreciendo la posibilidad de volver al menú y seleccionar una opción valida.
Ademas, se cierra la estructura según y se coloca la condición para finalizar la repetición, en este caso es hasta que exit tenga valor verdadero.
Vemos que al introducir una opción invalida se nos muestra el mensaje para volver al menú principal.
Upvoted. Thank You for sending some of your rewards to @null. It will make Steem stronger.
Gracias amiga @ahumadaliliana29 por la invitación, realmente desconozco mucho de programación, estoy un poco adaptado pero a lo antiguo. Le deseo éxitos en el concurso.