Está en la página 1de 6

Escuela Politecnica Nacional Nombre: Quilachamin Cordova Luis Christian Grupo: GR 4

Como Programar Funciones En Visual Basic


Un ejemplo de construccin de una funcin es Visual Basic es la funcin signo. Esta es una funcin que devuelve un valor segn si un nmero o el resultado de una expresin es mayor, menor o igual que 0. Suele representarse en la forma SGN(nmero). La mayor parte de los lenguajes de programacin aplican esta funcin. No obstante, si no la aplican, es fcil construirla uno mismo, ms abajo se presentan tres mtodos. Implementaciones de la funcin Cuando un lenguaje no posee dicha funcin puede proveerse fcilmente con alguno de los mtodos que se muestra a continuacin en pseudocdigo. Se presentan tres mtodos para implementar la funcin. Dado que en computacin es importante la velocidad, se hace referencia a las mismas. El mtodo basado en lgica y aritmtica tarda lo mismo para cualquiera de los valores de un nmero. El mtodo basado en comparaciones tarda distinto, segn sea el valor positivo, negativo o cero y, por consiguiente, segn el orden en que se realicen las comprobaciones para dichos casos. Es ligeramente ms rpido que el anterior. Finalmente, para el mtodo del valor absoluto, el tiempo tambin es diferente segn sea 0 o distinto de 0 (no discrimina si es positivo o negativo). En cualquier caso, este mtodo es ms lento que los anteriores, debido a la operacn de divisin, que es ms costosa. Uso de la lgica y la aritmtica (caso 1 En lenguajes donde TRUE = -1 y FALSE = 0 En lenguajes de programacin se aprovecha la mitad alta de la gama de datos para expresar nmeros negativos cuando el tipo elegido de datos admite esa posibilidad. Funcion Signo(N) Devolver (N < 0) - (N > 0) Fin Funcion Examinado el cdigo, se observa que las expresiones de comparacin devuelven TRUE= -1 o FALSE=0 Caso N Mayor que 0: si un nmero es mayor que 0, luego ste resultado = -1, y por lo tanto no puede ser cierta la expresin (n < 0), entonces al restar, se resta 1. Se verifica que: 0-(-1) = 1 Caso N igual a 0: Si N vale 0, ambas expresiones son falsas, dan por resultado 0, luego su resta tambin dar 0. Se verifica que: 0-0 = 0 Caso N menor que 0: Si n<0, entonces esta expresin = TRUE = -1; por tanto, la

otra expresin no puede ser cierta, entonces se le resta 0, que es el resultado de la expresin final (n < 0). Se verifica que: -1-0 = -1 Usando lgica y aritmtica (caso 2) En lenguajes donde TRUE = 1 y FALSE = 0 En lenguaje natural (y clculo mental), nos resulta ms evidente as: Funcion Signo(N) Devolver (N > 0) - (N < 0) Fin Funcion Examinado el cdigo, se observa que las expresiones de comparacin devuelve TRUE = 1 o bien FALSE = 0 Caso N mayor que 0: si un nmero es mayor que 0, luego el resultado de esta expresin = 1, y por lo tanto no puede ser cierta la expresin n < 0; entonces, al restar se resta 0. Se verifica que: 1-0 = 1 Caso N igual a 0: Si N vale 0, ambas expresiones dan por su lado un resultado de 0, luego su resta tambin dar 0. Se verifica que: 0-0 = 0 Caso N menor que 0: Si n < 0, entonces devuelve TRUE = 1, y la expresin n > 0 da 0; por tanto, se le resta 1 resultado de la expresin final (n < 0). Se verifica que 0-1 = -1 Usando comparaciones Se puede conseguir mayor velocidad de clculo al preguntar por el signo de una gran cantidad de nmeros, si se sabe a priori si existe una mayor cantidad de nmeros con valores positivos, negativos o iguales a 0, modificando la funcin de modo que se compruebe en primer lugar la posibilidad ms frecuente. En este pseudocdigo, por tanto, se da prioridad a valores positivos, luego negativos y por ltimo a nmeros cuyo valor es 0. Funcion Signo(N) Si N > 0 luego devolver 1 En otro caso Si N < 0 luego devolver -1 En otro caso devolver 0 Fin condicin Fin condicin Fin Funcion Usando el valor absoluto Esta funcin es la ms lenta de todas las aqu mostradas. Sin embargo, si se sabe a priori que el valor de los nmeros a evaluar son mayoritariamente 0 o bien distintos de 0, es posible modificar la funcin para que, al evaluar la comprobacin, realice en primer lugar el caso ms frecuente. Funcion Signo(N) Si N <> 0 luego devolver N \ ABS(N) - se hace una divisin entera, que es ms rpida

En otro caso devolver 0 Fin condicin Fin Funcion Ejemplos Obtener el signo de una variable. En el ejemplo ponemos directamente el valor, puede asumirse que la variable en un momento dado contiene tal valor. Signo de un nmero positivo: SGN(25) = 1 Signo de un nmero negativo: SGN(-23) = -1 Signo de 0: SGN(0) = 0 Obtener el signo de una variable, para condicionar un bucle: Si necesitamos realizar un ciclo de operaciones desde un punto inicial hasta un punto final, necesitamos saber si el punto final es mayor o menor que el inicial para determinar si la cuenta de ciclos es creciente, decreciente o nulo. En pseudocdigo: Direccion = SGN(Inicio - Final) Decidir que hacer cuando Direccion = 0 - Un bucle con un incremento de 0 es un bucle infinito Iniciar ciclo para todo elemento en la lista comenzando en Inicio hasta Final con incremento de Direccion hacer las operaciones deseadas al elemento apuntado Fin ciclo Programacin en cdigo VB Ntese cmo el bucle iniciara en 586 e ira hacia atrs hasta llegar a 236. La funcin signo interviene para determinar cmo es el incremento: si creciente, decreciente o nulo. Si se presenta este ltimo caso, debe decidirse entonces la accin a tomar, tal como se detalla en el siguiente prrafo. Si inicio y final tuvieran el mismo valor, el incremento de cada ciclo sera 0. Esto provocara un ciclo infinito que se remedia con la condicin previa al bucle, y se permitira ejecutar 1 vez el bucle. Si cuando son iguales se desea omitir la ejecucin, se debe condicionar a usar el bucle slo si la Direccin es distinta de 0. Ambas situaciones quedan reflejadas en el cdigo DIM direccion AS INTEGER, Inicio AS LONG, Final AS LONG, K AS LONG Inicio = 586 Final = 234 Direccion = SGN(Inicio - Final) - Si direccin = 0, lo condicionamos para que el bucle se ejecute 1 vez. IF Direccion = 0 THEN Direccion = 1 - ste es un ejemplo de condicionado de variables. FOR K = Inicio TO Final STEP Direccion - ste es un ejemplo que determina si la cuenta de los ciclos es creciente o decreciente. - las operaciones que se necesite realizar

NEXT - Si direccin = 0, lo condicionamos para que el bucle no se ejecute ninguna vez. IF Direccion <> 0 THEN - ste es un ejemplo de control del flujo. For K = Inicio TO Final STEP Direccion - ste es un ejemplo que determina si la cuenta de los ciclos es creciente o decreciente. - las operaciones que se necesite realizar Next END IF

Como programar en Subrutinas en Visual Basic

Subrutina

Diagrama del funcionamiento de una subrutina.

En computacin, una subrutina o subprograma (tambin llamada procedimiento, funcin o rutina), como idea general, se presenta como un subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea especfica. Algunos lenguajes de programacin, como Visual Basic .NET o Fortran, utilizan el nombre funcin para referirse a subrutinas que devuelven un valor.
ndice [ocultar] 1 Concepto de Subrutina 2 Elementos de la declaracin de una subrutina 3 Ejemplos 4 Vase tambin

Concepto de Subrutina

Se le llama subrutina a un segmento de codigo separado del bloque principal y que puede ser invocado en cualquier momento desde este o desde otra subrutina. Una subrutina al ser llamada dentro de un programa hace que el cdigo principal se detenga y se dirija a ejecutar el cdigo de la subrutina, en cambio cuando se llama a una macro, el compilador toma el cdigo de la macro y lo implanta donde fue llamado, aumentando as el cdigo fuente y por consiguiente el objeto.

Elementos de la declaracin de una subrutina

Las declaraciones de subrutinas generalmente son especificadas por: Un nombre nico en el mbito: nombre de la funcin con el que se identifica y se distingue de otras. No podr haber otra funcin ni procedimiento con ese nombre (salvo sobrecarga o polimorfismo en programacin orientada a objetos). Un tipo de dato de retorno: tipo de dato del valor que la subrutina devolver al terminar su ejecucin. Una lista de parmetros: especificacin del conjunto de argumentos (pueden ser cero, uno o ms) que la funcin debe recibir para realizar su tarea. El cdigo u rdenes de procesamiento: conjunto de rdenes y sentencias que debe ejecutar la subrutina.

Ejemplos
PROGRAMA principal instruccin 1 instruccin 2 ... instruccin N ... SUBRUTINA NombreX ....... FIN SUBRUTINA ... FIN PROGRAMA principal. La siguiente funcin en C es la analoga al clculo del promedio matemtico. La funcin "Promedio" devuelve un valor decimal correspondiente a la suma de 2 valores enteros de entrada (A y B): float Promedio(int A, int B){

float r; r=(A+B)/2.0; return r; }

También podría gustarte