Menus y Calculadora (II): En Caso,Procedimientos y Funciones
En Caso
En relación al problema de la minicalculadora podemos tener en cuenta varias cosas:
En ese problema vimos el caso de que fuera suma, resta, multiplicación, y división, pero con la orden En caso, podemos podemos simplificar el pseudocódigo y hacerlo más claro:
En caso var
caso var1
----------
caso val2
----------
caso val3
----------
caso valn
----------
otro caso
----------
Fincaso
Nota:
otro caso: ejecutaria las lineas siguientes si no se ha coincidido ninguno de los anteriores
Entonces el código de la minicalculadora quedaria asi, sustituyendo los si-finsi:
.......
En caso op
caso 1
resul=num1+num2
caso 2
result=num1-num2
caso 3
result=num1*num2
otro caso
resul=num1/num2
fin caso
......
Procedimiento
Es una parte de pseudocódigo, que realiza una tarea concreta.
Se describe antes del <inicio> y se la llama mediante "Hacer"
Por ejemplo de procedimiento:
<escribir_menu>
escribir "1 sumar"
escribir "2 restar"
escribir "3 multiplicar"
escribir "4 dividir"
escribir "0 Terminar"
<fin escribir_menu>
<inicio>
Hacer escribir_menu
en caso op
caso 1
resul=num1+num2
caso 2
resul=num1-num2
caso 3
resul=num1*num2
otro caso
resul=num1/num2
fin caso
<fin>
Función
Procedimiento que además de hacer una tarea concreta devuelve (devolver)un resultado
Los nombres de los procedimientos y funciones tienen que ser unicos
Ejemplo de función:
<escribir menu()>
op=0
escribir "1 sumar"
escribir "2 restar"
escribir "3 multiplicar"
escribir "4 dividir"
escribir "0 Terminar"
op=-1
mientras op<0 o op>4
escribir "Introducir un nº:"
leer op
finmientras
devolver op
<fin escribir menu>
<inicio>
op=1
num1=0
num2=0
resul=0
mientras op!=0
op=escribir menu( )
si op!=0
escribir "Introduce un nº:"
leer num1
escribir "Introduce un nº:"
leer num2
En caso op
caso 1
resul=num1+num2
caso 2
resul=num1-num2
caso 3
resul=num1*num2
otro caso
resul=num1/num2
fin caso
escribir result
finsi
finmientras
<fin>
Nota:
Las variables dentro de procedimientos y dentro de funciones se pueden usar sólo donde se declaren únicamente, y no fuera de ellas.
Las funciones se puedan usar otros programas
Recursivisidad: Llamarse la función a si misma.
Como usar una función
variable=nombre_funcion(lista_de_argumentos)
Esta lista_de_argumentos son valores que necesitan la función para trabajar
Por ejemplo podemos tener una función: <suma(n1,n2)>
¿como usarla?
resul=suma(4,3)
¿como es la funcion suma por dentro?
<suma(n1,n2)>
resul=n1+n2
devolver resul
<fin suma>
Otro ejemplo:
La función pedir, que hace que pida un nº y lo va a leer:
<pedir (texto)>
valor=0
escribe (texto)
leer valor
devolver valor
<fin pedir>
En nuestro proma de minicalculadora lo usariamos asi:
num1=pedir("Introduzca el numero:")
Con esto nos ahorramos siempre mucho código que se repitería.