martes, 28 de abril de 2009

Procedimientos y Funciones

Procedimientos:

Un procedimiento es un sub-programa o rutina al que se le asigna un cierto nombre y que realiza unas determinadas operaciones. La ventaja que tiene utilizar procedimientos es que su código se escribe una sola vez pero pueden ser ejecutados desde tantos puntos del script como se desee.

Un procedimiento puede recibir una serie de parámetros que variarán su funcionamiento. Los parámetros a recibir (de qué tipo es cada uno y para qué se utiliza) se determinan al escribir el procedimiento.

Dentro del código que determina el funcionamiento de un procedimiento se pueden a su vez ejecutar otros procedimientos, incluso sí mismo de forma recursiva.


Funciones:

Una función es un procedimiento que, adicionalmente, devuelve un valor como resultado de su ejecución.

La ventaja de las funciones es que pueden utilizarse en asignaciones, expresiones matemáticas, etc.

Sintaxis:

Declaración y programación (escritura) de un procedimiento:

public int Maximo (int x, int y)

{

int mayor;

if (x==y)

return -1;

else

if (x>y)

return x;

else

return y;

}

En la primera parte de la declaración

public int Maximo (int x, int y)

public, es el nivel de acceso, indica que puede ser accedida desde cualquier scrip, dentro o fuera del archivo donde se declaró.

int, es el valor que retornará la función, en este caso como es un numero el que tiene que retornar, pero no siempre es así, algunas veces, hay funciones que piden de argumento un string y retornan un bool u otro tipo de datos.

Maximo, es el nombre de la función

(int x, int y) son los argumentos de la función, los valores que necesita para operar, en este caso son dos, siempre se separan con una coma y se debe de definir el nombre y el tipo de datos.

Y dentro de esta función utiliza los argumentos que pide y realiza la comparación, lo de adentro es un simple if...

Ojo, que existen tres lineas donde aparece return, pero solo uno se va a poder ejecutar dentro del codigo ya que solo un caso se efectúa, si existieran dos return que se ejecuten en el codigo daria un error, asi como en el caso de tener un solo return y que este nunca se ejecutara.





12 comentarios:

  1. gracias profesor por aver subido estes contenido ya que con la sintaxis es mas facil para recordas como va a ir el programa

    ResponderEliminar
  2. Karla:

    Espero le entiendan y puedan desarrollar mas ejemplos

    Saluditos.

    ResponderEliminar
  3. Hola profe... acabo d ver lo d ajedres y lo de funciones... y vi q ya subio nuevos ejerecicios, (en la entrada de marzo, "Ejercicios C#"). para q los demas no se condfundan... aki esta la direccion:

    http://developershn.blogspot.com/2009/03/ejercicios-de-c.html

    Ey profe... tengo una duda, la cual se la describo en el foro de discucion...

    Saludos!!!

    ResponderEliminar
  4. Leo:
    Y escribo algunas veces jejeje,

    En el foro

    Saludos

    ResponderEliminar
  5. si profe eso que escribio saul en el foro de discucion yo tmbien tengo dudas

    ResponderEliminar
  6. profe entre al "foro de discucion" ahi va a encontrar la duda q tengo!

    ResponderEliminar
  7. hola profe.. ud seguira poniendo mas palabras para investigar o solo esas son??? cual es la tarea que hay que enviarle a su correo...??

    ResponderEliminar
  8. Ivan y Leo : ya contesté la pregunta de Leo

    Paola:
    Voy a agragar algunas otras...

    ResponderEliminar
  9. Hola no entedi, cual es la diferencia entre un Procedimiento y una Funcion?

    gracias

    ResponderEliminar
  10. La diferencia entre un procedimiento y una función es, el procedimiento no retorna nunca ningún valor, por lo que de devolverlo es necesario que sea por la cabecera como un parámetro, es el equivalente a una función void.
    Consecuencia de ello es que un procedimiento nunca puede involucrarse en ninguna expresión , van siempre en una línea de código para ellos solos, las funciones dependiendo del valor que retorne se pueden involucrar en expresiones.

    ResponderEliminar
  11. saludo ... mi pregunta es si yo quiero una fuction que use un for como lo ago ?

    ResponderEliminar