Posted on 10-06-2008
Filed Under (Desarrollo, VB.NET, Varios) by Programlocura

Hace tiempo que no posteo nada interesante asi que vuelvo con este mini tutorial sobre los Procedimientos y Funciones en Visual .NET. Ya saben, cualquier correción pueden dejarla en los comentarios.

Recuerden siempre que pueden usar el codigo para el limpiado de pantalla que vimos en este Post

Procedimientos
Llamaremos procedimientos a una serie de pasos (identificados con un nombre) a realizar de forma "general", y que no devuelve ningun tipo de valor.

Funciones
Llamaremos funciones a una serie de pasos (identificados con un nombre) a realizar de forma "general" (generica) y que devuelve un valor.

Si bien esta definición no es exacta y carece de tecnisismo podemos identificar claramente la diferencia entre el procedimiento y la función. Ustedes dirán: "Pero... Podemos hacer que el procedimiento devuelva un valor?". La respuesta es "NO", VB no permite que los procedimientos devuelvan valores, si lo permite con las funciones.

Como identificar los unos de los otros
Procedimiento:

Visual Basic:
  1. Sub Procedimiento(ByVal parametros)
  2.         'Instrucciones del Procedimiento
  3.     End Sub

Función:

Visual Basic:
  1. Function Funcion(ByVal parametros)
  2.         'Instrucciones de la función
  3.         Return True
  4.     End Function

Como ven no son nada dificiles, la sintaxis es practicamente la misma, pero ahora veremos para que sirven cada una de ellas (Un detalle, las funciones tanto como los parametros pueden carecer de parametros, no son obligatorios).

Utilización
Sin ir más lejos en el Curso estamos realizando una "Batalla Naval" (Juego en el cual 2 jugadores colocan barcos en un tablero y tratan de hundirselos mutuamente) y se esta realizando bastante lento, pero es bueno saber de ante mano como hacer que las tareas se faciliten, por ejemplo, podriamos buscar la posicion de un barco en una matriz con una función:

Visual Basic:
  1. Function buscaBarco(ByVal tablero)
  2.         Dim i, j As Integer
  3.         For i = 0 To FILAS
  4.             For j = 0 To COLUMNAS
  5.                 If (tablero(i, j) = 1) Then
  6.                     Return True
  7.                 Else
  8.                     Return False
  9.                 End If
  10.             Next
  11.         Next
  12.     End Function

Veamos que hace la función.
Primero le asignamos un nombre, en este "buscaBarco" y le pasamos como parametro el Tablero en el que lo buscaremos (Tablero será una matriz obviamente). Recorriendo el tablero desde la posición 0 hasta la cantidad de FILAS y de COLUMNAS que haya, entonces, si en esa posición hay un 1 (Previamente la matriz se llena de 0's y colocamos un 1 donde quieramos que esté un barco) devuelve TRUE y sino, devuelve FALSE. Y eso es lo que lo hace una función, devuelve TRUE si hay coincidencia y FALSE si no la hay, es especialmente util para este tipo de cosas.

En cambio un procedimiento sirve para algo que sabemos que no devolverá ningun valor, por ejemplo para rellenar los barcos de un jugador (El codigo a continuación esta resumido y en forma de SEUDO CODIGO)

Visual Basic:
  1. Sub rellenaBarcos (ByVal Jugador)
  2. ' Lo colocaré como SEUDO CODIGO
  3. ' PEDIMOS UNA POSICION PARA EL BARCO 1
  4. ' Verificamos que esta sea correcta
  5. ' Insertamos un 1 en la posición indicada por el usuario si es correcta y si ya no esta ocupada
  6. End Sub

Como ven lo unico que hace es rellenar los barcos, por eso no necesitamos que devuelva ningun tipo de valor, de esta forma podemos evitarnos estar pensando todo para los 2 jugadores... De esta forma pasamos la variable como Jugador = 1 o Jugador = 2 y de esa forma se podria rellenar el Tablero 1 y el 2.

    Read More   
Post a Comment
Name:
Email:
Website:
Comments: