Consultas, desarrollo de programas y petición de presupuestos:

jueves, 12 de julio de 2012

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.

No hay comentarios:

Publicar un comentario