Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GRUPO IDAT
Programa de Especialización
Programación en FrameWork
FUNDAMENTOS DE PROGRAMACION
I. INTRODUCCION
OBJETIVO
El alumno aprende los conceptos básicos y elementales de los Algoritmos y utiliza
éstos para dar solución a los problemas mediante el uso del computador.
RESUMEN
Los algoritmos son parte esencial en el desarrollo de programas, éstos facilitarán al
alumno a desarrollar su capacidad analítica y creadora, para de esta manera
mejorar su destreza en la elaboración de algoritmos que sirven como base para la
codificación de los diferentes programas que tendrá que desarrollar a lo largo de
carrera.
DESARROLLO
1. LENGUAJES DE PROGRAMACION
Son conjuntos de símbolos, caracteres y reglas con sintaxis propias que
permiten la comunicación entre el usuario y la PC.
Poseen un conjunto de instrucciones que permiten realizar operaciones de
entrada/salida, cálculos, manipulación de datos, lógica/comparación y
almacenamiento/recuperación.
2. DEFINICIÓN DE ALGORITMO
Un Algoritmo es un conjunto de pasos ordenados de manera lógica que tienden
a la solución de un determinado problema. Existen diversos algoritmos tales
como:
• Algoritmos Económicos
• Algoritmos Financieros
• Algoritmos Genéticos
• Algoritmos Computacionales, Etc.
Nosotros nos ocuparemos de los Algoritmos Computacionales.
a) Pseudocódigos
b) Diagramas de Flujo
Los Diagramas de Flujo son estructuras gráficas que representa la secuencia
lógica de la solución de un determinado problema.
Problema1:
Determinar el área y perímetro de un rectángulo conociendo sus lados.
Inicio
Inicio
Leer base, altura
area= base * altura
perimetro=2(base+altura) base, altura
Imprimir area, perímetro
Fin
area=base*altura
perimetro=2(base+altura)
base, altura
Inicio
Símbolo Uso
Representa Subprogramas
3. CODIFICACION
La codificación consiste en escribir una serie de instrucciones en un lenguaje de
programación la solución del problema de acuerdo a la lógica del diagrama de
flujo o pseudocódigo.
La serie de instrucciones se conoce como código fuente. En nuestro caso
usaremos el lenguaje Visual Basic .Net para codificar nuestras soluciones.
c) Codificación de la aplicación
d) Ejecución de la aplicación
Para ejecutar la aplicación presione F5 o pulse en el botón Iniciar
depuración.
e) Guardar el proyecto
Para guardar su proyecto de consola el cual puede tener uno o más módulos
haga lo siguiente:
1. Pulse en el botón Guardar Todo (icono con 2 dikettes)
Todos los datos tienen un tipo asociado con éstos. Un dato puede ser un simple
carácter, tal como ‘x’; un valor entero tal como 69, etc. El tipo de dato determina la
naturaleza del conjunto de valores que puede tomar una variable.
Numéricos
Simples Lógicos
Alfanuméricos (String)
Tipos de
Datos Arreglos (Vectores, Matrices)
Estructurados Registros
(Def. por el Archivos
Usuario) Apuntadores
2.2 Expresiones
Operadores: Son elementos que relacionan de forma diferente los valores de una
o mas variables y/o constantes. Es decir, los operadores nos permiten manipular
valores.
Aritméticos
Tipos de Operadores Relaciónales
Lógicos
Operadores Relacionales:
Se utilizan para establecer una relación entre dos valores.
Compara estos valores entre si y esta comparación produce un resultado de verdad
o falsedad (verdadero o falso). Los operadores relaciónales comparan valores del
mismo tipo (numéricos o cadenas). Tienen el mismo nivel de prioridad en su
evaluación.
Los operadores relaciónales tiene menor prioridad que los aritméticos.
Operadores Relacionales
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Diferente
= Igual
Operadores Lógicos:
Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos
valores pueden ser resultado de una expresión relacional.
And Y
Or O
Not Negación
2.4 Identificadores
Los identificadores representan los datos de un programa (constantes, variables,
tipos de datos). Un identificador es una secuencia de caracteres que sirve para
identificar una posición en la memoria del computador, que nos permite acceder a
su contenido.
Ejemplo: Nombre
NumHoras
Califica2
Constantes y Variables
Numéricas
Por su Contenido Lógicas
Alfanuméricas (String)
Variables
De Trabajo
Por su Uso Contadores
Acumuladores
Sintaxis: contador=contador + 1
Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando
progresivamente.
ESTRUCTURAS ALGORITMICAS
I. INTRODUCCION
Las estructuras algorítmicas son estructuras que controlan el flujo de ejecución de
las instrucciones de una aplicación.
OBJETIVO
El alumno aprende el manejo de las elementales estructuras de control de
programas.
RESUMEN
Las estructuras algorítmicas o estructuras de control de programa como parte
esencial en el desarrollo de programas, facilitan al alumno a ordenar de manera
lógica la secuencia de instrucciones en la solución de un determinado problema.
DESARROLLO
Las estructuras algorítmicas son estructuras que controlan la secuencia lógica de
ejecución de las instrucciones. Permiten la manipulación de variables y realización
de procesos específicos que nos lleven a la solución de problemas. Estas
estructuras se clasifican de acuerdo con su complejidad en:
• Secuenciales
• Selectivas y
• Repetitivas
1. ESTRUCTURAS SECUENCIALES
Las estructuras secuenciales son aquellas estructuras en las cuales las acciones se
realizan una a continuación de otra. Las tareas se suceden de tal modo que la
salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del
proceso. Una estructura secuencial se representa de la siguiente forma:
Inicio
Instrucción1
Instrucción2
Instrucción3 Instrucción1
:
:
Instrucción2
Fin
Instrucción3
Ejemplo1:
Una persona desea invertir su capital en un banco y desea saber cuanto dinero
ganará después de un mes si el banco paga a razón de 4% mensual.
Pseudocódigo
Inicio
Leer Capital
Ganancia = Capital * 0.04
Imprimir Ganancia
Fin
Ejemplo2:
Un vendedor recibe un sueldo básico más un 10% extra por comisión de sus
ventas. El vendedor desea saber cuanto dinero obtendrá por concepto de
comisiones por las tres ventas que realiza en el mes y el total que recibirá en el
mes tomando en cuenta su sueldo base y comisiones.
Pseudocódigo:
Inicio
Leer SBasico, Venta1, Venta2, Venta3
TotVentas = Venta1 + Venta2 + Venta3
Comision = TotVentas * 0.10
TotPago = Sbasico + Comision
Imprimir TotPago, Comision
Fin
2. ESTRUCTURAS SELECTIVAS
Proceso
Ejemplo1:
Ejemplo2:
El promedio de un alumno se obtiene en base a tres calificaciones. El
profesor decide otorgar dos puntos de bonificación solo a aquellos alumnos
cuyo promedio sea mayor o igual que 12.
Sintaxis .Net
If Condición Then
Proceso1
Else
Proceso2
End If
Ejemplo1:
Determinar el salario semanal de un obrero considerando lo siguiente: Si
trabaja 40 horas o menos se le paga S/. 10 por hora. Si trabaja más de 40
horas se le paga S/. 10 por cada una de las primeras 40 horas y S/. 15 por
cada hora extra.
Ejemplo2:
Determinar el monto total a pagar por la compra de camisas. Si se compran
tres camisas o más se aplica un descuento del 20% sobre el total de la
compra y si son menos de tres camisas un descuento del 10%.
Sintaxis:
Si <Condición1> Entonces
Proceso1
Sino Si <Condición2> Entonces Condición1 Proceso1
Proceso2
Sino Si <Condición3> Entonces
Proceso3 Condición2 Proceso2
:
Sino Si <CondiciónN> Entonces
ProcesoN Condición3 Proceso2
Sino
Proceso de caso contrario
Fin de si
CondiciónN ProcesoN
Proc.C.Cont
Sintaxis .Net
If Condición1 Then
Proceso1
ElseIf Condición2 Then
Proceso2
Else If Condición3 Then
Proceso3
:
Else If CondiciónN Then
ProcesoN
Else
Proceso Caso Cont.
End If
Ejemplo1:
Determinar la utilidad que recibe un trabajador en el reparto anual de
utilidades si este se le asigna como un porcentaje de su sueldo mensual que
depende de su antigüedad en la empresa de acuerdo con la sig. Tabla:
Tiempo Utilidad
Menos de 1 año 5 % del sueldo
1 año o más y menos de 2 años 7% del sueldo
2 años o más y menos de 5 años 10% del sueldo
5 años o más y menos de 10 años 15% del sueldo
10 años o más 20% del sueldo
Ejemplo2:
En un Centro Comercial se realiza una promoción en la cual se hace un
descuento sobre el valor de la compra total según el color de la bolita que el
cliente saque al pagar en caja. Si la bolita es de color blanco no se le hará
ningún descuento, si es verde se le hará un 15% de descuento, si es
amarilla un 30%, si es azul un 60% y si es roja un 100%. Determinar la
cantidad final que el cliente deberá pagar por su compra. Se sabe que solo
hay bolitas de los colores mencionados.
Sintaxis:
Caso n Proceso n
Proc.Otro caso
Sintaxis .Net
Ejemplo1:
Leer desde la consola un número entre 1 y 7, luego imprimir el día de la
semana a que corresponde dicho número.
Ejemplo2:
Determinar la cantidad de cifras que tiene un número ingresado desde la
consola. Considerar como máximo 6 dígitos al ingresar.
3. ESTRUCTURAS REPETITIVAS
Sintaxis:
Sintaxis .NET
Ejemplo1:
Imprimir los primeros 10 números enteros excepto el 5.
Ejemplo2:
Imprimir n términos de la siguiente serie: 1, 2, 4, 7, 7, 12, 10, 17,…
Sintaxis:
Proceso n
Sintaxis .NET
While Condición
Proceso1
Proceso2
Proceso3
:
Proceso n
End While
Ejemplo1:
Determinar los divisores y la cantidad de divisores de un número.
Ejemplo2:
Generar la tabla de multiplicación de un número n ingresado por consola.
TECNOLOGIA .NET
I. INTRODUCCION
Microsoft Visual Studio .NET nace como nueva filosofía y técnica de
programación muy ambiciosa y robusta que compone el mejor entorno de
desarrollo que existe actualmente basada fundamentalmente en la
Programación Orientada a Objetos (POO – Programming Oriented Object).
FRAMEWORK
Principalmente lo que hace diferente a Microsoft Visual Studio .NET de otros
Lenguajes de Programación es el FRAMEWORK, ¿Qué es el Framework? Dicho
de un modo conciso y directo diremos que:
c) Ejecución multiplataforma:
El CLR actúa como una máquina virtual, encargándose de ejecutar las
aplicaciones diseñadas para la plataforma .NET. Es decir, cualquier
plataforma para la que exista una versión del CLR podrá ejecutar cualquier
aplicación .NET. Microsoft ha desarrollado versiones del CLR para la mayoría
de las versiones de Windows, por otro lado Microsoft ha firmado un acuerdo
con Corel para portar el CLR a Linux y también hay terceros que están
desarrollando de manera independiente versiones de libre distribución del
CLR para Linux. Asimismo, dado que la arquitectura del CLR está totalmente
abierta, es posible que en el futuro se diseñen versiones del mismo para
otros sistemas operativos.
d) Integración de Lenguajes:
La plataforma .NET integra dentro del Framework a un conjunto de
Lenguajes tales como: Visual Basic .NET, C++ .NET, C# .NET, ASP .NET,
J++ .NET y todo aquel que genere código que pueda ser entendido por la
plataforma .NET
e) Gestión de Memoria:
El CLR incluye un recolector de basura (Garbagge Collector) que evita que el
programador tenga que tener en cuenta cuando ha de destruir los objetos
que dejen de serle útiles. Este recolector es una aplicación que se activa
cuando se quiere crear algún objeto nuevo y se detecta que no queda
memoria libre para hacerlo, caso en que el recolector recorre la memoria
dinámica asociada a la aplicación, detecta que objetos hay en ella que no
puedan ser accedidos por el código de la aplicación, y los elimina para
limpiar la memoria de “objetos basura” y permitir la creación de otros
nuevos.
f) Tratamiento de Excepciones:
En el CLR todos los errores que se puedan producir durante la ejecución de
una aplicación se propagan de igual manera: Mediante excepciones. Esto es
muy diferente a como se venia haciendo en los sistemas operativos Windows
hasta la aparición de la plataforma .NET, donde ciertos errores se
transmitían mediante código de error en formato Win32, otros mediante
HRESULTs y otros mediante excepciones.
3. ESTRUCTURA DE UN EJECUTABLE
En la plataforma .NET se distinguen dos tipos de ejecutables:
• Ejecutables (*.exe)
• Librerías de Enlace Dinámico (*.dll)
4. ENSAMBLADOS (ASSEMBLY)
Un ensamblado es una agrupación lógica de uno o más módulos o ficheros de
recursos (Gif, Html, etc) que se engloban bajo un nombre común. Un programa
puede acceder a información o código almacenado en un ensamblado sin tener
que indicar la ubicación física y el nombre del archivo en concreto donde se
encuentra, por lo que los ensamblados nos permiten abstraernos de la
ubicación física del código que ejecutemos o de los recursos que usemos. Por
ejemplo, podemos incluir todos los tipos de una aplicación en un mismo
ensamblado pero colocando lo más frecuentemente usados en un cierto módulo
y los menos usados en otro, de modo que sólo se descarguen de Internet los
últimos si es que se van a usar.
Todo ensamblado contiene un manifiesto, que son metadatos con información
sobre las características del ensamblado. Este manifiesto puede almacenarse
cualquiera de los módulos que formen el ensamblado o en uno específicamente
crearlo para ello, caso éste último necesario cuando es un ensamblado satélite
(solo contiene recursos)
base el CLR.
System.Threading Manipulación de hilos.
System.Web.UI.WebControls Creación de interfaces de usuario basadas en
ventanas para aplicaciones
Web (Webforms)
System.Windowforms Creación de interfaces de usuario basadas en
ventanas para aplicaciones estándar
(Winforms)
System.XML Acceso a datos en formato XML
VARIABLES
I. INTRODUCCION
Dentro de .NET Framework, todos los tipos de datos están implementados
como clases, de ahí el hecho de que cuando declaremos una variable en el
código, esa variable sea además, un objeto de la clase relacionada con el tipo
de dato que contiene, disponiendo de propiedades y métodos al igual que
cualquier otro objeto.
VARIABLES
Una variable es un identificador del programa que guarda un valor que puede
ser modificando durante el transcurso de dicha aplicación.
Una variable representa un elemento de datos o un valor específico. Cuando
una fórmula encuentra una variable, busca el valor de la variable y lo usa. A
diferencia de un valor constante, que es fijo y no cambia, a una variable se le
pueden asignar repetidamente diferentes valores. Asigne un valor a una
variable y ésta lo mantendrá hasta que le asigne otro nuevo. Debido a esta
flexibilidad, es necesario declarar las variables antes de usarlas.
DECLARACIÓN
La declaración de una variable es el proceso por el cual indicamos al compilador
que vamos a crear una nueva variable en el programa.
Para declarar una variable utilizaremos la instrucción Dim, seguida del
identificador o nombre que daremos a dicha variable.
Ejemplo:
Sub Main()
'Variables
Dim Nombre
Dim Cuenta
Dim Factual
End Sub
DENOMINACIÓN
Respecto al nombre de la variable, debe empezar por letra, y no puede ser
ninguna de las palabras reservadas del lenguaje, ni contener caracteres como
operadores u otros símbolos especiales.
Sub Main()
'Variables
Dim MiValor 'Nombre correcto
Dim Total2 'Nombre correcto
Dim Mis_Datos 'Nombre correcto
Dim 7Datos 'Nombre incorrecto
Dim Nombre+Grande 'Nombre incorrecto
Dim End 'Nombre incorrecto
End Sub
LUGAR DE LA DECLARACIÓN
Podemos declarar variables en diversos lugares del código. El punto en el que
declaremos una variable será determinante a la hora del ámbito o accesibilidad
a esa variable desde otros puntos del programa. Se recomienda declarar todas
las variables en la cabecera o comienzo del procedimiento, para dar una mayor
claridad al mismo.
TIPOS DE VARIABLE
Al declarar una variable, especificamos qué clase de valores o tipo de datos
vamos a almacenar en dicha variable. En VB.NET utilizamos la palabra clave As
seguida del nombre del tipo de datos, para establecer el tipo de una variable.
Ejemplo:
Sub Main()
'Variables
Dim Nombre As String 'Cadena de caracteres
Dim Cuenta As Int16 'Numero entero corto
Dim FActual As Date 'Fecha actual
End Sub
Ejemplo:
ASIGNACIÓN DE VALORES
Para asignar valores a las variables se emplea el operador de asignación: el
signo igual ( = ).
Ejemplo:
Dim Edad As Int16
Edad = 21
Ejemplo:
Sub Main()
'Declaración de variables y asiganación de valores
Dim NumRegistro As Integer = 875
Dim Precio As Double = 50.23
FUNCIONES DE CONVERSION
Valor inicial
Toda variable declarada toma un valor inicial por defecto, a no ser que
realicemos una asignación de valor en el mismo momento de la declaración.
Ejemplo:
Sub Main()
Dim ImporteFac As Integer
Dim Valor As String
Dim FhActual As Date
Dim FhNueva As Date
Dim ValorLogico As Boolean
Dim UnObjeto As Object
' mostrar variables en la consola
Console.WriteLine("Variable ImporteFac: {0}", ImporteFac)
Console.WriteLine("Variable Valor: {0}", Valor)
Console.WriteLine("Variable FhActual: {0}", FhActual)
Console.WriteLine("Variable FhNueva: {0}", FhNueva)
Console.WriteLine("Variable ValorLogico: {0}", ValorLogico)
Console.WriteLine("Variable UnObjeto: {0}", UnObjeto)
Console.ReadLine()
End Sub
DECLARACIÓN OBLIGATORIA
Es obligatorio, por defecto, la declaración de todas las variables que vayamos a
utilizar en el código.
La declaración de variables proporciona una mayor claridad al código, ya que
de esta forma, sabremos en todo momento si un determinado identificador
corresponde a una variable de nuestro procedimiento, de un parámetro, etc.
Ejemplo:
' Desactivando la declaración obligatoria de variables
' Ahora es posible usar las variables sin declarar
Option Explicit Off
Module Module1
Sub Main()
Valor = "Sistemas"
MiDato = 2009
Console.WriteLine("Variable Valor: {0}", Valor)
Console.WriteLine("Variable MiDato: {0}", MiDato)
Console.ReadLine()
End Sub
End Module
Tipificación obligatoria
Cuando declaramos una variable, no es obligatorio por defecto, establecer un
tipo de dato para la misma. Igualmente, al asignar por ejemplo, una variable
numérica a una de cadena, se realizan automáticamente las oportunas
conversiones de tipos, para transformar el número en una cadena de
caracteres.
I. INTRODUCCION
La Programación Orientada a Objetos, es una metodología de programación
que se acerca a la forma como el ser humano interpreta las cosas en
nuestro mundo real. Todo objeto se origina (instancia) a partir de una Clase
o plantilla. Una clase contienen métodos (Acciones o habilidades) y
propiedades (Datos descriptivos). Al crearse un objeto a partir de una clase,
estos heredan los métodos y propiedades de su clase base.
Objetos
Un objeto es una agrupación de código, compuesta de propiedades y métodos,
que pueden ser manipulados como una entidad independiente. Las propiedades
definen los datos o información del objeto, permitiendo consultar o modificar su
estado; mientras que los métodos son las rutinas que definen su
comportamiento.
Un objeto es una pieza que se ocupa de desempeñar un trabajo concreto
dentro de una estructura organizativa de nivel superior, formada por múltiples
objetos, cada uno de los cuales ejerce la tarea particular para la que ha sido
diseñado.
CLASE
La clase es una plantilla o patrón a partir de la cual se crean muchos otros
objetos similares, también se podría definir a una clase como la agrupación de
objetos que poseen características comunes.
Ejemplos:
• Si Ud. tuviera que dibujar 30 mapas del Perú ¿Cómo los podría hacer de un
modo muy rápido? Tendría que conseguir un molde o plantilla y a partir de
éste podría crear los 30 mapas de un modo fácil y rápido. En este ejemplo
el Molde o Patrón sería la Clase y cada uno de los mapas reproducidos
vendrían ser los Objetos instanciados.
Como podemos darnos cuenta, los conceptos de la POO están en la vida diaria,
y son estos conceptos los que se aplican al momento de programar aplicaciones
informáticas.
Ejemplo:
Un objeto instanciado de la clase fracción es 3/5.
Protected Solo puede ser usada por las clases derivadas de éste, pero
no por las aplicaciones clientes.
Friend Solo puede ser usada por las otras clases del componente,
pero no por las aplicaciones clientes.
Ejemplo1:
Se desea crear una aplicación de Planillas, para ello necesitamos diseñar una
clase que manipule información del empleado, sus horas trabajadas, tardanzas,
faltas, etc.
Para crear la clase Empleado, de tal manera que pueda heredarse y utilizarse
tanto dentro del proyecto como en las aplicaciones clientes, definiríamos la
clase de la siguiente manera:
1. Clic derecho en le proyecto / Agregar / Clase
2. Dar nombre a la clase.
Constantes
Una constante es un dato que permanece fijo en toda la ejecución de la
aplicación, a diferencia de la variable, cuyo valor va cambiándose en tiempo de
ejecución.
Sintaxis:
[Public | Private] Const <Nombre> [As <Tipo Dato>]=<Valor>
Ejemplo:
Crear una constante que almacene el valor para propósitos del cálculo de
descuentos de SNP.
Campos
Un campo es una variable local para la clase, es decir, solo puede ser usada
internamente por los miembros de la clase pero no por otras clases o por
aplicaciones clientes.
El campo solo puede ser una variable privada o protegida que se use dentro de
la clase para almacenar un valor usado por alguna propiedad o método, sin que
éste pueda ser visto o instanciado por otras aplicaciones.
Sintaxis:
[Private | Friend] <Nombre Campo> [As <Tipo Dato>]
Ejemplo:
Crear un campo que almacene el cálculo de descuentos por concepto de SNP.
Propiedades
Las propiedades son características del objeto que tiene información sobre un
cierto atributo de éste como por ejemplo su nombre, descripción, etc. Las
propiedades son métodos que se trabajan como si fuesen campos, con la
diferencia que el campo es interno solo para uso de la clase, en cambio las
propiedades se usan fuera de la clase.
Sintaxis:
[Tipo de Declaración] Property <Nombre > [As <Tipo Dato>]
[[ReadOnly] Get
<Instrucciones>
End Get]
[[WriteOnly] Set (ByVal Value [As <Tipo Dato>])
<Instrucciones>
End Set]
End Property
Declaración Uso
Default Indica que la propiedad es por defecto (no es necesario escribirla)
Friend Puede ser usada desde otras clases del componente pero no fuera.
Protected Friend Tiene las características de la protegida y amiga, es decir, se usa dentro de la
clase, desde una clase derivada o desde otra clase del mismo componente,
pero no en aplicaciones clientes.
ReadOnly Indica que el valor de la propiedad solo puede ser recuperado pero no escrito.
Solo puede tener la cláusula Get y no Set.
WriteOnly Indica que el valor de la propiedad solo puede ser escrito pero no devuelto.
Solo puede tener la cláusula Set y no Get.
Overloads Permite que la propiedad de la clase base sea sobrecargada, es decir definida
varias veces en las clases derivadas pero con diferentes parámetros que la
propiedad definida en la clase base.
Overrides Permite sobrescribir la propiedad por otra propiedad con el mismo nombre en
una clase derivada.
Overridable Permite sobrescribir la propiedad por un método con el mismo nombre en una
clase derivada.
NotOverridable Indica que la propiedad no puede ser sobrescrita por nadie en ninguna clase
derivada.
MustOverride Indica que la propiedad no puede ser implementada en esta clase y puede ser
implementada en una clase derivada.
Shadows Se usa para ocultar una propiedad de tal manera que no pueda implementarse
en una clase derivada.
Shared Permite que la propiedad sea compartida y pueda llamarse sin necesidad de
instanciar a la clase sino a través de su nombre.
Ejemplo:
Para nuestra clase Empleado, podemos implementar las propiedades código,
nombre y básico del empleado, de tal manera que se puedan leer y escribir en
cualquier parte.
'Propiedades
Private vCodigo As String
Private vNombre As String
Métodos
Un método es un conjunto de instrucciones que modifica el estado de las
propiedades; en términos de objetos, un método una función, acción o
habilidad del objeto, mientras que en términos de código un método es un
procedimiento o función que realiza una tarea específica.
En Visual Basic .NET todos los miembros de una clase (propiedades, eventos,
constructores, destructores, etc.) son en realidad métodos; claro, estos últimos
son métodos especiales.
Sintaxis:
[Tipo Declaración] [Sub | Function] <Nombre >([Param]) [As <Tipo Dato>]
<Instrucciones>
[Exit [Sub | Function]]
End Property
También hay que recordar que si el método es una función siempre se deberá
devolver un valor, que se puede hacer de dos formas: de manera clásica
asignando un valor al nombre de la función o escribiendo la sentencia return y
el valor.
Ejemplo:
En nuestro ejemplo de Empleado, implementaremos tres métodos públicos, uno
que permita asignar valores a las propiedades creadas: código, nombre y
sueldo del empleado, otro método calcular el descuento por SNP y un tercer
método para calcular el pago neto.
'Métodos
Public Sub CrearEmpleado(ByVal vCodigo As Integer, _
ByVal vNombre As String, ByVal vSueldo As Double)
Codigo = vCodigo
Nombre = vNombre
Sueldo = vSueldo
End Sub
Ejemplo:
Dim oEmp As New Empleado
End Sub
Ejecutando la aplicación
Ejemplo2:
Implementar la clase Calculadora, ésta clase debe permitir realizar las cuatro
operaciones aritméticas básicas (suma, resta, multiplicación y división) con dos
números ingresados a través de la consola.
Definiendo la clase
Public Class Calculadora
End Class
Propiedades de la clase
'Propiedades
Private vMarca As String
Private vModelo As String
Private vPrecio As Double
Métodos de la clase
'Métodos
Public Sub CrearCalculadora(ByVal vMarca As String, _
ByVal vModelo As String, ByVal vPrecio As Double)
Marca = vMarca
Modelo = vModelo
Precio = vPrecio
End Sub
Ejecutando la aplicación
QUE ES UN MODULO
I. INTRODUCCION
Los módulos, clases, interfaces, estructuras, etc. Son contenedores lógicos
en el entorno de .NET que nos permiten escribir en su interior declaraciones
y procedimientos, que serán accesibles desde otros elementos dentro del
proyecto o ensamblado actual, o bien desde otros ensamblados, en función
de su ámbito o accesibilidad.
MODULOS
El CLR dispone de varios tipos de contenedores lógicos, entre los que se
encuentran los módulos, clases, interfaces, estructuras, etc. La estructura
básica de un contenedor lógico se muestra en la siguiente figura.
El Punto de entrada
Dentro de un proyecto es posible crear varios módulos con procedimientos
Main( ), eligiendo desde la ventana de propiedades del proyecto, por cuál de
ellos vamos a iniciar la ejecución.
El punto de entrada del proyecto, se establece a través de la ventana de
propiedades del proyecto, seleccionando uno de los valores de la lista
desplegable Objeto inicial.
Procedimientos
Un Procedimiento es un bloque de código o conjunto de instrucciones que es
definido en la aplicación y que puede ser usado varias veces mediante una
llamada.
Tipos de Procedimientos:
• Subrutinas: Ejecutan una ó más acciones sin retornar un valor.
• Funciones: Ejecutan una ó más acciones retornando un valor.
• De Eventos: Se desencadenan con la interacción del usuario o ante algún
evento.
• De Propiedades: Devuelven y asignan valores a propiedades de un objeto.
Declaración de Procedimientos
Subrutina:
[Public ¦ Private ¦ Friend] Sub <Nombre>([Optional] [ByVal ¦ ByRef] <Par> As
<Tipo>)
<Sentencia>
[Exit Sub]
End Sub
Función:
Notas:
• El tipo de argumento por defecto es ByVal
• Si se usa Optional debe inicializarse con un valor
• Se puede usar Return para regresar a la llamada del procedimiento.
Llamada a un Procedimiento
Sintaxis:
[Variable=]<Nombre de la Sub o Function>([Parámetro(s)])
Ejemplo1:
Sub Main()
Title = "PROCEDIMIENTO SUB"
'Variables
Dim n%
'Entrada de datos
Write("Escriba un número: ") : n = ReadLine()
'Llamada aL procedimiento
Raiz(n)
ReadKey()
End Sub
Sub Raiz(ByVal x As Double)
WriteLine("La raiz cuadrada es : {0}", Math.Sqrt(x))
WriteLine("La potencia 5 es : {0}", Math.Pow(x, 5))
WriteLine("Valor absoluto/2 : {0}", Math.Abs(x) / 2)
End Sub
Ejemplo2:
Sub Main()
Title = "PROCEDIMIENTO SUB"
'Variables
Dim n%
'Entrada de datos
Write("Qué tabla desea crear? ") : n = ReadLine()
WriteLine("Tabla del No. {0}", n)
'Llamada al procedimiento
GeneraTabla(n)
ReadKey()
End Sub
Sub GeneraTabla(ByVal x As Int16)
Dim i%
For i = 1 To 12
WriteLine("{0} x {1} = {2}", x, i, x * i)
Next
End Sub
Ejemplo1:
Sub Main()
Title = "PROCEDIMIENTOS FUNCTION"
'Variables
Dim n1%, n2%
'Entrada de datos
Write("Primer Número : ") : n1 = ReadLine()
Write("Segundo Número : ") : n2 = ReadLine()
'Llamada a la función
Dim s As Integer = Suma(n1, n2)
Write("La potencia 3 de ({0} + {1}) es {2}: ", n1, n2, s)
ReadKey()
End Sub
Public Function Suma(ByVal a As Integer, ByVal b As Integer) As
Integer
Return Math.Pow((a + b), 3)
End Function
PARAMETROS
Ejemplo:
Imports System.Console
Module Module6
Sub Main()
Title = "PASO DE PARAMETROS POR VALOR"
'Variables
'Parámetro pasado por valor
MostrarNumero(200)
ReadKey()
End Sub
Sub MostrarNumero(ByVal Valor As Int16)
Valor += 100
WriteLine("El Valor del Parametro es: {0}", Valor)
ReadKey()
End Sub
End Module
Ejemplo:
Imports System.Console
Module Module7
Sub Main()
Title = "PASO DE PARAMETROS POR REFERENCIA"
'Variables
'Parámetro pasado por referencia
MostrarNumero(200)
ReadKey()
End Sub
LAS EXCEPCIONES
Durante el desarrollo y ejecución de toda aplicación pueden presentarse
diferentes tipos de errores, los cuales impiden el normal funcionamiento de la
aplicación. A estos errores se les llama Excepciones.
Tipos de Errores
Sintaxis:
Try
' código que puede provocar errores
' ....
' ....
[Catch [Excepcion [As TipoExcepcionA]] [When Expresión]
' respuesta a error de tipo A
' ....
' ....
[Exit Try]
]
[Catch [Excepcion [As TipoExcepcionN]] [When Expresión]
' respuesta a error de tipo N
' ....
' ....
[Exit Try]
]
[Finally
' código posterior al control de errores
' ....
' ....
]
End Try
Ejemplo1:
Imports System.Console
Module Module8
Sub Main()
Title = "ESTRUCTURA Try...End Try"
Dim sValor As String = ""
Dim iNumero As Int16
Try
' comienza el control de errores
Write("Ingrese un número: ") : sValor = ReadLine()
' si no hemos introducido un número...
iNumero = sValor ' ...aquí se producirá un error...
' ...y no llegaremos a esta parte del código
iNumero = iNumero + 1000
WriteLine(iNumero)
Catch ex As Exception
' si se produce un error, se genera una excepción
' que capturamos en este bloque de código
' manipulador de excepción, definido por Catch
WriteLine("Error al introducir el número" & _
ControlChars.CrLf & _
"El valor {0} es incorrecto", sValor)
End Try
' resto del código del procedimiento
' ....
ReadKey()
End Sub
End Module
Ejemplo2:
Imports System.Console
Module Module9
Sub Main()
Title = "ESTRUCTURA Try...End Try"
Dim sValor As String = ""
Dim iNumero As Int16
Try
' comienza el control de errores
Write("Ingrese un número: ") : sValor =
Console.ReadLine()
' si no hemos introducido un número...
iNumero = sValor ' ...aquí se producirá un error...
' ...y no llegaremos a esta parte del código
iNumero = iNumero + 1000
WriteLine(iNumero)
Catch ex As Exception
' si se produce un error, se genera una excepción
' que capturamos en este bloque de código
' manipulador de excepción, definido por Catch
Console.WriteLine("Error al introducir el número" &
_
ControlChars.CrLf & "El valor {0} es incorrecto",
sValor)
Finally
' si se produce un error, después de Catch se
ejecuta este bloque;
' si no se produce error, después de Try también se
ejecuta
Console.WriteLine("El controlador de errores ha
finalizado")
End Try
' resto del código del procedimiento
Dim dtFecha As Date
WriteLine("Introducir una fecha") : dtFecha =
Console.ReadLine()
' si ahora se produce un error,
' al no disponer de una estructura para controlarlo
' se cancelará la ejecución
WriteLine("La fecha es {0}", dtFecha)
ReadKey()
End Sub
End Module
Inicio Procedimiento()
On Error GoTo <Etiqueta>
<Instrucciones>
Exit Sub
<Etiqueta>:
<Instrucciones>
[Resume ¦ Resume Next ¦ Resume Etiqueta]
Fin Procedimiento
Ejemplo:
On Error Goto Etiqueta
Activa una etiqueta de control de errores, que consiste en un bloque de código,
al que se desviará el flujo del programa cuando se produzca un error.
Imports System.Console
Module Module10
Sub Main()
Title = "On Error Goto Etiqueta"
End Sub
End Module
Imports System.Console
Module Module11
Sub Main()
Title = "On Error Goto Etiqueta"
On Error GoTo ControlErrores
Imports System.Console
Module Module12
Sub Main()
Title = "On Error Resume Next"
On Error Resume Next
ARRAYS
I. INTRODUCCION
Un array es una lista de valores asociada a un identificador. Al emplear una
variable para contener más de un dato, el modo de acceder a los valores se
consigue a través de un índice asociado a la variable, que permite saber con
qué elemento o posición de la lista estamos manejando. Para referirnos a un
array se emplean los términos vector y matriz.
QUE ES UN ARRAY?
Los arreglos (Arrays) son estructuras de datos formados por un conjunto de
elementos. Cada elemento del arreglo posee un número de índice, con el
que es posible referirnos a un valor específico de la estructura, el primer
elemento del array tendrá el índice 0. Todos los elementos que conforman
un arreglo deben ser del mismo tipo de dato o perteneciente a una misma
clase. Para obtener la longitud del arreglo debemos invocar a la variable
miembro implícita: Length().
Estructura de un arreglo
Declaración de arreglos
Para declarar un array se procede igual que para declarar una variable, con
la diferencia de que se emplean los paréntesis junto al nombre de la
variable, para indicar que se trata de un array y opcionalmente, dentro de
los paréntesis, se define el número de elementos que tendrá el array.
Sintaxis:
Dim nombreArreglo(NúmeroDeElementos) As Tipo de Variable
Ejemplo1:
Dim aNumeros(4) As Int16
Ejemplo2:
Dim Colores(3) As String
Ejemplo3:
Creación de arrays en código fuente:
Imports System.Console
Module Module13
Sub Main()
Title = "ARRAYS"
' array sin elementos
Dim aColores() As String
Ejemplo:
Imports System.Console
Module Module14
Sub Main()
Title = "ARRAYS"
' array con 5 elementos: de 0 a 4
Dim aNombres(4) As String
End Module
Ejemplo:
Imports System.Console
Module Module15
Sub Main()
Title = "ARRAYS"
' array con 5 elementos: de 0 a 4
Dim aNombres(4) As String
Ejemplo:
Imports System.Console
Module Module16
Sub Main()
Title = "ITERANDO ARRAYS"
' crea un array y le asigna valores
Dim aNombres(4) As String
aNombres(0) = "Rosa"
aNombres(1) = "Belinda"
aNombres(2) = "Anahi"
aNombres(3) = "Javier"
aNombres(4) = "Alexander"
ReadKey()
End Sub
End Module
I. INTRODUCCION
Para que un lenguaje o sistema sea considerado orientado a objetos, debe
cumplir las siguientes características.
Encapsulación
La encapsulación establece la separación entre el interfaz del objeto y su
implementación, aportándonos dos ventajas fundamentales.
• Proporciona seguridad al código de la clase, evitando accesos y
modificaciones no deseadas; una clase bien encapsulada no debe
permitir la modificación directa de una variable, ni ejecutar métodos que
sean de uso interno para la clase.
• Simplifica la utilización de los objetos, ya que un programador que use
un objeto, si este está bien diseñado y su código correctamente escrito,
Abstracción
Es aquella característica que nos permite identificar un objeto a través de
sus aspectos conceptuales. Las propiedades de los objetos de una misma
clase, pueden hacerlos tan distintos que sea difícil reconocer que pertenecen
a una clase idéntica. No obstante, nosotros reconocemos a qué clase
pertenecen, identificando además, si se trata de la misma clase para ambos.
Ello es posible gracias a la abstracción.
Sobrecarga de métodos
La sobrecarga de métodos es una técnica que consiste en crear varios
métodos con idéntico nombre dentro de la misma clase, distinguiéndose
entre sí por su lista de parámetros.
Para declarar un método como sobrecargado, debemos utilizar la palabra
clave Overloads después del modificador de ámbito. Es posible sobrecargar
métodos de tipo Sub y Function.
Ejemplo:
La clase Empleado necesita manejar en diferentes formas, la información
referente al sueldo de un empleado.
Imports System.Console
Module Module17
Sub Main()
Title = "SOBRECARGA DE METODOS"
Dim oEmpleado As New Empleado2()
Dim Incentivo As Double
oEmpleado.Salario = 1500.85
Imports System.Console
Public Class Empleado2
Private _Salario As Double
Return Incentivo
End Function
End Class
METODOS CONSTRUCTORES
I. INTRODUCCION
Un constructor es un método que inicializa un objeto inmediatamente
después de su creación. Tienen exactamente el mismo nombre de la clase en
la que residen; de hecho no se puede tener ningún otro método que
comparta su nombre con su clase.
METODOS CONSTRUCTORES
Sintaxis:
Ejemplo:
Creación de 4 constructores que permitan crear de cuatro maneras distintas
un objeto de tipo empleado.
Ejemplo:
Imports System.Console
Module Module18
Sub Main()
Title = "CONSTRUCTORES"
Dim oEmp As New Empleado3()
Imports System.Console
Module Module19
Sub Main()
Title = "CONSTRUCTORES"
Dim oEmp As New Empleado4("25/9/2009")
WriteLine("El objeto se ha creado el día {0}",
oEmp.FechaCrea)
ReadKey()
WriteLine()
Destructores
Sintaxis:
Public Sub <Nombre Destructor>()
<Instrucciones>
End Sub
Ejemplo:
Para la clase “Empleado” podemos crear un destructor llamado “Finalizar”
que permita liberar las variables usadas por las propiedades para almacenar
sus valores.
El Método Dispose
Es un método personalizado al que efectúa una llamada el cliente cuando ya
no necesite la referencia a un objeto. Libera los recursos no utilizados.
También se incluye una llamada al método Dispose en el método Finalize de
Ejemplo:
I. INTRODUCCION
Este es uno de los aspectos más importantes en un lenguaje orientado a
objetos. VB.NET es la primera versión de este lenguaje que incorpora
herencia, una característica demandada por un amplio colectivo de los
programadores de esta herramienta; y es que, a pesar de haber sido
incorporados progresivamente aspectos de orientación a objetos al lenguaje,
este era el elemento fundamental que faltaba para ser plenamente OOP.
HERENCIA
La parte principal de la Programación Orientada a Objetos (POO) es la
herencia de clases, es decir, la característica de definir una clase que sirva
de base para otras clases derivadas, las clases derivadas tendrán los
miembros de la clase base: propiedades, métodos, eventos, etc.
Una clase hija puede servir a su vez como clase base para la creación de otra
clase derivada, y así sucesivamente, con lo que podemos componer nuestra
propia jerarquía con la estructura de clases que necesitemos.
Para crear una clase derivada, debemos declarar una nueva clase,
especificando cuál es su clase base mediante la palabra clave Inherits.
Sintaxis:
Inherits <Clase Base>
Notas:
• La instrucción Inherits debe escribirse en la primera línea de la clase
derivada.
• Solo puede existir una instrucción Inherits, ya que solo existe
herencia simple.
Ejemplo1:
Podemos crear una clase llamada CuentaCorriente derivada de su clase
base Cuenta.
End Sub
End Class
End Class
Imports System.Console
Module Module20
Sub Main()
Title = "HERENCIA"
Dim oCC As New CtaCte
Dim oGC As New GuardaCuenta
Dim oCta As New Cuenta
Write("Ingrese Número de Cuenta: ") : oCC.NumCta =
ReadLine()
Dim n = oCC.NumCta
WriteLine("Su Saldo en su Cuenta es: {0}",
oCC.GetSaldo(n))
ReadKey()
End Sub
End Module
Ejemplo2:
Crearemos una clase derivada Administrativo que hereda de su clase base
Empleados.
Imports System.Console
Public Class Empleados
Public _Nombre
Public _Apellidos
Public _Ciudad
Private _FechaCrea
' en este constructor sin parámetros,
' asignamos la fecha actual
Public Sub New()
_FechaCrea = Now()
End Sub
' en este constructor, asignamos valores
' a todos los campos de la clase
Public Sub New(ByVal lsNombre As String, _
ByVal lsApellidos As String, ByVal lsCiudad As String)
_Nombre = lsNombre
_Apellidos = lsApellidos
_Ciudad = lsCiudad
End Sub
End Class
Imports System.Console
Module Module21
Sub Main()
Title = "HERENCIA - Clase Empleado"
' instanciamos un objeto de la clase derivada
Dim oAdmin As New Administrativo()
' accedemos a los miembros de la clase padre
oAdmin._Nombre = "Javier"
oAdmin._Apellidos = "Rosales"
'oAdmin.MostrarDatos()
' ahora accedemos a los miembros de esta propia
clase
oAdmin.EnviarCorreo("Investiga sobre Herencia y
Polimorfismo...")
End Sub
End Module