Bueno y tocó el turno de hablar de rutinas y funciones.
Para eso lo que he hecho es abrir el Visual Studio donde generalmente se programa ensillar en Visual
Basic punto net para mostrarles el código y para mostrarles la teoría de cómo esto funciona.
Ya no vamos a trabajar más con block clip vamos a ir viendo ejemplos ya reales.
He hecho un pequeño programita una pequeña ventana para probar rutinas y probar funciones.
Vamos a ver cuál es el primero la diferencia.
Ambos son un conjunto de instrucciones separados por un párrafo por un nombre al cual le vamos a asignar
nosotros de acuerdo a lo que haga esa rutina o lo que haga esa función.
Pero la gran diferencia entre ambos es que las funciones devuelven valores a donde son llamados y las
rutinas no ejecutan lo que nosotros coloquemos dentro pero no devuelven ningún valor.
Vamos a ver un ejemplo aquí nosotros tenemos una función voy a explicarles esto no se preocupen y aquí
lo que tenemos es una rutina.
Fíjense cuál es la diferencia.
Nosotros tenemos primero.
Esto es propio de los lenguajes de algunos lenguajes donde declaramos que lo que estamos declarando
es privado no va a ser visible desde otro punto del desarrollo.
Luego indicamos que el nombre es si es una subrutina que es otra de las maneras en las que se le mencionan
a las rutinas.
Los sinónimos son subrutina método todo tiene que ver con rutina.
Cuando ustedes escuchen la palabra método vamos a estar hablando de una rutina cuando ustedes vean el
prefijo sub significa subrutina y a mi rutina la he llamado rutina aquí podría ponerle.
Mi rutina es lo mismo es un nombre nombre declarativo que lo van a colocar ustedes y dentro van a ir
una serie de instrucciones.
En este caso la única instrucción que he colocado yo es para mostrar por pantalla un mensaje mesas Box
sirve para mostrar por pantalla en modo de una ventana un mensaje es lo único que va a ser mi rutina.
Luego aquí tenemos la declaración del botón del botón que tengo aquí.
Este es un botón esto que vemos aquí es un botón y la declaración que hace para el evento clic o sea
cuando el usuario haga clic en ese botón con el mouse va a ejecutar que un llamado a rutina ese botón
es el botón que me va a llamar a la rutina.
Muy bien hay un segundo botón llamado botón función que es este botón que es lo que va a hacer es ejecutar
el llamado a una función fíjense que en ésta que es la función ahora me va a permitir jugar con el valor
que la función me devuelve.
Por qué.
Porque la función se llama el número par y va a recibir un parámetro todo lo que está entre paréntesis
son parámetros.
Si tuviera más de un parámetro lo separaría por comas y colocaría una lista de parámetros el parámetro
es un valor que recibe la función y a su vez la función me va a devolver un dato un valor ese valor
me lo va a devolver en un tipo de dato llamado booleano.
Este dato Juliano lo único que admite es un Tru o Fours un verdadero o falso lo que estoy haciendo con
esta función es recibir un número hago una cuenta matemática para detectar si el número es verdadero
si el CI es un número par y devuelve fold si el número que recibió no es un número par.
Este es un algoritmo muy usado para saber si los números son pares a la parte entera de número dividido
2 el número que recibo lo comparo si es lo mismo que número dividido 2.
Al ser par la parte entera va a ser igual a esta división.
En cambio si recibiera por ejemplo un 3 la parte entera de números 2 me va a dar 1 porque va a haber
una parte decimal porque la cuenta me va a dar 1,5 la parte entera me va a dar 1 que no va a ser lo
mismo que 1,5.
Por eso aquí me va a devolver un fouls si lo que detecta es un número impar pero a lo que nos preocupa
ahora es cómo funcionan las funciones y cómo funcionan las subrutinas muy bien Fíjense que aquí no hay
ninguna instrucción retar en Visual Basic las instrucciones retan son las usadas para devolver un valor
de funciones.
Entonces yo entro en mi función hago los cálculos que tenga que hacer o los chequeos que tenga que hacer
y voy a devolver.
En este caso entro o voy a devolver un Fours si aquí en lugar de bullían hubiera un integrar.
O sea que voy a devolver un valor entero.
Aquí ya no me sirve devolver un from Monfort tendría que devolver un número entero.
También puedo devolver una string y demás pero no estamos aquí para hablar de tipos de datos en funciones
sino que estamos para probar cómo funcionan estas funciones funcionan muy bien.
Vamos a ejecutar el programita para que ustedes lo vean digamos en tiempo real.
Si yo hago clic en probar rutinas recuerden que probar rutinas lo único que tenía era un mensaje en
pantalla.
Hago clic y aparece el mensaje que dice Hola soy una rutina muy bien ahora funciona lo que va a hacer
es tomar este dato.
Este campo este campo de texto numérico se llama txt número y le estoy enviando a la función a la función
el txt número el parámetro valor digamos la propiedad el valor que tiene Bayou se llama en inglés la
propiedad valio que tiene ese control txt número y eso es lo que va a recibir.
Nuestra función es número par.
Como va a recibir este número que es el número 2 en este caso va cerró la cuenta y va a devolver un
Tru.
Ahora qué hace.
La rutina que llama a la función la rutina que llama la función lo que está haciendo es evaluar cuál
es el valor que devolvió la función.
Esto es lo potente de las funciones.
Entonces primero en la misma línea se unum un llamado a la función y en la misma línea evalúa cuál es
el valor que retornó a la función entonces pregunta si es número par.
Dónde envío un valor es igual a cero.
O sea que me devolvió la función.
Voy a mostrar este mensaje de que el número es un número par.
Ahora si se va por él.
Recuerden los bloques de decisión que vimos en Brooklyn.
Si se va por él significa que no es un número par y me va a mostrar el otro mensaje.
Vamos a probarlo vamos a enviar me dice que dos es un número par y si yo aquí coloco tres me va a decir
que tres no es un número par.
Esto es lo que ustedes tienen que entender de funciones.
Cuáles son las diferencias con una subrutina.
La rutina no me devuelve valores y las funciones fueron creadas para procesar cosas o parámetros que
yo les envié.
Inclusive puede haber funciones que no tengan parámetros sino que tomen datos de otro lado quizás una
función se conecte a la base de datos y busque información y me va a devolver un valor.
O sea que no es necesario que una función reciba un un parámetro.
Esto podría no tener parámetros y podemos probarlo.
Podemos hacer que aquí txt número 1 Roballo lo reemplace lo reemplazamos directamente para que no tengamos
que enviar este número como parámetro no es lo aconsejable.
Las buenas prácticas dicen que hay que tratar de abstraer el funcionamiento de las funciones y los métodos
y hay que hacerlos lo más abstractos posibles porque qué sucede aquí.
Esta función solo me va a servir para esta parte del programa porque si yo quiero usar esta función
en otro programa donde no tenga ese control llamado txt número aquí me daría un error.
Entonces lo ideal es recibir un parámetro numérico que va a venir de cualquier control o inclusive de
una base de datos procesar ese parámetro numérico y devolver un valor.
Pero para que ustedes vean que esto funciona lo que voy a hacer aquí es quitar el parámetro y lo vamos
a ejecutar nuevamente.
Vamos a probar función dos el número par y si yo coloco tres tres no es número par fíjense que ahora
yo ya no he enviado ningún parámetro a la función.
Y sin embargo ha funcionado devolviendo un valor por Tru o por fours.
Espero que hayan entendido esta diferencia entre funciones y métodos y vamos a ir al próximo capítulo
a seguir aprendiendo a programar básico a los conocimientos básicos para luego entender cualquier lenguaje
de programación.
Nos vemos en el próximo capítulo.