Algoritmos Trabajo Unidad 6
Algoritmos Trabajo Unidad 6
Algoritmos Trabajo Unidad 6
Tema unidad 6:
Funciones
Catedrático:
Elaboro:
fecha:
24/ENE./19
Vo.Bo.
Temario:
6 FUNCIONES.
6.1 Introducción.
Sub-algoritmo.
Se le llama así a cada una de las partes de un algoritmo más general que
resuelve cada una de las tareas particulares necesarias para que dicho
algoritmo general alcance el objetivo para el que fue diseñado, es decir
resolver un problema.
Las variables locales: se declaran dentro de un módulo o Subalgoritmo
y sólo tienen utilidad dentro de ese módulo, no se podrá acceder a ellas
desde otros módulos. Pueden existir variables locales con el mismo
nombre siempre que estén en módulos diferentes.
Las variables globales: son declaradas de forma que puedan ser
utilizadas (consultada y/o modificada) desde cualquiera de los módulos
que forman el programa. En este caso, no puede haber dos variables
globales con el mismo nombre, ya que esto produciría una ambigüedad
que el compilador no podría resolver.
Función.
También conocido como una subrutina o subprograma, como idea
general, se presenta como un Subalgoritmo que forma parte del
algoritmo principal, el cual permite resolver una tarea específica.
Algunos lenguajes de programación, como Visual Basic .NET o Fortran,
utilizan el nombre función para referirse a subrutinas que devuelven un
valor.
Una subrutina al ser llamada dentro de un programa hace que el código
principal se detenga y se dirija a ejecutar el código de la subrutina, en
cambio cuando se llama a una macro, el compilador toma el código de la
macro y lo implanta donde fue llamado, aumentando así el código fuente
y por consiguiente el objeto.
Una función puede llamarse múltiples veces e incluso llamarse a sí misma
(función recurrente).
End Function
'Convertimos
cadena = LCase(cadena)
ciudad = LTrim(ciudad)
Si en un TextBox quisieramos borrar todos los espacios vacíos de la
parte derecha de la cadena:
MiText = RTrim(MiText)
Función Len
La función Len nos permite conocer la cantidad de caracteres que tiene
una determinada cadena. O sea que esta función nos devuelve un número.
Ejemplo:
TamanoCadena = Len(MiCadena)
El valor de la variable TamanoCadena pasaría a valer 18.
Hay que tener en cuenta que la función Len también toma en cuenta los
espacios vacíos.
Función Asc y Chr
La función Asc nos permite obtener el código ASCII de un de terminado
caracter.
Ejempos:
Si queremos obtener el código ASCII del caracter "a", que es el número
97 podríamos hacer lo siguiente:
num = Asc("a")
En definitiva, la función Asc lleva un solo parámetro de tipo String del
cual queremos obtener dicho número.
La Función Chr actúa a la inversa de la función Asc, esto quiere decir,
que a partir de un determinado número nos devolverá el caracter ASCII.
Obviamente que en vez de pasarle a la función un parámetro String es
decir la letra, debemos pasarle un número ASCII y nos devolverá el
carácter asociado.
Ejemplo:
letra = Chr(97)
Función InsTr
La función InStr se utiliza para buscar una cadena o parte de una cadena
dentro de otra cadena.
Si la función encuentra la cadena a buscar devuelve un número que
representa la posición donde encontró la cadena, si no la encuentra
devuelve un 0.
Los parámetros que lleva esta función son:
Option Explicit
Private m_Pos As Integer
Sub buscar_cadena(ByVal Posicion As Integer)
Dim p As Integer, Frase As String
Frase = txt_Buscar
p = InStr(Posicion, Text1, Frase)
If p > 0 Then
m_Pos = p
With Text1
.SelStart = m_Pos - 1
.SelLength = Len(Frase)
.SetFocus
End With
Else
MsgBox "No se encontró la frase", vbInformation
Text1.SetFocus
End If
End Sub
Private Sub Command1_Click()
'Busca a pratir de la primera pocición
Call buscar_cadena(1)
End Sub
Private Sub Command2_Click()
'Busca a partir del valor que tenga m_Pos
Call buscar_cadena(m_Pos + 1)
End Sub
Private Sub Form_Load()
Command1.Caption = "Buscar"
Command2.Caption = "Buscar siguiente"
Me.Caption = "Ejemplo de InStr "
End Sub
Nota: también hay una función similar a Instr llamada InstrRev , y lo que
hace es devolver la posición de la primera concurrencia de una cadena
dentro de otra cadena, pero comenzando por el extremo derecho de la
misma.
Función Left, Right y Mid
Función Right:
Es igual que la función Left pero comienza a extraer caracteres desde el
lado derecho de la cadena.
La función Mid:
Tiene la misma función que las anteriores pero posee tres parámetros. Su
sintaxis es:
Mid (cadena, inicio, longitud)
El parámetro cadena es la cadena a extraer caracteres. El parámetro
Inicio es donde comenzar y el parámetro longitud, es la cantidad de
caracteres a extraer de la cadena de caracteres
Ejemplos:
Este Otro ejemplo usa la función Mid para realizar un simple efecto tipo
máquina de escribir.
Colocar en un formulario un CommandButton y el siguiente código
fuente en el form.
Option Explicit
End Sub
Private Sub MostrarTexto(Frase As String, _
Segundos As Double, _
Destino As Object)
LenFrase = Len(Frase)
cadena = "123456"
cadena = Val(cadena)
cadena2 = 123456
cadena2 = Str(cadena2)
Función Round
La función Round se utiliza para redondear un número decimal,
devolviendo un número entero.
Ejemplo:
Visual Basic posee varias funciones para darle formato a distintos tipos
de datos e información. A continuación se ve algunos ejemplos de las
principales funciones:
Ejemplo:
End Sub
Private Sub Option1_Click()
Me.Caption = FormatDateTime(Now, vbGeneralDate)
End Sub
Ejemplo:
Entrada de datos.
InputBox
Ejemplo:
MsgBox
Salida de datos
objeto.Print lista_de_expresiones
El valor de a es 1000
Código:
Private Sub cmdregre_Click()
Unload Me
End Sub
Sub sumar(ByVal Valor As Long)
Valor = Valor + 100
End Sub
Private Sub cmdByVal_Click()
Dim Un_Valor As Long
Un_Valor = 100
Call sumar(Un_Valor)
MsgBox Un_Valor
End Sub
6.6.- PASE POR REFERENCIA.
End Sub
Ejemplo pase por referencia:
Código:
Private Sub cmdregre_Click()
Unload Me
End Sub
Sub Sumar(ByRef Valor As Long)
Valor = Valor + 100
End Sub
Private Sub cmdByRef_Click()
Dim Un_Valor As Long
Un_Valor = 100
Call Sumar(Un_Valor)
MsgBox Un_Valor, vbInformation, "Modifica la variable"
End Sub
Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea
tan trivial como multiplicar dos números puede necesitar un conjunto de
instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel
bastará con solo una.
Programas y algoritmos
ß programación estructurada
ß programación modular
ß programación declarativa
Compilación
2. Recoger los requisitos del programa. Debe quedar claro qué es lo que
debe hacer el programa y para qué se necesita.