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.