programando con visual.basic.net 2005 by fashion
TRANSCRIPT
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 1/323
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 2/323
Capitulo I
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 3/323
INDICE
CAPITULO I
Lenguaje de Programación 01
¿Qué es Lenguaje de Programación? 01
Algoritmos 01
Pseudocódigo 02
Lectura 02
Estructura 02
Escritura 02
Ejercicio Nº 1 03
Ejercicio Nº 2 04
Ejercicio Nº 3 05
Ejercicio Nº 4 06
Ejercicio Nº 5 07
Ejercicio Nº 6 07
Ejercicio Nº 7 08
Ejercicio Nº 8 08
Instrucción Condicional 10
Operadores Relacionales o Comparativas 11
Ejercicio Nº 9 11
Ejercicio Nº 10 12
Ejercicio Nº 11 13
Ejercicio Nº 12 14
Ejercicio Nº 13 15
Condiciones Múltiples 16
Ejercicio Nº 14 17
Ejercicio Nº 15 19
Ejercicio Nº 16 20
Ejercicio Nº 17 21
Ejercicio Nº 18 22
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 4/323
Procesos Repetitivos 23
Ejercicio Nº 19 23
Ejercicio Nº 20 24
Ejercicio Nº 21 25
Ejercicio Nº 22 25
Ejercicio Nº 23 27
Estructuras Repetitivas 28
Ejercicio Nº 24 28
Ejercicio Nº 25 29
Ejercicio Nº 26 30
Tipos de Datos 31
Ejercicio Nº 27 31
Ejercicio Nº 28 32
Ejercicio Nº 29 33
Diagrama de Flujo 35
Ejercicio Nº 30 36
Ejercicio Nº 31 36
Ejercicio Nº 32 38
Ejercicio Nº 33 39
Despedida 40
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 5/323
Materiales Didácticos
! Microsoft Visual Basic .Net 2005 (Ingles o Español)
! Windows XP Service Pack 2
! Windows 2003 Server
! Microsoft SQL Server 2005
! Framework 2
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 6/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
Lenguaje de Programación
¿Qué es Lenguaje de Programación?
En informática, cualquier lenguaje artificial que puede utilizarse paradefinir una secuencia de instrucciones para su procesamiento por un ordenador ocomputadora. Es complicado definir qué es y qué no es un lenguaje deprogramación. Se asume generalmente que la traducción de las instrucciones aun código que comprende la computadora debe ser completamente sistemática.Normalmente es la computadora la que realiza la traducción.
Los lenguajes de programación permiten comunicarse con los ordenadoreso computadoras. Una vez identificada una tarea, el programador debe traducirla ocodificarla a una lista de instrucciones que la computadora entienda. Un programainformático para determinada tarea puede escribirse en varios lenguajes. Según
la función, el programador puede optar por el lenguaje que implique el programamenos complicado. También es importante que el programador elija el lenguajemás flexible y más ampliamente compatible para el caso de que el programatenga varias aplicaciones.
Algoritmos: Son representaciones, estos pueden ser:
1. Lenguaje Natural.- Es el lenguaje común (coloquial).2. Lenguaje Estructurado.- Es un lenguaje mas limitado que el anterior, con
reglas de sintaxis y semántica definidas, esto quiere decir que consiste encrear programas con instrucciones agrupadas en un estricto orden secuencial,el cual es imprescindible conservar para la resolución de un problema.
a. Pseudocódigo; lenguaje universal para comunicarse entre
programadores, esto quiere decir que es un conjunto de instruccionesen lenguaje natural, como el castellano o el ingles, de acuerdo a lapersona que desarrollará un algoritmo basado en dicho lenguajenatural, en conclusión, es elaborar el algoritmo usando palabras yfrases que se comprendan fácilmente.
b. Código; lenguaje orientado a un tipo de compilador especifico, para serinterpretado por el computador, en otras palabras es un conjunto deinstrucciones que son parte de un lenguaje de programación especificoque se escriben en orden secuencial y se almacenan en un archivo alque se denomina programa, cuando el programa es pequeño se ledenomina mini-programa o con el nombre de macro (en ingles se ledenomina Script ).
3. Lenguaje Simbólico.- Es una representación que usa símbolos predefinidos
para diagramar un algoritmo, con el fin de que sea fácil de seguir la lógica dela solución que se desea expresar en forma de un flujo de pasos a realizar,indicando el inicio y el termino de los mismos
a. Diagramas de flujo;b. Carta N-S;
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 7/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
PSEUDOCODIGO
Lectura
! Obtener un dato inicial! Solicitar un dato inicial! Requerir un dato de entrada
En otras palabras, lectura viene a ser la entrada de datos que nosotros vamosa requerir para poder hallar la solución, por eso, para nosotros la Entrada va serel sinónimo de Lectura.
Se deduce a:
Leer <Dato>(Dato de entrada)
Estructura
! Operar sobre el dato obteniendo nuevo valor! Procesar los datos, obteniendo nuevo valor
En otras palabras, la estructura lo conoceremos como Instrucciones, estoquiere decir que las instrucciones son todos los procesos, cálculos, comparacionesetc., que nosotros haremos para hallar la solución.
Se deduce a:
<Nuevo Valor> <Expresión de Cálculo>
Dato Transformado Operación Sobre DatoSe Asigna
Escritura
! Mostrar el resultado! Visualizar el resultado! Imprimir el valor resultante
Como la misma palabra lo dice, vamos a escribir o mejor dicho vamos amostrar el resultado de las instrucciones hechas (operaciones).
Se deduce:
Escribir <Valor Resultante>
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 8/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
Bueno ya vimos la parte de concepto, se que es poco aburrida, por nodecir que bastante, pero es necesario, por que sino no me entenderían lo quehago, para terminar de entender vamos a resolver alguno ejemplos, que a sutiempo lo llevaremos a un código de algún programa, todavía no se si usar el
Visual Sharp C# o la consola de aplicación del Visual Basic, ya veré con cual esmas fácil para que entiendan.
Ejercicios
1. Se desea calcular la distancia recorrida (m) por un móvil que tiene velocidadconstante (m/s) durante un tiempo T (Sg), considerar que es un MRU(Movimiento Rectilíneo Uniforme)
Solución:
DATOS
Identificadores
SalidaDistancia Recorrida (m) D
EntradaVelocidad Constante (m/s) VTiempo (Sg) T
InicioLeer VLeer TD = V * TEscribir D
Fin
Sencillo el algoritmo no?, bueno no se preocupen si no lo han entendido,les voy a explicar:
¿Qué son Identificadores?, los identificadores, variables que van a tomar el valorque se le asigne, para poder hallar la solución.
¿Qué son Variables?, las variables son mayormente letras, es como si dijéramosque son comodines en un juego de cartas, como ustedes saben un comodín en un juego de cartas, puede tomar el valor que uno le asigne, como por ejemplo,puede tomar el valor de dos trébol, cinco de corazones, tres de diamantes, etc. Elvalor que tu le quieras dar, es por eso que los datos de entrada, van a hacerleídos por los identificadores de V (velocidad constante) y T (tiempo), en realidadpueden poner cualquier letra que ustedes deseen, pero yo les asigno esas letraspara que lo entiendan mucho mejor, ahora veamos otro ejemplo para que lotengan mas en claro.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 9/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
2. Se necesita obtener el promedio simple de un estudiante a partir de sus tresnotas parciales.
Solución:
DATOS
Identificadores
SalidaPromedio P
EntradaPrimera Nota Parcial N1Segunda Nota Parcial N2Tercera Nota Parcial N3
InicioLeer N1Leer N2Leer N3P = (N1 + N2 + N3)/3Escribir P
Fin
Que tal les pareció fácil?, bueno haber les explico un poco, como ustedessaben el promedio simple de cualquier dato, se halla, sumando todos los dato yde ahí dividiendo entre el numero de datos sumados, por ejemplo, les vamos a
asignar valores a los identificadores ok.
N1 = 14N2 = 13N3 = 15P = (14 + 13 + 15) / 3
Entonces P (Promedio) tomaría el valor de 14
Llegaron a entender, les recomiendo volver a leerlo si no lo han entendió,por que mas adelante les voy a dejar unos pequeños problemas para que ustedeslo resuelvan ok, ahora sigamos con los ejemplos.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 10/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
3. Elaborar un algoritmo que solicite el número de respuestas correctas,incorrectas y en blanco, correspondientes a postulantes, y muestre su puntajefinal considerando, que por cada respuesta correcta tendrá 4 puntos,
respuestas incorrectas tendrá -1 y respuestas en blanco tendrá 0.
Solución:
DATOS
Identificadores
SalidaPuntaje Final PF
EntradaNúmero de Respuestas Correctas RCNúmero de Respuestas Incorrectas RINúmero de Respuestas en Blanco RB
IntermedioPuntaje de Respuestas Correctas PRCPuntaje de Respuestas Incorrectas PRI
InicioLeer RCLeer RILeer RBPRC = RC * 4PRI = RI * -1
PF = PRC + PRIEscribir PFFin
Seguro se estarán diciendo que no les había dicho de los datosintermedios, bueno tienen razón y no es por lo que se me haya pasado, sino quetenia que explicarles con un ejemplo, buenotes explico, la parte Intermedio, aquívan todos los identificadores que solo vamos a almacenar algún valortemporalmente. Como lo es de asignarles los puntos de las respuestas correctas eincorrectas, no puse ningún intermedio para las respuestas en blanco ya que soloestas tiene un valor nulo ósea cero, y para terminar con esta explicación, aquí enel pseudocodigo existe una regla, la regla es que solo se van a usar los
identificadores que definimos en la parte de datos, ya que si no lo defines, en unfuturo cuando pasemos a programar en un procesador, este te botara un error.Así que aprendan a definir todos los identificadores que van a usar para resolverun algoritmo.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 11/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
4. Elaborar un algoritmo que permita ingresar el número de partidos ganados,perdidos y empatados, por Universitario de Deportes en el torneo de apertura,se debe de mostrar su puntaje total, teniendo en cuenta que por cada partidoganado obtendrá 3 puntos, empatado 1 punto y perdido 0 puntos.
Solución:
DATOS
Identificadores
SalidaPuntaje Total PT
EntradaNúmero de Partidos Ganados PGNúmero de Partidos Empatados PENúmero de Partidos Perdidos PP
IntermedioPuntaje de Partidos Ganados PPGPuntaje de Partidos Empatados PPE
InicioLeer PGLeer PELeer PPPPG = PG * 3PPE = PE * 1PT = PPG + PPE
Escribir PTFin
Se me olvidaba, creo que no les dije los operadores del pseudocodigo,estos son los siguientes:
+ Suma- Resta* Multiplicación / División^ Potencia
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 12/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
5. Se requiere el algoritmo para elaborar la planilla de un empleado. Para ello sedispone de sus horas laboradas en el mes, así como de la tarifa por hora.
Solución:
DATOS
Identificadores
SalidaPlanilla P
EntradaNúmero de Horas Laboradas en el mes HLTarifa por Hora TH
InicioLeer HLLeer THP = HL * THEscribir P
Fin
6. Elabore un algoritmo que lea los 3 lados de un triangulo cualquiera y calculesu área, considerar: Si A, B y C son los lados, y S el semiperímetro.
A = S * (S – A) * (S – B) * (S – C)
Solución:
DATOS
Identificadores
SalidaÁrea del Triangulo AT
Entrada Longitud del Lado A LALongitud del Lado B LBLongitud del Lado C LC
IntermedioLongitud del Semiperímetro LS
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 13/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
InicioLeer LALeer LBLeer LC
LS = (LA + LB + LC)/2AT = [LS * (LS – LA) * (LS – LB) * (LS – LC)] ^ 0.5Escribir AT
Fin
7. Elaborar un algoritmo que permita calcular el número de micro discos 3 ½ “ necesarios para hacer una copia de seguridad, de la información almacenadaen un disco cuya capacidad se conoce. Considerar que el disco duro esta llenode información, además expresado en gigabyte. Un micro disco tiene 1.44megabyte y una gigabyte es igual a 1,024 megabyte.
Solución:
DATOS
Identificadores
SalidaNúmero de Micro Disco 3 ½” MD
EntradaNúmero de Gigabyte del Disco Duro GB
IntermedioNúmero de Megabyte del Disco Duro MG
InicioLeer GBMG = GB * 1,024MD = MG / 1.44Escribir MD
Fin
8. Se tiene los puntos A y B en el cuadrante positivo del plano cartesiano,elabore el algoritmo que permite obtener la distancia entre A y B.
A
B
ORDENADA
ABCISA
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 14/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
9
Solución:
DATOSIdentificadores
SalidaDistancia D
EntradaAbcisa de A AAAbcisa B ABOrdenada A OAOrdenada B OB
InicioLeer AALeer ABLeer OALeer OBD = [(AB – AA) ^ 2 + (OB – OA) ^ 2] ^ 0.5Escribir D
Fin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 15/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
10
INSTRUCCIÓN CONDICIONAL
Se emplea cuando es necesario representar una decisión, en base a la cualse realizan acciones excluyentes entre si.
SI <expresión condicional (lógica booleana)> ENTONCES
Instrucción Verdadera (V)
SINO
Instrucción Falsa (F)
FIN_SI
Las acciones se representan como instrucción V (cuando es verdadera),instrucción F (cuando es falsa), después que las acciones se realizan, en algoritmocontinua su secuencia, pues la condición a terminado (FIN_SI) ejemplo:
Se considera que A y B son número diferentes
SI (A > B) ENTONCES
Escribir “El Mayor es A”
SINO
Escribir “El Mayor es B”
FIN_SI
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 16/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
11
Operadores relacionales o comparativas:
> Mayor< Menor
>= Mayor Igual<= Menor Igual<> Diferente= Igual
EJERCICIOS
9. Elabora un algoritmo que permita averiguar si una persona debe de inscribirsepara el SMO (Servicio Militar Obligatorio), sabiendo su año de nacimiento.
Solución:
DATOS
Identificadores
Entrada
Año de Nacimiento ANAño de Actual AA
IntermedioEdad E
InicioLeer ANLeer AAE = AA - ANSI (E > 17) ENTONCES
Escribir “Debe de Inscribirse en el SMO”
SINO Escribir “No debe de Inscribirse en el SMO” FIN_SI
Fin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 17/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
12
10. Elabora un algoritmo que solicite la edad de 2 hermanos y muestre unmensaje indicando la edad del mayor y cuantos años de diferencia tiene con elmenor.
Solución:
DATOS
Identificadores
EntradaEdad del Primer Hermano E1Edad del Segundo Hermano E2
IntermedioDiferencia de Edades DE
InicioLeer E1Leer E2SI (E1 > E2) ENTONCES
Escribir “El Primer Hermano es el Mayor, por ” DE = E1 – E2
SINOEscribir “El segundo Hermano es el Mayor por ” DE = E2 – E1
FIN_SIEscribir DE
Fin
Como se habrán dado cuenta, no es tan difícil lo de instruccionescondicionales no?, como ustedes ven para iniciar y encerrar un SI, lo hacemosmediante unas líneas que indica de donde a donde va la función SI, esto nosquiere decir que podemos tener una instrucción condicional Si dentro de otrainstrucción condicional SI, me entienden?, bueno para que lo entiendan mejor loverán en el ejercicio 12, y si se han dado cuenta que para mostrar un mensaje noes necesario declarar un identificador que va a contener el mensaje, mas fácil nosseria mostrar el mensaje directamente, ya que se trata de una cadena, o mejordicho de un texto. Para que lo entiendan mejor, el siguiente ejercicio lo haremosmostrando el mensaje mediante un identificador declarado okis.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 18/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
13
11. Se tiene registrado la producción (unidades) logradas por un operario a lolargo de la semana (lunes a sábado). Elabore un algoritmo que nos muestre onos diga si el operario recibirá incentivos sabiendo que el promedio deproducción mínima es de 100 unidades.
Solución:
DATOS
Identificadores
EntradaProducción del día Lunes PLProducción del día Martes PMaProducción del día Miércoles PMiProducción del día Jueves PJProducción del día Vienes PVProducción del día Sábado PS
IntermedioProducción Total PTProducción Promedia PP
SalidaMensaje MSG
InicioLeer PLLeer PMa
Leer PMiLeer PJLeer PVLeer PSPT = (PL + PMa + PMi + PJ + PV + PS)PP = PT / 6SI (PP >= 100) ENTONCES
MSG = “Recibirá Incentivos” SINO
MSG = “No Recibirá Incentivos” FIN_SIEscribir MSG
Fin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 19/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
14
12. Elabora un algoritmo para leer 3 números enteros diferentes entre si, ydeterminar el número mayor de los tres.
Solución:
DATOS
Identificadores
EntradaPrimer Número Entero N1Segundo Número Entero N2Tercer Número Entero N3
SalidaNúmero Mayor NM
InicioLeer N1Leer N2Leer N3SI (N1 > N2) y (N1 > N3) ENTONCES
NM = N1SINO
SI (N2 > N3) ENTONCES NM = N2
SINO NM = N3FIN_SI
FIN_SIEscribir NM
Fin
Seguro que viendo este ejercicio ya han entendido que se puede tener auna instrucción condicional dentro de otra, esto se llama, instrucciones anidadas,pero hay una regla para hacer estas instrucciones anidadas, la regla es que paracada Si que usen debe haber un FIN_SI, pero estas a la vez pueden tener unSINO o no, depende como lo usen, por ejemplo, para hacer un instrucción
anidada tenemos que tener obligado un SINO en el SI general me entienden,porque si este no tendría un SINO, nunca podríamos validar la comparación quehagamos en el segundo SI, que tenemos adentro del primer SI, me entienden?,bueno creo que esto lo vana tener mas en claro cuando ya lo llevemos alcompilador. Mientras tanto sigamos haciendo unos cuantos ejercicios.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 20/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
15
13. Elabora un algoritmo que sirva para identificar el tipo de triangulo conociendosus tres lados.
Solución:
DATOS
Identificadores
EntradaPrimer Lado L1Segundo Lado L2Tercer Lado L3
SalidaTipo de Triangulo TT
InicioLeer L1Leer L2Leer L3SI (L1 <> L2) y (L2 <> L3) y (L3 <> L1) ENTONCES
TT = “Escaleno” SINO
SI (L1 = L2) y (L2 = L3) ENTONCES TT = “Equilátero”
SINO
TT = “Isósceles” FIN_SIFIN_SIEscribir TT
Fin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 21/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
16
CONDICIONES MULTIPLES
Cuando en un algoritmo se llega a un punto de realización de variasopciones, nos vemos obligados a usar condiciones múltiples, por que nos seriamas fácil de realizar la lógica, aunque también resulta hacerlo con la Instruccióncondicional SI, pero este se nos haría muy tedioso, ya que tendríamos que hacervarias instrucciones ya sean independientes o anidadas.
EN CASO (Expresión_Valor) Sea
CASO Valor 1
Instrucción 1
CASO Valor 2
Instrucción 2
CASO Valor 3
Instrucción 3
CASO Valor 4
. Instrucción 4
.
.
CASO Valor n
Instrucción n
OTRO CASO Instrucción x [Opcional (Cuando ningún valorseleccionado se realizará la instrucción imperativa)]
FIN_CASO
! Al poner mas CASO la maquina no será eficiente, para esto se utilizaraotras estructuras, que mas adelante lo veremos, la mayoría de uso de estacondición múltiple se hace para números. Para que lo entiendan mejor decómo funciona veremos de cómo funciona esta condición múltiple y
después veremos algunos ejercicios okis.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 22/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
17
Compara Verdadero
Compara Verdadero
Compara Verdadero
Compara Verdadero
Compara Verdadero
Compara Verdadero
Falso
Falso
Falso
Falso
Falso
Expresión Valor 1 Hacer Instrucción FIN_CASO
Valor 2 Hacer Instrucción FIN_CASO
Valor 3 Hacer Instrucción FIN_CASO
Valor 4 Hacer Instrucción FIN_CASO
Valor 5 Hacer Instrucción FIN_CASO
Valor n Hacer Instrucción FIN_CASO
EJERCICIOS
14. Elabore un algoritmo que permita ingresar un número entero (1 a 10), ymuestre su equivalente en romano.
Solución:
DATOS
Identificadores
Entrada
Número Entero (1 a 10) NESalidaEquivalente en Romano ER
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 23/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
18
InicioLeer NEEN CASO NE SEA
CASO 1
ER = “
I”
CASO 2ER = “II”
CASO 3ER = “III”
CASO 4ER = “IV”
CASO 5ER = “V”
CASO 6ER = “VI”
CASO 7ER = “VII”
CASO 8ER = “VIII”
CASO 9ER = “IX”
CASO 10ER = “X”
FIN_CASOEscribir ER
Fin
Empecemos con la explicación, aunque si ustedes tiene lógica, ya lohabrán entendido, pero igual les voy a explicar, lo que hace este algoritmo es
solicitar el ingreso de un número entero que este en el rango del 1 – 10, y este loreemplaza por su equivalente romano, por ejemplo: si el usuario ingresa unnúmero 4 este se ira a la expresión de las condiciones múltiples, y mas o menoslo que haría el compilador es lo siguiente, en case del que el numero ingresadosea, en caso sea 1, la respuesta seria falsa, entonces pasara a la siguientecondición, en caso sea 2, la respuesta seria también falsa, y pasaría a la siguientecondición, en caso sea 3, la respuesta seria otra vez falsa, y pasaría a l asiguiente condición, en caso sea 4, la respuesta seria verdadero, y haría lainstrucción de asignarle el número IV en romanos al identificador ER, y luegopasaría a dar fin a las condiciones múltiples, ya que encontró una condiciónverdadera y pasaría a escribir la respuesta ER, en caso de no encontrarla, elalgoritmo daría una respuesta en blanco.
Entendieron la explicación?, bueno no les exijo que lo tengan todo en claroahora mismo, solo que tengan una lógica coherente y que tengan muchas ganasde aprender, por que lo terminaran de entender cuando pasemos a diagramas deflujo y luego a codificar en Visual Basic 2005, y además ya lo decidí, vamos aresolver unos cuantos ejercicios en las plantillas de Aplicación Para Consola, ydespués haremos en la plantilla de Aplicación para Windows, así que no seimpacienten, por que nos falta todavía mucho por aprender.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 24/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
19
15. Elabore un algoritmo que permita ingresar el monto de venta alcanzado porun promotor durante el mes, luego de calcular la bonificación que lecorresponde sabiendo:
Monto Bonificación (%)
0 – 1000 01000 – 5000 35000 – 20000 520000 a más 8
Solución:
DATOS
Identificadores
EntradaMonto de Venta MV
SalidaTotal de Bonificación TB
InicioLeer MVEN CASO MV SEA
CASO MV >= 0 y MV < 1000TB = (0 * MV) / 100
CASO MV >= 1000 y MV < 5000TB = (3 * MV) / 100
CASO MV >= 5000 y MV < 20000TB = (5 * MV) / 100
CASO MV >= 20000TB = (8 * MV) / 100
FIN_CASOEscribir TB
Fin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 25/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
20
16. Elabore un algoritmo que solicite un número entero y muestre un mensajeindicando la vocal correspondiente, considerando que la vocal A = 1.
Solución:
DATOS
Identificadores
EntradaNúmero Entero NE
SalidaVocal V
InicioLeer NEEN CASO NE SEA
CASO 1V = “A”
CASO 2V = “E”
CASO 3V = “I”
CASO 4V = “O”
CASO 5
V = “U” OTRO CASO V = “Valor Incorrecto”
FIN_CASOEscribir V
Fin
Lo único nuevo de este pseudocódigo es la condición de OTRO CASO, estacondición se usa para asignarle un valor en caso que el dato que se ingresa notenga una respuesta, por ejemplo, si el usuario ingresa un número 3, este le daráuna respuesta de “I” , pero si ingresa un número que no esta en el rango del 1 al5, este le dará una respuesta de “Valor Incorrecto” .
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 26/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
21
17. Se desea leer un número entero de 2 cifras y que se muestre el número deunidades, decenas que lo componen.
Solución:
DATOS
Identificadores
SalidaNúmero de Decenas DNúmero de Unidades U
EntradaNúmero Entero de 2 Dígitos NE
IntermedioCociente Entero QResiduo R
InicioLeer NEQ = NE / 10R = NE – (10 * Q)D = QU = REscribir DEscribir U
Fin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 27/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
22
18. Elabore un algoritmo que solicite un número entero y diferente a cero, eindique si es par.
Solución:
DATOS
Identificadores
EntradaNúmero Entero NE
IntermedioCociente Entero QResiduo R
SalidaMensaje MSG
InicioLeer NEQ = NE / 2R = NE – (Q * 2)SI (R = 0) ENTONCES
MSG = “Es Par” SINO
MSG = “Es Impar” FIN_SI
Escribir MSGFin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 28/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
23
PROCESOS REPETITIVOS
Aquellas que se desarrollan en forma repetitiva un número determinado de
veces.
Procesos Cíclicos Finitos; Se conoce el número de repeticiones a realizar, secontrolan definiendo un intervalo para un contador de ciclos.
PARA <Contador> <Valor Inicial> A <Valor Final>
Instrucción
FIN_PARA
19. Elabore un algoritmo que contenga los número pares del 1 al 10
Solución:
DATOS
Identificadores
IntermedioContador K
Salida
Número N
InicioN = 2Escribir NPARA K = 1 A 4
N = N + 2Escribir N
FIN_PARAFin
N K
2 Número ya Mostrado4 16 28 310 4
El orden de las instrucciones genera casos diferentes.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 29/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
24
20. Elaborar un algoritmo que permita mostrar el sueldo promedio de un grupo deempleados.
Solución:
DATOS
Identificadores
EntradaSueldo del Empleado SENúmero de Empleados NE
IntermedioContador KSuma de Sueldos SS
SalidaSueldo Promedio SP
InicioLeer NESS = 0PARA K = 1 A NE
Leer SESS = SS + SE
FIN_PARASP = SS / NEEscribir SP
Fin
Que les parece esto de Procesos Repetitivos, seguro que fácil, les explicoun poco lo que hace este algoritmo, primero tenemos que saber cuantos sueldosde empleados van a ingresar, es por eso que le pedimos ingresar el numero deempleados (NE), después teniendo el número de empleados empezamos a pedirel monto de sueldo de cada empleado (SE), y cada vez que ingrese un nuevosueldo, lo sumaremos con los sueldos anteriores que hayan ingresado, hastallegar el numero indicado de empleados, y al final lo dividimos la suma de todoslos sueldos de todos los empleados (SS) entre en número de empleado (NE), yobtendremos al fin el promedio de sueldos del numero de empleados que hayaingresado el usuario (SP), por ejemplo, el usuario ingresa el número deempleados que va ingresar el sueldo de estos, supongamos que sea 10
empleados (NE), lo que hace el algoritmo es iniciar la suma de sueldos en valornulo o mejor dicho cero (SS = 0) y luego hará la contabilización, mejor dicho elusuario va a tener que ingresar 10 sueldos de 10 empleados, y este a la ves seirán sumando (SS = SS + SE), después de ingresar todos los sueldo, se seguirá acalcular el promedio de sueldos( SP = SS / NE), que va a ser la suma de sueldos(SS) dividido entre 10.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 30/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
25
21. Elaborar un algoritmo que solicite la edad de 200 personas, y que muestrecuantos son mayores y menores de edad hay.
Solución:
DATOS
Identificadores
EntradaEdad de Persona EP
SalidaMayores MAYMenores MEN
IntermedioContador K
InicioMEN = 0MAY = 0PARA K = 1 A 200
Leer EPSI EP < 18 ENTONCES
MEN = MEN + 1SINO
MAY = MAY + 1FIN_SI
FIN_PARA
Escribir MAYEscribir MENFin
22. Elaborar un algoritmo que solicite 2 número enteros y muestre su productopor el método de sumas sucesivas.
Solución:
DATOS
Identificadores
EntradaPrimer Número PNSegundo Número SN
IntermedioContador K
SalidaProducto P
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 31/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
26
InicioLeer PNLeer SNP = 0
PARA K = 1 A SNP = P + PNFIN_PARAEscribir P
Fin
Antes de seguir con el siguiente ejercicio, veremos algo muy interesante.
PARA <Contador> <Valor Inicial> A <Valor Final>
Instrucción
Reiniciar Ciclo (Suspende las Instrucciones siguiente del bucle yAvanza a la nueva repetición)
Instrucción
Terminar Ciclo (Termina las instrucciones sin regresar al siguienteBucle)
Instrucción
FIN_PARA
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 32/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
27
23. Elaborar un algoritmo que muestre 10 números enteros a partir de 1 exceptolos pares.
Solución:
DATOS
Identificadores
IntermedioCociente QResiduo RContador K
InicioPARA K = 1 A 10
Q = k / 2R = k – (Q * 2)SI (R = 0) ENTONCES
Reiniciar CicloSINO
Escribir NFIN_SI
FIN_PARAFin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 33/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
28
ESTRUCTURAS REPETITIVAS
Cuando no se conoce el número de ciclo a realizar. Se debe prever que las
expresiones lógicas llegue a ser falsa en algún momento, sino este llegaría aformar un LOOP (Proceso repetitivo infinito que nunca termina, se da cuando laexpresión lógica de control nunca llega a ser falsa)
MIENTRAS <Condición Lógica>
Instrucción
FIN_MIENTRAS
MIENTRAS <Condición Lógica>Instrucción
Reiniciar Ciclo (Suspende las Instrucciones siguiente del bucle yAvanza a la nueva repetición)
Instrucción
Terminar Ciclo (Termina las instrucciones sin regresar al siguienteBucle)
Instrucción
FIN_MIENTRAS
Las instrucciones se realizan, siempre y cuando la lógica sea verdadera, encaso contrario, por no decir si llega a ser falsa, esta dará por terminado elalgoritmo o mejor dicho el programa.
24. Elabore un algoritmo que muestre los términos de la serie que sean menores a1000.
1, 2, 5, 26
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 34/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
29
Solución:
DATOS
Identificadores
IntermedioSerie S
InicioMIENTRAS (S < 1000)
Escribir SS = (S ^ 2)+ 1
FIN_MIENTRASFin
25. Elaborar un algoritmo que solicite ingresar letras hasta que este ingrese unavocal.
Solución:
DATOS
Identificadores
EntradaLetras L
Salida
Semáforo (Bandera) SEMAF
InicioSEMAF = “V” MIENTRAS (SEMAF = “V” )
Leer LEN CASO L SEA
CASO “A” o “a” SEMAF = “R”
CASO “E” o “e” SEMAF = “R”
CASO “I” o “i”
SEMAF = “
R”
CASO “O” o “o” SEMAF = “R”
CASO “U” o “u” SEMAF = “R”
OTRO CASO SEMAF = “V”
FIN_CASOFIN_MIENTRAS
Fin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 35/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
30
26. Elabore un algoritmo que muestre los términos de la serie Fibonacci que seanmenores a 100000.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34…
.
Solución:
DATOS
Identificadores
IntermedioPrimer Número ASegundo Número BTercer Número C
InicioA = 0B = 1C = A + BEscribir AEscribir BMIENTRAS (C < 100000)
Escribir CA = BB = CC = A + B
FIN_MIENTRAS
Fin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 36/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
31
TIPOS DE DATOS
A nivel de algoritmo, lo básico es definir el tipo de dato, los siguientes tipos
de datos son los siguientes:
! Numéricos; Dígitos, cifras (Números reales)! Carácter; un símbolo que el computador puede reconoces (Letras, dígitos,
signos de puntuación, símbolos), representan un texto (no se utilizan enoperaciones matemáticas)
! Booleana; un valor lógico que puede ser verdadero (V) o falso (F).
27. Elaborar un algoritmo que solicite 2 números enteros y un operador aritméticoy luego debe de mostrar el resultado de la operación correspondiente.
“+” Suma “- “ Resta “*” Multiplicación “^” Potencia
Solución:
DATOS
Identificadores Tipo de Dato
EntradaPrimer Número N1 NuméricoSegundo Número N2 NuméricoOperador OP Carácter
SalidaResultado R Numérico
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 37/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
32
InicioLeer N1Leer N2Leer OP
EN CASO OP SEA CASO “+” R = N1 + N2
CASO “-” R = N1 – N2
CASO “*” R = N1 * N2
CASO “^” R = N1 ^ N2
OTRO CASO R = 0
FIN_CASOEscribir R
Fin
28. Elaborar un algoritmo que permita ingresar 10 letras cualquiera, y luego nosindique al final cuantas vocales y consonantes se ingresaron.
Solución:
DATOS
Identificadores Tipo de Dato
EntradaLetra L Carácter
IntermedioContador K Numérico
SalidaNumero de Vocales NV NuméricoNúmero de Consonantes NC Numérico
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 38/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
33
InicioNV = 0NC = 0PARA K = 1 A 10
Leer LEN CASO L SEA CASO “A” o “a”
NV = NV + 1CASO “E” o “e”
NV = NV + 1CASO “I” o “i”
NV = NV + 1CASO “O” o “o”
NV = NV + 1CASO “U” o “u”
NV = NV + 1OTRO CASO
NC = NC + 1FIN_CASO
FIN_PARAFin
29. Elaborar un algoritmo para obtener el resultado del escrutinio en laselecciones del delegado del aula I – B - 10, considerar que hay 60 electores yse han presentado 3 candidatos, todos votaron, el algoritmo debe de declaraal ganador por mayoría simple.
Solución:
DATOS
Identificadores Tipo de Dato
EntradaVoto del Elector VE Numérico
IntermedioContador K NuméricoCandidato 1 C1 Numérico
Candidato 2 C2 NuméricoCandidato 3 C3 NuméricoVoto Nulo o Blanco C0 Numérico
SalidaGanador G Numérico
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 39/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
34
InicioC1 = 0C2 = 0C3 = 0
C0 = 0PARA K = 1 A 60Leer VEEN CASO VE SEA
CASO 1C1 = C1 + 1
CASO 2C2 = C2 + 1
CASO 3C3 = C3 + 1
OTRO CASO C0 = C0 + 1
FIN_CASOFIN_PARASI (C1 > C2) y (C1 > C3) y (C1 > C0) ENTONCES
G = C1SINO
SI (C2 > C3) y (C2 > C0) ENTONCESG = C2
SINOSI (C3 > C0) ENTONCES
G = C3SINO
G = C0FIN_SI
FIN_SIFIN_SI
Escribir GFin
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 40/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
35
DIAGRAMA DE FLUJO
Representación simbólica de algoritmos.
Símbolo Descripción
Terminal: Indica el inicio o fin delalgoritmo
Asignación (procesos oinstrucciones que realizará elalgoritmo)
Lectura (ingreso de datos)
Escritura (Muestra los resultados oel mensaje deseado por elprogramador)
Condición Simple (SI), CondiciónMúltiple (EN CASO)
Repetición Finitas (PARA yMIENTRAS)
Termino: Indica el termino de unarepetición finita (PARA yMIENTRAS)
Flechas de dirección
Conectores
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 41/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
36
30. Elaborara un algoritmo que solicite 2 números y muestre el promedio deambos.
31. Elaborara un algoritmo que solicite 3 números enteros y muestre un mensajeindicando si forma una Terna Pitagórica.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 42/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
37
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 43/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
38
32. Elabora un algoritmo que solicite un número entero y muestre el nombre delmes correspondiente. Ejemplo: Enero = 1.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 44/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
39
33. Elabore un algoritmo que permita ingresar un número entero diferente a ceroy muestre sus divisores.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 45/323
Lenguaje de Programación – Capitulo I
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
40
Bueno, ya llegamos al final de esta primera entrega, que se llama,Lenguaje de Programación, Programando con Visual Basic .Net 2005, como sehabrán dado cuenta, no es nada difícil, así que solo les recomiendo que repasentodos lo que les he explicado y hemos hecho en este primer capitulo, por ejemplo
pueden hacer todos los diagramas de flujo de los ejercicios del 1 al 29, para queaprendan sobre diagramas de flujo, bueno en realidad a mi no me gusta elmétodo de solución de algoritmos, que es mediante diagramas de flujo, prefiero elpseudocódigo, lo veo mas fácil de entender, bueno les voy adelantando lo que lestengo preparado para el segundo capitulo.
! Introducción a Visual Studio .Net 2005! Framework .Net 2! Elementos de la Programación! Introducción a la Programación de la Aplicación de Consola en VB 2005! Resolveremos los primeros 8 ejercicios que hemos hecho en pseudocódigo
en este capitulo, y unos ejercicios nuevos, para que terminen de entender
Como se han dado cuenta es casi pura teoría lo que tocaremos el siguientecapitulo, se que es tedioso la teoría pero creedme que es necesario, y ademásvan a entender y a saber para que esta hecho este nuevo Visual Basic .Net 2005.Así que ya nos veremos hasta la próxima entrega, si no pasa algún inconvenientelo estaré publicando el día 17 de enero del próximo año. Así que Feliz Navidad yUn Prospero Año Nuevo 2006, y no tomen mucho okis. Byes
Joel Martin Chuco [email protected]
Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú
! Cuenta en Soles:
067-3008573552
! Cuenta en Dólares:
067-3008573560
www.interbank.com.pe
Lima, 26 de Diciembre de 2005
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 46/323
Capitulo II
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 47/323
INDICE
CAPITULO II
Microsoft .Net 01
Microsoft .Net FrameWork 01
La Plataforma Microsoft .Net 02
El Marco .Net 02
Los Bloques de Servicios .Net 02
Visual Studio .Net 02
Servidores Empresariales .Net 02
Marco .Net 03
¿Qué es el Marco .Net? 03
Componentes del Marco .Net 03
Common Language Runtime (CLR) 03
Librerías de Clases del Marco .Net 04
ADO .Net: Datos y XML 04
ASP .Net: Formularios y Servicios Web 04
Terminología usada en el Marco .Net 04
Visual Studio .Net 2005 05
¿Qué es el Visual Studio .Net? 05
Ventajas de usar MS Visual Studio .Net 05
Lenguajes de la Plataforma .Net 05
Administración de Ventanas 05
Diseñadores 05
Herramientas de Bases de Datos 06
Introducción a Visual Basic .Net 2005 07
Lo nuevo en Visual Basic .Net 2005 07
Extensión de los ficheros de código. 07
Tipos de ejecutables. 08
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 48/323
Lenguaje de Programación – Capitulo II
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
MICROSOFT .NET
Microsoft.Net es una nueva tecnología que responde a la necesidad de
comunicación total entre negocios de sistemas heterogéneos y con gran capacidadde procesamiento.
Microsoft .Net proporciona todas las herramientas y tecnologías paraconstruir Aplicaciones Web Distribuidas usando protocolos Web estándares talescomo HTTP (HiperText Transfer Protocol), XML (extensible Markup Lnguage) ySOAP (Simple Object Access Protocol).
Las aplicaciones creadas en la plataforma :net podrán ser usadas por ungran número de clientes, tales como PC, PC de bolsillo (Palm PC), celularesdigitales, PC de juegos (PC Games), PC de auto (Auto PC), PC Televisor (UltimateTV), etc.
MICROSOFT .NET FRAMEWORK
Lo que se dice en el eBook Microsoft .NET Framework.
".NET Framework es un entorno para construir, instalar y ejecutar servicios Web yotras aplicaciones. Se compone de tres partes principales: el Common LanguageRuntime, las clases Framework y ASP.NET"
Lo que dice el MSDN Library.
"El .NET Framework es un entorno multi-lenguaje para la construcción, distribucióny ejecución de Servicios Webs y aplicaciones."
"El .NET Framework es una nueva plataforma diseñada para simplificar el desarrollode aplicaciones en el entorno distribuido de Internet."
"El .NET Framework consta de dos componentes principales: el Common LanguageRuntime y la librería de clases .NET Framework."
El .NET Framework es el corazón de .NET, cualquier cosa que queramoshacer en cualquier lenguaje .NET debe pasar por el filtro cualquiera de las partesintegrantes del .NET Framework.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 49/323
Lenguaje de Programación – Capitulo II
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
LA PLATAFORMA MICROSOFT .NET
La plataforma Microsoft .NET es un conjunto de tecnologías diseñadas paratransformar el Internet, a que este sea completamente escalable. Esto proporciona
nuevas formas de construir aplicaciones a partir de las colecciones de ServiciosWeb.
La plataforma Microsoft .NET está compuesta por:
! El Marco .Net! Los Bloques de Servicios .Net! Visual Studio .Net! Los Servidores Empresariales .Net
El Marco .Net
Es la parte principal de la plataforma .Net. Esta formado por un compiladorcomún (CLR) y un conjunto de componentes utilizados por los lenguajes de VisualStudio .Net
Los Bloques de Servicios .Net
Son un conjunto de servicios Web que permiten la integración entre losusuarios y las aplicaciones clientes. Actualmente, Microsoft tiene construidos dosservicios.
! Microsoft Passport! Microsoft Hailstorm
Visual Studio .Net
Visual Studio .Net proporciona un entorno de desarrollo de alto nivel paraconstruir aplicaciones basadas en el Marco .Net. Esta tecnología permite simplificarla creación, distribución y evolución continua de aplicaciones Windows, aplicacionesWeb y servicios Web que sean seguras y escalables.
Servidores Empresariales .Net
Estos servicios proporcionan escalabilidad, fiabilidad, administración eintegración entre soluciones, entre los principales tenemos:
! Microsoft Windows 2000 Server! Microsoft SQL Server 2000! Microsoft Biz Talk Server 2000! Microsoft Host Integration! Microsoft Exchange 2000 Enterprise Server! Microsoft Application Center 2000! Microsoft Internet Security and Acceleration Server 2000! Microsoft Commerce Server 2000
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 50/323
Lenguaje de Programación – Capitulo II
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
MARCO .Net
¿Qué es el Marco .Net?
Es la parte central de la plataforma Microsoft .Net y consiste en uncompilador común llamado CLR (Comon Language Runtime).
Componentes del Marco .Net
! ASP .Net: Formularios Web Servicios Web! Windows Form: Interfaz de usuario! ADO .Net: Daros y XML! Librería de clases del Marco .Net! Lenguaje Común en tiempo de ejecución (CLR)
Common Language Runtime (CLR)
Conocido como el lenguaje común en tiempo de ejecución. Es el Runtime común que soportan todos los lenguajes del Marco .Net y que realiza la mayorparte de las funciones para que corran las aplicaciones .Net. Es el que se encargade compilar y ejecutar una aplicación. Principales tareas del CLR:
! Cargar las clases y administrar la metadata! Convierte el lenguaje intermedio Microsoft a código nativo! Administra la ejecución del código! Administra automáticamente objetos! Soporte de Thread, control de errores, etc.
En otras palabras:
El Common Lenguage Runtime (CLR) es una serie de librerías dinámicas (DLLs),también llamadas assemblies, que hacen las veces de las DLLs del API de Windowsasí como las librerías runtime de Visual Basic o C++. Cualquier ejecutable dependede una forma u otra de una serie de librerías, ya sea en tiempo de ejecución comoa la hora de la compilación. Pues el CLR es eso, una serie de librerías usadas entiempo de ejecución para que nuestros ejecutables o cualquiera basado en .NETpuedan funcionar. Se acabó eso de que existan dos tipos de ejecutables: los queson autosuficientes y no dependen de librerías externas o los que necesitan delibrerías en tiempo de ejecución para poder funcionar, tal es el caso de lasversiones anteriores de Visual Basic. Por otro lado, la librería de clases de .NETFramework proporciona una jerarquía de clases orientadas a objeto disponibles
para cualquiera de los lenguajes basados en .NET, incluido el Visual Basic. Tambiénpermite crear Threads o hilos o tramas de ejecución y otras cosas que antes nosestaban vetadas
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 51/323
Lenguaje de Programación – Capitulo II
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
Librerías de Clases del Marco .Net
Conjunto de clases comunes. Unifica los diferentes marcos existentes: APIs,MFC, WFC, VB y VBA. La clase base principal se llama System.
ADO .Net: Datos y XML
ADO .Net proporciona soporte mejorado para el modelo de programacióndesconectada. ADO .Net también proporciona un amplio soporte XML.
ASP .Net: Formularios y Servicios Web
ASP .Net es un marco de programación, incorporable en el CLR y puedeconstruir aplicaciones Web potentes.
Terminología usada en el Marco .Net
CTS: Sistema de Tipos Común, tipos de datos y estructuras iguales en cualquierlenguaje.
CLS: Especificación en lenguaje común, conjunto de normas que deben cumplir lasDLLs.
MSIL: Lenguaje intermedio de Microsoft, código semicompilado independiente delCPU
Datos y Código Administrado: Cuando se utiliza características del Marco .Net.
Assemblies: Un Assemblie es uno o mas archivos EXE y/o DLLs en que sedistribuye una aplicación.
NameSpace: Un NameSpace es un nombre lógico donde se encuentra uncomponente.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 52/323
Lenguaje de Programación – Capitulo II
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
VISUAL STUDIO .NET 2005
¿Qué es el Visual Studio .Net?
Visual Studio .Net es una herramienta rápida de desarrollo para crearaplicaciones usando el Marco .Net, CLR, la librería de clases, ADO .Net, ASP .Net,etc. Visual Studio .Net permite la integración y el uso cruzado de los lenguajes deprogramación .Net de Microsoft.
Ventajas de usar MS Visual Studio .Net
! Creación de páginas Web mediante formularios Web.! Creación de Servicios Web XML!
Lenguajes de la Plataforma .Net
La plataforma .Net es neutral con respecto al lenguaje de programación yadmite prácticamente cualquiera de ellos, trae siguientes beneficios:
! Código rehusable y compartido.! Acceso a APIs.! Herencia cruzada entre lenguajes.! Manejo de errores cruzado entre lenguajes.
Administración de Ventanas
! Auto Ocultar: Nueva característica que permite ocultar una ventanaautomáticamente permitiendo liberar espacio en el IDE.
! Ventana Acopladas: Al igual que en el VB 6, esta característica permiteacoplar la ventana, las cuales estarán fijas en el IDE.
! Fichas de Documentos: Nueva característica que permite un acceso rápidoa las ventanas a través de las fichas que aparecen en la parte superior deleditor.
! Ventana de Ayuda Rápida. Nueva característica que permite mostrar enuna ventana todos los temas relacionados al elemento donde se encuentreel cursor.
Diseñadores
! Windows Form Designer: Se muestra al crear un proyecto WindowsApplication o Windows Control Library habilitando los controles Windows enel ToolBox.
! Web Form Designer: Se muestra al crear un proyecto ASP .Net WebApplication habilitando los controles para Web Form y los controles HTML enel ToolBox para diseñar una página Web.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 53/323
Lenguaje de Programación – Capitulo II
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
! Component Designer: Se muestra al crear un proyecto Class Library oWindows Service habilitando los controles Windows en el ToolBox, creandouna interfase rehusable desde otra aplicación.
! Web Service Designer: Se muestra al crear un proyecto Web Service
habilitando los controles Windows, Components, etc.! Server Explorer: Es una excelente herramienta que permite acceder a
bases de datos, administrar Servidores, Servicios Web, Aplicaciones COM+,etc.
! Data Adapter Wizard: Es un asistente que permite crear un objetoDataAdapter el cual es un comando con el cual se podrá generar un conjuntode registros o DataSet .
Herramientas de Bases de Datos
! Query Designer: Es un diseñador de consultas SQL de manera sencillaarrastrando tablas y eligiendo los campos que se verán.
! Database Project: Es un tipo de plantilla de proyecto que sirve para
trabajar con una base de datos, para lo cual debe de existir una conexióncon un origen de datos. Estos proyectos permiten administrar una base dedatos.
! Editor de Script: Es una herramienta que permite administrar bases dedatos remotas como SQL Server, Oracle, etc. Permite definir el Script paracrear tablas, consultas, vistas, etc.
! Depurador de Procedimientos Almacenados. Permite realizarseguimientos paso a paso de los Stores Procedures, permitiendo un mayorcontrol y seguimiento de errores.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 54/323
Lenguaje de Programación – Capitulo II
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
INTRODUCCIÓN A VISUAL BASIC .NET 2005
Visual Basic .Net es uno de cuatro lenguajes .Net que provee Microsoft parala construcción de lo último en componentes, aplicaciones y servicios. Con estanueva versión, los desarrolladores pueden construir todas las aplicaciones de ASP.Net para servicios Web XML.
Lo nuevo en Visual Basic .Net 2005
Visual Basic .Net ofrece numerosas características nuevas y mejoradas,como herencia, interfaces y sobrecarga, la palabra clave Overrides, miembroscompartidos y constructores, que lo convierten en un eficaz Lenguaje de
Programación orientado a objetos. Ahora se puede crear aplicacionesmultiproceso y escalables utilizando subprocesamiento múltiple explícito. Otracaracterística nueva de Visual Basic .Net incluye el control estructurado deexcepciones, atributos personalizados y compatibilidad con CLS (CommonLanguage Specification, Especificación de Lenguajes Común.
También se incluyen el control estructurado de excepciones, delegados yvarios tipos de datos nuevos. Visual Basic .Net 2005 tiene nuevas funciones quesimplifican la manipulación del bits y la declaración de variables de bucle. Con estanueva versión, los desarrolladores pueden construir todas las aplicaciones ASP .Netpara servicios Web XML.
Características:
! Con Visual Basic se podrá diseñar dos tipos de aplicaciones: Aplicacionespara Windows y Aplicaciones para Internet.
! El acceso de datos será usando ADO .Net el cual nos permitirá trabajar conDataSers desconectados.
Extensión de los ficheros de código.
En Visual Basic .NET a diferencia de lo que ocurría en las versionesanteriores de Visual Basic, sólo existe un tipo de fichero de código, el cual tiene laextensión .vb, en este tipo de fichero pueden coexistir distintos tipos de elementos,por ejemplo: un módulo de clase, un formulario, un módulo de código, un control,
etc.; mientras que en las versiones anteriores de Visual Basic, cada uno de estoselementos tenían su propio tipo de fichero con su respectiva extensión.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 55/323
Lenguaje de Programación – Capitulo II
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
Tipos de ejecutables.
Con Visual Basic .NET puedes crear básicamente estos dos tipos deejecutables: de consola, no gráfico, al estilo del viejo MS-DOS, y gráficos, como losque normalmente estamos acostumbrados a ver en Windows. Existen otros tipos deaplicaciones que se pueden crear con Visual Basic .NET: aplicaciones ASP.NET,(realmente no es una aplicación o ejecutable, sino un compendio de distintos tiposde elementos...), servicios Web, servicios Windows, etc.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 56/323
Capitulo III
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 57/323
INDICE
CAPITULO III
Visual Basic .Net 2005 01
¿Por qué Visual Basic? 02
¿Por qué Console Application y no Windows Application? 02
IDE de Visual Basic .Net 2005 03
Tipos de Datos del Visual Basic .Net 2005 06
Console 09
Read 09
ReadLine 09
Write 09
WriteLine 09
Ámbito de Variables 10
Dim 10
Static 10
Private 10
Public 11
Constantes 11
Creación de un Proyecto de Consola de Aplicación 11
Solución del Ejercicio 01 13
Errores de Ejecución 15
Solución del Ejercicio 02 17
Solución del Ejercicio 03 19
Solución del Ejercicio 04 20
Solución del Ejercicio 05 21
Clase Math 22
Campos Públicos 22
Métodos Públicos 22
Solución del Ejercicio 06 23
Solución del Ejercicio 07 24
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 58/323
Solución del Ejercicio 08 25
Ejercicio Propuesto 25
Despedida 26
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 59/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
VISUAL BASIC .NET 2005
Primero veremos como ingresar al Visual Basic .Net 2005, lo único que
tienen que hacer es lo que ven en la imagen y darle clic en donde estaseleccionada.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 60/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
¿Por qué Visual Basic?
La respuesta es muy sencilla, el Visual Basic te permite realizar unos buenosdiseños en tus programas, además de que el programa que realices en Visual Basic
se podrá correr (ejecutar) en casi todos los sistemas operativos de la Microsoft, y lomejor, bueno a mi opinión, es mucho mas fácil de realizar los códigos, ya que tieneuna ayuda de auto complementar.
¿Por qué Console Application y no Windows Application?
Utilizamos la Console Applicatión (Consola de Aplicación) por que ustedes,los que tienen deseos de aprender, les será mas fácil de aprender la lógica que vana necesitar para resolver cualquier algoritmo que se les presente, y además por quecasi todos los códigos que vamos a usar en la Console Application, lo vamos a usaren Windows Application. Bueno, no uso el Windows Application para comenzar aprogramar, por que me parece que les enseñaría a manejar moto sin sabermanejar bicicleta, me entienden no?, de lo que habla?, en otras palabras, si no
aprenden a ver como uno puede capturar y mostrar datos mediante código y nomediante unos controles, al principio les seria mas fácil, pero conforme avancemosno les va a quedar en claro, y es por eso que uso primero Console Application, perono se preocupen, que solo lo vamos a usar unos cuantos capítulos nomás, okis.
! En Visual Studio .Net 2005 existe un ambiente de trabajo o IDE (IntegratedDevelopment Environment = Ambiente Integrado de Desarrollo) el cual permite trabajar con el Visual Basic, Visual C#, Visual J# y Visual C++, elque permite diseñar las interfaces gráficas de usuario de una o masaplicaciones, es decir el que se puede crear formularios que contengan aotros formularios u objetos diversos como los TextBox, ComboBox, etc.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 61/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
IDE DE VISUAL BASIC .NET 2005
Primero veremos la pantalla de presentación del Visual Basic 2005 y seguidoveremos el Ambiente de Desarrollo.
Bueno como se dan cuenta, yo voy a utilizar el Visual Basic 2005 en Ingles,ya que todavía la versión en español esta en versión Beta 2, así que va a teneralgunos cambios, en cambio con la versión en ingles, la versión que yo utilizo es lafinal, wueno si no tienes Money (Dinero) para comprar la versión original, le haríauna sugerencia de descargarse la versión de evaluación, para que puedanaprender, aunque les dure unos 60 a 90 días, pero antes se tienen que inscribir enel MSDN de la Microsoft para poder descargarlo en Imágenes de CD (*.ISO), paraque lo puedan grabar en CD y llevárselos a su casa. Eso solo es una sugerencia,okis.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 62/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
Ahora veremos el medio ambiente desarrollo de Visual Basic .Net 2005.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 63/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
1. Barra de Titulo
2. Barra de Menús
3. Barra editor de Distribución
4. Explorador de Solución
5. Pantalla de Propiedades
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 64/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
TIPOS DE DATOS DEL VISUAL BASIC .NET
Tipo de
Visual Basic
Tipo en CLR
(Framework)
Espacio dememoria
que ocupa
Valores que se puedenalmacenar
y comentarios Boolean System.Boolean 2 bytes Un valor verdadero o falso.
Valores: True o False.
En VB se pueden representar por -1 o 0, en CLR serán 1 y 0, aunqueno es recomendable usar valoresnuméricos, es preferible usarsiempre True o False.Dim b As Boolean = True
Byte System.Byte 1 byte Un valor positivo, sin signo, paracontener datos binarios.Valores: de 0 a 255
Puede convertirse a: Short,Integer, Long, Single, Double oDecimal sin recibir overflow
Dim b As Byte = 129
Char System.Char 2 bytes Un carácter Unicode.Valores: de 0 a 65535 (sin signo).
No se puede convertir directamentea tipo numérico. Para indicar queuna constante de cadena,realmente es un Char, usar la letraC después de la cadena: Dim c AsChar = "N"c
Date System.DateTime 8 bytes Una fecha.Valores: desde las 0:00:00 del 1 deEnero del 0001 hasta las 23:59:59del 31 de Diciembre del 9999.
Las fechas deben representarseentre almohadillas # y por lohabitual usando el formatonorteamericano: #m-d-yyyy# Dimd As Date = #10-27-2001#
Decimal System.Decimal 16 bytes Un número decimal.Valores: de 0 a +/-79,228,162,514,264,337,593,543,950,335 sin decimales;de 0 a +/-7.9228162514264337593543950335 con 28 lugares a la derecha deldecimal;el número más pequeño es:
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 65/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
+/-0.0000000000000000000000000001 (+/-1E-28).
En los literales se puede usar laletra D o el signo @ para indicar
que el valor es Decimal.Dim unDecimal As Decimal =9223372036854775808DDim unDecimal2 As Decimal =987654321.125@
Double System.Double 8 bytes Un número de coma flotante dedoble precisión.Valores: de -1.79769313486231570E+308 a-4.94065645841246544E-324 paravalores negativos; de4.94065645841246544E-324 a1.79769313486231570E+308 para
valores positivos.
Se puede convertir a Decimal sinrecibir un overflow. Se puede usarcomo sufijo el signo almohadilla #o la letra R para representar unvalor de doble precisión:Dim unDoble As Double =125897.0235RDim unDoble2 As Double =987456.0125#
Integer System.Int32 4 bytes Un número entero (sin decimales)Valores:
de -2,147,483,648 a2,147,483,647.
Se puede convertir a Long, Single,Double o Decimal sin produciroverflow. Se puede usar la letra I oel signo % para indicar que es unnúmero entero:Dim unEntero As Integer =250009IDim unEntero2 As Integer =652000%
Long (entero largo)
System.Int64 8 bytes Un entero largo (o grande)Valores: de -9,223,372,036,854,775,808 a9,223,372,036,854,775,807.
Se puede convertir a Single,Double o Decimal sin produciroverflow.Se puede usar la letra L o el signo& para indicar que es un número
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 66/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
Long:Dim unLong As Long = 12345678LDim unLong2 As Long =1234567890&
Object System.Object (class)
4 bytes Cualquier tipo se puede almacenaren una variable de tipo Object.
Todos los datos que se manejan en.NET están basados en el tipoObject.
Short (entero corto)
System.Int16 2 bytes Un entero corto (sin decimales)Valores: de -32,768 a 32,767.
Se puede convertir a: Integer,Long, Single, Double o Decimal sin producir un overflow. Se puedeusar la letra S para indicar que esun número entero corto:Dim unShort As Short = 32000S
Single System.Single 4 bytes Número de coma flotante deprecisión simple.Valores: de -3.4028235E+38 a -1.401298E-45 para valores negativos;de 1.401298E-45 a3.4028235E+38 para valorespositivos.
Se puede convertir a: Double oDecimal sin producir overflow. Sepueden usar la letra F y el símbolopara indicar que es un número
Single:Dim unSingle As Single = 987.125FDim unSingle2 As Single =65478.6547!
String (cadenas delongitudvariable)
System.String (clase)
Depende delaplataforma
Una cadena de caracteres Unicode.Valores: de 0 to aproximadamente 2billones (2^31) de caracteresUnicode.
Se puede usar el símbolo $ paraindicar que una variable es unString.
Tiposdefinidos porel usuario (estructuras)
(heradada deSystem.ValueType) Depende delaplataforma
Cada miembro de la estructuratiene su rango, dependiendo deltipo de dato que representa.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 67/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
9
Ya vimos los tipos de dato que soporta el Visual Basic, así que antes deseguir, vamos a ver las palabras reservadas y que funciones vamos a utilizar paracapturar y mostrar datos.
Console
Esta es la clase que vamos a utilizar, ya que aquí se encuentra las funcionespara capturar y mostrar datos. Por ahora vamos a utilizar las siguientes funciones.
Read , nos captura o lee el dato que el usuario ingresa.
Variable = Console.Read
ReadLine, nos captura o lee el dato que el usuario ingresa, pero a la vez hace uncambio de línea al terminar de leer el dato.
Variable = Console.ReadLine
Write, nos permite mostrar ya sea una cadena (texto) o un dato numérico(número).
! Para mostrar texto y datos calculados o capturadosConsole.Write( “Texto a Mostrar {0},{1},{2},…, {n}” , Var0, Var1, Var2,…, Varn)
! Para mostrar textoConsole.Write( “Texto a Mostrar “)
WriteLine, nos permite mostrar ya sea una cadena (texto) o un dato numérico(número), y a la vez hace un cambio de línea, después de haber mostrado el dato.
! Para mostrar texto y datos calculados o capturadosConsole.WriteLine( “Texto a Mostrar {0},{1},{2},…, {n}” , Var0, Var1, Var2,…, Varn)
! Para mostrar textoConsole.WriteLine( “Texto a Mostrar “)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 68/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
10
! Como se habrán dado cuenta, que en la función Write y WriteLine, seguido deltexto que deseamos mostrar pongo {0}, {1} etc. Pues lo pongo por que paramostrar una variable o un dato seguido del texto que muestro por ejemplo: sideseo mostrar el siguiente texto, seguido de la variable N que contiene unnúmero digamos que 13, deberíamos de escribir el siguiente código.
Console.WriteLine("El Valor de la Variable N es : {0}", N)
Y lo que nos mostrara en pantalla seria lo siguiente
El Valor de la Variable N es : 13
Así que lo deben de tener en claro, que por cada variable o dato quequeremos mostrar después del texto que mostramos, tendremos que agregar {0},en donde el 0 indica que numero de dato se va mostrar, mejor dicho lo convierte enun array y este muestre el valor del array comenzando del 0, así que si queremosmostrar 5 datos después del texto tendremos que escribir {0}, {1},{2}, {3}, {4},y si queremos mostrar tres datos después del texto tendremos que escribir desde el
0 al 2, espero que les halla quedado en claro, jejejeje, bueno seguiremos con losconceptos.
AMBITO DE VARIABLES
El ámbito indica en que lugar de la aplicación desea utilizar la variable ypuede ser una de las siguientes palabras claves. Dim, Static, Private o Public.
Dim: Se puede utilizar a nivel de procedimiento y a nivel del formulario. Si se
declara una variable a nivel de procedimiento con la palabra Dim, Visual Basicreinicializa (borra su contenido) la variable cada vez que ejecuta el procedimiento.
Ejemplo:
Dim a As Integer
Static: Se utiliza solo a nivel del procedimiento. Cuando una variable se declaracon la palabra Static , Visual Basic no reinicializa la variable cada vez que se ejecutael procedimiento, solo lo hace la primera vez. Esto quiere decir que la variableconserva su valor entre una llamada al procedimiento y otra.
Ejemplo:
Static b As Double
Private: Se utiliza solo a nivel del modulo e indica que la variable es privada; esdecir, solo va a ser reconocida dentro del módulo donde ha sido declarada.
Ejemplo:
Private c As String
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 69/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
11
Public: Se utiliza solo a nivel de módulo e indica que la variable es pública; esdecir, va a ser reconocida en toda la aplicación.
Public d As Date
CONSTANTES
Es un elemento con un nombre determinado que mantiene un valorconstante durante el desarrollo de todo el programa el cual no se puede cambiar.Las constantes se definen con la instrucción Const por ejemplo:
Const e = 10
Nota: La definición de las constantes puede empezar con las palabras Public oPrivate. Para que sean públicas o privadas. Por defecto son privadas.
CREACIÓN DE UN PROYECTO DE CONSOLA DEAPLICACIÓN
El primer paso para crear una consola de aplicación, es crear un proyecto deConsole Application de Visual Basic. Para hacer esto, siga estos pasos:
1. ingresar a Microsoft Visual Basic .Net. En la barra de estado haga clic en elbotón Inicio y luego en la opción Todos los Programas y de clic enMicrosoft Visual Basic 2005 Express Edition.
2. Dentro del visual Basic tenemos dos formas para crear un nuevo proyecto,la primera es:
! File -> New Project
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 70/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
12
! Y de la otra forma es mediante Start Page (página de Inicio), le damosclic en Create Project.
3. Luego nos aparecerá la ventana de New Project (Nuevo Proyecto), despuésintroduciremos el nombre de Ejecicio01, Visual Basic proporciona una rutapredeterminada para el ensamblado de los archivos peo se puede cambiarhaciendo clic en el botón Browser, bueno eso lo haremos cuando guardemosel archivo. Por ahora vamos seleccionaremos el icono de ConsoleApplication y le ponemos el nombre que ya les dije.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 71/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
13
4. Al dar clic en OK nos aparecerá la ventana de código del modulo queacabamos de crear, el modulo tendrá el nombre de Module1, así que locambiaremos por Ejercicio01, en la ventana de propiedades.
Así que todo el código que vamos a escribir lo haremos del Main. Ahoraresolveremos el primer ejercicio que hemos hecho en Pseudocódigo.
Solución del Ejercicio Nº 01
Bueno yo estoy utilizando las variables (Identificadores) que hemosdeclarado en el Pseudocódigo, para que ustedes lo tengan mas en claro, por ahorautilizo el tipo de variable Integer (entero), ya que no creo que sea necesario usar eltipo Double, aunque puede ser más exacto en el resultado (por los decimales quemuestra).
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 72/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
14
También utilizo la función Write ya que quiero que muestre el texto de “Ingrese la Velocidad del Móvil” , para que así el usuario ingrese el dato requerido, ya la vez el dato que el usuario ingresa no aparezca abajo del texto, sino al costado.
Hay varias formas de realizar comentarios en pleno codito, como yo lo he
hecho, este comentario no se mostrara a la hora de ejecución, solo se utiliza dentrode la codificación, para que así cuando tu te hayas olvidado para que es unainstrucción o para que es una variable, podrás ponerle el comentario respectivo.Estos son las formas para poner un comentario.
'Comentario Mediante la Coma Flotante
REM Comentario Mediante REM
5. Ejecutar el programa creado. Tenemos tres formas para hacerlo.
! Presionando la tecla F5
! Eligiendo en el menú Debug -> Start Debugging
! Haciendo clic en la Barra Estándar en el icono siguiente.
La ventana que nos mostrará al ejecutar el siguiente programa será:
Por cada dato que ingresemos tendremos que presionar la tecla Enter , paraque el programa reciba ese dato.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 73/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
15
ERRORES DE EJECUCIÓN
Este error es no tan común, por que creo que no existe personas queborrarían un End Sub, End Module, Sub Main o Module Ejercicio01.
Este si es un error, digamos que cotidiano, este error se debe que cuando elusuario ingresa un tipo de dato diferente al requerido, existe un desbordamiento dePila, así que lo podremos restringir ya sea en el código, pero eso de restricciones deingreso de datos lo veremos en los proyectos de Windows Application.
6. Guardar el proyecto que acabamos de crear, para esto existe tres formas:
! Presionando las teclas Control + Shift + S
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 74/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
16
! Eligiendo en el menú File -> Save Ejercicio01 as
! Presionando cualquier de los dos iconos en la Barra Estándar.
Luego nos aparecerá la siguiente ventana, aquí podemos cambiar ladirección donde se va a guardar el proyecto (Browse), por default creara unacarpeta con el nombre del proyecto.
Ya vieron que no es nada del otro mundo, solo basta aprender bien el códigode capturar y mostrar datos, nada mas, solo por este capitulo les escribiré elcomentario por cada código que utilice, así que apréndanlo por que en el próximocapitulo ya lo haré sin comentarios okis, mientras tanto sigamos con la solución delos ejercicios que hemos hecho en el primer capitulo, si el de los Pseudocódigos,exactamente.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 75/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
17
Solución del Ejercicio Nº 02
Primero crearemos un nuevo proyecto llamado Ejercicio02 y luegocambiaremos el nombre del modulo, que por default tiene el de Module1.vb así
que lo cambiaremos por este Ejercicio02.vb.
Antes de continuar, haremos un pequeño cambio en visual Basic, para biende ustedes que están empezando a programar, así que primero nos dirigiremos enla barra de menú en la opcion de Tool y daremos clic en Options.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 76/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
18
Luego nos aparecerá la siguiente ventana en donde nos ubicaremos enProjects and Solutionsn y luego daremos clic, y de nuevo daremos clic en VBDefaults y cambiaremos una sola cosa, en donde dice Option Strict por defaultaparece en Off , así que lo cambiaremos por On. Y luego le daremos clic en el botón
de Ok.
Esta opción, si se activa, se indica con Option Strict On, obligará a que lostipos de datos que uses sean del tipo adecuado, de esta forma, hará que las cosaslas hagas o las programes cómo debes... seguramente acabarás dejando esa opciónen el valor que el vb.NET trae por defecto... valor que no creo que cambien en laversión del español, en este caso, ya que usando Option Strict On es máscomplicado hacer las conversiones entre tipos diferentes de datos) Por ejemplo, conel Option Strict On no podemos hacer esto: Dim unChar As Char = "N", ya que"N" es una constante del tipo String. El compilador de Visual Basic nos diría algoasí: Option Strict no permite la conversión entre Char y String
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 77/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
19
Solución del Ejercicio Nº 03
Crearemos un proyecto llamado Ejercicio03, y el modulo se llamara igual.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 78/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
20
Solución del Ejercicio Nº 04
Crearemos un proyecto llamado Ejercicio04, y el modulo se llamara igual.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 79/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
21
Solución del Ejercicio Nº 05
Crearemos un proyecto llamado Ejercicio05, y el modulo se llamara igual.
Sorry por ponerles imágenes del código, es que si lo pongo en texto, ustedeslo pueden seleccionar, copiar y lo pegarían en el editor de código del Visual Basic, yasí no aprenderían mucho ya que solo se dedicarían a copiar, pegar, así queescriban nomás el código para que aprendan okis.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 80/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
22
CLASE MATH
Permite utilizar funciones matemáticas muy útiles, a continuación veremos
un cuadro extraído de la ayuda y seguidamente veremos como utilizamos la claseMath en la solución del Ejercicio Nº 06.
Campos Públicos
ERepresenta la base logarítmica natural, especificada por la constantee.
PIRepresenta la relación entre la longitud de la circunferencia de un
circulo y su diámetro, especificada por la constante "
Métodos Públicos
Abs Sobrecargado. Devuelve el valor absoluto de un número.Acos Devuelve el ángulo cuyo coseno es el número especificado.Asin Devuelve el ángulo cuyo seno es el número especificado.
AtanDevuelve el ángulo cuya tangente corresponde al númeroespecificados.
Atan2Devuelve el ángulo cuya tangente es el cociente de dos númeroespecificados
BigMul Calcula el producto completo de dos números de 32 bits.
CeilingDevuelve el número entero más pequeño mayor o igual que elnúmero especificado.
Cos Devuelve el coseno del ángulo especificado.
Cosh Devuelve el coseno hiperbólico del ángulo especificado.
DivRem Sobrecargado. Devuelve el cociente de dos números y pasatambién como parámetro de salida el resto de la división.
Exp Devuelve e elevado a la potencia especificada.
FloorDevuelve el número entero más grande menor o igual que elnúmero especificado.
IEEERemainder Devuelve el resto de la división de dos números especificados.Log Sobrecargado, devuelve el logaritmo de un número especificado.
Log10 Devuelve el logaritmo en base 10 de un número especificado.Max Sobrecargado. Devuelve el mayor de dos números.
Min Sobrecargado. Devuelve el menor de dos números.
PowDevuelve un número especificado elevado a la potenciaespecificada.
RoundSobrecargado. Devuelve el número más próximo al valor
especificado.
SignSobrecargado. Devuelve un valor que indica el signo de unnúmero.
Sin Devuelve el seno del ángulo especificado.Sinh Devuelve el seno hiperbólico del ángulo especificado.Sqrt Devuelve la raíz cuadrada de un número especificado.
Tan Devuelve la tangente del ángulo especificado.Tanh Devuelve la tangente hiperbólica del ángulo especificado.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 81/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
23
Sintaxis:
ClaseMath.NombreDelMetodo
Ejemplo:
N = Math.Sqrt(4)
Nos daría resultado de 2, ya que la raíz cuadrada de 4 es 2.
Solución del Ejercicio Nº 06
Crearemos un proyecto llamado Ejercicio06, y el modulo se llamara igual.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 82/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
24
Solución del Ejercicio Nº 07
Crearemos un proyecto llamado Ejercicio07, y el modulo se llamara igual.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 83/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
25
Solución del Ejercicio Nº 08
Crearemos un proyecto llamado Ejercicio08, y el modulo se llamara igual.
Sintaxis del Sqrt:
Math.Sqrt(NumeroASacarRaiz)
Sintaxis del Pow:
Math.Pow(NumeroBase,NumeroDeExponente)
Ejercicio Propuesto:
A. Elaborar un algoritmo, en Pseudocódigo, diagrama de flujo y en codificación,este algoritmo debe de hallar el valor absoluto de cualquier número.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 84/323
Lenguaje de Programación – Capitulo III
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
26
Bueno señores con esto acaba la segunda entrega de este manual, se queha sido muy poco, pero así es la vida, mientras tanto, iré elaborando la terceraentrega, esta tercera entrega no se cuantos capítulos va a tener, pero si se quetemas vamos a tocar, tocaremos lo siguiente:
! Instrucción Condicional! Condiciones Múltiples! Procesos Repetitivos! Estructuras Repetitivas
Y nada más, aunque parece muy poco por los títulos, pero creo que va a seruna de las entregas mas largas que voy a hacer, pero no se preocupen, que yaestaré comenzando a hacer la tercera entre y cuarta, solo les pido algo, repacen loque hemos hecho en este capitulo y si pueden repasen la primera entrega, meimporta mucho que sepan y entiendan la lógica del Pseudocódigo, para que a lahora que entremos a programar en aplicaciones de ventanas, no estén en lasnubes, okis, bueno conmigo será hasta la próxima entrega, ya saben aquí les dejo
mi correo por si tienen alguna duda.
Joel Martin Chuco [email protected]
Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú
" Cuenta en Soles:
067-3008573552
" Cuenta en Dólares:
067-3008573560
www.interbank.com.pe
Lima, 09 de enero del 2006
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 85/323
Capitulo IV
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 86/323
INDICE
CAPITULO IV
Funciones de Conversión 01
Símbolos de Comparación 02
Operadores 02
And 02
AndAlso 02
Or 03
Xor 03
OrElse 05
Not 05
Is 05
To 06
Función Fecha 06
Now 06
Date 06Year 06
Month 06
Day 06
WeekDay 06
DateAdd 07
DateDiff 07
DatePart 07
Instrucción Condicional 07
Solución del Ejercicio 09 10
Solución del Ejercicio 10 11
Solución del Ejercicio 11 11
Solución del Ejercicio 12 12
Solución del Ejercicio 13 13
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 87/323
Condiciones Múltiples 14
Solución del Ejercicio 14 15
Solución del Ejercicio 15 16
Solución del Ejercicio 16 16
Solución del Ejercicio 17 17
Solución del Ejercicio 18 17
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 88/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
FUNCIONES DE CONVERSIÓN
Como se habrán dado cuenta que al activar la opción de Option Strict, estenos obliga que tenemos que utilizar funciones de conversión para cada tipo de dato,
con lo que no hacíamos, si no lo estaba activado, como lo fue en los 8 primerosejercicios, las funciones mas utilizadas estarán de color verde, las funciones deconversión son las siguientes:
Nombre de lafunción
Tipo de datosque devuelve
Valores del argumento"expresión"
CBool(expresion) Boolean Cualquier valor de cadena o expresiónnumérica.
CByte(expresion) Byte De 0 a 255; las fracciones seredondean.
CChar(expresion) Char Cualquier expresión de cadena; losvalores deben ser de 0 a 65535.
CDate(expresion) Date Cualquier representación válida deuna fecha o una hora.
CDbl(expresion) Double Cualquier valor Double, ver la tablaanterior para los valores posibles.
CDec(expresion) Decimal Cualquier valor Decimal, ver la tablaanterior para los valores posibles.
CInt(expresion) Integer Cualquier valor Integer, ver la tablaanterior para los valores posibles, lasfracciones se redondean.
CLng(expresion) Long Cualquier valor Long, ver la tablaanterior para los valores posibles, lasfracciones se redondean.
CObj(expresion) Object Cualquier expresión válida.
CShort(expresion) Short Cualquier valor Short, ver la tablaanterior para los valores posibles, lasfracciones se redondean.
CSng(expresion) Single Cualquier valor Single, ver la tablaanterior para los valores posibles.
String Depende del tipo de datos de laexpresión.
CStr(expresion)
Nota:Todos los objetos de vb.NET tienen unos métodospara realizar conversiones a otros tipos, al menos denúmero a cadena, ya que tienen la propiedad.ToString que devuelve una representación en formatocadena del número en cuestión (igual que CStr).
CType(expresion,Tipo)
El indicado enel segundoparámetro
Cualquier tipo de datos
Val(expresion) Double Una cadena de caracteres.
Fix(expresion) Depende deltipo de datosde laexpresión
Cualquier tipo de datos
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 89/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
Int(expresion) Depende deltipo de datosde laexpresión
Cualquier tipo de datos
Una de las funciones más utilizadas, para hallar restos es la función Mod, yasea para diversas soluciones ya sean Matemáticas, físicas y entre otras.
Mod: Devuelve el resto de una división, la sintaxis es la siguiente:
Dividendo Mod Divisor
Símbolos de Comparación
= igual
< Menor que> Mayor que<= menor o igual>= mayor o igual<> Distinto
OPERADORES
And
El operador And solo utilizamos cuando queremos que se cumpla una seriede expresiones, por ejemplo:
If a > b And a > c Then
Console.WriteLine("a es mayor que b y c")
End If
Como vemos en este ejemplo, hacemos dos comparaciones, el primero si aes mayor que b, y la segunda si a es mayor que c, si estas dos expresiones
(comparaciones) resultan verdaderas, nos mostrará un mensaje diciéndoos que aes mayor que b y c.
AndAlso
El operador AndAlso comprueba también una seria de expresiones, pero acomparación del And, este comprueba siempre y cuando la expresión anteriorresulta ser verdadera por ejemplo:
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 90/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
If a > b AndAlso a > c Then
Console.WriteLine("a es mayor que b y c")
End If
Como vemos en este ejemplo, hacemos dos comparaciones, el primero si aes mayor que b, y la segunda si a es mayor que c, si la primera expresión (a > b)resulta ser verdadera hará la comparación de la segunda expresión (a > c), pero sino lo es, ya no se evaluara la expresión siguiente. Pero si las dos resultanverdaderas, nos mostrará un mensaje diciéndoos que a es mayor que b y c.
Or
El operador Or solo utilizamos cuando queremos que se cumpla unaexpresión de toda una serie de expresiones, por ejemplo:
If Promedio < 0 Or Promedio > 20 Then
Console.WriteLine("Ingrese la Nota Correcta (1 – 20)")
End If
En este ejemplo, si promedio es menor a cero o promedio es mayor a 20 nosmostrará un mensaje indicándonos que la nota que se ingreso es incorrecta, solobasta que una de las dos expresiones evaluadas sea verdadera.
Xor
El operador Xor lo utilizaremos para casos especiales ya que realiza unaoperación de exclusión lógica entre dos expresiones de tipo Boolean o bien unaexclusión bit a bit entre dos expresiones numéricas, por ejemplo:
Resultado = expresión1 Xor expresión2
Resultado: Requerido. Cualquier variable numérica o de tipo Boolean. En unacomparación de tipo Boolean, el resultado será la exclusión lógica de dosexpresiones. En operaciones bit a bit, el resultado será un valor numérico
resultante de la disyunción bit a bit de dos expresiones numéricas.
Expresión1: Requerido. Cualquier expresión numérica o de tipo Boolean.
Expresión2: Requerido. Cualquier expresión numérica o de tipo Boolean del mismotipo que expression1
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 91/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
Si son de Tipo Bolean
Si Expresión1es...
Y Expresión2es...
Resultadoserá…
True True FalseTrue False True
False True True
False False False
Si son de Tipo Bit (Numéricos)
Si el bit enExpresión1 es…
Y el bit enExpresión2 es…
Resultado será…
0 0 00 1 1
1 0 1
1 1 0
Ejemplo:
Dim A As Integer = 10Dim B As Integer = 8Dim C As Integer = 6Dim Resultado As Boolean Resultado = A > B Xor B > C ' Returns False.
Resultado = B > A Xor B > C ' Returns True. Resultado = B > A Xor C > B ' Returns False.
En este ejemplo se usa el operador Xor para realizar una exclusión lógicaentre cada uno de los bits de dos expresiones numéricas. El bit en el modeloresultante se establecerá si antes se han establecido solamente uno de los bitscorrespondientes a los operándoos.
Dim A As Integer = 10Dim B As Integer = 8Dim C As Integer = 6Dim Resultado As Integer Resultado = (A Xor B) ' Returns 2.
Resultado = (A Xor C) ' Returns 12. Resultado = (B Xor C) ' Returns 14.
Esto de Xor, he tomado referencia del MSDN de Visual Basic 2005, ya queaquí se encuentra unos ejemplos más claros, mientras tanto sigamos haciendo losdemás operadores.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 92/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
OrElse
El operador OrElse comprueba también una seria de expresiones, solo quebastara que una expresión sea verdadera para que no realice las demásevaluaciones. Por ejemplo:
If Promedio < 0 OrElse Promedio > 20 Then
Console.WriteLine("Ingrese la Nota Correcta (1 – 20)")
End If
En este ejemplo si la primera expresión resulta verdadera, ya no realizara lasiguiente expresión, en cambio si resultara falsa, realizara la siguiente expresión.
Not
Este operador se utiliza para hacer negaciones, más en los casos de tipoBolean por ejemplo:
Dim Variable As Boolean = True Dim Resultado As Boolean Resultado = Not Variable ' Retorna False.
Primero declaramos una variable de tipo Boolean y le asignamos un valor deTrae, pero después en la instrucción negamos el valor almacenado y lo cambiamospor False (Not Variable), así que la variable resultado tendrá el valor de False,sencillo no?.
Is
Este operador nos permite hacer comparaciones ya sea Booleanas o deString, este nos devolverá un valor Boolean de la expresión dada, por ejemplo:
Dim Variable As String = “Joel” Dim Resultado As Boolean Resultado = IsNumeric(Variable) ' Retorna False.
Este ejemplo es parecido al anterior solo que le preguntamos si la Variablees de valor Numérico (IsNumeric(Variable)), pero como es de tipo de cadena(String) nos devolverá un valor de False,
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 93/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
To
Este operador lo usaremos mas en las Procesos Repetitivos o de CondicionesMúltiples, sirve para determinar un rango de números, por ejemplo:
For K = 1 To 10
A = A + 1
Next
Este bucle correrá o mejor dicho, realizara 10 veces la instrucción de A=A+1Ya que le indicamos que la variable K va a valer del 1 al 10.
FUNCIONES TIPO FECHA
Función Now()
Esta función nos devuelve la fecha y hora actual del sistema, en un formatolargo.
Función Date()
Esta función nos devuelve la fecha actual del sistema.
Función Year(Fecha)
Esta función nos devuelve el año de una fecha especificada.
Función Month(Fecha)
Obtiene el Número de mes de una fecha especificada.
Función Day(Fecha)
Obtiene el número de día de una fecha enviada o especificada.
Función WeekDay(Fecha)
Obtiene el número del día de la semana, tomando el domingo como valornúmero 1.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 94/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
Función DateAdd(TipoIntervalo,ValorIntervalo,Fecha)
Suma o resta a una fecha, un intervalo determinado, para determinar si serealiza una suma o resta, el TipoIntervalo puede ser días, semanas, horas, meses,años, etc. ValorIntervalo deberá de ser positivo o negativo respectivamente.
Función DateDiff(TipoIntervalo,FechaPrimera,FechaSegunda)
Calcula la diferencia existente entre dos fechas.
Función DatePart(TipoIntervalo,fecha)
Extrae la parte de una fecha indicada.
INSTRUCCIÓN CONDICIONAL
Como vimos en la primera entrega, estas instrucciones nos permiten tomardecisiones, dándonos un resultado de Verdadero o Falso, a menudo esta instrucciónes la más utilizada por todos los programadores, así que tendrás que aprendértelade memoria, y no te preocupes que es muy fácil de usar.
Sintaxis:
Primera Forma:
If <expresión a evaluar> Then <Instrucción (si la expresión devuelve Verdadero)>
Ejemplo:
If a = b Then MessageBox( “Son Números Iguales” )
Si la expresión a evaluar de a = b devuelve o mejor dicho es verdadera, estenos mostrará un mensaje, con el texto de “Son Números Iguales” .
Segunda Forma:
If <expresión a evaluar> Then
<Instrucción (si la expresión evaluada devuelve Verdadero)>
End If
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 95/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
Ejemplo:
If b <> 0 Then
Res = a / b
Console.WriteLine("El Resultado de La División es: {0}", Res)
End If
Esta segunda forma, lo utilizamos cuando tengamos que hacer mas de unainstrucción si la expresión a evaluar resulta verdadera, en este caso si a es mayoque b, si es verdadero este hará la siguiente instrucción de a dividir entre b y elresultado guardarlo en una variable llamada Res, que después la mostraremos enpantalla.
Tercera Forma:
If <expresión a evaluar> Then
< Instrucción (si la expresión evaluada devuelve Verdadero)>
Else
< Instrucción (si la expresión evaluada devuelve Falso)>
End If
Ejemplo:
If b <> 0 Then
Res = a / bConsole.WriteLine("El Resultado de La División es: {0}", Res)
Else
Console.WriteLine("Error: División Entre Cero")
End If
Esta forma nos permite utilizar los dos tipos de resultados de la expresión
evaluada, por ejemplo, si b es diferente a cero este dividirá a a, pero si es falso,nos mostrara un mensaje de Error.
Cuarta Forma:
If <expresión a evaluar> Then <Instrucción (si la expresión evaluada devuelveVerdadero)> Else <Instrucción (si la expresión evaluada devuelve Falso)>(todo en una misma línea)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 96/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
9
Ejemplo:
If a = b Then MessageBox( “Son Números Iguales” ) Else MessageBox( “No sonNúmeros Iguales” )
(Todo en una misma línea)
Esta forma no tan muy usada, solo en los casos cuando hay que hacer unasola instrucción en cada tipo de respuesta de la expresión evaluada, por ejemplo, sia es igual b nos mostrará un mensaje de Números Iguales, pero si es falso nosmostrara otro mensaje diciéndonos que No son Números iguales, y recuerden quees en una sola línea.
Quinta Forma:
If <expresión a evaluar> Then
< Instrucción (si la expresión evaluada devuelve Verdadero)>
ElseIf <expresión a evaluar> Then
< Instrucción (si la expresión evaluada devuelve Verdadero)>
Else
< Instrucción (si la expresión evaluada devuelve Falso)>
End If
Ejemplo:
If b = 0 Then
Console.WriteLine("Error: División Entre Cero")
ElseIf a <> b Then
Res = a / bConsole.WriteLine("El Resultado de La División es: {0}", Res)
Else
Console.WriteLine("El Resultado de La División es: 1")
End If
Wueno a mi parecer y si es que no me equivoco, esta es una de las formasmas usadas, ya que son if anidados, como lo había en los pseudocódigos, el else esopcional, como lo ven en este ejemplo, si b es igual a cero, nos mostrara unmensaje de Error de División, pero si es falso, hará la siguiente evaluación que serási a es diferente de b hará la división y nos mostrará el resultado de la división,
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 97/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
10
pero si es falso nos mostrar un mensaje, diciéndonos que el resultado de la divisiónes 1, sin ser necesario dividir.
Nota: Recuerda que para cada IF hay un THEN y un END IF, así como en elpseudocódigo.
Bueno, después de tanta teoría, empezaremos a resolver los ejercicios de laprimera entrega, si, los mismo que hicimos en Pseudocódigo,
Solución del Ejercicio 09
Module Ejercicio09'Este algoritmo permite averiguar si una persona debe de inscribirse'en el SMO (Servicio Militar Obligatorio), sabiendo su año de nacimiento.Sub Main()
Dim AA, AN, E As Integer
Console.Write("Ingrese el Año de Nacimiento : ")AN = CInt(Console.ReadLine)'Capturamos el año del sistemas y lo almacenamos'en la variable AAAA = Microsoft.VisualBasic.Year(Now)E = AA - ANIf E > 17 Then
Console.WriteLine("Debe de Inscribirse en el SMO")Else
Console.WriteLine("No Debe de Inscribirse en el SMO")End IfConsole.ReadLine()
End Sub
End Module
En el pseudocódigo, nosotros pedíamos el ingreso de la fecha actual, peroteniendo funciones que nos permiten capturar la fecha actual del sistema, mejoropte por resolverlo así, pero si no les gusta, pueden hacerlo como el pseudocódigo,y el otro detalle que tengo que recalcar es que ahora estoy utilizando la opciónOption Strict, el cual me obliga a utilizar funciones de conversión de datos, que yahemos visto al principio de esta entrega, así que no se pueden quejar.
Para utilizar las funciones de fecha, tendremos que hacer mención a la claseMicrosoft, y de ahí a la sub clase VisualBasic, aquí se encontrarán casi todas las
funciones, ya sean de fecha, de cadenas, de conversión, etc.
Les explicare un poco, la función Now me devuelve la fecha actual delsistema, que seria mas o menos así: 11-02-2006 01:57:25 pm, por lo tantonosotros no queremos saber toda esta fecha larga por decirle, así que utilizamos lafunción Year que capturara el año de toda la fecha larga, mejor dicho solo nosobtendrá el siguiente dato que es 2006, nada mas, si que es sencillo no?.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 98/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
11
Solución del Ejercicio 10
Module Ejercicio10'Este algoritmo solicita la edad de 2 hermanos y muestre un mensaje indicando'la edad del mayor y cuantos años de diferencia tiene con el menor.
Sub Main()Dim E1, E2, DE As IntegerConsole.Write("Ingrese la Edad del Primer Hermano : ")E1 = CInt(Console.ReadLine)Console.Write("Ingrese la Edad del Segundo Hermano : ")E2 = CInt(Console.ReadLine)If E1 > E2 Then
DE = E1 - E2Console.Write("El Primer Hermano es Mayor por {0} {1}", DE, " años")
ElseDE = E2 - E1Console.Write("El Segundo Hermano es Mayor por {0}{1}", DE, " años")
End IfConsole.ReadLine()
End Sub
End Module
Solución del Ejercicio 11
Module Ejercicio11'Este algoritmo nos muestre si el operario recibirá incentivos sabiendo'que el promedio de producción mínima es de 100 unidades.Sub Main()
Dim PL, PMa, PMi, PJ, PV, PS As Integer
Dim PP As SingleConsole.Write("Ingrese la Producción del dia Lunes: ")PL = CInt(Console.ReadLine)Console.Write("Ingrese la Producción del dia Martes: ")PMa = CInt(Console.ReadLine)Console.Write("Ingrese la Producción del dia Miercoles: ")PMi = CInt(Console.ReadLine)Console.Write("Ingrese la Producción del dia Jueves: ")PJ = CInt(Console.ReadLine)Console.Write("Ingrese la Producción del dia Viernes: ")PV = CInt(Console.ReadLine)Console.Write("Ingrese la Producción del dia Sábado: ")PS = CInt(Console.ReadLine)
PP = CSng((PL + PMa + PMi + PJ + PV + PS) / 6)If PP >= 100 ThenConsole.WriteLine("Recibira Incentivos")
ElseConsole.WriteLine("No Recibira Incentivos")
End IfConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 99/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
12
Solución del Ejercicio 12
Module Ejercicio12
'Este algoritmo permite leer 3 números enteros diferentes entre si'y determina el número mayor de los tres.Sub Main()
Dim N1, N2, N3, NM As IntegerConsole.Write("Ingrese el Primer Número: ")N1 = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")N2 = CInt(Console.ReadLine)Console.Write("Ingrese el Tercer Número: ")N3 = CInt(Console.ReadLine)If N1 > N2 And N1 > N3 Then
NM = N1Else
If N2 > N3 Then
NM = N2Else
NM = N3End If
End If
'Segunda forma
'If N1 > N2 And N1 > N3 Then'NM = N1'ElseIf N2 > N3 Then'NM = N2'Else
'NM = N3'End If
Console.WriteLine("El Número Mayor es: {0}", NM)Console.ReadLine()
End Sub
End Module
Me olvidaba algo de explicarles, la función Console.ReadLine() nos devuelveuna cadena, es por eso que tenemos que convertirlo al tipo de dato de la variableque estamos almacenando.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 100/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
13
Solución del Ejercicio 13
Module Ejercicio13
'Este algoritmo sirve para identificar el tipo de triangulo'conociendo sus tres lados.Sub Main()
Dim L1, L2, L3 As IntegerDim TT As StringConsole.Write("Ingrese el Lado 1: ")L1 = CInt(Console.ReadLine)Console.Write("Ingrese el Lado 2: ")L2 = CInt(Console.ReadLine)Console.Write("Ingrese el Lado 3: ")L3 = CInt(Console.ReadLine)If L1 <> L2 And L2 <> L3 And L3 <> L1 Then
TT = "Escaleno"Else
If L1 = L2 And L2 = L3 ThenTT = "Equilatero"
ElseTT = "Isósceles"
End IfEnd If
'Segunda Forma
'If L1 <> L2 And L2 <> L3 And L3 <> L1 Then'TT = "Escaleno"'ElseIf L1 = L2 And L2 = L3 Then'TT = "Equilatero"
'Else'TT = "Isósceles"'End If
Console.WriteLine("El Tipo de Triangulo Ingresado es {0}", TT)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 101/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
14
CONDICIONES MULTIPLES
Este tipo de condiciones lo usamos para tener varios tipos de compariciones
(expresiones a evaluar).
Sintaxis:
Select Case <expresión a evaluar>
Case <lista de expresiones>
Instrucciones
Case <otra lista de expresiones>
Instrucciones
Case Else
'si no se cumple ninguna de las listas de expresiones
End Select
Ejemplo:
Select Case i
Case 3 : 'Instrucción a realizar Case 6 To 11
' Instrucción a realizar Case 14, 17
' Instrucción a realizar Case Is > 25
' Instrucción a realizarCase Else
' Instrucción a realizar End Select
En el ejemplo, hacemos varias comprobaciones, si i vale 3 haremos la
instrucción que sigue después de los dos puntos (podemos ejecutar solo unainstrucción después de los dos puntos, si en caso hubiera mas instrucciones aejecutar, estas instrucciones las pondríamos en la parte inferior del Case), encambio si tiene un valor de 6 a 11 ejecutara la instrucción que se encuentra en suinferior, o si tiene el valor de 14 ó 17, ejecutara la instrucción que se encuentra ensu inferior, o si i es mayor que 25, realizara la instrucción que se encuentra en suinferior, y por ultimo si no cumple ninguna comparación, existe el Case Else, queejecutara su instrucción, siempre y cuando no se cumpla ninguna expresión en losdemás Case.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 102/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
15
Solución del Ejercicio 14
Module Ejercicio14
'Este algoritmo permite ingresar un número entero (1 a 10)'y muestra su equivalente en romano.Sub Main()
Dim NE As IntegerDim ER As StringConsole.Write("Ingrese Un Número Entero (1 - 10): ")NE = CInt(Console.ReadLine)Select Case NE
Case 1 : ER = "I"Case 2 : ER = "II"Case 3 : ER = "III"Case 4 : ER = "IV"Case 5 : ER = "V"Case 6 : ER = "VI"
Case 7 : ER = "VII"Case 8 : ER = "VIII"Case 9 : ER = "IX"Case 10 : ER = "X"Case Else : ER = "No Existe"
End SelectConsole.WriteLine("Su Equivalente en Romano es: {0}", ER)Console.ReadLine()
End Sub
End Module
Como se ve en este ejemplo, utilizamos una expresión por cada Case, asíque esta instrucción la escribiré después de los dos puntos de la expresiónevaluada.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 103/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
16
Solución del Ejercicio 15
Module Ejercicio15'Este algoritmo permite ingresar el monto de venta alcanzado por'un promotor durante el mes, luego de calcular la bonificación que le
'corresponde sabiendo:'0 a 1000 = > 0 %'1000 a 5000 = > 3 %'5000 a 20000 = > 5 %'20000 a más = > 8 %Sub Main()
Dim MV As IntegerDim TB As SingleConsole.Write("Ingrese el Monto de Venta: ")MV = CInt(Console.ReadLine)Select Case MV
Case 0 To 999TB = CSng((0 * MV) / 100)
Case 1000 To 4999
TB = CSng((3 * MV) / 100)Case 5000 To 19999
TB = CSng((5 * MV) / 100)Case Is >= 20000
TB = CSng((8 * MV) / 100)End SelectConsole.WriteLine("El Total de Bonificación es: {0}", TB)Console.ReadLine()
End Sub
End Module
Solución del Ejercicio 16
Module Ejercici16'Este algoritmo solicita un número entero y muestre un mensaje'indicando la vocal correspondiente, considerando que la vocal A = 1.Sub Main()
Dim NE As IntegerDim V As StringConsole.Write("Ingrese Un Número (1 - 5): ")NE = CInt(Console.ReadLine)Select Case NE
Case 1 : V = "A"Case 2 : V = "E"
Case 3 : V = "I"Case 4 : V = "O"Case 5 : V = "U"Case Else : V = "No Existe"
End SelectConsole.WriteLine("El Equivalente en vocal es: {0}", V)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 104/323
Lenguaje de Programación – Capitulo IV
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
17
Solución del Ejercicio 17
Module Ejercicio17'Se desea leer un número entero de 2 cifras y que se muestre el número de'unidades, decenas que lo componen.Sub Main()
Dim NE, D, U, Q, R As IntegerConsole.Write("Ingrese Un Número Entero de 2 Dígitos: ")NE = CInt(Console.ReadLine)Q = CInt(NE / 10)R = NE - (Q * 10)D = QU = RConsole.WriteLine("Tiene {0} {1} {2} {3}", D, " Decenas y ", U, " Unidades")Console.ReadLine()
End Sub
End Module
Solución del Ejercicio 18
Module Ejercicio18'Este algoritmo solicita un número entero y diferente a cero'e indica si es par.Sub Main()
Dim NE, Q, R As Integer
Dim MSG As StringConsole.Write("Ingrese Un Número Entero: ")NE = CInt(Console.ReadLine)Q = CInt(NE / 2)R = NE - (Q * 2)If R = 0 Then
MSG = "Es Par"Else
MSG = "Es Impar"End IfConsole.WriteLine("El Número que Ingreso {0}", MSG)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 105/323
Capitulo V
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 106/323
INDICE
CAPITULO V
Procesos Repetitivos 01
For / Next 02
For Each 02
Solución del Ejercicio 19 02
Solución del Ejercicio 20 03
Solución del Ejercicio 21 03
Solución del Ejercicio 22 04
Función Reset 04
Función Exit 04
Solución del Ejercicio 23 05
Estructuras repetitivas 06
While / End While 06
Do / Loop 06
Solución del Ejercicio 24 08
Solución del Ejercicio 25 08
Solución del Ejercicio 26 09
Solución del Ejercicio 27 10
Solución del Ejercicio 28 11
Solución del Ejercicio 29 12
Solución Del Problema Propuesto 13
Solución del Problema A 13
Ejercicios 14
Despedida 16
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 107/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
PROCESOS REPETITIVOS
Los procesos repetitivos o llamados bucles, se utilizan para repetir el o loscódigos, un número determinado de veces, para esto usaremos el For, que nospermitirá repetir un número determinado de veces el código.
For / Next
Con este tipo de bucle podemos repetir un código un número determinadode veces.
Sintaxis:
For <variable numérica> = <valor inicial> To <valor final> [Step <incremento>]
'contenido del bucle, lo que se va a repetir
Next
Primera Forma: Una de las formas mas utilizadas.
For i = 1 To 10'contará de 1 hasta 10 'la variable i tomará los valores 1, 2, 3, etc.
Next
Segunda Forma: Esta forma se utiliza para decirle como va a incrementar, ya seacomo el ejemplo de 2 en 2.
For i = 1 To 100 Step 2'contará desde 1 hasta 100 (realmente 99) de 2 en 2 'la variable i tomará los valores 1, 3, 5, etc.
Next
Tercera Forma: Cuando queremos que un bucle sea en decreciente solo bastarádarle un valor negativo, al número, como en el ejemplo, queremos que en vez queavance del 1 al 10 queremos que este vaya del 10 al 1.
For i = 10 To 1 Step -1'contará desde 10 hasta 1 'la variable i tomará los valores 10, 9, 8, etc.
Next
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 108/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
For Each
Este bucle repetirá o iterará por cada uno de los elementos contenidos en
una colección.
Sintaxis:
For Each <variable> In <colección del tipo de la variable>
'Lo que se hará mientras se repita el bucle
Next
Ejemplo:
Dim s As String
For Each s In "Hola Mundo"Console.WriteLine(s)
Next Console.ReadLine()
Este bucle recorre cada uno de los caracteres de una cadena, en este casorecorrerá cada carácter de la cadena s (Hola Mundo)., comenzando por la H y deahí la o y así hasta la ultima o de la palabra Mundo.
Solución del Ejercicio 19
Module Ejercicio19'Elabore un algoritmo que contenga los número pares del 1 al 10Sub Main()
Dim N, K As IntegerN = 2Console.WriteLine(N)For K = 1 To 4
N = N + 2Console.WriteLine(N)NextConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 109/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
Solución del Ejercicio 20
Module Ejercicio20
'Este algoritmo permite mostrar el sueldo promedio de un grupo de'empleados.Sub Main()
Dim SE, NE, K, SS As IntegerDim SP As SingleConsole.Write("Ingrese el Numero de Empleados: ")NE = CInt(Console.ReadLine)SS = 0For K = 1 To NE
Console.Write("Ingrese el Sueldo {0}: ", K)SE = CInt(Console.ReadLine)SS = SS + SE
NextSP = CSng(SS / NE)
Console.WriteLine("El Sueldo Promedio es: {0}", SP)Console.ReadLine()
End Sub
End Module
Solución del Ejercicio 21
Module Ejercicio21'Este algoritmo solicita la edad de 200 personas, y muestra
'cuantos son mayores y menores de edad hay.Sub Main()
Dim EP, MAY, MEN, K As IntegerMAY = 0MEN = 0For K = 1 To 200
Console.Write("Ingrese la Edad : ")EP = CInt(Console.ReadLine)If EP < 18 Then
MEN += 1Else
MAY += 1End If
NextConsole.WriteLine("Usted ha Ingresado {0} {1}", MEN, " Menores de Edad")Console.WriteLine("Usted ha Ingresado {0} {1}", MAY, " Mayores de Edad")Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 110/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
Solución del Ejercicio 22
Module Ejercicio22'Este algoritmo solicita 2 número enteros y muestra su producto'por el método de sumas sucesivas.Sub Main()
Dim PN, SN, K, P As IntegerConsole.Write("Ingrese el Primer Número: ")PN = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")SN = CInt(Console.ReadLine)P = 0For K = 1 To SN
P += PNNextConsole.WriteLine("El Producto Hallado Por Sumas Sucesivas: {0}", P)
Console.ReadLine()End Sub
End Module
Función Reset: Esta función nos permite reiniciar un ciclo de proceso, o mas aunpodemos volver a un formato original de un control, esto ya lo veremos de aca masadelante cuando tocaremos las ventanas de aplicación, que va a ser mas o menosde aca a unas 2 o 3 entregas mas.
Función Exit: Esta función nos permite salir ya sea de un proceso o un bucle,también salir de toda una función, clase, y función principal Main.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 111/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
Solución del Ejercicio 23
Module Ejercicio23
'Este algoritmo muestra 10 números enteros a partir de 1 excepto'los pares.Sub Main()
Dim Q, R, K As IntegerFor K = 1 To 20
Q = CInt(K / 2)R = K - (Q * 2)If R = 0 Then
Reset()Else
Console.WriteLine("Número {0}", K)End If
'Segunda Forma
'If R <> 0 Then'Console.WriteLine("Número {0}", K)'End If
NextConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 112/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
ESTRUCTURAS REPETITIVAS
Las estructuras repetitivas o llamados también bucles, se utilizan pararepetir el o los códigos, hasta que la expresión evaluada de un valor de Falso.
While / End While
Se repetirá mientras se cumpla la expresión lógica que se indicará despuésde While
Sintaxis:
While <expresión>
‘Lo que haya que hacer mientras se cumpla la expresión
End While
Ejemplo:
While i < 10Console.WriteLine(i)i = i + 1
End While
Este código escribirá el valor de i hasta que el valor de i tome el valor de 10o más.
Do / Loop
Este tipo de bucle es muy parecido al anterior. Si se utiliza sólo con esas dosinstrucciones, este tipo de bucle no acabará nunca y repetirá todo lo que haya entreDo y Loop. Pero este tipo de bucle se puede usar con dos instrucciones que nospermitirán evaluar expresiones lógicas: While y Until Pero no debemos confundireste While con el While/End While que acabamos de ver anteriormente. La ventaja
de usar While o Until con los bucles Do/Loop es que estas dos instruccionespodemos usarlas tanto junto a Do como junto a Loop, la diferencia está en que silos usamos con Do, la evaluación se hará antes de empezar el bucle, mientras quesi se usan con Loop, la evaluación se hará después de que el bucle se repita almenos una vez.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 113/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
Sintaxis:
Primera Forma: Este bucle evalúa al principio, mejor dicho realizara el código o las
instrucciones un numero que digamos que sea n veces.
Do While <expresión>
Instrucción
Loop
Segunda Forma: Este bucle evalúa al final, mejor dicho realizara el código o lasinstrucciones n – 1 veces.
Do
Instrucción
Loop While <expresión>
Tercera Forma: Este bucle evalúa al principio, a diferencia que el primero realizarael código siempre y cuando la expresión sea falsa, mejor dicho realizara el código olas instrucciones n veces.
Do Until <expresión>
Instrucción
Loop
Cuarta Forma: Este bucle evalúa al final, a diferencia que el segundo realizara elcódigo siempre y cuando la expresión sea falsa, mejor dicho realizara el código olas instrucciones n – 1 veces
Do
Instrucción
Loop Until <expresión>
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 114/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
Solución del Ejercicio 24
Module Ejercicio24'Este algoritmo muestra los términos de la serie'que sean menores a 1000.'1, 2, 5, 26Sub Main()
Dim S As IntegerS = 1While (S < 1000)
Console.Write(" {0} ", S)S = CInt(Math.Pow(S, 2) + 1)
End WhileConsole.ReadLine()
End Sub
End Module
Solución del Ejercicio 25
Module Ejercicio25'Elaborar un algoritmo que solicite ingresar letras'hasta que este ingrese una vocal.Sub Main()
Dim L, SEMAF As StringSEMAF = "V"
While SEMAF = "V"L = Console.ReadLineSelect Case L
Case "A", "a"SEMAF = "R"
Case "E", "e"SEMAF = "R"
Case "I", "i"SEMAF = "R"
Case "O", "o"SEMAF = "R"
Case "U", "u"SEMAF = "R"
Case ElseSEMAF = "V"End Select
End While'Presionar ENTER por cada letra ingresada
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 115/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
9
Solución del Ejercicio 26
Module Ejercicio26'Este algoritmo muestra los términos de la serie Fibonacci que sean'menores a 100000.'0, 1, 1, 2, 3, 5, 8, 13, 21, 34Sub Main()
Dim A, B, C As IntegerA = 0B = 1C = A + BConsole.Write(" {0}", A)Console.Write(" {0}", B)While (C < 100000)
Console.Write(" {0}", C)A = BB = CC = A + B
End WhileConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 116/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
10
Solución del Ejercicio 27
Module Ejercicio27'Elaborar un algoritmo que solicite 2 números enteros y un operador aritmético'y luego debe de mostrar el resultado de la operación correspondiente.' + Suma' - Resta' * Multiplicación' / DivisiónSub Main()
Dim N1, N2 As IntegerDim R As SingleDim OP As StringConsole.Write("Ingrese el Primer Número: ")N1 = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")
N2 = CInt(Console.ReadLine)Console.Write("Ingrese el Operador: ")OP = Console.ReadLineSelect Case OP
Case "+" : R = CSng(N1 + N2)Case "-" : R = CSng(N1 - N2)Case "*" : R = CSng(N1 * N2)Case "/" : R = CSng(N1 / N2)Case Else : R = 0
End SelectConsole.WriteLine("El Resultado de la Operación es: {0}", R)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 117/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
11
Solución del Ejercicio 28
Module Ejercicio28'Este algoritmo permite ingresar 10 letras cualquiera, y luego nos'indica al final cuantas vocales y consonantes se ingresaron.Sub Main()
Dim L As StringDim NV, NC, K As IntegerFor K = 1 To 10
L = Console.ReadLineSelect Case L
Case "A", "a" : NV += 1Case "E", "e" : NV += 1Case "I", "i" : NV += 1Case "O", "o" : NV += 1Case "U", "u" : NV += 1
Case Else : NC += 1End Select
NextConsole.WriteLine("Usted Ingreso {0} {1} {2} {3}", NV, " Vocales y ", NC, "Consonantes")Console.ReadLine()'Presionar ENTER por cada letra ingresada
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 118/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
12
Solución del Ejercicio 29
Module Ejercicio29'Este algoritmo permite obtener el resultado del escrutinio en las'elecciones del delegado del aula I - B - 10, considerar que hay 60 electores y'se han presentado 3 candidatos, todos votaron, el algoritmo debe de declara'al ganador por mayoría simple.Sub Main()
Dim VE, K As IntegerDim C1, C2, C3, C0 As IntegerDim G As StringFor K = 1 To 60
Console.Write("Voto: ")VE = CInt(Console.ReadLine)Select Case VE
Case 1 : C1 += 1
Case 2 : C2 += 1Case 3 : C3 += 1Case Else : C0 += 1
End SelectNextIf C1 > C2 AndAlso C1 > C3 AndAlso C1 > C0 Then
G = "Candidato 1"ElseIf C2 > C3 AndAlso C2 > C0 Then
G = "Candidato 2"ElseIf C3 > C0 Then
G = "Candidato 3"Else
G = "Votos Nulos"
End IfConsole.WriteLine("El Ganador es: {0}", G)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 119/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
13
SOLUCION DEL PROBLEMA PROPUESTO
Problema A.
Module ValorAbsoluto'Este algoritmo halla el valor absoluto de cualquier número.Sub Main()
Dim Num As Integer, Val As DoubleConsole.Write("Ingrese Un Número Cualquiera: ")Num = CInt(Console.ReadLine)Val = Math.Abs(Num)Console.WriteLine("Le valor Absoluto de {0}{1}{2}", Num, " es ", Val)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 120/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
14
EJERCICIOS
Elaborar los siguientes programas:
1. Zodiaco, El usuario debe de ingresar el día y mes de su nacimiento, y este medebe de decir, a que signo zodiacal pertenece.
2. Ecuación, El usuario debe de ingresar tres números cualquiera, el programame debe de mostrar las dos soluciones.
X1 = ( -b+ d ) / ( 2 *a )X2 = ( -b- d ) / ( 2 *a )
3. Fracción, El usuario debe de ingresar el numerado y el denominador y nosdeberá de mostrar la fracción simplificada.
4. Notas, El usuario debe de ingresar su promedio obtenido y este nos mostraraun mensaje dependiendo del rango de las notas
Promedio Mensaje
0 a 5 Pésimo6 a 10 Deficiente11 a 15 Regular
16 a 20 Bueno
5. Hora, dada la hora del día en horas, minutos y segundos encuentre la hora delsiguiente segundo. Por ejemplo: si son las 10:58:40 nos deberá de mostrar losiguiente: 10:58:41.
6. Sueldo, Si el sueldo de un empleado es 1000 o menos se le descuenta el 10 %,si esta entre 1000 y 2000 el % % sobre el adicional, y si esta arriba de 2000, el3 % sobre el adicional, Elabore un programa que lea el sueldo y muestre elsalario neto y el impuesto.
7. Signo, Elabore un programa que lea un número y obtenga el signo, su parteentera y su parte fraccionaria.
8. Algoritmo, Elabore un programa que muestre un algoritmo que nos permitaevaluar la función:
Log(x-8) Si x > 8g(x) 2x-log(x) Si 0 < x <= 8
x+sen(x) Si x <= 0
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 121/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
15
9. Triangulo, Elabore un programa que pida tres longitudes, y compruebe sipueden formar un triangulo y luego clasifique el triangulo según los lados. Parasaber si forman un triangulo deberá de cumplir lo siguiente:
LadoA<LadoB+LadoC y LadoB<LadoA+LadoC y LadoC<LadoB+LadoA.
10. Mayor, Elaborar un programa que lea tres número e indique cual es el mayor.
11. Expresión, Elaborar un programa, que lea un valor x y encuentre el valornumérico de la siguiente expresión: y = (x-3)/(x2-25).
12. Múltiplo, Elabore un programa que lea tres números (n y d1, d2) y determinesi n es múltiplo de d1 y de d2.
13. Bisiesto, Elaborar un programa que lea un año y este nos indique si el año esbisiesto, tomar en cuenta que un año bisiesto es aquel año que tiene 366 días yademás es múltiplo de 4, pero no múltiplo de 100 pero si de 400.
14. Ordenar, Elabora un programa que ordene de mayor a menor 3 númerosingresados por el teclado.
15. Ecuación, Elabore un programa que resuelva una ecuación de primer grado,teniendo en cuenta que debe de ingresar un coeficiente (a) y un terminoindependiente (b). x = -b/a.
16. Producto, Elabore un programa que lea dos números, si los dos números sonpositivos calcule su producto, en caso contrario calcule su suma.
17. Menor, Elaborar un programa que sin usar estructuras repetitivas, lea 5números y determine el menor.
18. Ordenados, Elaborar un programa que lea 5 números y diga si estánordenados ascendentemente.
19. Área, Elabora un programa que lea tres números a, b, c y determine si puedenformar un triangulo comprobando que p>a, p>b y p>c donde p es elsemiperimetro y equivale a: p=(a+b+c)/2. Luego calcule el área del triangulousando la fórmula de Herón: A = p(p-a)(p-b)(p-c).
20. Función, Elabore un programa que nos permita evaluar la función:
X2+1 Si x <= 8f(x) x2+3x+2 Si 0 < x < 3
x+1 Si x >= 3
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 122/323
Lenguaje de Programación – Capitulo V
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
16
Bueno señores con esto acaba la Tercera entrega de este manual, se que ha
sido muy poco, pero les estoy dejando 20 pequeño ejercicios para que practiquen,mientras tanto yo seguiré elaborando la cuarta entrega, en donde tocaremos losiguiente:
! Arreglos! Funciones! Polimorfismo
Dependiendo si nos alcanza tiempo voy a ver si puedo hacer unos cuantosejercicios sobre clases y punteros, para dar por finalizado los programas enConsolas de Aplicación y comenzar a programar en Ventanas de Aplicación, así quetraten de resolver los ejercicios, que todo lo que hemos tocado acá lo aplican enestos ejercicios, no hay nada nuevo, pero igual les estaré entregando las soluciones
en la siguiente entrega, okis, bueno conmigo será hasta la próxima entrega, yasaben aquí les dejo mi correo por si tienen alguna duda.
Joel Martin Chuco [email protected]
Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú
" Cuenta en Soles:
067-3008573552
" Cuenta en Dólares:
067-3008573560
www.interbank.com.pe
Este Manual Solo lo Puedes Descargar por la Página Oficial.
www.lawebdelprogramador.com
Lima, 17 de enero del 2006
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 123/323
Capitulo VI
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 124/323
INDICE
CAPITULO VI
Arreglos 01
Arrays Unidimensional 01
Arrays Multidimensional 02
Ejercicio 34 03
Ejercicio 35 04
Ejercicio 36 06
Ejercicio 37 07
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 125/323
Lenguaje de Programación – Capitulo VI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
ARREGLOS
Array Unidimensional
Un Array (arreglo) es un indicador que puede almacenar varios valoressimultáneamente. Cada uno de estos valores se identifica mediante un número alcual se llama índice. Así, para acceder al primer elemento del array habría que usarel índice cero, para el segundo el índice uno, para el tercero el índice dos, y asísucesivamente. Vamos a ver cómo se declara un Array
Dim Variable(NúmeroDeElementos) As Tipo de Variable
En efecto, tal como pueden apreciar, el array será utilizable únicamente apartir de su declaración. Por ejemplo:
Dim Numeros(3) As Integer
En este ejemplo, el número 3 que está dentro de los paréntesis indica elnúmero total de elementos + 1 de que constará el array. Puesto que todos losarrays están basados en cero, esto es, el primer elemento del array es cero. Por lotanto, en este caso, el último elemento sería 3, ya que son cuatro y no tres loselementos que lo componen (0, 1, 2 y 3). Veamos un ejemplo algo más completo ydespués lo comentamos:
Dim Numeros(3) As Integer
Dim K As Integer
Numeros(0) = 1
Numeros(1) = 2
Numeros(2) = 3
Numeros(3) = 4
For K = 0 to 3
Console.WriteLine("Indice [{0}{1}{2}", K, "] = ", Numeros(K))
Next
Ahora veamos la salida en la consola.
Indice [0] = 1Indice [1] = 2Indice [2] = 3Indice [3] = 4
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 126/323
Lenguaje de Programación – Capitulo VI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
Bueno ahora se ve mas claro lo que hablo, como se habrán dado cuenta aldeclarar un array e indicar los elementos que va a contener dicho array, siempredebemos de tener en cuenta de esto: Numero de elementos – 1, por ejemplo, siqueremos un array de 4 elementos tendríamos que indicarle así: Array (3), por que
seria el numero de elementos–
1 en este caso 4–
1 = 3.
Aunque es un poco difícil de acostumbrarse, ya que en las versionesantiguas no eran así, se parecen un poco al C, C++.
Array Multidimensional
Los arrays multidimensionales son aquellos que constan de dos o másdimensiones, es decir, que cada elemento del array viene definido por dos o másíndices. Veamos un ejemplo de declaración de un array multidimensional (en estecaso, será tridimensional, es decir, con tres dimensiones):
Dim Variable(x,x,x) As Tipo de Variable
Como vemos, hay tres letras dentro de los paréntesis, separadas por comas,lo cual indica que el array es tridimensional, puesto que los tres índices del mismose separan uno de otro por comas. Veamos un pequeño ejemplo que lo clarifiqueun poco más:
Dim Alumnos(1,3) As Integer
Este array es bidimensional y serviría para almacenar una lista de alumnos porNombres y Apellidos, tenemos un array bidimensional (el primer índice del arraynos almacenará los nombres y el segundo índice nos almacenará los apellidos).Veamos un poco de código y una tabla para que se hagán una idea de cómo sealmacena esto:
Alumnos(0,0)="José";Alumnos(0,1)="Luís";Alumnos(0,2)="Juan";Alumnos(0,3)="Pedro";Alumnos(1,0)="Vargas";Alumnos(1,1)="Moreno";Alumnos(1,2)="López";Alumnos(1,3)="Peralta";
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 127/323
Lenguaje de Programación – Capitulo VI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
Esto sería como almacenar los datos en esta tabla:
Nombres (0) Apellidos (1)
Alumnos 0 José Vargas
Alumnos 1 Luís Moreno
Alumnos 2 Juan López
Alumnos 3 Pedro Peralta
Bueno parece que esta un poco claro, lo de arrays, en esta tabla heseparado por indicie, mejor dicho lo que declaro en la variable lo he graficado,como?, bueno así: tenemos nuestro array llamado Alumnos(1,3), todos sabemosque va a tener dos columnas y cuatro filas, así que en la columna 0 voy aalmacenar los nombres y el la columna 1 sus apellidos, guiándome de los índices decada nombre que ingrese, en otras palabras en el array Alumnos, en la columna 0 yen la fila 0 voy a almacenar el nombre de José, así que en la columna 1 y en la
misma fila 0 voy a almacenar su apellido Vargas, y así sucesivamente hasta que sellene el array.
Ahora veamos unos ejercicios para que lo entiendan mejor.
EJERCICIOS
34. Se desea mostrar los cuatros primeros números positivos y el número del índiceen donde es almacenado en el array unidimensional.
Solución:
Module Ejercicio34'Ejemplo de un Array UnidimensionalSub Main()
Dim ArrayUnidimensional(3) As IntegerDim X, Num As IntegerFor X = 0 To 3
Num = X + 1ArrayUnidimensional(X) = Num
NextConsole.WriteLine()
Console.WriteLine("Array Unidimensional 4")Console.WriteLine()For X = 0 To 3
Console.WriteLine("Indice [{0}{1}{2}", X, "] = ", ArrayUnidimensional(X))NextConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 128/323
Lenguaje de Programación – Capitulo VI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
Ahora expliquemos, primero declaramos un array unidimensional llamado:ArrayUnidimensional, este va a contener 4 elementos, por lo tanto entre losparéntesis pondremos el numero de elementos menos uno, ósea 3, despuésdeclaramos una variable que va a comportarse (funcionar) como un contador, así
que primero almacenamos los valores en el array, en el índice 0 tendrá almacenadoel valor de 1, en el índice 1 tendrá almacenado el valor 2 y así sucesivamente hastaalmacenar los cuatro elementos.
Después pasaremos a mostrar elemento por elemento con el for, tomandodesde el índice 0 a 3, y eso es todo lo que hace ese código.
35. Se desea mostrar los dieciséis primeros números positivos y el número delíndice en donde es almacenado en el array bidimensional.
Solución:
Module Ejercicio35'Ejemplo de un Array BidimensionalSub Main()
Dim ArrayBidimensional(3, 3) As IntegerDim X, Y, Num As IntegerFor X = 0 To 3
For Y = 0 To 3Num = Y + 1If X = 1 Then
Num += 4ElseIf X = 2 Then
Num += 8
ElseIf X = 3 ThenNum += 12
End IfArrayBidimensional(X, Y) = Num
NextNextConsole.WriteLine()Console.WriteLine("Array Bidimensional 4 x 4")Console.WriteLine()For X = 0 To 3
For Y = 0 To 3Console.WriteLine("Indice [{0}{1}{2}{3}{4}", X, "][", Y, "] = ",ArrayBidimensional(X, Y))
NextNextConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 129/323
Lenguaje de Programación – Capitulo VI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
Bueno expliquemos, primero declaramos el array bidimensional que va a serArrayBidimensional(3,3), como ustedes saben, este array va a contener 16elementos y no 9 como parece, después almacenamos los valores mediante un For,
mejor dicho, almacenamos los valores mediante una estructura de repetición,primero almacenaremos los valores de la primera fila, así que el arraybidimensional ser así: cuando X valga 0 será y Y valga 0, ArrayBidimensional(0,0) yalmacenaremos el valor de 1, por lo tanto X va a mantener su valor de 0 y Y tendráel valor de 1, por lo tanto el array será así: ArrayBidimensional(0,1) va a tener elvalor de 1 y así sucesivamente hasta que el valor de X sea 1, esto nos indicaría quetocaría llenar la fila 1 por lo tanto cuando X valga 1 y Y valga 0 el array será así:ArrayBidimensional(1,0) va a contener el valor de 5, bueno si están algoconfundido, veamos gráficamente como estaría almacenado el array.
ArrayBidimensional(3,3)
Y
0 1 2 30 1 2 3 41 5 6 7 82 9 10 11 12
X
3 13 14 15 16
Gráficamente eso es lo que haría la codificación, con respecto a al almacenarde elementos en el array, y para mostrar los elementos, seria casi lo mismo, por nodecir lo mismo, primero muestra el elemento que está en el índice (0,0), y después
el del índice (0,1), y así sucesivamente, según lo que indique el For.
Para que les quede un poco mas claro la idea de los array, resolveremos dosejercicios más de arrays, uno de unidimensional y el otro bidimensional, cada unorespectivamente con su gráfico para que les sea más claro.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 130/323
Lenguaje de Programación – Capitulo VI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
36. Se desea mostrar los Nombres y Apellidos de 4 alumnos que están almacenadosen arrays unidimensionales diferentes.
Solución:
Module Ejercicio36'Este algoritmo contiene dos Array, uno que almacena los nombres'y el otro almacena los apellidos y después muestra los nombres y apellidosSub Main()
Dim Nombres(3), Apellidos(3) As StringDim X As IntegerNombres(0) = "Joel"Nombres(1) = "Nahum"Nombres(2) = "Krizia"Nombres(3) = "Giselle"Apellidos(0) = "Chuco"Apellidos(1) = "Chuco"
Apellidos(2) = "Rupay"Apellidos(3) = "Valverde"For X = 0 To 3
Console.Write("indice [{0}{1}{2}", X, "] = ", Nombres(X))Console.WriteLine(" {0}", Apellidos(X))
NextConsole.ReadLine()
End Sub
End Module
Para este ejercicio hemos declarado dos arrays uno llamado Nombres y otro
llamado Apellidos ambos van a contener 4 elementos y van a ser de tipo cadena(String) ya que van a almacenar textos, después de declararlos pasaremos aalmacenar valores en los arrays, una vez almacenado mediante un For,empezaremos a mostrar los nombres y los apellidos, cuando el contador valga 0, semostrará los elementos del índice 0 de ambos arrays, así sucesivamente hastamostrar los cuatro elementos, mas o menor se almacenaría así los array,gráficamente.
Indices0 1 2 3
Nombres(3) Joel Nahum Krizia Giselle
Apellidos(3) Chuco Chuco Rupay Valverde
Como se ve en el gráfico, en el índice 0 del array Nombres figura mi nombrey en el array Apellidos figura mi apellido, y así sucesivamente con los demáselementos.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 131/323
Lenguaje de Programación – Capitulo VI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
37. Se desea mostrar los Nombres y Apellidos de 4 alumnos que están almacenadosen un array bidimensional.
Solución:
Module Ejercicio37'Este algoritmo muestra los Nombres y Apellidos almacenados'en un Array BidimensionalSub Main()
Dim NomApe(1, 3) As StringDim X1, X2, Y As IntegerNomApe(0, 0) = "Joel"NomApe(0, 1) = "Nahum"NomApe(0, 2) = "Krizia"NomApe(0, 3) = "Giselle"NomApe(1, 0) = "Chuco"NomApe(1, 1) = "Chuco"NomApe(1, 2) = "Rupay"
NomApe(1, 3) = "Valverde"Console.WriteLine("Los Nombres y Apellidos Son: ")Console.WriteLine()For X1 = 0 To 0
For Y = 0 To 3Console.Write("{0}{1}", NomApe(X1, Y), " ")For X2 = 1 To 1
Console.WriteLine(NomApe(X2, Y))Next
NextNextConsole.ReadLine()
End Sub
End Module
Primero declaramos un array bidimensional que contendrá 8 elementos, dosfilas y 4 columnas, en la primera fila se encontrarán todos los nombres y el lasegunda fila, se encontrarán todos los apellidos, después de almacenar los valores,pasaremos a mostrarlos mediante For, primero mostramos el nombre, y despuéscon el siguiente For mostraremos el apellido, gráficamente el arrays estaríaalmacenado así:
NomApe(1,3)
Y0 1 2 3
0 Joel Nahum Krizia GiselleX
1 Chuco Chuco Rupay Valverde
Bueno en este gráfico creo que se ve mas entendible, y también se puedever que cada nombres esta con su apellido, como lo almacenamos.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 132/323
Capitulo VII
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 133/323
INDICE
CAPITULO VII
Procedimientos 01
Parámetros o argumentos de los procedimientos 02
Ejercicio 38 03
Ejercicio 39 04
Ejercicio 40 04
Ejercicio 41 05
Ejercicio 42 05
Ejercicio 43 06
Ejercicio 44 07
Ejercicio 45 08
Ejercicio 46 09
Ejercicio 47 10
Ejercicio 48 11
Ejercicio 49 12
Enumeraciones 13
Ejercicio 50 14
Ejercicio 51 15
Ejercicio 52 16
Soluciones de los Ejercicios Propuestos 17
Ejercicio 01 17
Ejercicio 02 19
Ejercicio 03 20
Ejercicio 04 20
Ejercicio 05 21
Ejercicio 06 22
Ejercicio 07 22
Ejercicio 08 23
Ejercicio 09 24
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 134/323
Ejercicio 10 25
Ejercicio 11 25
Ejercicio 12 26
Ejercicio 13 27
Ejercicio 14 27
Ejercicio 15 28
Ejercicio 16 28
Ejercicio 17 29
Ejercicio 18 30
Ejercicio 19 30
Ejercicio 20 31
Despedida 32
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 135/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
PROCEDIMIENTOS
Los procedimientos son las sentencias de código ejecutable de un programa.Las instrucciones de un procedimiento están delimitadas por una instrucción dedeclaración y una instrucción End.
Existen tres tipos de procedimientos en Microsoft Visual Basic® .NET:procedimientos Sub, procedimientos Function y procedimientos Property.
! Los procedimientos Sub realizan acciones pero no devuelven un valor alprocedimiento que origina la llamada. Los controladores de eventos sonprocedimientos Sub que se ejecutan en respuesta a un evento.
! Los procedimientos Function pueden devolver un valor al procedimiento queorigina la llamada. La instrucción MessageBox.Show es un ejemplo defunción.
! Los procedimientos Property devuelven y asignan valores de propiedades declases, estructuras o módulos.
Un procedimiento puede ser invocado, o llamado, desde otro procedimiento.Cuando un procedimiento llama a otro procedimiento, se transfiere el control alsegundo procedimiento. Cuando finaliza la ejecución del código del segundoprocedimiento, éste devuelve el control al procedimiento que lo invocó.
Debido a esta funcionalidad, los procedimientos resultan útiles para realizartareas repetidas o compartidas. En lugar de escribir el mismo código más de una
vez, podemos escribir un procedimiento e invocarlo desde varios puntos de nuestraaplicación o desde otras aplicaciones.
Utilizamos un modificador de acceso para definir la accesibilidad de losprocedimientos que escribimos (es decir, el permiso para que otro código invoqueal procedimiento). Si no especificamos un modificador de acceso, losprocedimientos son declarados public de forma predeterminada. Las opciones deaccesibilidad para declarar un procedimiento dentro de un módulo:
Public: Ninguna restricción de acceso
Friend: Accesible desde el programa que contiene la declaración y desde cualquierotro lugar del mismo ensamblado
Private: Accesible únicamente en el módulo que contiene la declaración
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 136/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
Sintaxis
[accesibilidad] Function NombreFuncion[(ListaDeArgumentos)] As TipoDatoInstruccionesRetorna el Valor de Una Función
End Function
Parámetros o argumentos de los procedimientos
Cuando queramos que un procedimiento realice una tarea, es posible quenecesitemos indicarle alguna información adicional. Esa información se suele indicarmediante parámetros o argumentos. Los argumentos pasados a los procedimientospueden ser pasados por valor o por referencia.
Por Valor: Cuando un argumento es pasado por valor, este valor no se podráalterar, por ejemplo:
Module Ejemplo
Sub Main()
MostrarNumero(1)
Console.ReadLine()
End Sub
Sub MostrarNumero(ByVal Valor As Integer)
Valor = Valor + 1
Console.WriteLine("El Valor del Parametro es: {0}", Valor)
End Sub
End Module
Expliquemos, nosotros llamamos al procedimiento MostrarNumero, y lemandamos el parámetro de 1, este numero 1 entra al procedimiento mediante lavariable Valor, que después lo alteramos sumándole mas uno, entonces el valor dela variable Valor seria 2, supuestamente, pero a la hora de mostrarlo en la consola,nos mostrará el valor de 1, se preguntarán ¿Por qué?, esto solo tiene un respuesta,como es pasado por Valor, este Valor no puede ser alterado, por mas que lesumemos, dividamos, restamos, etc. El valor que va a contener la variable Valorsiempre va a ser 1.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 137/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
Por Referencia: Cuando un argumento es pasado por referencia, este valor sepodrá alterar, por ejemplo:
Module Ejemplo
Sub Main()
MostrarNumero(1)
Console.ReadLine()
End Sub
Sub MostrarNumero(ByRef Valor As Integer)
Valor = Valor + 1
Console.WriteLine("El Valor del Parametro es: {0}", Valor)
End Sub
End Module
Expliquemos, nosotros llamamos al procedimiento MostrarNumero, y lemandamos el parámetro de 1, este numero 1 entra al procedimiento mediante lavariable Valor, que después lo alteramos sumándole mas uno, entonces el valor dela variable Valor seria 2, a la hora de mostrarlo en la consola, nos mostrará el valorde 2, se preguntarán ¿Por qué?, esto solo tiene un respuesta, como es pasado porReferencia, este Valor puede ser alterado.
Ahora veremos algunos ejercicios de procedimientos, y el paso deargumentos.
EJERCICIOS
38. Se desea mostrar los números pasados por valor a un procedimiento.
Module Ejercicio38'Este algoritmo usa un procedimiento extern para mostrar los'numeros que le son enviados.Sub Main()
MostrarNumero(1)MostrarNumero(1001)MostrarNumero(-532)
Console.ReadLine()End Sub
Sub MostrarNumero(ByVal Valor As Integer)Console.WriteLine("El Valor del Parametro es: {0}", Valor)
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 138/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
39. Se desea mostrar la edad y el sueldo de un empleado mediante unprocedimiento externo.
Module Ejercicio39'Este algoritmo usa un procedimiento externo para mostrar los'elementos que le son enviados.Sub Main()
MostrarEmpleado(32, 25000.0)Console.ReadLine()
End Sub
Sub MostrarEmpleado(ByVal Edad As Integer, ByVal Salario As Double)Console.WriteLine("El Empleado Tiene {0}{1}", Edad, " años")Console.WriteLine("El Empleado Gana $ {0}", Salario)
End Sub
End Module
40. Se desea mostrar la suma de dos números enviados a un procedimientoexterno.
Module Ejercicio40'Este algoritmo usa un Procedimiento externo para realizar una operación'y devolver el resultado, para que despues mostrarlo
Sub Main()Console.WriteLine("100 + 200 = {0}", SumaValores(100, 200))Console.WriteLine("500 + 501 = {0}", SumaValores(500, 501))Console.WriteLine("-1 + 1 = {0}", SumaValores(-1, 1))Console.ReadLine()
End Sub
Function SumaValores(ByVal a As Integer, ByVal b As Integer) As IntegerSumaValores = a + b
End Function
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 139/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
41. Se desea mostrar un mensaje, utilizando un procedimiento externo
Module Ejercicio41
'Este algoritmo usa un Procedimiento para mostrar un mensajeSub Main()Console.WriteLine("LLamado a una Función")MuestraMensaje()Console.WriteLine("Regreso del Llamado a la Función")Console.ReadLine()
End Sub
Sub MuestraMensaje()Console.WriteLine("Hola, He Sido Rescatado por VB .Net 2005")
End Sub
End Module
42. Se desea mostrar dos mensajes utilizando dos procedimientos externos.
Module Ejercicio42'Este algoritmo usa dos procedimientos para mostrar dos mensajesSub Main()
MuestraTitulo()MuestraLeccion()Console.ReadLine()
End Sub
Sub MuestraTitulo()Console.WriteLine("APUNTES: Apuntes de COMPUTACIÓN")
End Sub
Sub MuestraLeccion()Console.WriteLine("LECCION: Conocimientos Básicos Sobre Funciones")Console.WriteLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 140/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
43. Se desea saber el mayor y el menor número de tres números que son enviadosa un procedimiento externo.
Module Ejercicio43'Este algoritmo usa un procedimientos para determinar que número es mayor y'menor de los tres numeros que le son enviadosSub Main()
Console.WriteLine()grandeYpequeño(1, 2, 3)Console.WriteLine()grandeYpequeño(500, 0, -500)Console.WriteLine()grandeYpequeño(1001, 1001, 1001)Console.ReadLine()
End Sub
Sub grandeYpequeño(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer)
Dim pequeño, grande As IntegerIf a < b AndAlso b < c Then
pequeño = aElseIf b < a AndAlso b < c Then
pequeño = bElse
pequeño = cEnd IfIf b < a AndAlso c < a Then
grande = a
ElseIf a < b AndAlso c < b Thengrande = bElse
grande = cEnd IfConsole.WriteLine("El Valor Más Grande es: {0}", grande)Console.WriteLine("El Valor Más Pequeño es: {0}", pequeño)
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 141/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
44. Se desea mostrar la tabla de multiplicar de un número dado, especificandohasta que número quiere que se muestre, esto se realizará un procedimientoexterno.
Module Ejercicio44'Este algoritmo utiliza un procedimiento para realizar y mostrar la tablar'de multiplicar deseada, indicando de que número quiere que se le muestre'la tabla y hasta que número quiere que se le muestre.Sub Main()
Dim n, m As IntegerConsole.Write("¿Que Tabla de Multiplicar Desea? : ")n = CInt(Console.ReadLine)Console.Write("¿Cuantos Números Desea Ver? : ")m = CInt(Console.ReadLine)Console.WriteLine()
TablaMult(n, m)Console.ReadLine()End Sub
Sub TablaMult(ByVal n As Integer, ByVal m As Integer)Dim i As IntegerConsole.WriteLine("Tabla de Multiplicar del {0}", n)Console.WriteLine()For i = 1 To m
Console.WriteLine("{0}{1}{2}{3}{4}", i, " x ", n, " = ", i * n)Next
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 142/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
45. Se desea mostrar los divisores comunes de dos números enviados a unprocedimiento.
Module Ejercicio45'Este algoritmo muestra los divisores comunes de dos números'enviados.Sub Main()
Dim a, b As IntegerConsole.WriteLine("Divisores Comunes de Dos Números")Console.WriteLine()Console.Write("Ingrese Primer Número: ")a = CInt(Console.ReadLine)Console.Write("Ingrese Segundo Número: ")b = CInt(Console.ReadLine)Console.WriteLine()
Comunes(a, b)Console.ReadLine()End Sub
Sub Comunes(ByVal a As Integer, ByVal b As Integer)Dim i As Integer = 1While (i <= a And i <= b)
If a Mod i = 0 AndAlso b Mod i = 0 ThenConsole.WriteLine(i)
End Ifi = i + 1
End WhileEnd Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 143/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
9
46. Se desea saber si una fecha es correcta, esta fecha es ingresada por el usuario.
Module Ejercicio46'Este algoritmo utiliza un procedimiento para verificar si una fecha que se'halla ingresado es correcta o incorrectaSub Main()
Dim dia, mes, año As IntegerConsole.Write("Ingrese el Día: ")dia = CInt(Console.ReadLine)Console.Write("Ingrese el Mes: ")mes = CInt(Console.ReadLine)Console.Write("Ingrese el Año: ")año = CInt(Console.ReadLine)Console.WriteLine()FechaOk(dia, mes, año)
Console.ReadLine()End Sub
Sub FechaOk(ByVal dia As Integer, ByVal mes As Integer, ByVal año As Integer)Dim MaxDia As IntegerSelect Case mes
Case 1, 3, 5, 7, 10, 12, 8MaxDia = 31
Case 4, 6, 9, 11MaxDia = 30
Case 2If año Mod 4 = 0 AndAlso año Mod 100 <> 0 Or año Mod 400 = 0 Then
MaxDia = 29
ElseMaxDia = 28End If
Case ElseConsole.WriteLine("Mes Incorrecto")Exit Sub
End SelectIf dia > 0 And dia <= MaxDia And mes > 0 And mes < 13 And año > 0 Then
Console.WriteLine("La Fecha Es Correcta")Else
Console.WriteLine("La Fecha Es Incorrecta")End If
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 144/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
10
47. Se desea hallar la longitud del tercer ángulo de un triangulo cualquiera,utilizando el teorema del coseno.
Module Ejercicio47'Este algoritmo halla la longitud del tercer lado de un triangulo'utilizando el teorema del coseno.Sub Main()
Dim a, b, c, Alfa As DoubleConsole.WriteLine("Soluciona un Triángulo : ")Console.WriteLine("Caso: Lado - Ángulo - Lado : ")Console.Write("Ingrese Lado b : ")b = CDbl(Console.ReadLine)Console.Write("Ingrese Lado c : ")c = CDbl(Console.ReadLine)Console.Write("Ángulo Formado (En Radianes) : ")
Alfa = CDbl(Console.ReadLine)a = LadosAngulos(b, c, Alfa)Console.WriteLine("El Tercer Ángulo Mide {0}", a)Console.ReadLine()
End Sub
Function LadosAngulos(ByVal b As Double, ByVal c As Double, ByVal Alfa As Double) As Double
Dim a As Doublea = Math.Sqrt(b * b + c * c - 2 * b * c * Math.Cos(Alfa))LadosAngulos = a
End Function
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 145/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
11
48. Se desea ingresar un número cualquiera y saber si es un número primo.
Module Ejercicio48'Este algoritmo muestra un mensaje diciendo si un'número es primo o noSub Main()
Dim n As IntegerConsole.Write("Ingrese el Número a Evaluar : ")n = CInt(Console.ReadLine)If EsPrimo(n) = True Then
Console.WriteLine("El Número SI es Primo")Else
Console.WriteLine("El Número NO es Primo")End IfConsole.ReadLine()
End Sub
Function EsPrimo(ByVal n As Integer) As BooleanDim i As Integeri = n - 1While (i > 1)
If n Mod i = 0 ThenEsPrimo = FalseExit Function
End Ifi = i - 1
End WhileEsPrimo = True
End Function
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 146/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
12
49. Se desea hallar lo siguiente: Si los dos números son mayores que cero halla suproducto y en caso contrario hallar su suma, y nos tendrá que preguntar siqueremos continuar con la aplicación.
Module Ejercicio49'Este algoritmo solicita dos números, si los dos son mayores'que cero halla su producto, en caso contrario halla su suma'y hace una pregunta sobre si desea continuar con el programaSub Main()
Dim a, b, Resp As IntegerDo
Console.Clear()Console.ForegroundColor = ConsoleColor.RedConsole.WriteLine()Console.Write("Ingrese el Primer Número: ")
a = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")b = CInt(Console.ReadLine)If a > 0 AndAlso b > 0 Then
Resp = a * bElse
Resp = a + bEnd IfConsole.WriteLine("El Resultado de La Operacion es: {0}", Resp)
Loop While (Pregunta() = True)End Sub
Function Pregunta() As Boolean
Dim Resp As CharConsole.ForegroundColor = ConsoleColor.GreenConsole.WriteLine()Console.Write("Desea Continuar [s/n] ==> ")Resp = CChar(Console.ReadLine)If Resp = "s" Or Resp = "S" Then
Pregunta = TrueElse
Pregunta = FalseEnd If
End Function
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 147/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
13
ENUMERACIONES
Una enumeración es un tipo especial de variable numérica en la que los
valores que dicha variable puede tomar, son constantes simbólicas, es decir que enlugar de usar un número, se usa una palabra (constante) que hace referencia a unnúmero, esta constante comenzara desde al valor de 0, por ejemplo veamos unejemplo mas antiguo que es de los colores.
Estas enumeraciones se declaran desde afuera del Main, expliquemos,tenemos una enumeración llamada colores, que contendrá las siguientesconstantes: Azul, Rojo, Verde, que por default el azul contendrá el valor de 0, elrojo será 1 y el verde será 2, si se preguntan, Podemos cambiar esos valores? Larespuesta es si, por ejemplo, ponemos lo siguiente:
Enum Colores
Azul = 255
Rojo
Verde
End Enum
En este caso le asignamos a Azul el valor de 255, entonces el Rojo valdrá256 y el Verde será 257.
La enumeración Colores ya viene a ser un tipo de dato, así que cuandodeclaramos una variable, podemos asignarles de tipo Colores.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 148/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
14
Las enumeraciones pueden ser de varios tipos de datos, como integer, Byte,Long, etc. Cuando declaramos una variable de tipo enumeración, que hayamoscreado, solo podremos asignarles la constante que contenga esta enumeración,para que me entiendan vean este gráfico.
Ahora veamos algunos ejercicios de enumeración para que les quede un
poco mas claro.
50. Esta aplicación nos muestra que valor contiene cada constante de laenumeración Colores.
Module Ejercicio50
Enum ColoresAzulRojoVerde
End Enum
Sub Main()Dim Color As ColoresColor = Colores.AzulConsole.WriteLine("El Número 0 Vale: {0}", Color)Color = Colores.RojoConsole.WriteLine("El Número 1 Vale: {0}", Color)Color = Colores.VerdeConsole.WriteLine("El Número 2 Vale: {0}", Color)
End Sub
End Module
Presionar las teclas CTRL + F5 para poder visualizar bien la ventana a lahora de ejecutar.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 149/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
15
51. Este ejercicio usamos una enumeración para cambiar de color a la letra de laaplicación.
Module Ejercicio51
Enum ColoresAzulRojoVerde
End Enum
Sub Main()Dim Numero As IntegerDim Color As StringConsole.WriteLine("{0}{1}", Space(30), "ELEGIR COLOR")Console.WriteLine()Console.WriteLine("{0}{1}", Space(5), "[0] Color Azul")Console.WriteLine("{0}{1}", Space(5), "[1] Color Rojo")Console.WriteLine("{0}{1}", Space(5), "[2] Color Verde")Console.WriteLine()Console.Write("Ingrese el Número de Color ==> ")Numero = CInt(Console.ReadLine)If Numero < Colores.Azul Or Numero > Colores.Verde Then
Console.WriteLine("Color no Válido")Exit Sub
End IfConsole.WriteLine()Console.Write("Usted Eligio el color ")Select Case Numero
Case Colores.AzulConsole.ForegroundColor = ConsoleColor.BlueColor = "Azul"
Case Colores.RojoConsole.ForegroundColor = ConsoleColor.RedColor = "Rojo"
Case Colores.VerdeConsole.ForegroundColor = ConsoleColor.GreenColor = "Verde"
End SelectConsole.WriteLine(Color)Console.ForegroundColor = ConsoleColor.GrayConsole.WriteLine()
End SubEnd Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 150/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
16
52. Esta aplicación nos mostrara que tipo de cuenta es asignada a un cliente usandouna enumeración, teniendo en cuenta que debe de tener mas de 2500 soles ensaldo para tener una cuenta corriente.
Module Ejercicio52
Enum TipoCuentaCorrienteAhorro
End Enum
Sub Main()Dim Cuenta As TipoCuentaDim Cliente As StringDim Saldo As IntegerConsole.Write("Ingrese el Nombre del Cliente: ")Cliente = Console.ReadLine
Console.Write("Ingrese el saldo de su Cuenta: ")Saldo = CInt(Console.ReadLine)If Saldo < 2500 Then
Cuenta = TipoCuenta.AhorroElse
Cuenta = TipoCuenta.CorrienteEnd IfConsole.WriteLine()Console.WriteLine("{0}{1}", Space(10), "*** DETALLE DE CUENTA DELCLIENTE ***")Console.WriteLine()Console.WriteLine("Cliente: {0}", Cliente)Console.WriteLine("El tipo de cuenta del cliente es: {0}", Cuenta)
Console.WriteLine("El saldo de la cuenta del cliente es: {0}", Saldo)End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 151/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
17
SOLUCIONES DE LOS EJERCICIOS PROPUESTOS
Ejercicio 01
Module zodiaco'Este algoritmo me indica a que signo pertenece, segun la'fecha que uno ingresa.Sub Main()
Dim Dia, Mes As IntegerConsole.Write("Ingrese el Día de Nacimiento: ")Dia = CInt(Console.ReadLine)Console.Write("Ingrese el mes de Nacimiento: ")Mes = CInt(Console.ReadLine)Console.Write("Tu Signo del Zodiaco es: ")Select Case Mes
Case 1If Dia < 21 Then
Console.Write("Capricornio")Else
Console.Write("Acuario")End If
Case 2If Dia < 20 Then
Console.Write("Acuario")Else
Console.Write("Piscis")
End IfCase 3
If Dia < 21 ThenConsole.Write("Piscis")
ElseConsole.Write("Aries")
End IfCase 4
If Dia < 21 ThenConsole.Write("Aries")
ElseConsole.Write("Tauro")
End If
Case 5If Dia < 21 ThenConsole.Write("Tauro")
ElseConsole.Write("Géminis")
End IfCase 6
If Dia < 22 ThenConsole.Write("Geminis")
Else
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 152/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
18
Console.Write("Cancer")End If
Case 7If Dia < 23 Then
Console.Write("Cancer")Else
Console.Write("Leo")End IfCase 8
If Dia < 23 ThenConsole.Write("Leo")
ElseConsole.Write("Virgo")
End IfCase 9
If Dia < 23 ThenConsole.Write("Virgo")
ElseConsole.Write("Libra")
End IfCase 10
If Dia < 23 ThenConsole.Write("Libra")
ElseConsole.Write("Escorpio")
End IfCase 11
If Dia < 22 ThenConsole.Write("Escorpio")
ElseConsole.Write("Sagitario")
End IfCase 12
If Dia < 22 ThenConsole.Write("Sagitario")Else
Console.Write("Capricornio")End If
Case Else : Console.Write("VIVO, el mes es incorrecto")End SelectConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 153/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
19
Ejercicio 02
Module Ecuacion'Este algoritmo halla las dos soluciones de una ecuación
Sub Main()Dim a, b, c, d As SingleDim x1, x2 As DoubleConsole.Write("Ingrese el Valor de a: ")a = CSng(Console.ReadLine)Console.Write("Ingrese el Valor de b: ")b = CSng(Console.ReadLine)Console.Write("Ingrese el Valor de c: ")c = CSng(Console.ReadLine)If a <> 0 Then
d = b * b - 4 * a * cIf d >= 0 Then
x1 = (-b + Math.Sqrt(d)) / (2 * a)x2 = (-b - Math.Sqrt(d)) / (2 * a)Console.WriteLine("La Primera Solución es: {0}", x1)Console.WriteLine("La Segunda Solución es: {0}", x2)
ElseConsole.WriteLine("Las Soluciones son Imaginarias")
End IfElse
Console.WriteLine("El valor de <a> NO puede ser Cero (0)")End IfConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 154/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
20
Ejercicio 03
Module Fraccion'Este algoritmo simplifica una fracción ingresada por el usuario Sub Main()
Dim a, b, i, R1, R2, Q As IntegerConsole.Write("Ingrese el Numerador: ")a = CInt(Console.ReadLine)Console.Write("Ingrese el Denominador: ")b = CInt(Console.ReadLine)i = 2While (i <= a And i < b)
Q = CInt(a / i)R1 = a - (Q * i)Q = CInt(b / i)R2 = b - (Q * i)If R1 = 0 And R2 = 0 Then
a = CInt(a / i)b = CInt(b / i)
Elsei = i + 1
End IfEnd WhileConsole.WriteLine("La Ecuación Simplificada es: {0}{1}{2}", a, "/", b)Console.ReadLine()
End Sub
End Module
Ejercicio 04
Module Notas'Este algoritmo calfica al alumno, de acuerdo a la nota'obtenida en el examén Sub Main()
Dim Prom As IntegerConsole.Write("La Nota de tu Examen es: ")Prom = CInt(Console.ReadLine)If Prom < 0 Xor Prom > 20 Then
Console.WriteLine("VIVO no Mientas")ElseIf Prom <= 5 Then
Console.WriteLine("PÉSIMO, Estas ya Difunto")ElseIf Prom <= 10 Then
Console.WriteLine("DEFICIENTE, Estas en Capilla")
ElseIf Prom <= 15 ThenConsole.WriteLine("REGULAR, te Defiendes")Else
Console.WriteLine("BUENO, Felicitaciones")End IfConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 155/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
21
Ejercicio 05
Module Hora'Este algoritmo halla la hora correspondiente al siguiente'segundo que pasa
Sub Main()Dim h, m, s As IntegerConsole.Write("Ingrese la Hora: ")h = CInt(Console.ReadLine)Console.Write("Ingrese los Minutos: ")m = CInt(Console.ReadLine)Console.Write("Ingrese los Segundos: ")s = CInt(Console.ReadLine)s = s + 1If s = 60 Then
s = 0m = m + 1If m = 60 Then
m = 0h = h + 1If h = 24 Then
h = 0End If
End IfEnd IfConsole.WriteLine("Hora Correspondiente al Siguiente Segundo :{0}{1}{2}{3}{4}", h, ":", m, ":", s)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 156/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
22
Ejercicio 06
Module Sueldo'Este algoritmo nos solicita que ingresemos el sueldo bruto'para después mostrarnos el salario neto y su descuento Sub Main()
Dim sb, sn, d As SingleConsole.Write("Ingrese el Sueldo Bruto: ")sb = CSng(Console.ReadLine)If sb < 0 Then
Console.WriteLine("Sueldo Bruto Incorrecto")Console.ReadLine()Exit Sub
ElseIf sb <= 1000 Then
d = CSng(0.1 * sb)Else
If sb <= 2000 Thend = CSng(100 + 0.05 * (sb - 1000))
Elsed = CSng(150 + 0.03 * (sb - 2000))
End IfEnd If
End Ifsn = sb - dConsole.WriteLine("El Salario Bruto es: {0}", sb)Console.WriteLine("El Salario Neto es: {0}", sn)Console.WriteLine("El Descuento es: {0}", d)Console.ReadLine()
End Sub
End Module
Ejercicio 07
Module Signo'Este algoritmo nos halla el signo del número a evaluar'y nos muestra la parte entera y fraccionaria del númeroSub Main()
Dim x As SingleConsole.Write("Ingrese Numero a Evaluar: ")x = CSng(Console.ReadLine)If x >= 0 Then
Console.WriteLine("Signo Positivo")Else
Console.WriteLine("Signo Negativo")End IfConsole.WriteLine("Parte Entera: {0}", Math.Floor(x))Console.WriteLine("Parte Fraccionaria: {0}", x - Math.Floor(x))Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 157/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
23
Ejercicio 08
Module Algoritmo
'Este algoritmo nos halla una función dadaSub Main()Dim x As SingleDim y As DoubleConsole.Write("Ingrese el Valor de x: ")x = CSng(Console.ReadLine)If x <= 0 Then
y = x + Math.Sin(x)Else
If x <= 8 Theny = 2 * x - Math.Log(x)
ElseIf x >= 8 Then
y = Math.Log10(x - 8)End If
End IfEnd IfConsole.WriteLine("La Función Vale -> {0}", y)Console.WriteLine("Cuando x Vale -> {0}", x)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 158/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
24
Ejercicio 09
Module Triangulo
'Este algoritmo nos solicita que ingresemos tres números'y no dice si forman un triangulo y nos dice que tipo'de triangulo se ha formadoSub Main()
Dim a, b, c As SingleConsole.WriteLine("Ingrese Tres Numeros")Console.Write("Ingrese el Primer Número: ")a = CSng(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")b = CSng(Console.ReadLine)Console.Write("Ingrese el Tercer Número: ")c = CSng(Console.ReadLine)If a < b + c AndAlso b < a + c AndAlso c < a + b Then
If a = b AndAlso b = c ThenConsole.WriteLine("Triangulo Equilatero")
ElseIf a = b Or b = c Or a = c ThenConsole.WriteLine("Triangulo Isósceles")
ElseConsole.WriteLine("Triangulo Escaleno")
End IfElse
Console.WriteLine("No Forman un Triangulo")End IfConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 159/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
25
Ejercicio 10
Module Mayor'Este algoritmo nos indica el mayor de tres números cualquiera
Sub Main()Dim a, b, c, m As IntegerConsole.Write("Ingrese el Primer Número: ")a = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")b = CInt(Console.ReadLine)Console.Write("Ingrese el Tercer Número: ")c = CInt(Console.ReadLine)If a >= b Then
If a >= c Thenm = a
Elsem = c
End IfElse
If b >= c Thenm = b
Elsem = c
End IfEnd IfConsole.WriteLine("El Mayor Número es: {0}", m)Console.ReadLine()
End Sub
End Module
Ejercicio 11
Module Expresion'Este algoritmo no indica si una funcion es discontinua, desde'cualquier valor que ingresemos a XSub Main()
Dim x, y As SingleConsole.Write("Ingrese el Valor de x: ")x = CSng(Console.ReadLine)If x = 5 Or x = -5 Then
Console.WriteLine("La Función es Discontinua")Elsey = (x - 3) / (x * x - 25)Console.WriteLine("La Función Vale: {0}{1}{2}", y, " Cuando x Vale: ", x)
End IfConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 160/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
26
Ejercicio 12
Module Multiplo'Este algoritmo nos muestra si los números ingresados son
'multiplos simultaneamente de cualquier número ingresadoSub Main()Dim n, d1, d2 As Integer'Dim q, r1, r2 As IntegerConsole.Write("Ingrese el Número: ")n = CInt(Console.ReadLine)Console.Write("Ingrese el Primer Posible Divisor: ")d1 = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Posible Divisor: ")d2 = CInt(Console.ReadLine)
'Primera Forma
If n Mod d1 = 0 And n Mod d2 = 0 ThenConsole.WriteLine("Es Multiplo de {0}{1}{2}{3}", d1, " y de ", d2, "Simultaneamente")
ElseConsole.WriteLine("No es Multiplo de {0}{1}{2}{3}", d1, " y de ", d2, "Simultaneamente")
End If
'Segunda Forma
'q = CInt(n / d1)'r1 = n - (q * d1)'q = CInt(n / d2)'r2 = n - (q * d2)
'If r1 = 0 AndAlso r2 = 0 Then'Console.WriteLine("Es Multiplo de {0}{1}{2}{3}", d1, " y de ", d2, "Simultaneamente")'Else'Console.WriteLine("No es Multiplo de {0}{1}{2}{3}", d1, " y de ", d2, "Simultaneamente")'End If
Console.ReadLine()End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 161/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
27
Ejercicio 13
Module Bisiesto'Este algoritmo nos indica si un año es bisiesto o no
Sub Main()Dim año As IntegerConsole.Write("Ingrese el Año: ")año = CInt(Console.ReadLine)
If año Mod 4 = 0 And año Mod 100 <> 0 Or año Mod 400 = 0 ThenConsole.WriteLine("El Año {0}{1}", año, " es Bisiesto")
ElseConsole.WriteLine("El Año {0}{1}", año, " no es Bisiesto")
End IfConsole.ReadLine()
End Sub
End Module
Ejercicio 14
Module Ordena'Este algoritmo ordena tres números cualquiera de mayor a menorSub Main()
Dim a, b, c As IntegerConsole.Write("Ingrese el Primer Número: ")a = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")
b = CInt(Console.ReadLine)Console.Write("Ingrese el Tercer Número: ")c = CInt(Console.ReadLine)Console.WriteLine("Los Número Ordenados de Mayor a Menor son: ")If a >= b And b >= c Then
Console.WriteLine(" {0}{1}{2}{3}{4}", a, " ; ", b, " ; ", c)ElseIf a >= c And c >= b Then
Console.WriteLine(" {0}{1}{2}{3}{4}", a, " ; ", c, " ; ", b)ElseIf b >= a And a >= c Then
Console.WriteLine(" {0}{1}{2}{3}{4}", b, " ; ", a, " ; ", c)ElseIf b >= c And c >= a Then
Console.WriteLine(" {0}{1}{2}{3}{4}", b, " ; ", c, " ; ", a)ElseIf c >= a And a >= b Then
Console.WriteLine(" {0}{1}{2}{3}{4}", c, " ; ", a, " ; ", b)ElseConsole.WriteLine(" {0}{1}{2}{3}{4}", c, " ; ", b, " ; ", a)
End IfConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 162/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
28
Ejercicio 15
Module Ecuacion'Este algoritmo nos indica si el coeficiente de X es una'ecuación de primer grado
Sub Main()Dim a, b, x As SingleConsole.Write("Ingrese el Coeficiente de x: ")a = CSng(Console.ReadLine)Console.Write("Ingrese el Termino Independiente: ")b = CSng(Console.ReadLine)If a = 0 Then
Console.WriteLine("No es una Ecuación de Primer Grado")Else
x = CSng(-b / a)Console.Write("La Raíz es: {0}", x)
End IfConsole.ReadLine()
End Sub
End Module
Ejercicio 16
Module Producto'Si dos números son positivos calcule su producto'En caso contrario calcule su sumaSub Main()
Dim a, b, Res As Integer
Console.Write("Ingrese el Primer Número: ")a = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")b = CInt(Console.ReadLine)If a > 0 AndAlso b > 0 Then
Res = a * bElse
Res = a + bEnd IfConsole.WriteLine("El Resultado de la Operación es: {0}", Res)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 163/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
29
Ejercicio 17
Module Menor'Sin usar estructuras repetitivas, lea 5 números y
'Determine el menorSub Main()Dim a, b, c, d, e, Menor As IntegerConsole.Write("Ingrese el Primer Número: ")a = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")b = CInt(Console.ReadLine)Console.Write("Ingrese el Tercer Número: ")c = CInt(Console.ReadLine)Console.Write("Ingrese el Cuarto Número: ")d = CInt(Console.ReadLine)Console.Write("Ingrese el Quinto Número: ")e = CInt(Console.ReadLine)If a < b AndAlso a < c AndAlso a < d AndAlso a < e Then
Menor = aElseIf b < a AndAlso b < c AndAlso b < d AndAlso b < e Then
Menor = bElseIf c < a AndAlso c < b AndAlso c < d AndAlso c < e Then
Menor = cElseIf d < a AndAlso d < b AndAlso d < c AndAlso d < e Then
Menor = dElse
Menor = eEnd IfConsole.WriteLine("El Menor Número Ingresado es: {0}", Menor)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 164/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
30
Ejercicio 18
Module Ordenados'Lea 5 números y diga si están ordenados ascendentementeSub Main()
Dim a, b, c, d, e As Integer
Console.Write("Ingrese el Primer Número: ")a = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")b = CInt(Console.ReadLine)Console.Write("Ingrese el Tercer Número: ")c = CInt(Console.ReadLine)Console.Write("Ingrese el Cuarto Número: ")d = CInt(Console.ReadLine)Console.Write("Ingrese el Quinto Número: ")e = CInt(Console.ReadLine)If a < b AndAlso b < c AndAlso c < d AndAlso d < e Then
Console.WriteLine("Estan Ordenados Ascendentemente")Else
Console.WriteLine("No Estan Ordenados Ascendentemente")End IfConsole.ReadLine()
End Sub
End Module
Ejercicio 19
Module Area'Este programa lee tres números a, b, c y determina si pueden formar'un triangulo comprobando que p>a, p>b y p>c donde p es el semiperimetro'y equivale a: p=(a+b+c)/2. Luego calcule el área del triangulo'usando la fórmula de Herón: A = (p(p-a)(p-b)(p-c))^0.5
Sub Main()Dim a, b, c As IntegerDim p, Area, Temp As DoubleConsole.Write("Ingrese el Primer Número: ")a = CInt(Console.ReadLine)Console.Write("Ingrese el Segundo Número: ")b = CInt(Console.ReadLine)Console.Write("Ingrese el Tercer Número: ")c = CInt(Console.ReadLine)p = (a + b + c) / 2If a < p AndAlso b < p AndAlso c < p Then
Temp = p * (p - a) * (p - b) * (p - c)Area = Math.Sqrt(Temp)
Console.WriteLine("Si Forman Un Triangulo")Console.WriteLine("El Área del Triangulo es: {0}", Area)Else
Console.WriteLine("No Forman Un Triangulo")End IfConsole.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 165/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
31
Ejercicio 20
Module Funcion'Este programa nos permite evaluar la función:
' x^2+1 Si x <= 8' x^2+3x+2 Si 0 < x < 3' x+1 Si x >= 3Sub Main()
Dim x As IntegerDim Res As DoubleConsole.Write("Ingrese el Valor de x: ")x = CInt(Console.ReadLine)If x <= 0 Then
Res = Math.Pow(x, 2) + 1ElseIf 0 < x AndAlso x < 3 Then
Res = Math.Pow(x, 2) + (3 * x) + 2ElseIf x >= 3 Then
Res = x + 1End IfConsole.WriteLine("El Resultado de La Función: {0}", Res)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 166/323
Lenguaje de Programación – Capitulo VII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
32
Bueno señores con esto acaba la Cuarta entrega de este manual, se que hasido muy poco, pero les estoy dejando las 20 soluciones de los ejercicios de latercera entrega, en la próxima entrega acabaremos con lo que es consola deaplicación para empezar a llevar la consola de Windows, en la próxima entregatocaremos lo siguiente, si o si:
! Programación Orientada a Objetos! Estructuras! Polimorfismo! Clases, y todo lo que nos falte
Bueno conmigo será hasta la próxima entrega, ya saben aquí les dejo micorreo por si tienen alguna duda.
Joel Martin Chuco [email protected]
Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú
" Cuenta en Soles:
067-3008573552
" Cuenta en Dólares:
067-3008573560
www.interbank.com.pe
Este Manual Solo lo Puedes Descargar por la Página Oficial.
www.lawebdelprogramador.com
Lima, 09 de Febrero de 2006
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 167/323
Capitulo VIII
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 168/323
INDICE
CAPITULO VIII
Paradigmas 01
Paradigmas Por Procedimientos 01
Paradigmas Declarativos 01
Paradigmas Funcional 01
Paradigma Orientado a Objetos 01Programación 02
Programación Clásica 02
Programación Modular 02
Ejercicio 53 03
Ejercicio 54 05
Programación Orientada a Objetos 06
Introducción 06
¿Qué es la Programación Orientada a Objetos? 06
Los Tres Pilares de la Programación 07
! Herencia 07
! Encapsulación 07
! Polimorfismo 08
Las Clases 08
Los Objetos 08
Los Miembros de Una Clase 09
Crear o Definir Una Clase 09
Definir los Miembros de Una Clase 10
Crear un Objeto a Partir de Una Clase 10
Acceder a Los Miembros de Una Clase 11
Ejemplo de Usar la Herencia 11
Las Estructuras 14
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 169/323
El Nombre de Espacios (NameSpace) 14
¿Qué es un NameSpace? 14
¿Qué Finalidad Tiene el Uso de los Namespace? 16
Anidar Espacios de Nombres 16
¿Cómo Acceder a los Tipos Declarados Dentro de un Namespace? 16
Ejemplos de Cómo Usar Los Namespace 17
Ejercicio 55 20
Ejercicio 56 21
Ejercicio 57 22
Ejercicio 58 24
Ejercicio 59 25
Ejercicio 60 27
Despedida 29
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 170/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
PARADIGMAS
Paradigmas por Procedimiento
Son aquellas llamadas también paradigmas interactivos, representan alenfoque tradicional de la programación en donde los programas se conciben comomódulos que realizan una determinada tarea o acción, para posteriormente obteneruna salida o resultado.
Paradigmas Declarativos
Este paradigma hace hincapié a la pregunta ¿Cuál es el problema?, sininteresarle al programador, que procedimiento necesita para resolver el problema,pues así tenemos el GPS, sistemas simulados de propósitos generales, que permitemodelar el problema, por ejemplo los problemas particulares como el problema delas colas de un banco, simular el programa de mantenimiento de una fábrica, elproblema de producir N piezas en un determinado proceso productivo.
Paradigma Funcional
Plantea el proceso de creación de software, como un sistema de cajas
negras, cada uno de las cuales acepta una entrada por arriba y produce salidas porabajo, desde el punto de vista matemático, dichas cajas son funciones por lo queha de ser un paradigma funcional.
Paradigma Orientado a Objetos
Es un paradigma que ha adquirido popularidad en los últimos años que es elresultado de la evolución de la programación estructurada, en la cual se subdivideen módulos y que cada uno de ellos realiza una determinada tarea, ese mismoconcepto se aplica a los objetos para que cumplan una determinada acción o tarea,
pues así tenemos los lenguajes de programación C, C++, Java.Conduce a paradigma orientado a objetos, donde sin duda es una evolución
de la programación estructurada y además los conceptos fundamentales son: clase,herencia, polimorfismo, reutilización. Los lenguajes de programación orientada aobjetos son SmallTalk, Simula, C++ y Java.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 171/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
PROGRAMACIÓN
Programación Clásica
Surge por los años 50 y 60, es de tipo monolítica donde si el programa eragrande, era difícil de corregir, y su mantenimiento era muy costoso.
Programación Modular
Surge a principios de los 70, es uno de los métodos de diseño más flexible ypotentes para mejorar la productividad de un programa. Todo programa contieneun módulo denominado programa principal, que controla todo lo que sucede, esdecir transfiere el control a su módulo, de modo que ellos pueden ejecutarfunciones, las tareas de los módulos se sigue dividiendo hasta que cada uno tengaexclusivamente una función específica, a este tipo de programación se le conocecomo el método “Divide y Venceras” (Top Down).
Ahora veamos un ejercicio utilizando una programación modular.
Módulo 1 Módulo 2 Módulo 3 Módulo 4 Módulo 5
Módulo 6 Módulo 7 Módulo 8
Raíz
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 172/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
53. Esta aplicación utiliza varios procedimientos para realizar una cierta tarea,utilizando la programación modular.
Module Ejercicio53'Programa que muestra un menú de opcionesSub Main()
Dim opc, Numero As IntegerCall Menu()Console.WriteLine()Console.Write("Elija Su Opción ==> ")opc = CInt(Console.ReadLine)Console.WriteLine()While opc <> 4
Select Case opcCase 1
Console.Write("Ingrese un Número Entero: ")Numero = CInt(Console.ReadLine)Call Pares(Numero)
Case 2Console.Write("Ingrese un Número Entero: ")Numero = CInt(Console.ReadLine)Call EsPrimo(Numero)
Case 3Console.Write("Ingrese un Número Entero: ")Numero = CInt(Console.ReadLine)Call Factorial(Numero)
Case ElseConsole.WriteLine("Opción No Válida")Console.Clear()
Call Menu()End SelectConsole.WriteLine()Console.Write("Elija Su Opción ==> ")opc = CInt(Console.ReadLine)Console.WriteLine()
End WhileConsole.WriteLine("Fin del Programa")Console.ReadLine()
End Sub
Sub Menu()Console.WriteLine()
Console.WriteLine("{0}{1}", Space(30), "MENÚ DE OPCIONES")Console.WriteLine()Console.WriteLine("[1] Pares")Console.WriteLine("[2] Es Primo")Console.WriteLine("[3] Factorial")Console.WriteLine("[4] Salir")Console.WriteLine()
End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 173/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
Sub Pares(ByVal Numero As Integer)Dim i As Integer = 1Console.WriteLine()Console.WriteLine("Los Pares Menores que {0} Son: ", Numero)
Console.WriteLine()While i < NumeroIf i Mod 2 = 0 Then
Console.WriteLine("{0}", i)End Ifi = i + 1
End WhileEnd Sub
Sub EsPrimo(ByVal Numero As Integer)Dim Primo As BooleanIf Numero < 6 And Numero <> 4 Then
Primo = TrueElseIf Numero Mod 2 = 0 Or Numero Mod 3 = 0 Or Numero Mod 5 = 0 Then
Primo = FalseElse
Primo = TrueEnd IfConsole.WriteLine()If Primo = True Then
Console.WriteLine("El Número es Primo")Else
Console.WriteLine("El Número No Es Primo")End If
End Sub
Sub Factorial(ByVal Numero As Integer)
Dim k As IntegerDim r As Long = 1For k = 1 To Numero
r = r * kNextConsole.WriteLine()Console.WriteLine("El Factorial del Número es : {0}", r)
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 174/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
54. Esta aplicación utiliza procedimientos y funciones para realizar una cierta tarea,utilizando la programación modular.
Module Ejercicio54
Sub Main()Dim opc, Num As IntegerCall Menu()Console.Write("Elija su Opción ==> ")opc = CInt(Console.ReadLine)Console.WriteLine()While opc <> 4
Select Case opcCase 1
Console.Write("Ingrese el Radio: ")Num = CInt(Console.ReadLine)Console.WriteLine("El área de la circunferencia es: {0}", Area(Num))
Case 2Console.Write("Ingrese el Radio: ")Num = CInt(Console.ReadLine)Console.WriteLine("El volumen de la esfera es: {0}", Volumen(Num))
Case 3Console.Write("Ingrese el Radio: ")Num = CInt(Console.ReadLine)Console.WriteLine("La longitud de la circunferencia es: {0}",Circunferencia(Num))
Case ElseConsole.WriteLine("Opción No Válida")
End Select
Console.ReadLine()Console.Clear()Call Menu()Console.Write("Elija su Opción ==> ")opc = CInt(Console.ReadLine)Console.WriteLine()
End WhileConsole.WriteLine("Fin del Programa")Console.ReadLine()
End Sub
Sub Menu()Console.WriteLine()
Console.WriteLine()Console.WriteLine("{0} MENÚ DE OPCIONES", Space(25))Console.WriteLine()Console.WriteLine()Console.WriteLine("{0} [1] El área de una circunferencia", Space(10))Console.WriteLine("{0} [2] El volumen de una esfera", Space(10))Console.WriteLine("{0} [3] La longitud de una circunferencia", Space(10))Console.WriteLine("{0} [4] Salir del Programa", Space(10))Console.WriteLine()
End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 175/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
Function Area(ByVal Num As Integer) As DoubleArea = (3.14159 * (Num * Num))
End Function
Function Volumen(ByVal Num As Integer) As Double
Volumen = (4 * (3.14159 * (Math.Pow(Num, 3)))) / 3End Function
Function Circunferencia(ByVal Num As Integer) As DoubleCircunferencia = 2 * (3.14159 * Num)
End Function
End Module
PROGRAMACIÓN ORIENTADA A OBJETOS
Introducción
La programación orientada a objetos es un importante conjunto de técnicasque pueden utilizarse para hacer el desarrollo de programas eficientes en laprogramación orientada a objetos, los objetos son los elementos principales deconstrucción sin embargo el uso de objetos en un programa no significa que esténprogramando en un modo orientado a objetos, lo que cuenta es el sistema, en elcual los objetos se interconectan y se comunican entre sí.
¿Qué es la Programación Orientada a Objetos?
La programación orientada a objetos es una técnica estructurada siendo losobjetos los principales elementos de construcción. La programación orientada aobjetos es el producto de la evolución de paradigma estructurada a fin de conseguirque el software sea un producto industrial, la programación orientada a objetos esuna programación que envía mensajes a los objetos según Grade Booch, autor delmétodo orientado a objetos, define a esta programación como: “Un método deimplementación en el que los programas se organizan como coleccionescooperativas de objetos” , cada uno de las cuales representa una instancia dealguna clase y cuyas clases son todos los miembros de una jerarquía de clases
unidos mediante relación de herencia. Sea de tipo de dato abstracto (IDA).Todo .NET Framework está basado en clases (u objetos). A diferencia de las
versiones anteriores de Visual Basic, la versión .NET de este lenguaje basa sufuncionamiento casi exclusivamente en las clases contenidas en .NET Framework,además casi sin ningún tipo de limitaciones.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 176/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
Los tres pilares de la Programación Orientada a Objetos
Según se dice por ahí, cualquier lenguaje basado en objetos debe cumplirestos tres requisitos:
! Herencia! Encapsulación
! Polimorfismo
Herencia
La herencia es la capacidad de poder derivar una clase a partir de otra, laclase inicial se usa como clase base y la clase derivada es un nuevo tipocompletamente de datos que incorpora todos los datos miembros y funcionesmiembros de la clase original, con cualquier dato nuevo o función miembro nueva yunidos en clase derivada. La clase base se conoce como clase padre o superclase yla clase derivada como clase hija o subclase.
Para que lo entiendas mejor, veamos un ejemplo clásico: Supongamos quetenemos una clase Gato que está derivada de la clase Animal. El Gato hereda deAnimal todas las características comunes a los animales, además de añadirlealgunas características particulares a su condición felina. Podemos decir que unGato es un Animal, lo mismo que un Perro es un Animal, ambos están derivados(han heredado) de la clase Animal, pero cada uno de ellos es diferente, aunque enel fondo los dos son animales. Esto es herencia: usar una clase base (Animal) ypoder ampliarla sin perder nada de lo heredado, pudiendo ampliar la clase de la quese ha derivado (o heredado).
Encapsulación
La encapsulación es la capacidad de contener y controlar el acceso a ungrupo de elementos asociados. Las clases proporcionan una de las formas máscomunes de encapsular elementos.
La encapsulación es la capacidad de separar la implementación de la interfazde una clase del código que hace posible esa implementación. Esto realmente seríauna especie de abstracción, ya que no nos importa cómo esté codificado elfuncionamiento de una clase, lo único que nos debe interesar es cómo funciona...Para que nos vayamos entendiendo, cuando digo: la implementación de la interfazde una clase, me refiero a los miembros de esa clase: métodos, propiedades,eventos, etc. Es decir, lo que la clase es capaz de hacer.
Cuando usamos las clases, éstas tienen una serie de características (losdatos que manipula) así como una serie de comportamientos (las acciones arealizar con esos datos). Pues la encapsulación es esa capacidad de la clase deocultarnos sus interioridades para que sólo veamos lo que tenemos que ver, sintener que preocuparnos de cómo está codificada para que haga lo que hace...simplemente nos debe importar que lo haga.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 177/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
Polimorfismo
El polimorfismo permite que diferentes objetos respondan de modo diferente
al mismo mensaje, por lo cual se dice que adquiere su máxima potencia, cuando seutiliza en unión a la herencia, el polimorfismo permite que el mismo nombre demétodo emboque una operación a los objetos de una clase padre y una operacióndiferente en los objetos de la clase derivada.
El Polimorfismo nos permite usar miembros de distintas clases de formagenérica sin tener que preocuparnos si pertenece a una clase o a otra.Siguiendo con el ejemplo de los animales, si el Gato y el Perro pueden morderpodríamos tener un "animal" que muerda sin importarnos que sea el Gato o elPerro, simplemente podríamos usar el método Morder ya que ambos animalestienen esa característica "animal mordedor".
LAS CLASES
Todo lo que tiene el .NET Framework, en realidad son clases. Una clase noes ni más ni menos que código. Aunque dicho de esta forma, cualquier programasería una clase.
Cuando definimos una clase, realmente estamos definiendo dos cosasdiferentes: los datos que dicha clase puede manipular o contener y la forma deacceder a esos datos.
Por ejemplo, si tenemos una clase de tipo Cliente, por un lado tendremos losdatos de dicho cliente y por otro la forma de acceder o modificar esos datos. En el
primer caso, los datos del Cliente, como por ejemplo el nombre, domicilio etc.,estarán representados por una serie de campos o propiedades, mientras que laforma de modificar o acceder a esa información del Cliente se hará por medio demétodos.
Esas propiedades o características y las acciones a realizar son las quedefinen a una clase.
Los Objetos
Por un lado tenemos una clase que es la que define un "algo" con lo quepodemos trabajar. Pero para que ese "algo" no sea un "nada", tendremos quepoder convertirlo en "algo tangible", es decir, tendremos que tener la posibilidad de
que exista. Aquí es cuando entran en juego los objetos, ya que un objeto es unaclase que tiene información real.
Digamos que la clase es la "plantilla" a partir de la cual podemos crear unobjeto en la memoria. Por ejemplo, podemos tener varios objetos del tipo Cliente,uno por cada cliente que tengamos en nuestra cartera de clientes, pero la clasesólo será una. Dicho de otra forma: podemos tener varias instancias en memoria deuna clase. Una instancia es un objeto (los datos) creado a partir de una clase (laplantilla o el código).
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 178/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
9
Para entender mejor todo este galimatías, desglosemos las clases:
Los miembros de una clase
Las clases contienen datos, esos datos suelen estar contenidos en variables.
A esas variables cuando pertenecen a una clase, se les llama: campos opropiedades.
Por ejemplo, el nombre de un cliente sería una propiedad de la clase Cliente.Ese nombre lo almacenaremos en una variable de tipo String, de dicha variablepodemos decir que es el "campo" de la clase que representa al nombre del cliente.Por otro lado, si queremos mostrar el contenido de los campos que contiene la claseCliente, usaremos un procedimiento que nos permita mostrarlos, ese procedimientoserá un método de la clase Cliente.
Por tanto, los miembros de una clase son las propiedades (los datos) y losmétodos las acciones a realizar con esos datos.Como te he comentado antes, el código que internamente usemos para almacenaresos datos o para, por ejemplo, mostrarlos, es algo que no debe preocuparnosmucho, simplemente sabemos que podemos almacenar esa información (en laspropiedades de la clase) y que tenemos formas de acceder a ella, (mediante losmétodos de dicha clase), eso es "abstracción" o encapsulación.
Crear o definir una clase
Al igual que existen instrucciones para declarar o definir una variable ocualquier otro elemento de un programa de Visual Basic, existen instrucciones quenos permiten crear o definir una clase.
Para crear una clase debemos usar la instrucción Class seguida del nombreque tendrá dicha clase, por ejemplo:
Class Cliente A continuación escribiremos el código que necesitemos para implementar las
propiedades y métodos de esa clase, pero para que Visual Basic sepa que ya hemosterminado de definir la clase, usaremos una instrucción de cierre:
End Class Por tanto, todo lo que esté entre Class <nombre> y End Class será la
definición de dicha clase.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 179/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
10
Definir los miembros de una clase
Para definir los miembros de una clase, escribiremos dentro del "bloque" dedefinición de la clase, las declaraciones y procedimientos que creamosconvenientes. Veamos un ejemplo:
Class Cliente
Public Nombre As String
Sub Mostrar()
Console.WriteLine("El nombre del cliente: {0}", Nombre)
End Sub
End Class
En este caso, la línea Public Nombre As String, estaría definiendo unapropiedad o "campo" público de la clase Cliente.
Por otro lado, el procedimiento Mostrar sería un método de dicha clase, enesta caso, nos permitiría mostrar la información contenida en la clase Cliente.
Esta es la forma más simple de definir una clase. Y normalmente lo haremossiempre así, por tanto podemos comprobar que es muy fácil definir una clase, asícomo los miembros de dicha clase.
Pero no sólo de clases vive el Visual Basic... o lo que es lo mismo, ¿para quenos sirve una clase si no sabemos crear un objeto basado en esa clase...? Así que,sepamos cómo crearlos.
Crear un objeto a partir de una clase
Como te he comentado antes, las clases definen las características y laforma de acceder a los datos que contendrá, pero sólo eso: los define. Para quepodamos asignar información a una clase y poder usar los métodos de la misma,tenemos que crear un objeto basado en esa clase, o lo que es lo mismo: tenemosque crear una nueva instancia en la memoria de dicha clase. Para ello, haremos losiguiente:
Definimos una variable capaz de contener un objeto del tipo de la clase, estolo haremos como con cualquier variable:
Dim cli As Cliente Pero, a diferencia de las variables basadas en los tipos visto hasta ahora,
para poder crear un objeto basado en una clase, necesitamos algo más de código
que nos permita "crear" ese objeto en la memoria, ya que con el código usado en lalínea anterior, simplemente estaríamos definiendo una variable que es capaz decontener un objeto de ese tipo, pero aún no existe ningún objeto en la memoria,para ello tendremos que usar el siguiente código:
cli = New Cliente()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 180/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
11
Con esto le estamos diciendo al Visual Basic: crea un nuevo objeto en lamemoria del tipo Cliente.
Estos dos pasos los podemos simplificar de la siguiente forma:
Dim cli As New Cliente() Acceder a los miembros de una clase
Para acceder a los miembros de una clase (propiedades o métodos)usaremos la variable que apunta al objeto creado a partir de esa clase, seguida deun punto y el miembro al que queremos acceder, por ejemplo, para asignar elnombre al objeto cli, usaremos este código: cli.Nombre = "Visual Basic"
Es decir, de la misma forma que haríamos con cualquier otra variable, peroindicando el objeto al que pertenece dicha variable. Como podrás comprobar, esto
ya lo hemos estado usando anteriormente tanto en la clase Console como en lasotras clases que hemos usado en entregas anteriores, incluyendo los arrays.
Y para acceder al método Mostrar:
cli.Mostrar() Ejemplo de cómo usar la herencia
Para poder usar la herencia en nuestras clases, debemos indicar al VisualBasic que esa es nuestra intención, para ello disponemos de la instrucción Inherits,la cual se usa seguida del nombre de la clase de la que queremos heredar. Veamosun ejemplo.
Empezaremos definiendo una clase "base" la cual será la que heredaremosen otra clase.
Ya sabemos cómo definir una clase, aunque para este ejemplo, usaremos laclase Cliente que vimos anteriormente, después crearemos otra, llamadaClienteMoroso la cual heredará todas las características de la clase Cliente ademásde añadirle una propiedad a esa clase derivada de Cliente.
Veamos el código de estas dos clases. Para ello crea un nuevo proyecto deltipo consola y escribe estas líneas al principio o al final del fichero que el IDE añadede forma predeterminada.
Class Cliente
Public Nombre As String
Sub Mostrar()
Console.WriteLine("El nombre del cliente: {0}", Nombre)
End Sub
End Class
Class ClienteMoroso
Inherits Cliente
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 181/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
12
Public Deuda As Decimal
End Class
Como puedes comprobar, para que la clase ClienteMoroso herede la claseCliente, he usado Inherits Cliente, con esta línea, (la cual debería ser la primeralínea de código después de la declaración de la clase), le estamos indicando al VBque nuestra intención es poder tener todas las características que la clase Clientetiene. Haciendo esto, añadiremos a la clase ClienteMoroso la propiedad Nombre y elmétodo Mostrar, aunque también tendremos la nueva propiedad que hemosañadido: Deuda.
Ahora vamos a ver cómo podemos usar estas clases, para ello vamos aañadir código en el procedimiento Main del módulo del proyecto:
Module Module1
Sub Main()
Dim cli As New Cliente()
Dim cliM As New ClienteMoroso()
' cli.Nombre = "José"
cliM.Nombre = "Luis"
cliM.Deuda = 2000
'
Console.WriteLine("Usando Mostrar de la clase Cliente")
cli.Mostrar()
'
Console.WriteLine("Usando Mostrar de la clase ClienteMoroso")
cliM.Mostrar()
'
Console.WriteLine("La deuda del moroso es: {0}", cliM.Deuda)
'
Console.ReadLine()
End Sub
End Module
Lo que hemos hecho es crear un objeto basado en la clase Cliente y otrobasado en ClienteMoroso. Le asignamos el nombre a ambos objetos y a la variablecliM (la del ClienteMoroso) le asignamos un valor a la propiedad Deuda. Fíjate queen la clase ClienteMoroso no hemos definido ninguna propiedad llamada Nombre,pero esto es lo que nos permite hacer la herencia: heredar las propiedades ymétodos de la clase base. Por tanto podemos usar esa propiedad como si lahubiésemos definido en esa clase. Lo mismo ocurre con los métodos, el métodoMostrar no está definido en la clase ClienteMoroso, pero si que lo está en la claseCliente y como resulta que ClienteMoroso hereda todos los miembros de la claseCliente, también hereda ese método.
La salida de este programa sería la siguiente:
Usando Mostrar de la clase Cliente
El nombre del cliente: José
Usando Mostrar de la clase ClienteMoroso
El nombre del cliente: Luis
La deuda del moroso es: 2000
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 182/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
13
Ahora veamos cómo podríamos hacer uso del polimorfismo o al menos unade las formas que nos permite el .NET Framework.
Teniendo ese mismo código que define las dos clases, podríamos hacer lo siguiente:
Sub Main()Dim cli As Cliente
Dim cliM As New ClienteMoroso()
'
cliM.Nombre = "Luis"
cliM.Deuda = 2000
cli = cliM
'
Console.WriteLine("Usando Mostrar de la clase Cliente")
cli.Mostrar()
'
Console.WriteLine("Usando Mostrar de la clase ClienteMoroso")
cliM.Mostrar()
'
Console.WriteLine("La deuda del moroso es: {0}", cliM.Deuda)
'
Console.ReadLine()
End Sub
En este caso, la variable cli simplemente se ha declarado como del tipoCliente, pero no se ha creado un nuevo objeto, simplemente hemos asignado a esavariable el contenido de la variable cliM. Con esto lo que hacemos es asignar a esavariable el contenido de la clase ClienteMoroso, pero como comprenderás, la claseCliente "no entiende" nada de las nuevas propiedades implementadas en la clasederivada, por tanto sólo se podrá acceder a la parte que es común a esas dosclases: la parte heredada de la clase Cliente.
Realmente las dos variables apuntan a un mismo objeto, por eso al usar el
método Mostrar se muestra lo mismo. Además de que si hacemos cualquier cambioa la propiedad Nombre, al existir sólo un objeto en la memoria, ese cambio afectaráa ambas variables. Para comprobarlo, añade este código antes de la líneaConsole.ReadLine():
Console.WriteLine()
cli.Nombre = "Juan"
Console.WriteLine("Después de asignar un nuevo nombre a cli.Nombre")
cli.Mostrar()
cliM.Mostrar()
La salida de este nuevo código, sería la siguiente:
Usando Mostrar de la clase Cliente
El nombre del cliente: PepeUsando Mostrar de la clase ClienteMoroso
El nombre del cliente: Pepe
La deuda del moroso es: 2000
Después de asignar un nuevo nombre a cli.Nombre
El nombre del cliente: Juan
El nombre del cliente: Juan
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 183/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
14
Como puedes comprobar, al cambiar en una de las variables el contenido dela propiedad Nombre, ese cambio afecta a las dos variables, pero eso no es porquehaya nada mágico ni ningún fallo, es por lo que te comenté antes: sólo existe unobjeto en la memoria y las dos variables acceden al mismo objeto, por tanto,cualquier cambio efectuado en ellas, se reflejará en ambas variables por la sencilla
razón de que sólo hay un objeto en memoria.A este tipo de variables se las llama variables por referencia, ya que hacen
referencia o apuntan a un objeto que está en la memoria. A las variables que anteshemos estado viendo se las llama variables por valor, ya que cada una de esasvariables tienen asociado un valor que es independiente de los demás.
LAS ESTRUCTURAS
Las estructuras o tipos definidos por el usuario, son un tipo especial de datos
que veremos en otra ocasión con más detalle, pero que se comportan casi como lasclases, permitiendo tener métodos, propiedades, etc., la diferencia principal entrelas clases y las estructuras es que éstas últimas son tipos por valor, mientras quelas clases son tipos por referencia. Las estructuras, al igual que las clases, laspodemos declarar a nivel de espacios de nombres y también dentro de otrasestructuras e incluso dentro de clases y módulos.
LOS NOMBRE DE ESPACIOS
¿Qué es un Namespace?
Un Namespace es una forma de agrupar clases (tipos) que estánrelacionadas de alguna forma. El uso de los espacios de nombres nos permitirátener nuestros ensamblados agrupados según la tarea para la que los hemosprogramado. De esta forma, si escribimos ensamblados que accederán al disco, lospodemos agrupar para tenerlos en sitio diferente a los que, por ejemplo, accedan auna base de datos. Eso mismo es lo que se hace en las clases base de .NETFramework y por esa razón existen los espacios de nombres System.IO ySystem.Data, por poner sólo dos.
Cada vez que creamos un proyecto con Visual Studio .NET de formaautomática se crea un espacio de nombres para nuestra aplicación. Por tanto todoslos tipos (clases, estructuras, enumeraciones, etc.) que definamos en dichoproyecto estarán incluidos dentro de ese espacio de nombres. Aunque el editor deVisual Studio no nos muestra que todo esto es así, ya que para crear o definir unespacio de nombres debemos usar la instrucción Namespace y marcar el final dedicha definición usando End Namespace, por tanto es como si el IDE añadiera esasinstrucciones por nosotros. Por tanto es importante saber que, aunque no loveamos, todos nuestros proyectos estarán dentro de un espacio de nombres. DichoNamespace se llamará de la misma forma que nuestro proyecto, salvo si tieneespacios, en ese caso se cambiarán los espacios (o caracteres no válidos en unnombre de .NET) por un guión bajo.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 184/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
15
El Visual Studio define el espacio de nombres "predeterminado" de nuestroproyecto en las propiedades del proyecto. Así que si quieres cambiar el Namespacepredeterminado del proyecto, puedes hacerlo modificando dicho valor. Para poderhacer esto, muestra las propiedades del proyecto:
! Selecciona el proyecto en el explorador de soluciones (Solution Explorer)! En el menú Proyecto (Project), selecciona Propiedades (Properties)
! En la ficha General (que será la que se muestre por defecto), el espacio denombres estará en: Espacio de nombres de la raíz (Root namespace) talcomo podemos ver en la figura 1.
Figura 1: El espacio de nombres predeterminado de un proyecto de VB .NET
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 185/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
16
¿Qué finalidad tiene el uso de los Namespace? El escribir nuestro código dentro de un bloque Namespace tiene por
finalidad, el poder mantener una especie de jerarquía. Para que nos entendamosmejor, podríamos comparar los espacios de nombres con los directorios de un
disco. En cada directorio tendremos ficheros que de alguna forma estánrelacionados, de esta forma no mezclaremos los ficheros de música con los deimágenes ni con los proyectos de Visual Basic, por poner algunos ejemplos. Pues lomismo ocurre con las jerarquías creadas con los Namespace, de forma quepodamos tener de alguna forma separados unos tipos de datos (clases, etc.) deotros. Anidar espacios de nombres:
Espacios de nombres dentro de otros espacios de nombres
Siguiendo con el ejemplo de los directorios, es habitual que dentro de undirectorio podamos tener otros directorios, de forma que tengamos ficheros queestando relacionados con el directorio principal no queremos que se mezclen con el
resto de ficheros. Pues con los Namespace ocurre lo mismo, podemos declararbloques Namespace dentro de otro bloque existente. Esto se consigue definiendoun bloque dentro de otro bloque. Por ejemplo:
Namespace VisualBasic
Namespace Entrega5
Module Module1
Sub Main()
End Sub
End Module
End Namespace
End Namespace
En este código, tenemos dos espacios de nombres anidados, el espacio denombres Entrega5 está dentro del espacio de nombres VisualBasic.
¿Cómo acceder a los tipos declarados dentro de un Namespace?
De igual forma que para acceder a los ficheros de un directorio debemosindicar el "path" en el que se encuentran, con los espacios de nombres ocurre lomismo, existen formas abreviadas de realizar ese acceso. Por ejemplo, si queremosusar la clase StringBuilder que se encuentra declarada en el espacio de nombresSystem.Text, tendremos que indicar el espacio de nombres en el que se encuentra:
Dim sb As New System.Text.StringBuilder()
Es decir, debemos indicar el "path" completo de la clase, para poder accedera ella.
En teoría si declaramos un método dentro del módulo Module1, (mostradoen el código anterior), deberíamos llamar a dicho método usando el espacio denombres completo, pero cuando estamos dentro de un espacio de nombres, nohace falta indicar el nombre completo, ocurre lo mismo que cuando estamos dentrode en un directorio, no tenemos que indicar el path completo para acceder a un
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 186/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
17
fichero de ese mismo directorio, pero si queremos también podemos hacerlo, talcomo se muestra en el siguiente código:
Namespace VisualBasic
Namespace Entrega5
Module Module1
Sub Main()
VisualBasic.Entrega5.Module1.Ejemplo()
End Sub
Public Sub Ejemplo()
Console.WriteLine("Saludos desde el Sub Ejemplo")
End Sub
End Module
End Namespace
End Namespace
Por tanto, para acceder a los miembros declarados dentro de un espacio denombres, debemos usar la sintaxis: Espacio_de_nombres PuntoNombre_de_la_clase Punto Nombre_Del_Método Si dicha clase está dentro de unespacio de nombres anidado, también debemos indicar dicho espacio de nombres.
Ya que incluso para acceder a las propias clases de .NET usamos esta formasintaxis, tal como se mostró antes para declarar la variable del tipo StringBuilder.
En dicha declaración vimos que había dos espacios de nombres: System ydentro de éste está el espacio de nombres Text, el cual contiene la definición de laclase StringBuilder.
Es decir, siempre debemos indicar los espacios de nombres en los que seencuentran las clases, salvo que la clase (o tipo) esté definido en el mismo espaciode nombres desde el que se va a usar.
Aunque existen ciertas formas de hacer que esto no siempre tenga que serasí, ya que el código se puede convertir en algo más engorroso de leer si siempretenemos que indicar los espacios de nombres que contienen las clases. Ejemplos de cómo usar los Namespace
En el ejemplo que vamos a usar, es de la pagina web de www.elguille.info,ya que lo eo mas interesante y mas entendible para ustedes, vamos a definir dosespacios de nombres y en cada uno de ellos declararemos algunas una clase, conidea de que veamos cómo usarlos desde cada uno de esos espacios de nombres.
El código sería el siguiente:
Namespace Entrega16Module Module1
Sub Main()' declarar una clase del espacio de nombres ClaseUno Dim c1 As New ClasesUno.PruebaA("Pepe", "Ruiz")' ' declarar una clase del espacio de nombres ClaseDos Dim c2 As New ClasesDos.PruebaB("Maria", "Sánchez")'
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 187/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
18
Console.WriteLine("c1 = {0}", c1)Console.WriteLine("c2 = {0}", c2)' Console.ReadLine()
End Sub End Module
End Namespace ' Namespace ClasesUno
Public Class PruebaAPrivate _nombre As String Private _apellidos As String ' Public Sub New()End Sub Public Sub New(ByVal nombre As String, ByVal apellidos As String)
Me.Nombre = nombreMe.Apellidos = apellidos
End Sub ' Public Property Nombre() As String
Get Return _nombre
End Get Set(ByVal value As String)
_nombre = valueEnd Set
End Property Public Property Apellidos() As String
Get Return _apellidos
End Get Set(ByVal value As String)
_apellidos = valueEnd Set End Property ' Public Overrides Function ToString() As String
Return Apellidos & ", " & NombreEnd Function
End Class End Namespace ' Namespace ClasesDos
Public Class PruebaBInherits ClasesUno.PruebaA
' Public Sub New()End Sub Public Sub New(ByVal nombre As String, ByVal apellidos As String)
Me.Nombre = nombreMe.Apellidos = apellidos
End Sub End Class
End Namespace
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 188/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
19
Es este código tenemos tres espacios de nombres:
! Entrega16 que es donde está declarado el módulo que se usará para iniciarla aplicación.
! ClasesUno en el que se define la clase PruebaA!
ClasesDos en el que se define la clase PruebaB, la cual simplemente hereda(o se basa en) la clase definida en ClasesUno.
Para poder acceder a las clases desde Main, tenemos que indicar en queespacio de nombres está cada una de las clases, esto es así porque el módulo quecontiene el método Main está declarado dentro de un espacio de nombresdiferente. Lo mismo ocurre con la instrucción Inherits ClasesUno.PruebaA de laclase PruebaB, ya que cada una de las clases está dentro de un espacio de nombresdistinto y si no indicamos expresamente ese espacio de nombres, el compilador nosabrá donde localizar la clase PruebaA. Por supuesto, si hacemos una importacióndel espacio de nombres ClasesUno, podríamos acceder a la clase ClaseA sinnecesidad de indicar el espacio de nombres que la contiene.
Algunas cosas que debes saber sobre los Namespace "automáticos" y losdefinidos por tí
Para ir finalizando esta entrega quiero decirte que si quitas el espacio denombres predeterminado que utiliza el Visual Studio y añades al código tus propiosespacios de nombres, debo decirte que hay dos cosas que debes tener en cuenta:
La primera es que seguramente al ejecutar la aplicación, el VS no encuentrela clase que usará como punto de inicio, debido a que ahora está en otro espacio denombres distinto, por tanto tendrás que mostrar las propiedades del proyecto (verfigura 1) e indicar en Objeto inicial el módulo o clase que se usará o bien, en elcaso de las aplicaciones de consola, indicar Sub Main.
La segunda, y más importante, es que ya no existirá un espacio de nombres
que "contenga" tus clases (o tipos), por tanto, si en un fichero indicas tu propioespacio de nombres, en el resto de ficheros también debes indicar ese mismoespacio de nombres, al menos si tu intención es que estén todas las declaracionesdentro del mismo "directorio".
Todo esto viene al caso porque en un mismo proyecto podemos definirvarios espacios de nombres y si no somos precisos con la ubicación de cada tipoque tenemos en el proyecto, puede que el compilador se queje y nos diga que noencuentra tal o cual clase (o tipo).
También debes saber que si nuestro proyecto usa librerías creadas pornosotros, pero que simplemente las tenemos referenciadas, (es decir, podemosusar otras DLLs creadas por nosotros y ya compiladas), esos otros ensamblados
(assemblies) pueden tener también un espacio de nombres que se llame igual queel que tenemos en nuestro proyecto, en ese caso no será necesario indicar elespacio de nombres de la otra librería, ya que podemos tener un mismo espacio denombres "repartido" por varios ensamblados. Esto es muy útil si queremos definiruna serie de clases, enumeraciones, etc., en un proyecto, crear un ensamblado DLLa partir de ese proyecto y posteriormente usarlo en otro proyecto diferente, perosin cambiar el espacio de nombres en el que tenemos definidos todos los tipos. Conla ventaja adicional de que esa DLL la podemos usar en proyectos de otroslenguajes de .NET, por tanto podemos crear con VB una librería de clases y usarladesde C#.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 189/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
20
Resumiendo un poco:
En un proyecto (ensamblado) podemos definir varios espacios de nombres.Un espacio de nombres puede estar definido en varios ensamblados y todas lasclases (tipos) definidos se podrán acceder como si estuviesen en el mismo
proyecto. Podemos importar espacios de nombres para que el compilador sepadónde buscar las clases.
EJERCICIOS
55. Esta aplicación utiliza una estructura para realizar una cierta tarea, como la dees halla el área y perímetro de un cuadrado.
Module Ejercicio55
Structure CuadradoDim Lado As Double
Sub Inicio(ByVal L As Double)Lado = L
End Sub
Function Area() As DoubleArea = Lado * Lado
End Function
Function Perimetro() As DoublePerimetro = 4 * Lado
End Function
End Structure
Sub Main()Dim X As CuadradoX.Inicio(7)Console.WriteLine("El área del cuadrado es: {0}", X.Area)Console.WriteLine("El perimetro del cuadrado es: {0}", X.Perimetro)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 190/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
21
56. Esta aplicación utiliza una clase para realizar una cierta tarea, como la de eshalla el área y perímetro de un cuadrado, también este sería un claro ejemplode polimorfismo, ya que es una forma diferente de programar, pero tenga enclaro siempre la diferencia entre una clase y estructura, Las clases usanparámetros por referencia, mientras que las estructuras la usan por valor..
Module Ejercicio56
Public Class Cuadrado
Dim Lado As Double
Public Sub Inicio(ByVal L As Double)Lado = L
End Sub
Public Function Area() As DoubleReturn Lado * Lado
End Function
Public Function Perimetro() As DoubleReturn 4 * Lado
End Function
End Class
Sub Main()Dim X As CuadradoDim L As Double = 5.0X = New CuadradoX.Inicio(L)
Console.WriteLine("El área del cuadrado es: {0}", X.Area)Console.WriteLine("El perimetro del cuadrado es: {0}", X.Perimetro)Console.ReadLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 191/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
22
57. Esta aplicación utiliza una estructura, procedimientos (Sub y Function) pararealizar una cierta tarea, como la de es hallar el área y perímetro de distintostipos de triangulo.
Module Ejercicio57
Structure Triangulo
Dim a, b, c, p, h As Double
Sub TrianRec(ByVal d As Double, ByVal e As Double)a = db = e
End Sub
Sub TrianNor(ByVal d As Double, ByVal e As Double, ByVal f As Double)a = db = ec = f
End Sub
Function AreaTrianRec() As DoubleReturn (a * b) / 2
End Function
Function AreaTrianNor() As Doublep = (a + b + c) / 2Return Math.Sqrt(p * (p - a) * (p - b) * (p - c))
End Function
Function PeriTrianRec() As Doubleh = Math.Sqrt(Math.Pow(a, 2) + Math.Pow(b, 2))Return h + a + b
End Function
Function PeriTrianNor() As DoubleReturn a + b + c
End Function
End Structure
Sub Main()Dim Rec, Nor As Triangulo
Dim n, a, b, c As DoubleCall Menu()Console.Write("Elija una Opción ==> ")n = CDbl(Console.ReadLine)Console.WriteLine()While n <> 3
Select Case nCase 1
Console.Write("Ingrese la altura: ")a = CDbl(Console.ReadLine)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 192/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
23
Console.Write("Ingrese la base: ")b = CDbl(Console.ReadLine)Rec.TrianRec(a, b)Console.WriteLine("El área del triangulo es: {0}", Rec.AreaTrianRec)Console.WriteLine("El paremitro del triangulo es: {0}",Rec.PeriTrianRec)
Case 2Console.Write("Ingrese el primer lado: ")a = CDbl(Console.ReadLine)Console.Write("Ingrese el segundo lado: ")b = CDbl(Console.ReadLine)Console.Write("Ingrese el tercer lado: ")c = CDbl(Console.ReadLine)Nor.TrianNor(a, b, c)Console.WriteLine("El área del triangulo es: {0}", Rec.AreaTrianNor)Console.WriteLine("El paremitro del triangulo es: {0}",Rec.PeriTrianNor)
Case ElseConsole.WriteLine("Opción no Válida")
End SelectConsole.ReadLine()Console.Clear()Call Menu()Console.Write("Elija una Opción ==> ")n = CDbl(Console.ReadLine)Console.WriteLine()
End WhileConsole.WriteLine("Fin del Programa")Console.ReadLine()
End Sub
Sub Menu()Console.WriteLine()
Console.WriteLine()Console.WriteLine("{0} MENÚ DE OPCIONES", Space(25))Console.WriteLine()Console.WriteLine("{0} [1] Halla el área y el perímetro de un triangulorectangulo", Space(10))Console.WriteLine("{0} [2] Halla el área y el perímetro de un triangulonormal", Space(10))Console.WriteLine("{0} [3] Salir", Space(10))Console.WriteLine()
End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 193/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
24
58. Esta aplicación utiliza dos espacios de nombre, cada uno con sus clases yprocedimientos, para esto primero añadiremos una clase llamada ClaseDatos yde ahí un módulo llamado Ejercicio58 en donde importaremos los espacios denombres creados.
Clase Datos
Namespace Esposa
Public Class Datos
Sub Nombre(ByVal nom As String)Console.WriteLine("El Nombre del esposa es: {0}", nom)
End Sub
Sub Apellidos(ByVal ape As String)Console.WriteLine("El Apellido del esposa es: {0}", ape)
End Sub
Sub Edad(ByVal AñoNac As Integer)Dim Edad As IntegerEdad = Microsoft.VisualBasic.Year(Date.Now) - AñoNacConsole.WriteLine("La edad de la esposa es: {0}", Edad)
End Sub
End Class
End Namespace
Namespace Esposo
Public Class Datos
Sub Nombre(ByVal nom As String)Console.WriteLine("El Nombre del esposo es: {0}", nom)
End Sub
Sub Apellidos(ByVal ape As String)Console.WriteLine("El Apellido del esposo es: {0}", ape)
End Sub
Sub Edad(ByVal AñoNac As Integer)Dim Edad As IntegerEdad = Microsoft.VisualBasic.Year(Date.Now) - AñoNacConsole.WriteLine("La edad de la esposo es: {0}", Edad)
End Sub
End Class
End Namespace
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 194/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
25
Modulo
Imports Ejercicio58.EsposaImports Ejercicio58.Esposo
Module Ejercicio58Sub Main()
Dim Mujer As New Esposa.DatosDim Marido As New Esposo.DatosConsole.WriteLine()Mujer.Nombre("Giselle")Mujer.Apellidos("Valverde")Mujer.Edad(1985)Console.WriteLine()Marido.Nombre("Joel")Marido.Apellidos("Chuco")Marido.Edad(1984)
End Sub
End Module
59. Esta aplicación utiliza dos espacios de nombre, cada uno con sus clases yprocedimientos, para esto primero añadiremos una clase llamada ClaseBanco yde ahí un módulo llamado Ejercicio59 en donde importaremos los espacios denombres creados.
Clase Banco
Namespace Cliente
Public Class Datos
Public Function Cliente(ByVal Nombre As String, ByVal Apellidos As String) As String
Return (Apellidos + ", " + Nombre)End Function
Public Function Direccion(ByVal dir As String) As StringReturn dir
End Function
Public Function Telefono(ByVal telf As Integer) As String
Return CStr(telf)End Function
Public Function DNI(ByVal LE As Long) As StringReturn CStr(LE)
End Function
End Class
End Namespace
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 195/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
26
Namespace Cuenta
Public Class Cuenta
Public Dinero As Double
Sub Saldo(ByVal Money As Double)Dinero = Money
End Sub
Public Function TipoCuenta() As StringIf Dinero < 2500 AndAlso Dinero > 0 Then
Return ("Cuenta Ahorros")ElseIf Dinero >= 2500 Then
Return ("Cuenta Credito")Else
Return ("Error: No Existe Saldo Negativo")End If
End Function
End Class
End Namespace
Módulo
Imports Ejercicio59.ClienteImports Ejercicio59.Cuenta
Module Ejercicio59
Sub Main()
Dim Datos As Cliente.DatosDim DatoCuenta As Cuenta.CuentaDim Nombre, Apellidos, Direccion As StringDim Telefono, DNI As IntegerDim Monto As DoubleDatos = New Cliente.DatosDatoCuenta = New Cuenta.CuentaConsole.WriteLine()Console.WriteLine("{0} Nueva Cuenta", Space(25))Console.WriteLine()
Console.Write("Nombres del Cliente: ")Nombre = CStr(Console.ReadLine)Console.Write("Apellidos del Cliente: ")Apellidos = CStr(Console.ReadLine)Console.Write("Dirección del Cliente: ")Direccion = CStr(Console.ReadLine)Console.Write("Numero de DNI: ")DNI = CInt(Console.ReadLine)Console.Write("Numero Telefonico: ")Telefono = CInt(Console.ReadLine)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 196/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
27
Console.Write("Monto de Cuenta: ")Monto = CDbl(Console.ReadLine)Console.WriteLine()Console.WriteLine("Presione ENTER para ver el Detalle de la Cuenta")Console.ReadLine()Console.Clear()
Console.WriteLine()Console.WriteLine()Console.WriteLine("{0}*** DETALLE DE CUENTA ***", Space(25))Console.WriteLine()Console.WriteLine()Console.WriteLine("Cliente: {0}", Datos.Cliente(Nombre, Apellidos))Console.WriteLine("Dirección: {0}", Datos.Direccion(Direccion))Console.Write("DNI: {0}", Datos.DNI(DNI))Console.WriteLine("{0}Teléfono: {1}", Space(10), Datos.Telefono(Telefono))DatoCuenta.Saldo(Monto)Console.WriteLine("Tipo de Cuenta: {0}", DatoCuenta.TipoCuenta())Console.WriteLine("Saldo de Cuenta: {0}", DatoCuenta.Dinero)
End Sub
End Module
60. Esta aplicación utiliza un modulo, es algo mas suave, después de ver espaciosde nombres, clases, estructuras, y como despedida de las consolas deaplicación.
Module Ejercicio60
Sub Main()Dim i, d As Integer
Dim salir As IntegerDim s As CharDo
Console.Clear()Console.WriteLine()Console.ForegroundColor = ConsoleColor.BlueConsole.WriteLine()Console.WriteLine("{0}INSTITUTO SUPERIOR TECNOLÓGICO ARGENTINA",Space(30))Console.WriteLine()Console.WriteLine()Console.WriteLine("{0}DEMOSTRATIVO DE UN ARREGLOUNIDIMENSIONAL", Space(29))
Console.WriteLine()Console.WriteLine()Console.WriteLine("{0}ESCRITO POR: Joel Martin Chuco Marrufo",Space(32))Console.WriteLine()Console.WriteLine()Console.WriteLine()Console.ForegroundColor = ConsoleColor.DarkGreenConsole.Write("Ingrese Número de datos del Arreglo: ")d = CInt(Console.ReadLine)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 197/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
28
Dim A(d - 1) As IntegerConsole.WriteLine()Console.WriteLine()Console.WriteLine("Elementos Ingresados: ")For i = 0 To d - 1
Console.Write("A [{0}] = ", i)
A(i) = CInt(Console.ReadLine)NextConsole.WriteLine("Presione una tecla para ver la lista ingresada")Console.ReadLine()Console.Clear()Console.WriteLine()Console.WriteLine()Console.WriteLine("Lista Ingresada")Console.WriteLine()For i = 0 To d - 1
Console.WriteLine("{0} ", A(i))NextConsole.WriteLine()Console.WriteLine()Console.WriteLine("Presione S para salir, ")Console.WriteLine("Presione C para continuar, ")Console.WriteLine("(Continuar / Salir) ...")s = CChar(Console.ReadLine)If s = "s" Or s = "S" Then
salir = 1End If
Loop While (salir <> 1)End Sub
End Module
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 198/323
Lenguaje de Programación – Capitulo VIII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
29
Bueno señores con esto acaba la Quinta entrega de este manual, con lo queacabamos las aplicaciones en consola, se que ha sido muy poco, pero lo hago paratener separadas las entregas entre consolas de aplicación y consolas de ventanas,así que la próxima entrega será de aplicaciones de ventanas aunque va a ser unpoco de teoría, pero después de la teoría nos dedicaremos de llenos a laprogramación, en la próxima entrega tocaremos mas o menos lo siguiente:
! Controles! Formularios! Algunos Ejercicios
Bueno conmigo será hasta la próxima entrega, ya saben aquí les dejo micorreo por si tienen alguna duda.
Joel Martin Chuco [email protected]
Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú
" Cuenta en Soles:
067-3008573552
" Cuenta en Dólares:
067-3008573560
www.interbank.com.pe
Este Manual Solo lo Puedes Descargar por la Página Oficial.
www.lawebdelprogramador.com
Lima, 20 de Febrero de 2006
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 199/323
Capitulo IX
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 200/323
INDICE
CAPITULO IX
Aplicación de Ventanas 01
Crear un Nuevo Proyecto 01
El IDE de WindowsApplication 02
! Ventana de Diseño 02
! Ventana de Código 03
! Caja de herramientas 03
! Explorador de Soluciones 04
! Explorador de Base de Datos 06
! Base de Datos 06
! Ventana de Propiedades 07
! Ventana de Errores 07
! Barra de Herramientas 08
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 201/323
Lenguaje de Programación – Capitulo IX
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
APLICACIÓN DE VENTANAS
El IDE de Visual Basic 2005, ya lo conocen, por lo tanto ya no les voy aenseñar, les enseñare las nuevas ventanas con que se tienen que familiarizar dehoy en adelante.
Crear Nuevo Proyecto
Como ustedes ya saben hay dos formas de crear un nuevo proyecto, lo únicoque veremos, lo que tenemos que escoger, al crear un proyecto esta vezseleccionaremos “WindowsApplication” , le pondremos un nombre y luego daremosclic en aceptar.
Acá un recordatorio, tengan en cuenta que nuestro proyecto siempre sellamara el nombre y el numero de nuestro ejercicio, por ejemplo, si vamos a hacerel ejercicio 61, nuestro proyecto se llamara “Ejercicio61” .
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 202/323
Lenguaje de Programación – Capitulo IX
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
El IDE de WindowsApplication
A comparación de las consolas de aplicación tenemos un nuevo IDE, en este
IDE cada vez que creamos un nuevo Item, se abrirá una nueva ventana, esto ya loveremos en la aplicación que realizaremos mas adelante.
Ventana de Diseño
Al crear una nueva solución de WindowsApplication, siempre nos aparecerála siguiente ventana.
Como se darán cuenta acá el archivo siempre tendrá un nombre de Form1,que es el primer formulario del proyecto.
¿Qué es un Formulario?
Es la ventana principal, porque sirve de fondo para los controles que se “dibujan” en una aplicación, como cajas de textos, etiquetas, botones, etc. sepodría decir que es un contenedor de controles y objetos.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 203/323
Lenguaje de Programación – Capitulo IX
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
Ventana de Código
Esta ventana contendrá todo el código que realizara los diferentes eventos,
procedimientos, instrucciones del formulario.
Mayormente para activar esta ventana y añadir cualquier código, siempre setendrá que hacer doble clic en el control deseado.
Caja de Herramientas
Contiene los controles que se dibujan en el formulario, en tiempo de diseñoy no en tiempo de ejecución.
Estos controles están divididos por clases, los controles más usados son los
de CommonControls, mas adelante ya veremos con más detalle cada control.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 204/323
Lenguaje de Programación – Capitulo IX
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
Explorador de Soluciones
En esta ventana se encuentra el formulario, también vas a poder encontrartodos los Item que agregas de aquí en adelante, ya sean formularios, módulos,
clases, etc.
Botón Función
Este botón nos permitirá visualizar las propiedades de lasolución, proyecto, formulario, etc., todos lo Item que seencuentran en esta ventana.Nos permitirá actualizar los Ítems de la solución
Al dar clic en este botón nos mostrara todos los Ítems de lasolución, ya sean Referencias, XML, formulario, etc.Nos mostrará el código del Item seleccionado, puede serformulario, módulo, clase, etc.Este botón nos permitirá visualizar la ventana de diseño delformulario o de cualquier Item seleccionado.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 205/323
Lenguaje de Programación – Capitulo IX
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
Para agregar un nuevo Item nos ubicaremos en el nombre de la solución yluego daremos clic derecho y seleccionaremos Add y después New Item.
Después de dar clic en New Item nos aparecerá la siguiente ventana endonde seleccionaremos el Item que queramos añadir, como ustedes lo ven en lafigura de abajo, una vez seleccionado el Item daremos clic en add (Añadir).
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 206/323
Lenguaje de Programación – Capitulo IX
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
Explorador de Base de Datos
En esta ventana veremos todas las bases de datos creadas y cada una consu conexión a ella respectivamente.
Mas adelante ya veremos con detalle esta ventana.
Base de Datos
Desde esta ventana podremos crear una base de datos nueva.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 207/323
Lenguaje de Programación – Capitulo IX
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
Ventana de Propiedades
Esta ventana nos mostrara todas las propiedades del Item seleccionado,puede ser de un formulario, módulo, control, etc.
Ventana de Errores
Esta ventana nos mostrara todos los errores que ocurran en tiempo deejecución del programa.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 208/323
Lenguaje de Programación – Capitulo IX
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
Barra de Herramientas
Esta barra contendrá diversos botones que suelen facilitar al programador enel uso del programa, al principio ya vimos que botones usábamos en las consolas
de aplicaciones.
Botón Función
Este botón ejecutara el proyecto, también se puede ejecutar elproyecto presionando la tecla F5
Este botón mostrar la ventana de Lista de Errores
Este botón nos mostrara una ventana en donde podremos hallar ya
sean los métodos, eventos de un control seleccionado, tambiénpodremos ver esa ventana presionando la tecla F2.
Este botón realiza una pausa a la ejecución del proyecto.
Al dar clic en este botón, podremos visualizar la ventana depropiedades del item seleccionado.Cuando queramos convertir varias líneas en comentario, primeroseleccionaremos el código y luego daremos clic en este botón.Y cuando queramos ya no tener como comentario un código, solotendremos que dar clic en este botón.
Nos mostrara la ventana de Explorador de Soluciones
Detendrá la aplicación
Nos mostrara la Caja de Herramientas
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 209/323
Capitulo X
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 210/323
INDICE
CAPITULO X
Formularios (Forms) 01
Introducción 01
Tipos 01
Propiedades 02
Métodos 04
Eventos 05
Controles 07
Common Controls 07
Components 08
Containers 09
Data 09
Dialog 10
Menus & TollBars 10
Propiedades 11
Métodos 11
Eventos 11
Ejercicio 61 12
Ejercicio 62 13
Ejercicio 63 14
Ejercicio 64 15
Ejercicio 65 16
Ejercicio 66 18
Ejercicio 67 19
Ejercicio 68 20
Ejercicio 69 21
Ejercicio 70 23
Despedida 26
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 211/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
1
Formularios (Forms)
Introducción
Es una ventana muy importante porque aquí se dibujan o pegan todos loscontroles que necesitamos utilizar en nuestro programa o aplicación. Se puedenutilizar tantos formularios como se necesiten, y dependiendo de la utilidad que seles dé, estos serán de diferentes tipos. Así, se puede crear un formulario quecontenga un gráfico, para visualizar información o para ingresar datos.
Para dejar un poco más en claro, un formulario es una ventana típica deWindows. Estos están contenidos en forma automática en el escritorio de Windowso en su defecto dentro de otros formularios a los que llamaremos formularios MDI(Multiple Document Interface – Interfaz de Múltiples Documentos).
Toda ventana es a su vez una interfaz gráfica de usuario la que permiteinteractuar a un usuario no muy experimentado de una manera muy simple conella. Cada una de estas interfaces puede tener una gran funcionalidad inherente laque se concentra en la misma ventana o en determinados controles que estáninmersos en ella.
Como todo objeto, un formulario posee propiedades y métodos, así como asu vez soporta eventos que veremos a continuación.
Tipos
Hay cuatro tipos de formularios, que son los más usados, como son:
! El formulario MDI, que es un contenedor de otros formularios, por ejemplotenemos las ventanas de Word que es un formulario MDI, ya que contiene opuede contener diversas ventanas de documentos abiertos.
! Los formularios Child, que son aquellos formularios hijos, en otras palabrasson todos aquellos formularios que van a ser contenidos en el formularioMDI.
! El formulario normal, que el que más vamos a usar, y el más común.
! El formulario Parents, que es aquel formulario que va a contener todos loscontroles de otro formulario, por ejemplo, si tenemos un formulario llamadofrmPadre, que contiene un menú y un botón grabar y creamos un nuevo
formulario de tipo parents llamado frmHijo y le especificamos en supropiedad de parents el formulario frmPadre, automáticamente el formulariofrmHijo aparecerá con el menú y el botón grabar, bueno, eso ya lo veremosmas adelante para que les quede mas claro, así que no se preocupen.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 212/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
2
Propiedades
Propiedad Descripción
(Name)Permite identificar el formulario, su prefijo decualquier formulario es frm
AccepButtonSi esta establecido, el botón se activa cuando elusuario presiona la tecla [Enter] ([INTRO])
AccesibleDescriptionDescripción que se proporciona a clientes conaccesibilidad.
AccesibleNameNombre que se proporciona a los clientes conaccesibilidad.
AccesibleRoleFunción que se proporciona a clientes conaccesibilidad.
AllowDropDetermina si el control recibe notificaciones dearrastrar y colocar.
AutoScaleModeDetermina cuando el formulario o el control, cuandola escala de la resolución de la pantalla o de lafuente de letra a cambiado.
AutoScrollDetermina si aparecen automáticamente las barrasde desplazamiento cuando los controles estánsituados fuera del área de clientes del formulario.
AutoScrollMarginEstablece el margen alrededor del control duranteel AutoScroll.
AutoScrollMinSizeTamaño lógico mínimo para la zona dedesplazamiento automático.
AutoSizeEstablece si el formulario se adecua al tamañoespecificado de los controles.
AutoSizeMode Especifica el modo del tamaño del formulario
BackColor Color de fondo a utilizar para mostrar texto ográficos en el control.
BackGroundImage Imagen de fondo utilizada para el formulario.
BackGroundImageLayoutEspecifica como se presentara la imagen de fondodel formulario, puede ser en mosaico, estirado,centrada.
CancelButtonSi esta establecido, el botón se activa cuando elusuario presiona la tecla ESC
CausesValidationIndica si este control causa y genera eventos devalidación.
ContextMenuStripIndica el menú contextual que se muestra cuandoel usuario hace clic derecho.
ControlBox
Determina si el formulario tiene un cuadro de menú
control el que se encuentra en la esquina superiorderecha de la ventana.
CursorIndica el tipo de cursor que aparece al pasar elMouse por el control
Enabled Indica si el control esta habilitado
FontIndica la fuente utilizada para mostrar texto en elcontrol.
ForeColorIndica el color de primer plano utilizado paramostrar texto o gráficos en el control.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 213/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
3
FormBorderStyleControla la apariencia del borde del formulario. Estotambién influye en como se muestra la barra detitulo y que botones pueden aparecer en ella.
HelpButtonDetermina si un formulario tiene botón de ayuda enla barra de titulo.
Icon
Indica el icono para un formulario. Esto se muestra
en el cuadro de menú del formulario del sistema ycuando el formulario se minimiza, Width: Ancho,Height: Altura.
ImeModeDetermina el estado IME (Editor de Métodos deEntrada) del objeto cuando se selecciona.
IsMDIContainer Determina si el formulario es un contenedor MDI.
KeyPreviewDetermina si los eventos de teclado para loscontroles del formulario se registran junto con elformulario.
Language Indica el idioma traducido actualmente.
LocalizableDetermina si se va a generar el código localizablepara este objeto.
LocationPosición de la esquina superior izquierda del
control, respecto al contenedor.Locked
Determina si se puede mover o cambiar de tamañoel control.
MainMenuStripIndica el menú principal del formulario. Debeestablecerse en un componente de tipoMainMenuStrip.
MaximizeBoxDetermina si el formulario contendrá el botón demaximizar.
MaximunSizeIndica el tamaño máximo de la ventana almaximizar.
MinimizeBoxDetermina si el formulario contendrá el botón deminimizar.
MinimunSizaIndica el tamaño mínimo de la ventana al
minimizar.
OpacityDetermina la opacidad o transparencia delformulario; 0% es transparente, 100% es opaco(visible)
PaddingIndica el espacio entre los controles que va acontener el formulario.
RightToLeftIndica si el control debe dibujarse de derecha aizquierda para idiomas que se escriben en esadirección.
ShowIconDetermina si se muestra el icono del formulario enla barra de titulo.
ShowInTaskBarDetermina si el formulario aparece en la barra detareas de Windows.
SizeDetermina el tamaño del formulario o control enpíxeles.
SizeGripStyleDetermina cuando se muestra SizeGrip en unformulario.
StarPositionDetermina la posición del formulario cuandoaparece por primera.
TagDatos definidos por el usuario asociado con elcontrol.
TextMuestra el texto contenido en el formulario en labarra de titulo.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 214/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
4
TopMostDetermina si el formulario está sobre todos losdemás formularios que no son de nivel superior,incluso cuando esta desactivado.
TransparencyKeyIndica el color que parece transparente cuando seaplica al formulario.
UseWaitCursor Indica si se muestra un cursor de espera.
WindowsState Determina el estado visual inicial del formulario,puede ser minimizado, maximizado o normal.
Métodos
Vamos a tocar los métodos mas utilizados, ya que existen un sin fin demétodos.
Método Descripción
Activate Activa el formulario y le otorga el focoClose Cierra el formulario
CreateControlObliga a que se cree el control, incluidos elidentificador y los controles secundarios.
CreateGraphics Crea el objeto Graphics para el control
DisposeSobrecargado. Libera los recursos utilizados porcomponentes.
FindFormRecupera el formulario en el que se encuentra elcontrol.
FinalizeLibera todos los recursos del formulario y delsistema.
Focus Establece el foco de entrada al control.GetType Obtiene el objeto Type de la instancia actual.
Hide Oculta el formulario o control al usuario.
InvalidateSobrecargado, Invalida una región específica delcontrol y hace que se envié un mensaje de dibujo alcontrol.
LayoutMdiOrganiza los formularios MDI secundarios delformulario MDI principal.
RefreshObliga al control invalidar su área cliente y actoseguido obliga a que vuelva a dibujarse el control ysus controles secundarios.
RemoveOwnedFormQuita un formulario con propietario de esteformulario.
ResetTextRestablece el valor predeterminado de la propiedadText.
Select Sobrecargado, activa un control.Show Muestra el control o formulario al usuario.
ShowDialogSobrecargado. Muestra el formulario como uncuadro de dialogo modal.
UpdateHace que el control vuelva a dibujar las regiones noválidas en su área de cliente.
ValidateValida el último control no validado y suspredecesores, pero sin incluir el control actual.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 215/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
5
Eventos
Vamos a tocar los eventos más utilizados, ya que existen una cierta cantidadconsiderables de eventos.
Evento Descripción
ActivatedSe produce cuando el formulario se activa porcódigo de programa o por parte del usuario.
BackGroundImageChanged
Se produce cuando el valor de la propiedad
BackGroundImage cambia.
ClickSe produce cuando el usuario hace clic en elcontrol.
DisponedAgrega un controlador de eventos para escuchar alevento Disponed en el componente.
DoubleClick Se produce cuando se hace doble clic en el control.
EnabledChangedSe produce cuando cambia el valor de la propiedadenabled.
Enter Se produce cuando se entra en el control.FormClosed Tiene lugar cuando el formulario esta cerrado.FormClosing Tiene lugar cuando se cierra el formulario.GotFocus Se produce cuando el control recibe el foco.
Invalidated
Se produce cuando es necesario volver a dibujar un
control.
KeyDownSe produce cuando se presiona una tecla mientrasel control tiene el foco.
KeyPressSe produce cuando se presiona una tecla mientrasel control tiene el foco.
KeyUpSe produce cuando se suelta una tecla mientras elcontrol tiene el foco.
LayoutSe produce cuando el foco de entrada deja elcontrol
LeaveSe produce cuando el foco de entrada deja elcontrol.
LoadSe produce antes de que se muestre un formulariopor primera vez.
LostFocus Se produce cuando el control pierde el foco.
MenuCompleteSe produce cuando el menú de un formulariopierde el foco.
MenuStartSe produce cuando el menú de un formulariorecibe el foco.
MouseDownSe produce cuando el puntero del Mouse esta sobreel control y se presiona un botón del Mouse.
MouseEnterSe produce cuando el puntero del Mouse entra enel control.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 216/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
6
MouseHoverSe produce cuando el puntero del Mouse se sitúaencima del control.
MouseLeaveSe produce cuando el puntero del Mouse deja elcontrol.
MouseMoveSe produce cuando el puntero del Mouse se muevesobre el control.
MouseUp Se produce cuando el puntero del Mouse estaencima del control y se suelta el botón del Mouse.
MouseWheelSe produce cuando la rueda del Mouse se muevemientras el control tiene el foco.
Move Se produce cuando se mueve el control.
VisibleChangedSe produce cuando cambia el valor de la propiedadvisible.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 217/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
7
Controles
Con el .NET Framework 2.0 tenemos una diversidad de control y objetos quepodemos usar en nuestras aplicaciones, ahora veremos algunos controles que masvamos a usar divididos en categorías.
Common Controls
Como se van a dar cuenta, cada control tiene su icono, nombre, prefijo y sudescripción.
Icono Nombre Prefijo Descripción
Button btn Se utiliza para iniciar, detener ointerrumpir un proceso.
CheckBox chkMuestra una casilla de verificación y unaetiqueta para texto. Se utiliza n generalpara establecer opciones.
CheckedListBox clbMuestra una lista desplazable deelementos, cada uno acompañado por unacasilla de verificación.
ComboBox cboMuestra una lista desplegable deelementos.
DateTimePicker dtpMuestra un calendario gráfico desplegable,que permite que los usuarios seleccionenuna fecha o una hora.
Label lbl Muestra texto que los usuarios no puedenmodificar directamente.
LinkLabel llblMuestra texto en forma de vínculo deestilo Web y desencadena un eventocuando el usuario hace clic en el texto.
ListBox lstMuestra una lista de textos, tambiénllamados elementos.
ListView lstvMuestra los elementos ya sean texto soloo con gráficos (iconos).
MaskedTextBox mskCaptura texto escrito por el usuario, yasea teniendo un formato de entrada.
MonthCalender mncMuestra un calendario gráfico que permiteque los usuarios seleccionen un intervalo
de fechas.
NotifyIcon nti
Muestra un icono, en el área denotificación de estado de la barra detareas, que representa una aplicación quese ejecuta en segundo plano.
NumericUpDown nud
Muestra una lista de número a través dela cual los usuarios se pueden desplazarmediante botones hacia arriba y haciaabajo.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 218/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
8
PictureBox picMuestra archivos de imágenes, tales comomapas bits e iconos, gifs, etc.
ProgressBar pgbMuestra una barra de progreso, mientrasrealiza una instrucción.
RadioButton rdbMuestra un botón que puede activarse odesactivarse.
RichTextBox rtbHabilita la presentación del texto conformato de texto sencillo o de textoenriquecido (RTF).
TextBox txtMuestra texto escrito en tiempo de diseñoque puede ser editado por los usuarios entiempo de ejecución.
ToolTip ttp
Este control activa la propiedad ToolTip enlos demás controles, su función es brindaruna pequeña información al pasar elMouse por el control que queramos.
TreeView trv
Muestra una colección jerárquica deobjetos de nodo que puede constar detexto con casilla de verificación o iconos
opcionales.
WebBrowser wbrPermite crear un explorador de Internetcon fácil navegación, también se puedeabrir múltiples archivos.
Nota: Los prefijos son una referencia, se utiliza para saber de que control se hablaen tiempo de diseño, no es obligatorio usarlo, pero es recomendable que sefamiliaricen, ya que la mayoría de programadores lo usan.
Components
Solo les muestro dos controles, que son los más usados.
Icono Nombre Prefijo Descripción
ImageList imgEs un contenedor de imágenes, para quedespués se use con otros controles.
Timer tmrSirve para realizar un conteo de tiempo,en tiempo de ejecución.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 219/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
9
Containers
Esta categoría se encuentran todos aquellos controles que sirven paracontener otros controles.
Icono Nombre Prefijo Descripción
FlowLayoutPanel flpEs un contenedor de controles que nopermite la modificación de la posición delcontrol.
GroupBox gpbAgrupa un conjunto de controles (talescomo botones de opción) en un marcocon etiqueta.
Panel pnlAgrupa un conjunto de controles en unmarco sin etiqueta que permite eldesplazamiento.
SplitContainer spcEs un contenedor de controles con dospaneles, en donde se puede insertarcualquier tipo de control.
TabControl tbcProporciona una página con fichas paraorganizar y tener acceso a controlesagrupados de forma eficiente.
TableLayoutPanel tlpEs un organizador de controles, ya quepodemos añadir filas o columnas paracontrol que queramos.
Data
Como se van a dar cuenta, cada control tiene su icono, nombre, prefijo y sudescripción.
Icono Nombre Prefijo Descripción
BindingNavigator bgnEste control nos permite la navegaciónde datos, conectada a una base dedatos.
BindingSource bgsEste control nos permite la conexión y lanavegación de datos, de una base dedatos.
DataGripView dgv Nos permite visualizar los datos de unatabla o de una base de datos.
DataSet dtsNos permite la creación y la conexión deuna base de datos.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 220/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
10
Dialog
Como se van a dar cuenta, cada control tiene su icono, nombre, prefijo y sudescripción.
Icono Nombre Prefijo Descripción
ColorDialog cdg
Muestra el cuadro de diálogo deselección de colore, que permite quelos usuarios seleccionen el color deun elemento de la interfaz.
FolderBrowserDialog fbdMuestra un cuadro de diálogo quepermite buscar o una carpeta dedestino.
FontDialog fdgMuestra un cuadro de diálogo quepermite que los usuarios establezcan
una fuente y sus atributos.
OpenFileDialog ofd
Muestra un cuadro de dialogo quepermite que los usuarios sedesplacen hasta un archivo y loseleccionen.
SaveFileDialog sfdMuestra un cuadro de dialogo quepermite que los usuarios guarden unarchivo.
Menus & ToolBars
Como se van a dar cuenta, cada control tiene su icono, nombre, prefijo y sudescripción.
Icono Nombre Prefijo Descripción
ContextMenuStrip cms
Implementa un menú que aparececuando el usuario hace clic en unobjeto con el botón secundario delMouse.
MenuStrip mnuProporciona una interfaz en tiempode diseño para la creación de menús.
StatusStrip sts
Muestra información acerca del
estado actual de la aplicaciónmediante una ventana con marco,habitualmente en parte inferior de unformulario.
ToolStrip tlsContiene una colección de botones,combos, etiquetas, etc.
ToolStripContainer tscMuestra una interfaz de botones conmenú.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 221/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
11
Propiedades:
Ahora veremos algunas propiedad mas comunes que tienen los controles,solo tocaremos lo que no hemos mencionado, ya que casi todos los controles y
formularios tienen las mismas propiedades.
Propiedad Descripción
AccessKeyObtiene o establece la clave de acceso (la letrasubrayada) que permite desplazarse rápidamente alcontrol de servidor Web.
AnchorEstablece la alineación del control con respecto a unobjeto, cuando se maximiza o minimiza.
AttributesObtiene la colección de atributos arbitrarios (sólopara procesar) que no corresponden a propiedades
del control.
BorderColorObtiene o establece el color de borde del controlWeb.
BorderStyle Obtiene o establece el estilo del borde del control.BorderWidth Obtiene o establece el ancho del borde del control.
FlatStyleDetermina el comportamiento del control, cuandoes pasado el Mouse o cuando hacen clic en elcontrol.
Image Estable la imagen que contendrá el control.ImageAlign Establece la alineación de la imagen.TextAlign Establece la alineación del texto del control.
ToolTipSe activa cuando el objeto TooTip esta en el diseñodel formulario, normalmente contiene una pequeña
información del control.
Métodos
Los métodos son casi los mismos que tiene el formulario, así que conformevamos avanzando veremos uno que otro método propio de cada control.
Eventos
Los eventos también son muy parecidos a los eventos del formulario, solotocaremos algunos eventos propios de cada control, conforme avancemos.
Ahora veremos unos cuantos ejemplos usando primero un Label, TextBox,Button.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 222/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
12
Ejercicios
61. En esta aplicación usaremos tres Label (etiquetas), cambiándoles algunaspropiedades.
Primero crearemos un nuevo proyecto con el nombre de Ejercicio61, paraeste ejercicio todavía no alteraremos ningún nombre de los controles, solocambiaremos las propiedades de algunos controles y pondremos en la propiedad detexto de cada Label, el texto que se muestra en la imagen.
Control Label1
Propiedad Descripción
Font Verdana, Normal 20 pt
Control Label2
Propiedad Descripción
AutoSize FalseBorderStyle Fixed3DFont Verdana, Negrita 10 pt
TextAlign MiddleCenter
Control Label3
Propiedad Descripción
Font Verdana, Negrita Subrayada 8 pt
Label1
Label2
Label3
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 223/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
13
Eso es todo con respecto a nuestra primera aplicación, no se olviden quepara poner un control primero daremos clic sobre el control en la barra deherramientas y haremos clic en el formulario ó podemos hacer doble clic en elcontrol de la barra de herramientas.
Para ejecutar el programa presionaremos la tecla F5 o daremos clic en elbotón Star Debugging, que ya lo conocen, por que es el mismo que se usa paraejecutar las aplicaciones de consola.
62. Ahora en este ejercicio usaremos dos tipos de controles uno es el Label y el otroes el TextBox.
Control Label1
Propiedad Descripción
AutoSize FalseBorderStyle Fixed3DFont Microsoft Sans Serif, Negrita 9 pt
TextAlign MiddleCenter
Label1
TextBox1
TextBox2
TextBox3
TextBox4
TextBox5
Label6
Label5
Label4
Label3
Label2
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 224/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
14
Control TextBox5
Propiedad Descripción
Multiline True
ScrollBars Vertical
Estos dos controles son los únicos al que le cambiaremos las propiedades. Lapropiedad de Multiline del control TextBox nos permite que podamos ingresar unacantidad considerable de caracteres y la propiedad ScrollBars nos mostrara unabarra de desplazamiento sobre el control.
63. bueno esta aplicación les dejo para que practiquen un poco, recuerden que lasaplicaciones de ventanas son para mejorar la calidad de diseño de otrasaplicaciones con lo son las de consola.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 225/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
15
64. En este ejercicio aprenderemos a usar algunas propiedades que es deimportancia en el control del TextBox.
Características:
! En el ciclo solo debe ingresar hasta 03 caracteres.! El sexo solo un carácter.!
En la clave hasta 05 caracteres y no se debe de visualizar a media queingrese.! No se debe permitir el ingreso en la dirección electrónica.
Control TextBox2
Propiedad Descripción
MaxLength 3
Control TextBox3
Propiedad Descripción
MaxLength 1
Control TextBox4
Propiedad Descripción
MaxLength 5PasswordChar *
TextBox1
TextBox2
TextBox3
TextBox5
Label6
Label5
Label4
Label3
Label2
Label1
TextBox4
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 226/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
16
Control TextBox5
Propiedad Descripción
ReadOnly True
Ahora ejecuten el programa y listo. La propiedad MaxLength nos permiteque especifiquemos que cantidad de caracteres va a contener el control mientrasque la propiedad PasswordChar nos indica mediante que carácter va a serreemplazado el carácter que ingresemos.
65. Este ejercicio es muy parecido al ejercicio número 62, le añadiremos solos doscontroles mas, que son el Button y el ToolTip.
Recuerda que tienes que poner en la propiedad de Text de cada control eltexto que se muestra en ellos en la figura.
TextBox1
TextBox2
TextBox3
TextBox4
TextBox5
Button2Button1
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 227/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
17
Control Button1
Propiedad Descripción
ToolTip on ToolTip1 Adiciona un Nuevo Alumno
Control Button2
Propiedad Descripción
ToolTip on ToolTip1 Finaliza la Aplicación
Como se darán cuenta al añadir un ToolTip este aparece en la parte inferiorcomo en la figura de abajo, esto sucede por que es un objeto, la propiedad ToolTipdel control Button siempre va a aparecer acompañado del nombre que le pongamos
a nuestro TooTip.
Ahora veremos nuestra pequeña codificación que tendrán los botones.
Button1 (Evento Cick)
Para entrar a este evento solo basta darle doble clic en el botón y aparecerála siguiente ventana.
Así que escribiremos el siguiente código dentro del procedimiento.
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = ""
Me.TextBox5.Text = ""
Me.TextBox1.Focus()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 228/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
18
Como ustedes saben que la propiedad Text del control, nos muestra el textoque queramos así que al ponerle dos comillas, se interpreta que no va a tenerningún texto, pero si queremos que se muestre un texto lo haremos también entrecomillas.
Mientras tanto el método Focus del control, nos indica que el foco ósea el
cursor se va a ubicar en el control TextBox1.
Button2 (Evento Cick)
Me.Close()
Como se darán cuenta escribo Me.Close, el Me nos indica el objeto actual,que es el formulario y close es un método de este objeto que tiene por funcióncerrar el formulario, por ejemplo si olvidamos el nombre de un control, basta quepongamos Me. y seguido el prefijo del control y nos será mas útil de encontrar elnombre del control, es por eso que se dice que estas dos ultimas versiones de VB.Net están orientadas a objetos.
66. En este ejercicio aprenderemos a alterar propiedades de controles en tiempo deejecución.
Button1 (Evento Cick)
Me.Label1.Text = "Joel Martin Chuco Marrufo"
Button2 (Evento Cick)
Me.Label1.Text = "Yo Estudie en el Instituto Superior Tecnológico Argentina"
Button3 (Evento Cick)
Me.Label1.Text = "Naci el 15 de septiembre de 1984"
Label1
Button2Button1 Button3
Button4
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 229/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
19
Button4 (Evento Cick)
Me.Close()
67. En este ejercicio aprenderemos ya a ponerle nombre a cada control, en lapropiedad Name de cada uno de ellos como se muestra en la figura.
btnNuevo (Evento Cick)
Me.txtNombre.Text = ""Me.txtFecNac.Text = ""Me.txtDNI.Text = ""Me.txtDomAct.Text = ""Me.txtNombre.Focus()
btnSalir (Evento Cick)
Me.Close()
txtNombre
txtFecNac
txtDNI
txtDomAct
btnSalirbtnNuevo
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 230/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
20
68. Bueno con este ejercicio veremos la diferencia entre una Variable de tipo Dim yotra de tipo Static, si no les quedo claro en la explicación de las entregasanteriores.
btnIncrementa (Evento Cick)
Dim A As IntegerStatic B As IntegerA = A + 1B = B + 1Me.lblValA.Text = CStr(A)Me.lblValB.Text = B.ToString
Como ven en el ejercicio cada vez que damos clic en el botón el valor de A
siempre va a ser 1, en cambio en el valor de B aumenta de 1 en 1, esto se debe aque B es una variable de tipo Static, mejor dicho es una variable que va aalmacenar su valor anterior, en caso contrario la variable A, no va a almacenarningún valor anterior, ya que es declarada cada vez que presionamos el botón y sele asigna el mismo valor de 1.
También se darán cuenta que uso dos formas de convertir el número acadena como es el CStr o el .ToString, cualquiera de las dos es válida, pero la deCStr pertenece a las versiones anteriores del Visual Basic, en cambio el .ToStringpertenece a las versiones .Net del Visual Basic.
lblValAlblValB
btnIncrementa
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 231/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
21
69. En este ejercicio veremos una variable a nivel de procedimiento.
Primero veremos el siguiente código, asé copien el código tal como esta yejecútenlo y vean lo que pasa.
btnProcA (Evento Cick)
Dim N As IntegerN = 5Me.lblVariable.Text = N.ToStringN = 10
btnProcB (Evento Cick)
Me.lblVariable.Text = N.ToString
Como se darán cuenta en el procedimiento btnProcB la letra N aparece conuna raya azul más o menos como en la imagen.
Esto sucede por que la variable N que declaramos en el procedimientobtnProcA es solo para ese procedimiento y no se puede utilizar en otroprocedimiento.
btnProcA
lblVariable
btnProcB
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 232/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
22
Y cuando tratamos de ejecutar nos aparecerá la siguiente ventana.
Para ver el error daremos clic en No y luego nos ubicaremos en la ventanade Error List, en donde nos mostrar cual es el error.
Aquí nos indica en línea y en que columna se ubica el error, y si hubiera másproyectos en la solución, también nos indica en que proyecta esta el error. Estaexplicación lo hago para que a la hora en que ejecuten sus aplicaciones sepan endonde se ubica el error, la solución a este error seria la siguiente codificación.
Declararíamos la variable N a nivel del formulario como se muestra en lafigura.
Y luego el código en los botones seria lo siguiente.
btnProcA (Evento Cick)
N = 5Me.lblVariable.Text = N.ToStringN = 10
btnProcB (Evento Cick)
Me.lblVariable.Text = N.ToString
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 233/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
23
70. En este ejercicio aprenderemos ya a cambiar y realizar un poco de codificaciónpara los siguientes botones y realización de cálculo, también usaremos unprocedimientos, casi todo lo que hemos aprendido en las entregas anteriores.
Características
Se debe de ingresar el nombre de un trabajador, las horas normales que hatrabajado, las horas extras, el pago por cada hora normal y extra. Al hacer un clicen el botón calcular, se deberá calcular y mostrar el total por las horas normales, eltotal por las horas extras, el subtotal, un descuento del 10% del subtotal y el totalque se le debe pagar.
btnCalculartxtHE
txtPHN
txtNombre
txtHTN
txtTotal
txtTHN
btnNuevo
btnSalir
txtPHE
txtDesc
txtSubTotal
txtTHE
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 234/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
24
Procedimiento LimpiarControles
Sub LimpiarControles()Me.txtHE.Text = ""Me.txtHTN.Text = ""
Me.txtNombre.Text = ""Me.txtPHE.Text = ""Me.txtPHN.Text = ""Me.lblDesc.Text = ""Me.lblSubTotal.Text = ""Me.lblTHE.Text = ""Me.lblTHN.Text = ""Me.lblTotal.Text = ""Me.txtNombre.Focus()
End Sub
Como ustedes saben los procedimientos se hacen fuera de otrosprocedimientos, en este caso a nivel del formulario.
frmEjercicio70 (Evento Load)
LimpiarControles()
btnNuevo (Evento Cick)
Call LimpiarControles()
btnSalir (Evento Cick)
Me.Close()
btnCalcular (Evento Cick)
Dim HTN, HTE, PHN, PHE, THN, THE, ST, DES, TP As SingleConst Descuento = 10HTN = Val(Me.txtHTN.Text) 'Horas Normales TrabajadasHTE = Val(Me.txtHE.Text) 'Horas Extras TrabajadasPHN = Val(Me.txtPHN.Text) 'Pago por Hora NormalPHE = Val(Me.txtPHE.Text) 'Pago por hora Extra
THN = HTN * PHN 'Total por Horas NormalesTHE = HTE * PHE 'Total por Horas ExtrasST = THN + THE 'Sub TotalDES = ST * Descuento / 100 'DescuentoTP = ST - DES 'Total a PagarMe.lblDesc.Text = DES.ToStringMe.lblSubTotal.Text = ST.ToStringMe.lblTHE.Text = THE.ToStringMe.lblTHN.Text = THN.ToStringMe.lblTotal.Text = TP.ToString
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 235/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
25
REM Seguna Forma, sin usar variables
'Me.lblTHN.Text = (Val(Me.txtHTN.Text) * Val(Me.txtPHN.Text)).ToString'Me.lblTHE.Text = (Val(Me.txtHE.Text) * Val(Me.txtPHE.Text)).ToString'Me.lblSubTotal.Text = (Val(Me.lblTHN.Text) + Val(Me.lblTHE.Text)).ToString
'Me.lblDesc.Text = (Val(Me.lblSubTotal.Text) * 10 / 100).ToString'Me.lblTotal.Text = (Val(Me.lblSubTotal.Text) - Val(Me.lblDesc.Text)).ToString
Aquí uso dos formas de calcular, una es usando variables, la uso para queentiendan mucho mejor la aplicación y la otra es sin usar variables, que es mejor,ya que variable que se declara, queda almacenada en la memoria.
Si recuerdan en las aplicaciones de consolas usamos lo que es otro tipo deconversión de cadena a tipo Single, en cambio en las aplicaciones de ventanaspodemos usar la función Val que nos captura el valor de la caja de texto.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 236/323
Lenguaje de Programación – Capitulo X
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo
26
Bueno señores con esto acaba la Sexta entrega de este manual, si se habrán
dado cuenta la codificación es la misma de las aplicaciones de consola, podriánpracticar haciendo los ejercicios del 1 al 8, ya que son parecidos a lo que hemoshecho, en la próxima entrega, aprenderemos a:
! Usar Controles Avanzado! Restringir el acceso de datos! Mejorar el diseño de formulario
Bueno conmigo será hasta la próxima entrega, ya saben aquí les dejo micorreo por si tienen alguna duda.
Joel Martin Chuco [email protected]
Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú
" Cuenta en Soles:
067-3008573552
" Cuenta en Dólares:
067-3008573560
www.interbank.com.pe
Este Manual Solo lo Puedes Descargar por la Página Oficial.
www.lawebdelprogramador.com
Lima, 04 de Marzo de 2006
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 237/323
Capitulo XI
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 238/323
INDICE
CAPITULO XI
MessageBox 01
Variables de Tipo MsgBoxResult 02
Tipos 01
Funciones Tipo Cadena 02
IF – THEN - ELSE 03
Ejercicio 71 03
Ejercicio 72 06
InputBox 11
Ejercicio 73 12
Format 15
Ejercicio 74 16
Ejercicio 75 17
SELECT CASE 19
Ejercicio 76 19
Ejercicio 77 21
Ejercicio 78 23
Ejercicio 79 26
Funciones Públicas 28
Ejercicio 80 28
Clases y NameSpace en un Modulo 30
Ejercicio 81 30
Ejercicio 82 34
Función Shell 35
Ejercicio 83 36
Despedida 38
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 239/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo1
MSGBOX
El MSGBOX es una ventana que nos muestra un mensaje en el centro de la
pantalla. Su sintaxis es la siguiente:
MsgBox(Mensaje, Tipo de Mensaje, Titulo)
Por ejemplo:
MsgBox("¿Desea Salir de la Aplicación?", MsgBoxStyle.YesNo, "Sistema")
El mensaje que nos mostrara será el siguiente:
Tipo de Mensaje Icono Botones (Botón Cerrar)
NoNo
NoNoNo
NoNoNoNoNo
NoNoNoNoNo
Abortar, Reintentar, Ignorar (Desactivado)Aceptar (Activado)Aceptar (Activado)Aceptar (Activado)Aceptar (Activado)Aceptar (Activado)Aceptar (Activado)Aceptar (Activado)Aceptar, Ayuda (Activado)Aceptar (Activado)Aceptar (Activado y al lado Izquierdo)Aceptar (Activado)Aceptar, Cancelar (Activado)Aceptar (Activado)Aceptar (Activado)Reintentar, Cancelar (Activado)
Aceptar (Activado) Icono en el TituloSi, No (Desactivado)Si, No, Cancelar (Activado)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 240/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo2
Variable tipo MsgBoxResult
La variable tipo MsgBoxResult, almacena los resultados que se obtengamediante un Message Box, que después no sirva compararala y ejecutar
instrucciones, por ejemplo:
Dim Resp As MsgBoxResultResp = MsgBox("¿Desea Salir?", MsgBoxStyle.YesNo, "Sistema")If Resp = MsgBoxResult.Yes Then
Me.Close() End If
Explicación:
Primero declaramos una variable Resp de tipo MsgBoxResult, esta variablealmacena el valor devuelto del mensaje, si el usuario responde SI, este valor quees verdadero (True) va a ser comparado con la siguiente instrucción IF quecompara la variable Resp, que seria mas o menos así: Si la variables Resp tienesalmacenado el valor SI, cerrara la ventana, sino, no hará ninguna instrucción.
FUNCIONES TIPO CADENA
Una cadena es un dato de tipo String (Carácter); es decir se refiere a letraso letras y números, ahora veremos las funciones de cadenas mas utilizadas yposteriormente realizaremos una aplicación para que les quede mas claro, sobre lasfunciones de cadena.
! Right: Obtiene de una cadena, una cantidad de caracteres empezando porla derecha: Sintaxis; Microsoft.VisualBasic.Right(Cadena,N)
! Left: Obtiene de una cadena, una cantidad de caracteres empezando por laizquierda: Sintaxis; Microsoft.VisualBasic.Left(Cadena,N)
! Mid: Obtiene de una cadena, una cantidad de caracteres a partir de unaposición determinada: Sintaxis; Microsoft.VisualBasic.Mid(Cadena,N)
! Len: Obtiene la longitud de una cadena, es decir la cantidad de caracteresque contiene incluyendo los espacios en blanco: Sintaxis; Len(Cadena)
! Trim: Quita los espacios en blanco al final de una cadena: Sintaxis;Trim(Cadena)
! RTrim: Quita los espacios en blanco al final de una cadena: Sintaxis;
RTrim(Cadena) ! LTrim: Quita los espacios en blanco al inicio de una cadena: Sintaxis;
LTrim(Cadena) ! UCase: Convierte una cadena en mayúsculas: Sintaxis; UCase(Cadena) ! LCase: Convierte una cadena en minúsculas: Sintaxis; LCase(Cadena) ! StrConv: Convierte una cadena en 3 formas diferentes, en mayúsculas = 1,
minúsculas = 2, la primera letra de cada palabra en mayúsculas = 3 :Sintaxis; StrConv(Cadena,Valor)
! InStr: Obtiene un número que indica la posición de una subcadena dentrode una cadena: Sintaxis; InStr(Cadena,SubCadena)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 241/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo3
txtNombre
txtDireccion
txtTelefono
txtCE
txtObservaciones
btnNuevo btnFinalizar
IF - THEN - ELSE
Como ya hemos visto antes esta instrucción condicional, en las consolas de
aplicación, ahora veremos en las aplicaciones de ventanas, que por cierto nocambian nada, ahora veremos unos cuantos ejercicios usando el IF y elMessageBox.
71. Ahora desarrollaremos nuevamente el ejercicio anterior (62).
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 242/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo4
Esta aplicación deberá tener las siguientes características:
! Al ejecutar la aplicación el botón Nuevo Alumno debe estar desactivado. Sólo
se debe activar cuando comience a ingresar el nombre del alumno.! Cuando el usuario ingrese un campo y pulse Enter , el cursor debe pasarautomáticamente al siguiente campo.
! Al hacer clic en el botón finalizar se debe mostrar un mensaje deadvertencia. Las instrucciones de este botón se deben ejecutar cuando elusuario pulse la tecla Esc .
txtNombre (Evento KeyPress)
If Asc(e.KeyChar) = 13 ThenMe.txtDireccion.Focus()
End If
txtDireccion (Evento KeyPress)
If Asc(e.KeyChar) = 13 ThenMe.txtTelefono.Focus()
End If
txtTelefono (Evento KeyPress)
If Asc(e.KeyChar) = 13 ThenMe.txtCE.Focus()
End If
txtCE (Evento KeyPress)
If Asc(e.KeyChar) = 13 ThenMe.txtObservaciones.Focus()
End If
frmEjercicio71 (Evento FormClosing)
Dim Resp As MsgBoxResult
Resp = MsgBox("¿Desea Salir de la Aplicación?", MsgBoxStyle.YesNo,"Sistema")If Resp = MsgBoxResult.No Then
e.Cancel = TrueEnd If
frmEjercicio71 (Evento Load)
Me.btnNuevo.Enabled = False
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 243/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo5
btnFinalizar (Evento Click)
Me.Close()
btnNuevo (Evento Click)
Me.txtCE.Text = ""Me.txtDireccion.Text = ""Me.txtNombre.Text = ""Me.txtObservaciones.Text = ""Me.txtTelefono.Text = ""Me.txtNombre.Focus()
txtNombre (Evento TextChanged)
If Trim(Me.txtNombre.Text) = "" ThenMe.btnNuevo.Enabled = False
ElseMe.btnNuevo.Enabled = True
End If
Para que se active o realice las instrucciones que se encuentren en el botónFinalizar, con solo presionar Esc, tendrán que especificar CancelButton en lapropiedad del formulario, indicando el botón btnFinalizar.
Explicación
Seguro se estarán haciendo algunas preguntas como lo son: e.KeyChar,e.Cancel, Asc, ahora les explico:
! e.KeyChar : Esta instrucción nos devuelve el carácter que ha sido digitado enese momento, por ejemplo si digitamos la letra “a” , esta instrucción nosdevuelve el valor de a pero como carácter.
! Asc : Esta función convierte cualquier carácter enviado en un código ASCII ,siguiendo del ejemplo anterior, ya que e.KeyChar tiene el carácter de “a” , siesto lo enviamos a la función Asc, quedaría mas o menos así:Asc(e.KeyChar), esta instrucción nos devolvería el valor de 97, porq?, wuenoel valor de “a” en código ASCII es 97, así de simple.
! e.Cancel : Esta instrucción nos permite cancelar cualquier evento que se este
realizando, por ejemplo si estamos cerrando el formulario, podemosindicarle que lo cancele, enviándole o instan ciándole un valor verdadero,para la cancelación del evento.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 244/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo6
txtApeNom
btnSalir
btnNuevo
txtPromedio
txtTurno
txtFecNac
72. La siguiente aplicación nos ingresar los apellidos y nombres, fecha de ingreso,turno y promedio de un alumno. Este programa debe contar con las siguientescaracterísticas:
! El primer carácter de cada nombre o apellido debe convertirse enmayúsculas y el reto en minúsculas.
! Se debe de verificar que la fecha ingresada sea correcta! En el turno solo se debe aceptar las letras M, T y N.! El promedio debe ser un número entre 0 y 20.! Los botones Nuevo y Salir deben permanecer desactivados hasta que
se ingresen todos los datos correctos.
Función Mayúscula Esta función indica si la letra ingresada esta en mayúscula.
Function Mayuscula(ByVal v As Integer) As BooleanIf v >= 65 And v <= 90 ThenMayuscula = True
ElseMayuscula = False
End IfEnd Function
Función Minúscula Esta función indica si la letra ingresada esta en minúscula.
Function Minuscula(ByVal v As Integer) As BooleanIf v >= 97 And v <= 122 Then
Minuscula = TrueElseMinuscula = False
End IfEnd Function
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 245/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo7
Función Número Esta función indica si el carácter ingresado es un número.
Function Numero(ByVal v As Integer) As BooleanIf v < 48 Or v > 57 Then
Numero = FalseElseNumero = True
End IfEnd Function
Función Especial Indica si a ingresado una vocal con tilde, la letra ñ o Ñ o pulsoENTER, la barra espaciadora o de retroceso (BackSpace).
Function Especial(ByVal v As Integer) As BooleanIf v = 13 Or v = 32 Or v = 8 Or v = 225 Or v = 233 Or v = 237 Or v = 243Or v = 250 Or v = 241 Or v = 209 Then
Especial = TrueElse
Especial = FalseEnd If
End Function
Función Ingresados Esta función verifican si todos lo datos han sido ingresadoscorrectamente.
Sub Ingresados()If Trim(Me.txtApeNom.Text) <> "" And IsDate(Me.txtFecNac.Text) And Trim(Me.txtTurno.Text) <> "" And Trim(Me.txtPromedio.Text) <> "" Then
Me.btnNuevo.Enabled = True
Me.btnSalir.Enabled = TrueElseMe.btnNuevo.Enabled = FalseMe.btnSalir.Enabled = False
End IfEnd Sub
Función Limpiar Esta función limpia los controles TextBox.
Sub Limpiar()Me.txtApeNom.Text = ""Me.txtFecNac.Text = ""
Me.txtPromedio.Text = ""Me.txtTurno.Text = ""Me.btnNuevo.Enabled = FalseMe.btnSalir.Enabled = FalseMe.txtApeNom.Focus()
End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 246/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo8
txtApeNom (Evento KeyPress)
Static anteriorespacio As BooleanIf Asc(e.KeyChar) = 13 Then
Me.txtFecNac.Focus()End IfIf Asc(e.KeyChar) = 32 Then
anteriorespacio = TrueElse
If Mayuscula(Asc(e.KeyChar)) Or Minuscula(Asc(e.KeyChar)) Or Especial(Asc(e.KeyChar)) Then
If Trim(Me.txtApeNom.Text) = "" Or anteriorespacio ThenREM Convierte a Mayusculae.KeyChar = UCase(e.KeyChar)
ElseREM Convierte a Minusculae.KeyChar = LCase(e.KeyChar)
End Ifanteriorespacio = False
ElseMsgBox("Debe de Ingresar sólo Letras", MsgBoxStyle.Information,"Cuidado")e.KeyChar = ChrW(0)Me.btnNuevo.Enabled = FalseMe.btnSalir.Enabled = False
End IfEnd If
txtFecNac (Evento KeyPress)
If Asc(e.KeyChar) = 13 ThenMe.txtTurno.Focus()End If
txtFecNac (Evento LostFocus)
If IsDate(Me.txtFecNac.Text) ThenIngresados()
ElseMsgBox("Debe de Ingresar una Fecha Correcta", MsgBoxStyle.Information,"Cuidado")Me.txtFecNac.SelectionStart = 0
Me.txtFecNac.SelectionLength = Len(Me.txtFecNac.Text)Me.txtFecNac.Text = Me.txtFecNac.TextMe.txtFecNac.Focus()
End If
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 247/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo9
frmEjercicio72 (Evento FormClosing)
Dim Resp As MsgBoxResultResp = MsgBox("Esta Seguro de Salir", MsgBoxStyle.YesNo, "Cuidado")
If Resp = MsgBoxResult.No ThenREM Si respondio que NOe.Cancel = True
End If
frmEjercicio72 (Evento Load)
Limpiar()
txtTurno (Evento KeyPress)
Dim Letra As StringIf Asc(e.KeyChar) = 13 Then
Me.txtPromedio.Focus()Else
Letra = UCase(e.KeyChar)If Letra = "M" Or Letra = "T" Or Letra = "N" Or Asc(e.KeyChar) = 8 Then
REM Convierte la Letra a Mayusculase.KeyChar = UCase(e.KeyChar)
ElseMsgBox("Debe Ingresar sólo las Letras M,T o N",MsgBoxStyle.Information, "Error")
REM Ignora el Carácter Ingresadoe.KeyChar = ChrW(0)Me.btnNuevo.Enabled = False
Me.btnSalir.Enabled = FalseEnd IfEnd If
txtPromedio (Evento KeyPress)
If Numero(Asc(e.KeyChar)) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 13Then
Ingresados()Else
MsgBox("Debe Ingresar Sólo Números", MsgBoxStyle.Information,"Cuidado")
e.KeyChar = ChrW(0)Me.btnNuevo.Enabled = FalseMe.btnSalir.Enabled = False
End If
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 248/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo10
txtPromedio (Evento TextChanged)
If Val(Me.txtPromedio.Text) < 0 Or Val(Me.txtPromedio.Text) > 20 ThenMsgBox("El Valor Debe Estar Entre 0 y 20", MsgBoxStyle.Information,
"Error")Me.txtPromedio.SelectionStart = 0Me.txtPromedio.SelectionLength = Len(Me.txtPromedio.Text)Me.txtPromedio.Text = Me.txtPromedio.SelectedTextMe.txtPromedio.Focus()Me.btnNuevo.Enabled = FalseMe.btnSalir.Enabled = False
ElseIngresados()
End If
txtApeNom, txtTurno (Evento TextChanged)
Ingresados()
btnNuevo (Evento Click)
Limpiar()
btnSalir (Evento Click)
Me.Close()
En este ejercicio no casi nada que explicar en el código, ya que es casi lomismo que hemos usado en el ejercicio anterior, solo me queda dejarle unapequeña tabla de código ASCII que hemos usado.
De A a la Z = del 65 al 90De a a la z = del 97 al 122á = 255, é = 233, í = 237, ó = 243, ú = 250, ñ = 241, Ñ = 209De 0 al 9 = del 48 al 57ENTER = 13BACKSPACE = 8ESC = 27Barra Espaciadora = 32
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 249/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo11
INPUTBOX
El INPUTBOX es una ventana que permite que el usuario pueda ingresar undato. Su sintaxis es la siguiente:
InputBox(Mensaje, Titulo, Valor Pred., Columna, Fila)
! Mensaje Es el mensaje que se desea mostrar cuando se pida el dato aingresar.
! Titulo Es el titulo de la ventana.! Valor Predeterminado Es el valor que se muestra en forma automática
para ser ingresado.! Columna Es un valor que indica la posición horizontal del formulario, donde
se desea que se muestre la ventana.! Fila Es un valor que indica la posición vertical del formulario, donde se
desea que se muestre la ventana.
Ejemplo:
Dim resp As Stringresp = InputBox("Ingrese el Nombre de la Persona", "Nuevo Registro", "JoelMartin Chuco Marrufo")
En este ejemplo hemos declarado una variable resp de tipo cadena, parapoder almacenar el nombre que el usuario ingrese, también se puede obtener otro
tipo de dato, ya sea número, fecha.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 250/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo12
btnOktxtCliente
txtMonto
btnDeposito btnRetiro
lblCantDeplblTotalDep
lblCantRet lblTotalRet
lblSaldo
btnNuevo
btnSalir
73. Este ejercicio cuenta el número de depósitos y retiros realizados por un cliente,además almacena el total de los montos tanto de retiros como de depósitosefectuados incluyendo el saldo actual.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 251/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo13
Variables a nivel del formulario
Dim cd, cr As IntegerDim td, tr, saldo As Single
Funcion Limpia
Sub Limpia()cd = 0cr = 0td = 0tr = 0saldo = 0Me.txtCliente.Text = ""Me.txtMonto.Text = ""Me.lblCantDep.Text = ""Me.lblCantRet.Text = ""
Me.lblSaldo.Text = ""Me.lblTotalDep.Text = ""Me.lblTotalRet.Text = ""Me.btnOk.Visible = TrueMe.btnDeposito.Enabled = FalseMe.btnRetiro.Enabled = FalseMe.txtCliente.ReadOnly = FalseMe.txtMonto.ReadOnly = TrueMe.txtCliente.Focus()
End Sub
frmEjercicio73 (Evento FormClosing)
Dim Resp As MsgBoxResultResp = MsgBox("Desea Salir de la Aplicacion", MsgBoxStyle.YesNo, "Banco ElAmigo")If Resp = MsgBoxResult.No Then
e.Cancel = TrueEnd If
frmEjercicio73 (Evento Load)
Call Limpia()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 252/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo14
btnOk (Evento Click)
Me.txtCliente.ReadOnly = TrueMe.txtMonto.ReadOnly = FalseMe.btnOk.Visible = False
Me.btnDeposito.Enabled = TrueMe.btnRetiro.Enabled = TrueREM Utilizamos un InputBox para ingresar el saldo inicialsaldo = Val(InputBox("Monto de Apertura " + Chr(13) + Chr(13) + "LaCuenta se Apertura con cualquier monto ", "Nueva Cuenta", 350))Me.lblSaldo.Text = CStr(saldo)td = saldocd = 1Me.lblCantDep.Text = CStr(cd)Me.lblTotalDep.Text = CStr(td)Me.txtMonto.Focus()
btnDeposito (Evento Click)
Dim deposito As Singledeposito = CSng(Me.txtMonto.Text)td = td + depositocd = cd + 1Me.lblCantDep.Text = CStr(cd)Me.lblTotalDep.Text = CStr(td)saldo = CSng(Me.lblSaldo.Text)Me.lblSaldo.Text = CStr(saldo + deposito)Me.txtMonto.SelectionStart = 0Me.txtMonto.SelectionLength = Len(Me.txtMonto.Text)Me.txtMonto.Focus()
btnRetiro (Evento Click)
Dim retiro As Singleretiro = CSng(Me.txtMonto.Text)saldo = CSng(Me.lblSaldo.Text)If saldo < retiro Then
MsgBox("La cantidad que desea retirar excede su saldo actual",MsgBoxStyle.Critical, "Disculpe")Me.txtMonto.Text = ""Me.txtMonto.Focus()
Else
tr = tr - retirocr = cr + 1Me.lblCantRet.Text = CStr(cr)Me.lblTotalRet.Text = CStr(tr)Me.lblSaldo.Text = CStr(saldo - retiro)
End IfMe.txtMonto.SelectionStart = 0Me.txtMonto.SelectionLength = Len(Me.txtMonto.Text)Me.txtMonto.Focus()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 253/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo15
btnNuevo (Evento Click)
Call Limpia()
btnSalir (Evento Click)
Me.Close()
FORMAT
Esta función format nos permite darle un formato a un dato, ya sea unafecha, número, hora, etc. Sus formatos mas utilizados son:
Formato devuelto Formato
152,125.32 ###,##0.0004 - May - 2006 dd – MMM - yyyy04/05/06 dd/mm/yyJueves, May 04 2006 dddd, MMM d yyyy02:49:35 pm hh:mm:ss tt14:49:35 HH:mm:ss
Su sintaxis seria la siguiente:
Format(Variable,” Formato” )
Ejemplo:
Dim Numero As Double Numero = 100000/3Me.Label1.Text = Format(Numero, "###,##0.00")
Y lo que nos mostraría el Label en la pantalla seria lo siguiente
33,333.33
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 254/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo16
txtProducto
txtPrecAn
txtPrecAct
lblAlzaS
lblAlzaP
btnNuevo btnSalirbtnCalcular
74. Esta aplicación nos permite ingresar el nombre del producto, precio anterior yprecio actual, luego nos permite calcular el alza en soles y el alza enporcentajes. El alza en porcentaje es igual al alza en soles por 100 entre precioanterior.
Funcion Limpia
Sub Limpia()Me.txtPrecAct.Text = ""Me.txtPrecAnt.Text = ""Me.txtProducto.Text = ""Me.lblAlzaP.Text = ""Me.lblAlzaS.Text = ""Me.txtProducto.Focus()
End Sub
frmEjercicio74 (Evento FormClosing)
Dim Resp As MsgBoxResultResp = MsgBox("Desea Salir de la Aplicacion", MsgBoxStyle.YesNo,"Cuidado")If Resp = MsgBoxResult.No Then
e.Cancel = TrueEnd If
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 255/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo17
frmEjercicio74 (Evento Load)
Call Limpia()
btnCalcular (Evento Click)
Me.lblAlzaS.Text = CStr(Val(Me.txtPrecAct.Text) - Val(Me.txtPrecAnt.Text))Me.lblAlzaS.Text = Format(Val(Me.lblAlzaS.Text), "###,##0.00")Me.lblAlzaP.Text = CStr(Val(Me.lblAlzaS.Text) * 100 /Val(Me.txtPrecAnt.Text))Me.lblAlzaP.Text = Format(Val(Me.lblAlzaP.Text), "###,##0.00")Me.lblAlzaP.Text = Me.lblAlzaP.Text + " %"
btnNuevo (Evento Click)
Call Limpia()
btnSalir (Evento Click)
Me.Close()
75. Esta aplicación nos permite ingresar el nombre del profesor, el número de horasnormales que ha trabajado y el número de horas extras, luego se debe calcularel total que se le debe pagar por el número de horas normales, el total porhoras extras y el total a pagar. Si trabajo mas de 48 horas su pago por hora esde S/. 8.00 soles y S/. 7.00 en caso contrario. Por hora extra S/. 9.50.
txtHT
txtHE
lblPH
lblTHN
lblTHE
lblTP
btnCalcular
btnNuevo
btnSalir
txtNomProf
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 256/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo18
Funcion Limpia
Sub Limpia()Me.txtHE.Text = ""
Me.txtHT.Text = ""Me.txtNomProf.Text = ""Me.lblPH.Text = ""Me.lblTHE.Text = ""Me.lblTHN.Text = ""Me.lblTP.Text = ""Me.txtNomProf.Focus()
End Sub
frmEjercicio75 (Evento Load)
Call Limpia()
btnCalcular (Evento Click)
Dim PHN As SinglePHN = IIf(Val(Me.txtHT.Text) > 48, 8.0, 7.0)Me.lblPH.Text = Format(PHN, "##0.00")Me.lblTHE.Text = Format(Val(Me.txtHE.Text) * 9.5, "###,##0.00")Me.lblTHN.Text = Format(Val(Me.txtHT.Text) * PHN, "###,##0.00")Me.lblTP.Text = Format(Val(Me.lblTHE.Text) + Val(Me.lblTHN.Text),"###,##0.00")
btnNuevo (Evento Click)
Call Limpia()
btnSalir (Evento Click)
Me.Close()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 257/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo19
txtPrecUnit
txtCantComp
lblSubTotal
lblDescP
lblDescS
lblTotal
btnCalcular
btnNuevo
btnSalir
txtProducto
SELECT - CASE
Como ya hemos visto antes esta instrucción de selección, en las consolas deaplicación, ahora veremos en las aplicaciones de ventanas, que por cierto nocambian casi nada, y utilizaremos las diversas sintaxis que existen, junto confunciones, clases etc
76. En esta aplicación se debe de ingresar el nombre del un producto, su preciounitario y la cantidad comprada de dicho producto, luego se debe calcular yvisualizar el sub Total, el descuento en porcentaje, el descuento en soles y eltotal a pagar. El descuento en porcentaje se depende del sub total, de acuerdoa la siguiente tabla.
SUBTOTAl DESCUENTO %100 ó 101 2 %De 101.1 a 200 4 %De 200.1 a 500 6%A partir de 500 10 %
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 258/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo20
Funcion Limpia
Sub Limpia()
Me.txtCantComp.Text = ""Me.txtPrecUnit.Text = ""Me.txtProducto.Text = ""Me.lblDescP.Text = ""Me.lblDescS.Text = ""Me.lblSubTotal.Text = ""Me.lblTotal.Text = ""Me.txtProducto.Focus()
End Sub
frmEjercicio76 (Evento Load)
Call Limpia()
btnCalcular (Evento Click)
Dim Desc As IntegerMe.lblSubTotal.Text = CStr(Val(Me.txtPrecUnit.Text) *Val(Me.txtCantComp.Text))Select Case Val(Me.lblSubTotal.Text)
Case 100, 101 : Desc = 2Case 101.1 To 200 : Desc = 4Case 200.1 To 500 : Desc = 6Case Is > 500 : Desc = 10
Case Else : Desc = 0End SelectMe.lblDescP.Text = CStr(Desc)Me.lblDescS.Text = Format(Val(Me.lblSubTotal.Text) * Desc / 100,"###,##0.00")Me.lblTotal.Text = Format(Val(Me.lblSubTotal.Text) - Val(Me.lblDescS.Text),"###,##0.00")Me.lblSubTotal.Text = Format(Val(Me.lblSubTotal.Text), "###,##0.00")
btnNuevo (Evento Click)
Call Limpia()
btnSalir (Evento Click)
Me.Close()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 259/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo21
txtCurso
txtN1
txtN2
lblPromedio
lblObservacion
lblPuntos
lblCualidad
btnOtro
btnObtener
btnSalir
txtAlumno
77. En este programa se debe de ingresar el nombre del alumno, su nota número 1y su nota número 2, al hacer clic en el botón obtener promedio se debe devisualizar: el promedio del alumno, una observación que indica si el alumno estaaprobado o desaprobado, la cantidad de puntos que le faltan para aprobar, si
esta desaprobado o los puntos para llegar a veinte en caso que este aprobado.También se debe visualizar la nota cualitativa del alumno de acuerdo alpromedio. Se debe de controlar que solo se ingresen notas entre 0 y 20.
SUBTOTAl DESCUENTO %
Entre 0 y 5 PésimoEntre 5.1 y 10.4 MaloEntre 10.5 y 14.4 RegularEntre 14.5 y 17.4 BuenoEntre 17.5 y 20 Excelente
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 260/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo22
Función Limpiar Esta función limpia los controles TextBox.
Sub Limpiar()
Me.txtAlumno.Text = ""Me.txtCurso.Text = ""Me.txtN1.Text = ""Me.txtN2.Text = ""Me.lblCualidad.Text = ""Me.lblObservación.Text = ""Me.lblPromedio.Text = ""Me.lblPuntos.Text = ""Me.txtAlumno.Focus()
End Sub
frmEjercicio77 (Evento Load)
Limpiar()
txtN1 (Evento GotFocus)
Me.txtN1.SelectionStart = 0Me.txtN1.SelectionLength = Len(Me.txtN1.Text)
txtN2 (Evento GotFocus)
Me.txtN2.SelectionStart = 0
Me.txtN2.SelectionLength = Len(Me.txtN2.Text)
txtN1 (Evento LostFocus)
If Not IsNumeric(Me.txtN1.Text) Or Val(Me.txtN1.Text) < 0 Or Val(Me.txtN1.Text) > 20 Then
MsgBox("Solo Debe Ingresar Notas Entre 0 y 20",MsgBoxStyle.Information, "Cuidado")Me.txtN1.Focus()
End If
txtN2 (Evento LostFocus) If Not IsNumeric(Me.txtN2.Text) Or Val(Me.txtN2.Text) < 0 Or Val(Me.txtN2.Text) > 20 Then
MsgBox("Solo Debe Ingresar Notas Entre 0 y 20",MsgBoxStyle.Information, "Cuidado")Me.txtN2.Focus()
End If
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 261/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo23
btnObtener (Evento Click)
Me.lblPromedio.Text = CStr((Val(Me.txtN1.Text) + Val(Me.txtN2.Text)) / 2)If Val(Me.lblPromedio.Text) >= 10.5 Then
Me.lblObservación.Text = "Aprobado(a)"
Me.lblPuntos.Text = "Le faltan " + CStr(20 - Val(Me.lblPromedio.Text)) + "puntos para tener 20"Else
Me.lblObservación.Text = "Desaprobado(a)"Me.lblPuntos.Text = "Le faltan " + CStr(11 - Val(Me.lblPromedio.Text)) + "puntos para aprobar"
End IfSelect Case Val(Me.lblPromedio.Text)
Case 0 To 5 : Me.lblCualidad.Text = "Pésimo"Case 5.1 To 10.4 : Me.lblCualidad.Text = "Malo"Case 10.5 To 14.4 : Me.lblCualidad.Text = "Regular"Case 14.5 To 17.4 : Me.lblCualidad.Text = "Bueno"Case 17.5 To 20 : Me.lblCualidad.Text = "Excelente"
End Select
btnOtro (Evento Click)
Limpiar()
btnSalir (Evento Click)
Me.Close()
78. En esta aplicación se debe de ingresar el nombre y el año de nacimiento de unapersona y se tiene que visualizar: su edad, una observación que indica si esmayor o menor de edad, Si es menor de edad se debe mostrar cuantos años lefaltan para se mayor de edad y si es mayor de edad se debe mostrar hacecuantos años es mayor de edad. También se debe mostrar la etapa de lapersona teniendo en cuenta lo siguiente.
Edad Etapa
0 y 12 Niño13 y 17 Adolescente18 y 30 Joven31 y 70 Adulto70 a mas Anciano
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 262/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo24
txtNombre
txtAñoNac
lblEdad
lblObservacion
lblAños
lblEtapa
btnNuevo
btnSalir
btnResultados
Funcion Limpia
Sub Limpia()Me.txtAñoNac.Text = ""
Me.txtNombre.Text = ""Me.lblAños.Text = ""Me.lblEdad.Text = ""Me.lblEtapa.Text = ""Me.lblObservacion.Text = ""Me.txtNombre.Focus()
End Sub
frmEjercicio78 (Evento Load)
Call Limpia()
btnNuevo (Evento Click)
Call Limpia()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 263/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo25
btnResultados (Evento Click)
If Not IsNumeric(Me.txtAñoNac.Text) ThenMsgBox("Ingrese un año correcto", MsgBoxStyle.Information, "Error")Me.txtAñoNac.SelectionStart = 0
Me.txtAñoNac.SelectionLength = Len(Me.txtAñoNac.Text)Me.txtAñoNac.Focus()Exit Sub
End IfMe.lblEdad.Text = CStr(Val(Year(Now())) - Val(Me.txtAñoNac.Text))If Val(Me.lblEdad.Text) < 18 Then
Me.lblObservacion.Text = "Es Menor de Edad"Me.lblAños.Text = "Le Falta " + CStr(18 - Val(Me.lblEdad.Text)) + " añospara ser mayor de edad"
ElseMe.lblObservacion.Text = "Es Mayor de Edad"Me.lblAños.Text = "Es mayor de edad " + CStr(Val(Me.lblEdad.Text) - 18)+ " años"
End IfSelect Case Val(Me.lblEdad.Text)Case 0 To 12 : Me.lblEtapa.Text = "Niño"Case 13 To 17 : Me.lblEtapa.Text = "Adolescente"Case 18 To 30 : Me.lblEtapa.Text = "Joven"Case 31 To 70 : Me.lblEtapa.Text = "Adulto"Case Is > 70 : Me.lblEtapa.Text = "Anciano"
End Select
btnSalir (Evento Click)
Me.Close()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 264/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo26
lblLongitud
lblPrimero
lblUltimo
lblSegSex
lblPosA
btnMuestra
btnNuevo
btnSalir
lblMinusculas
lblMayusculas
lblSoloPrim
txtFrase
79. Esta aplicación es un ejemplo del uso de las funciones de cadena que ya hemosvisto el concepto.
Funcion Limpia
Sub Limpia()Me.txtFrase.Text = ""Me.lblLongitud.Text = ""Me.lblMayusculas.Text = ""Me.lblMinusculas.Text = ""Me.lblPosA.Text = ""Me.lblPrimero.Text = ""Me.lblSegSex.Text = ""Me.lblSoloPrim.Text = ""
Me.lblUltimo.Text = ""Me.txtFrase.Focus()
End Sub
frmEjercicio79 (Evento Load)
Call Limpia()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 265/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo27
btnNuevo (Evento Click)
Call Limpia()
btnMuestra (Evento Click)
Me.lblLongitud.Text = Len(Trim(Me.txtFrase.Text))Me.lblPrimero.Text = Microsoft.VisualBasic.Left(Trim(Me.txtFrase.Text), 1)Me.lblUltimo.Text = Microsoft.VisualBasic.Right(Trim(Me.txtFrase.Text), 1)Me.lblSegSex.Text = Microsoft.VisualBasic.Mid(Trim(Me.txtFrase.Text), 2, 5)Me.lblPosA.Text = InStr(Me.txtFrase.Text, "a")Me.lblMinusculas.Text = LCase(Me.txtFrase.Text)Me.lblMayusculas.Text = UCase(Me.txtFrase.Text)Me.lblSoloPrim.Text = StrConv(Me.txtFrase.Text, 3)
btnSalir (Evento Click)
Me.Close()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 266/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo28
txtFecNac
lblDia
lblMes
lblAño
lblDiaSem
btnOk
btnSalir
lblFecIng
lblFecAct
txtNombre
UTILIZANDO FUNCIONES DE FECHA Y PUBLICAS Y TAMBIEN
MODULOS, CLASES Y NAMESPACE
Funciones Públicas en un Módulo
80. En esta aplicación se debe de ingresar el nombre y la fecha de nacimiento deuna persona y se debe de visualizar por separado: el día, mes, año, número deldía de la semana, la fecha en letras y la fecha y hora actual. Utilizando dosfunciones publicas codificadas en un modulo.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 267/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo29
Primero agregaremos un modulo llamado mdFecha y codificaremos lo siguiente:
Module mdFecha
Public Function Dia(ByVal ndia As Integer) As StringDia = Choose(ndia, "Domingo", "Lunes", "Martes", "Miercoles", "Jueves","Viernes", "Sabado")
End Function
Public Function Mes(ByVal nmes As Integer) As StringSelect Case nmes
Case 1 : Mes = "Enero"Case 2 : Mes = "Febrero"Case 3 : Mes = "Marzo"Case 4 : Mes = "Abril"Case 5 : Mes = "Mayo"Case 6 : Mes = "Junio"Case 7 : Mes = "Julio"Case 8 : Mes = "Agosto"Case 9 : Mes = "Setiembre"Case 10 : Mes = "Octubre"Case 11 : Mes = "Noviembre"Case 12 : Mes = "Diciembre"
End SelectEnd Function
End Module
La función día nos hallara el día de la semana según el número de día
enviado a esta función, igualmente la función mes.
btnOk (Evento Click)
If Not IsDate(Me.txtFecNac.Text) ThenMsgBox("Ingrese una Fecha Correcta", MsgBoxStyle.Information, "Error")Me.txtFecNac.SelectionStart = 0Me.txtFecNac.SelectionLength = Len(Me.txtFecNac.Text)Me.txtFecNac.Focus()Exit Sub
End If
Me.lblAño.Text = Year(CDate(Me.txtFecNac.Text))Me.lblDia.Text = Microsoft.VisualBasic.Day(CDate(Me.txtFecNac.Text))Me.lblDiaSem.Text =Microsoft.VisualBasic.Weekday(CDate(Me.txtFecNac.Text))Me.lblMes.Text = Microsoft.VisualBasic.Month(CDate(Me.txtFecNac.Text))Me.lblFecIng.Text = Dia(Val(Me.lblDiaSem.Text)) + ", " + Me.lblDia.Text + "de " + Mes(Val(Me.lblMes.Text)) + " de " + Me.lblAño.Text
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 268/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo30
txtFecNac
lblDia
lblMes
lblAño
lblDiaSem
btnOk
btnSalir
lblFecIng
lblFecAct
txtNombre
btnSalir (Evento Click)
Me.Close()
frmEjercicio80 (Evento Load)
Me.lblFecAct.Text = "Hoy es " + CStr(Now)
Clases y NameSpace en un Módulo
81. En esta aplicación se debe de ingresar la fecha de nacimiento de una persona yse debe de visualizar por separado: la estación de la fecha en que nació, susigno zodiacal la semana del año en que nació, los meses transcurridos desde elaño que nació y la fecha actual después de tres semanas. Para esto crearemos
un NameSpace que contendrá la clase y las funciones para hallar la estación y elsigno zodiacal.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 269/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo31
Primero agregaremos un modulo llamado Informacion y codificaremos lo siguiente:Primero borramos todo el código que aparece y cambiamos por lo siguiente:
Namespace InformacionPublic Class FecNac
Public Function Estacion(ByVal dia As Integer, ByVal mes As Integer) As String
If (dia >= 23 And mes = 12) Or mes = 1 Or mes = 2 Or (dia <= 22 And mes = 3) Then Estacion = "Verano"If (dia >= 23 And mes = 3) Or mes = 4 Or mes = 5 Or (dia <= 22 And mes = 6) Then Estacion = "Otoño"If (dia >= 23 And mes = 6) Or mes = 7 Or mes = 8 Or (dia <= 22 And mes = 9) Then Estacion = "Invierno"If (dia >= 23 And mes = 9) Or mes = 10 Or mes = 11 Or (dia <= 22 And mes = 12) Then Estacion = "Primavera"
End Function
Public Function SignoZodiacal(ByVal dia As Integer, ByVal mes As Integer) As String
Select Case mesCase 1
If dia < 21 ThenSignoZodiacal = "Capricornio"
ElseSignoZodiacal = "Acuario"
End IfCase 2
If dia < 20 Then
SignoZodiacal = "Acuario"ElseSignoZodiacal = "Piscis"
End IfCase 3
If dia < 21 ThenSignoZodiacal = "Piscis"
ElseSignoZodiacal = "Aries"
End IfCase 4
If dia < 21 ThenSignoZodiacal = "Aries"
ElseSignoZodiacal = "Tauro"End If
Case 5If dia < 21 Then
SignoZodiacal = "Tauro"Else
SignoZodiacal = "Geminis"End If
Case 6
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 270/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo32
If dia < 22 ThenSignoZodiacal = "Geminis"
ElseSignoZodiacal = "Cancer"
End IfCase 7
If dia < 23 ThenSignoZodiacal = "Cancer"Else
SignoZodiacal = "Leo"End If
Case 8If dia < 23 Then
SignoZodiacal = "Leo"Else
SignoZodiacal = "Virgo"End If
Case 9If dia < 23 Then
SignoZodiacal = "Virgo"Else
SignoZodiacal = "Libra"End If
Case 10If dia < 23 Then
SignoZodiacal = "Libra"Else
SignoZodiacal = "Escorpio"End If
Case 11If dia < 22 Then
SignoZodiacal = "Escorpio"Else
SignoZodiacal = "Sagitario"End IfCase 12
If dia < 22 ThenSignoZodiacal = "Sagitario"
ElseSignoZodiacal = "Capricornio"
End IfEnd Select
End Function
End Class
End Namespace
La función Estacion nos hallara la estación del año en que nació, igualmentela función SignoZodiacal que nos hallara el signo zodiacal correspondiente.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 271/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo33
Al principio de la ventana de codificación del formulario, escribiremos elsiguiente código que nos permite importar el espacio de nombre que hemos creado.Para que lo importamos?, lo importamos para poder utilizar sus clases, funcionesque hemos creado.
Imports Ejercicio81.Informacion
Función Limpia
Sub Limpia()Me.txtFecNac.Text = ""Me.lblEstacion.Text = ""Me.lblFecAct.Text = ""Me.lblMesesTrans.Text = ""Me.lblNumSem.Text = ""Me.lblSigno.Text = ""Me.txtFecNac.Focus()
End Sub
frmEjercicio81 (Evento Load)
Call Limpia()Me.Text = "La Fecha Actual es: " + CStr(Format(Now, "dd / MMMM / yyyy"))
btnOk (Evento Click)
Dim ndia, nmes As IntegerDim Estacion, Signo As New Informacion.FecNacIf Not IsDate(Me.txtFecNac.Text) Then
MsgBox("Ingrese una Fecha Correcta", MsgBoxStyle.Information, "Error")Exit Sub
End Ifndia = Microsoft.VisualBasic.Day(CDate(Me.txtFecNac.Text))nmes = Microsoft.VisualBasic.Month(CDate(Me.txtFecNac.Text))Me.lblEstacion.Text = Estacion.Estacion(ndia, nmes)Me.lblSigno.Text = Signo.SignoZodiacal(ndia, nmes)Me.lblNumSem.Text =Microsoft.VisualBasic.DatePart(DateInterval.WeekOfYear,CDate(Me.txtFecNac.Text))Me.lblMesesTrans.Text = Microsoft.VisualBasic.DateDiff(DateInterval.Month,
CDate(Me.txtFecNac.Text), Now)Me.lblFecAct.Text = Microsoft.VisualBasic.DateAdd(DateInterval.WeekOfYear,3, Now)
btnSalir (Evento Click)
Me.Close()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 272/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo34
82. Esta aplicación nos muestra un ejemplo de la utilidad de las funciones de tiponuméricas.
Función Limpia
Sub Limpia()Me.txtNumero.Text = ""Me.lblDecimal.Text = ""Me.lblEntero.Text = ""Me.lblRaiz.Text = ""Me.lblSigno.Text = ""Me.lblValAbs.Text = ""Me.lblValHex.Text = ""Me.lblValOct.Text = ""Me.txtNumero.Focus()
End Sub
frmEjercicio82 (Evento Load)
Call Limpia()
txtNumero
lblEntero
lblValHex
lblDecimal
lblValOct
lblValAbs
lblRaiz
lblSigno
btnMuestra
btnNuevo
btnSalir
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 273/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo35
btnOk (Evento Click)
If Not IsNumeric(Me.txtNumero.Text) ThenMsgBox("Ingrese un Número", MsgBoxStyle.Information, "Error")Me.txtNumero.Text = ""
Me.txtNumero.Focus()Exit Sub
End IfMe.lblEntero.Text = CStr(CInt(Val(Me.txtNumero.Text)))Me.lblDecimal.Text = CStr(Val(Me.txtNumero.Text) - Val(Me.lblEntero.Text))Me.lblValAbs.Text = CStr(Math.Abs(Val(Me.txtNumero.Text)))If Val(Me.txtNumero.Text) > 0 Then
Me.lblRaiz.Text = CStr(Math.Sqrt(Val(Me.txtNumero.Text)))Else
Me.lblRaiz.Text = "No Existe"End IfMe.lblSigno.Text = CStr(Math.Sign(Val(Me.txtNumero.Text)))Me.lblValOct.Text = CStr(Microsoft.VisualBasic.Oct(Val(Me.txtNumero.Text)))
Me.lblValHex.Text = CStr(Microsoft.VisualBasic.Hex(Val(Me.txtNumero.Text)))
btnSalir (Evento Click)
Me.Close()
btnNuevo (Evento Click)
Call Limpia()
FUNCION SHELL
La función Shell se utiliza para ejecutar programas (archivos ejecutablescomo *.exe, *.com etc.) desde el visual Basic. Su sintaxis es la siguiente:
Shell("Ruta y Nombre del programa", Estilo de Presentación)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 274/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo36
btnCalc
btnWord
btnExcel
btnExplorador
btnDOS
btnFinalizar
83. Esta aplicación nos permitirá ejecutar algunos programas desde el visual Basic.
btnCacl (Evento Click)
Shell("C:\Windows\System32\calc.exe", AppWinStyle.NormalFocus)
btnWord (Evento Click)
Shell("C:\Archivos de programa\Microsoft Office\OFFICE11\winword.exe",AppWinStyle.MaximizedFocus)
btnExcel (Evento Click)
Shell("C:\Archivos de programa\Microsoft Office\OFFICE11\excel.exe",AppWinStyle.MaximizedFocus)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 275/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo37
btnExplorador (Evento Click)
Shell("C:\WINDOWS\explorer.exe", AppWinStyle.MaximizedFocus)
btnDOS (Evento Click)
Shell("C:\WINDOWS\system32\cmd.exe", AppWinStyle.NormalFocus)
btnFinalizar (Evento Click)
If MsgBox("¿Deseas salir de la aplicación?", MsgBoxStyle.YesNo, "Uso deShell") = MsgBoxResult.Yes Then Me.Close()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 276/323
Lenguaje de Programación – Capitulo XI
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo38
Bueno señores con esto acaba la Séptima entrega de este manual, les pidodisculpas por la demora, pero estaba con trabajo estos dos últimos meses, aquí lesdejo o mejor dicho les envío los programas elaborados hasta ahora y en la próximaentrega realizaremos lo siguiente:
! Arrays! Procedimientos Cíclicos! Y mejoraremos el aspecto del formulario con métodos gráficos
Bueno conmigo será hasta la próxima entrega.
Joel Martin Chuco [email protected]
Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú
" Cuenta en Soles:
067-3008573552
" Cuenta en Dólares:
067-3008573560
www.interbank.com.pe
Este Manual Solo lo Puedes Descargar por la Página Oficial.
www.lawebdelprogramador.com
Lima, 04 de mayo de 2006
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 277/323
Capitulo XII
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 278/323
INDICE
CAPITULO XII
Arreglos 01
Ejercicio 84 01
Ejercicio 85 02
Ejercicio 86 06
GDI 11
Los Gráficos GDI 11
Ejercicio 87 12
Control PictureBox 15
Ejercicio 88 17
Control ListBox y ComboBox 19
Ejemplo 19
Ejercicio 89 23
Ejercicio 90 25
Despedida 46
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 279/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo1
ARREGLOS
Como hemos visto en el capitulo VI de la entrega 4, hay dos tipos dearreglos, que son los unidimensionales y los multidimensional, como lo sabemos,estos arreglos nos permiten almacenar una cierta información, es como si fueranuestra base de datos, ahora es aquí donde los que no me entendieron en laentrega 4 cuando hable de arreglos, lo puedan entender aquí con un ejemplo,primero veremos un ejercicio de un arreglo unidimensional, y de ahí unobidimensional y al ultimo de esta entrega veremos un ejercicio sobre una pro formade insumos de computo, hecho con arreglos, funciones y procedimientos.
84. Esta aplicación nos permite ingresar un número del 1 al 7 y visualizar el nombredel día de la semana.
Para esta aplicación los nombres de los controles son los siguientes:
! El TextBox1 se llamara txtNumero
! El Label2 se llamara lblNombDia
! El Button1 se llamara btnOk
! El Button2 se llamara btnSalir
Si se preguntan por que no puse los nombres de cada control con una figura dellamada, lo que pasa, es que uno se tiene que acostumbra a ponerle nombre a loscontroles con su prefijo y que el nombre que le pongan tiene que ir con referencia alo que va a capturar, hacer, mostrar etc.
Declaramos variables a Nivel del Formulario
Dim Dias(6) As String
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 280/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo2
frmAplicacion84 (Evento Load)
Dias(0) = "Lunes"Dias(1) = "Martes"
Dias(2) = "Miercoles"Dias(3) = "Jueves"Dias(4) = "Viernes"Dias(5) = "Sábado"Dias(6) = "Domingo"
btnOk (Evento Click)
Dim N As IntegerN = Val(Me.txtNumero.Text)If N >= 1 And N <= 7 Then
Me.lblNombDia.Text = "El número ingresado representa el día " +CStr(Dias(N - 1))Else
MsgBox("Solo números del 1 al 7", MsgBoxStyle.Information, "Por Favor")Me.txtNumero.Text = ""Me.txtNumero.Focus()
End If
btnSalir (Evento Click)
Me.Close()
85. Esta aplicación llena los valores al azar entre 1 y 80 en un array de 4 x 4, luegose pueden ordenar en forma ascendente y restaurar los valores iniciales.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 281/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo3
Para este caso los controles se llamaran:
! Los Buttons se llamaran de acuerdo al texto que llevan, anteponiéndose su
prefijo, ejemplo: el botón Salir se llamara btnSalir.! En el caso de las cajas de texto, aunque le pueden colocar unos Labels, el
nombre de cada control será así, teniendo en cuenta que la tabla representaa una matriz y al dibujo de los controles.
txtArray00 txtArray01 txtArray02 txtArray03
txtArray10 txtArray11 txtArray12 txtArray13
txtArray20 txtArray21 txtArray22 txtArray23
txtArray30 txtArray31 txtArray32 txtArray33
Una vez diseñada la interfaz y asignada con sus nombres respectivamente,procederemos a codificar.
Declaramos variables a Nivel del Formulario
Dim Arreglo(3, 3), Restaurar(3, 3) As IntegerDim Llenar As Boolean
Crearemos un procedimiento llamado LlenarArray , que nos permitiráalmacenar el array con valores del 1 al 80.
Sub LlenarArray()Dim J, K As IntegerFor J = 0 To 3
For K = 0 To 3Arreglo(J, K) = CInt((80 - 1 + 1) * Rnd() + 1)
NextNext
End Sub
Crearemos un procedimiento llamado LlenarControles , que nos permitiráalmacenar los valores del array en las cajas de texto.
Sub LlenarControles()Me.txtArray00.Text = Arreglo(0, 0)Me.txtArray01.Text = Arreglo(0, 1)Me.txtArray02.Text = Arreglo(0, 2)Me.txtArray03.Text = Arreglo(0, 3)Me.txtArray10.Text = Arreglo(1, 0)Me.txtArray11.Text = Arreglo(1, 1)Me.txtArray12.Text = Arreglo(1, 2)
Me.txtArray13.Text = Arreglo(1, 3)Me.txtArray20.Text = Arreglo(2, 0)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 282/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo4
Me.txtArray21.Text = Arreglo(2, 1)Me.txtArray22.Text = Arreglo(2, 2)Me.txtArray23.Text = Arreglo(2, 3)Me.txtArray30.Text = Arreglo(3, 0)Me.txtArray31.Text = Arreglo(3, 1)
Me.txtArray32.Text = Arreglo(3, 2)Me.txtArray33.Text = Arreglo(3, 3)End Sub
btnNuevo (Evento Click)
Me.txtArray00.Text = ""Me.txtArray01.Text = ""Me.txtArray02.Text = ""Me.txtArray03.Text = ""Me.txtArray10.Text = ""
Me.txtArray11.Text = ""Me.txtArray12.Text = ""Me.txtArray13.Text = ""Me.txtArray20.Text = ""Me.txtArray21.Text = ""Me.txtArray22.Text = ""Me.txtArray23.Text = ""Me.txtArray30.Text = ""Me.txtArray31.Text = ""Me.txtArray32.Text = ""Me.txtArray33.Text = ""Me.txtArray00.Focus()Llenar = False
btnLlenar (Evento Click)
Call LlenarArray()Call LlenarControles()Me.btnOrdenar.Enabled = TrueMe.btnRestaurar.Enabled = FalseLlenar = True
btnOrdenar (Evento Click)
Dim J, K, X, May As IntegerDim Temp(15) As IntegerX = 0REM Guardando los valores del array Arreglo en un array RestaurarREM Almacendo los valores del array Arreglo en un array TempFor J = 0 To 3
For K = 0 To 3Restaurar(J, K) = Arreglo(J, K)Temp(X) = Arreglo(J, K)X = X + 1
Next
NextREM Ordenando los valores del array Temp mediante el método
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 283/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo5
REM de la burbujaFor J = 0 To 15
For K = 0 To 15If K < 15 Then
If Temp(K) > Temp(K + 1) Then
May = Temp(K)Temp(K) = Temp(K + 1)Temp(K + 1) = May
End IfEnd If
NextNextX = 0REM Asignando los valores del array Temp ordenados en el array ArregloFor J = 0 To 3
For K = 0 To 3Arreglo(J, K) = Temp(X)
X = X + 1NextNextCall LlenarControles()Me.btnRestaurar.Enabled = True
btnRestaurar (Evento Click)
Dim J, K As IntegerFor J = 0 To 3
For K = 0 To 3Arreglo(J, K) = Restaurar(J, K)
NextNextCall LlenarControles()
btnSalir (Evento Click)
Me.Close()
Bueno con estos dos ejercicios, creo que ya se les esta quedando en claro lo
de los arrays no?, wueno si no es así, haremos un ultimo ejercicio de un arreglobidimensional, aunque otros seguro estarán diciendo, por que no toca el tema dematriz de matrices?, wueno no lo hago para que no se confundan, además laprogramación a la que yo estoy haciendo es a la programación comercial, creo quees en donde hay mas trabajo que hacer no?, y además para que complicarnos lavida, si tenemos diseñadores de base de datos, como lo es el MSACCESS o elSQLSERVER, con eso diseñadores, no necesitaremos mucho de arreglos, perosiempre es bueno aprender aunque sea los mas principales.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 284/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo6
86. Esta aplicación nos permite manejar elementos de un Array de 4 x 4. Estoselementos son valores numéricos de tipo entero con los cuales se realizaranprocesos como Suma de Filas, de Columnas y Diagonales.
Para los nombres de los controles, ósea cajas de texto y etiquetas, será segúnel cuadro.
txtArreglo00 txtArreglo01 txtArreglo02 txtArreglo03 lblF1
txtArreglo10 txtArreglo11 txtArreglo12 txtArreglo13 lblF2
txtArreglo20 txtArreglo21 txtArreglo22 txtArreglo23 lblF3
txtArreglo30 txtArreglo31 txtArreglo32 txtArreglo33 lblF4
lblD2 lblC1 lblC2 lblC3 lblC4 lblD1
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 285/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo7
! Para el nombre de los botones será el siguiente:
Text Name
Limpiar el Array btnLimpArrayLimpiar los Resultados btnLimpResultSuma las Columnas btnSumaColSuma las Filas btnSumaFilaLlenar el Array btnLlenarArrayColumna 1 btnCol1Columna 2 btnCol2Columna 3 btnCol3
Columna 4 btnCol4Fila 1 btnFila1Fila 2 btnFila2Fila 3 btnFila3Fila 4 btnFila4Diagonal Nº 1 [ \ ] btnDiagonal1Diagonal Nº 2 [ / ] btnDiagonal2
Una vez diseñada la interfaz y asignada con sus nombres respectivamente,procederemos a codificar.
Declaramos variables a Nivel del Formulario
Dim Arreglo(3, 3) As IntegerDim J, K, Suma As Integer
Crearemos un procedimiento llamado LlenarArray , que nos permitiráalmacenar el array con valores del 1 al 100.
Sub LlenarArreglo()
For J = 0 To 3For K = 0 To 3Arreglo(J, K) = CInt((100 - 1 + 1) * Rnd() + 1)
NextNext
End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 286/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo8
Crearemos un procedimiento llamado LlenarControles , que nos permitiráalmacenar los valores del array en las cajas de texto.
Sub LlenarControles()Me.txtArreglo00.Text = Arreglo(0, 0)Me.txtArreglo01.Text = Arreglo(0, 1)Me.txtArreglo02.Text = Arreglo(0, 2)Me.txtArreglo03.Text = Arreglo(0, 3)Me.txtArreglo10.Text = Arreglo(1, 0)Me.txtArreglo11.Text = Arreglo(1, 1)Me.txtArreglo12.Text = Arreglo(1, 2)Me.txtArreglo13.Text = Arreglo(1, 3)Me.txtArreglo20.Text = Arreglo(2, 0)Me.txtArreglo21.Text = Arreglo(2, 1)Me.txtArreglo22.Text = Arreglo(2, 2)
Me.txtArreglo23.Text = Arreglo(2, 3)Me.txtArreglo30.Text = Arreglo(3, 0)Me.txtArreglo31.Text = Arreglo(3, 1)Me.txtArreglo32.Text = Arreglo(3, 2)Me.txtArreglo33.Text = Arreglo(3, 3)
End Sub
btnLimpArray (Evento Click)
Me.txtArreglo00.Text = ""Me.txtArreglo01.Text = ""Me.txtArreglo02.Text = ""Me.txtArreglo03.Text = ""Me.txtArreglo10.Text = ""Me.txtArreglo11.Text = ""Me.txtArreglo12.Text = ""Me.txtArreglo13.Text = ""Me.txtArreglo20.Text = ""Me.txtArreglo21.Text = ""Me.txtArreglo22.Text = ""Me.txtArreglo23.Text = ""Me.txtArreglo30.Text = ""Me.txtArreglo31.Text = ""Me.txtArreglo32.Text = ""
Me.txtArreglo33.Text = ""
btnLlenarArray (Evento Click)
Call LlenarArreglo()Call LlenarControles()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 287/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo9
btnSumaCol (Evento Click)
Dim ResSuma(3) As IntegerFor K = 0 To 3
Suma = 0For J = 0 To 3Suma = Arreglo(J, K) + Suma
NextResSuma(K) = Suma
NextMe.lblC1.Text = CStr(ResSuma(0))Me.lblC2.Text = CStr(ResSuma(1))Me.lblC3.Text = CStr(ResSuma(2))Me.lblC4.Text = CStr(ResSuma(3))
btnLimpResultr (Evento Click)
Me.lblC1.Text = ""Me.lblC2.Text = ""Me.lblC3.Text = ""Me.lblC4.Text = ""Me.lblD1.Text = ""Me.lblD2.Text = ""Me.lblF1.Text = ""Me.lblF2.Text = ""Me.lblF3.Text = ""Me.lblF4.Text = ""
btnSumaFila (Evento Click)
Dim ResSuma(3) As IntegerFor K = 0 To 3
Suma = 0For J = 0 To 3
Suma = Arreglo(K, J) + SumaNextResSuma(K) = Suma
NextMe.lblF1.Text = CStr(ResSuma(0))
Me.lblF2.Text = CStr(ResSuma(1))Me.lblF3.Text = CStr(ResSuma(2))Me.lblF4.Text = CStr(ResSuma(3))
btnCol1 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(K, 0) + SumaNextMe.lblC1.Text = CStr(Suma)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 288/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo10
btnCol2 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(K, 1) + SumaNextMe.lblC2.Text = CStr(Suma)
btnCol3 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(K, 2) + SumaNextMe.lblC3.Text = CStr(Suma)
btnCol4 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(K, 3) + SumaNextMe.lblC4.Text = CStr(Suma)
btnFila1 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(0, K) + SumaNextMe.lblF1.Text = CStr(Suma)
btnLFila2 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(1, K) + Suma
NextMe.lblF2.Text = CStr(Suma)
btnFila3 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(2, K) + SumaNextMe.lblF3.Text = CStr(Suma)
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 289/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo11
btnFila4 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(3, K) + SumaNextMe.lblF4.Text = CStr(Suma)
btnDiagonal1 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(K, K) + SumaNextMe.lblD1.Text = CStr(Suma)
btnDiagonal2 (Evento Click)
Suma = 0For K = 0 To 3
Suma = Arreglo(K, 3 - K) + SumaNextMe.lblD2.Text = CStr(Suma)
GDI
Los Gráficos GDI
El CLR (Common Language Runtime) usa una implementación avanzada dela interfaz de diseño de gráfico de Windows, denominada GDI+, que permite creargráficos, dibujar texto y manipular imágenes gráficas como si fueran objetos. Enotras palabras, el GDI nos permite crear Textos y gráficos (Líneas, cuadros,animaciones, etc.) en los formularios que estamos usando.
Para crear una imagen, lo podemos hacer mediante una variable odirectamente, si lo elaboramos mediante una variable, esta tendrá que ser de tipoGraphics. Para que me entiendan un poco mejor, haremos un ejercicio de GDI, algosencillo, ya que el objetivo de este curso ya les mencione que es el de realizaraplicaciones empresariales.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 290/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo12
87. Esta aplicación nos permite visualizar texto, figuras y una pequeña animacióncreados mediante GDI.
! Para el nombre del control Timer1 será tmrAnimacion y de los botones seráel siguiente:
Text Name
Ver Texto btnTextoVer Cuadrado btnCuadradoVer Circulo btnCirculoVer Poligono btnPoligonoVer Animacion btnAnimacionSalir btnSalir
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 291/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo13
Una vez diseñada la interfaz y asignada con sus nombres respectivamente,procederemos a codificar.
Declaramos variables a Nivel del Formulario
Dim Imagen As GraphicsDim Colores As Integer = 0
btnTexto (Evento Click)
Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.Blue, Drawing.Color.Green,Drawing2D.LinearGradientMode.Horizontal)Dim Fuente As New Font("Verdana", 30)
Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 30, 30)
btnCuadrado (Evento Click)
Dim color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.Yellow, Drawing.Color.White,Drawing2D.LinearGradientMode.Vertical)Imagen.FillRectangle(color, New Rectangle(30, 90, 100, 100))
btnCirculo (Evento Click)
Dim color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.Green, Drawing.Color.White,Drawing2D.LinearGradientMode.ForwardDiagonal)Imagen.FillEllipse(color, New Rectangle(150, 90, 100, 100))
btnPoligono (Evento Click)
Dim color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.Red, Drawing.Color.White,Drawing2D.LinearGradientMode.BackwardDiagonal)Imagen.FillPolygon(color, New PointF() {New PointF(300, 90), New
PointF(360, 90), New PointF(390, 140), New PointF(360, 190), New PointF(300, 190), New PointF(270, 140)})
btnAnimacion (Evento Click)
Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.Blue, Drawing.Color.Green,Drawing2D.LinearGradientMode.Horizontal)Dim Fuente As New Font("Verdana", 30)Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 20, 230)Me.tmrAnimacion.Enabled = True
Me.tmrAnimacion.Interval = 250
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 292/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo14
tmrAnimacion (Evento Tick)
Dim Fuente As New Font("Verdana", 30)
If Colores = 0 ThenDim Color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.AliceBlue, Drawing.Color.AntiqueWhite,Drawing2D.LinearGradientMode.Horizontal)Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 20, 230)
ElseIf Colores = 1 ThenDim Color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.Aqua, Drawing.Color.Aquamarine,Drawing2D.LinearGradientMode.Vertical)Imagen.DrawString("G D I", Fuente, Color, 200, 280)
ElseIf Colores = 2 ThenDim Color As New
Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Azure,Drawing.Color.Beige, Drawing2D.LinearGradientMode.BackwardDiagonal)Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 20, 230)
ElseIf Colores = 3 ThenDim Color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.Bisque, Drawing.Color.Black,Drawing2D.LinearGradientMode.ForwardDiagonal)Imagen.DrawString("G D I", Fuente, Color, 200, 280)
ElseIf Colores = 4 ThenDim Color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.BlanchedAlmond, Drawing.Color.Blue,Drawing2D.LinearGradientMode.Horizontal)Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 20, 230)
ElseIf Colores = 5 ThenDim Color As New Drawing2D.LinearGradientBrush(ClientRectangle,Drawing.Color.BlueViolet, Drawing.Color.Brown,Drawing2D.LinearGradientMode.Vertical)Imagen.DrawString("G D I", Fuente, Color, 200, 280)Colores = 0
End IfColores = Colores + 1
frmAplicacion87 (Evento Load)
Imagen = Me.CreateGraphics()
btnSalir (Evento Click)
Me.Close()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 293/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo15
CONTROL PICTUREBOX
Como lo he mencionado antes, este control PictureBox nos permite mostrarimágenes ya seas *.bmp, *.jpg, *.gif, *.png, etc. Las propiedades mas usadas deeste control son:
! BackColor; la mayoría de veces la usamos para ponerle un color de fondo alcontrol, el color mas usado es el transparente.
! SizeMode; nos indica como se adecua la imagen ante el control, ya seaestirarlo o mejor dicho auto ajustar, tamaña original, Zoom y centrado.
! BackgrounImageLayout; nos indica la forma en que se mostrara la imagen,ya sea en mosaico, centrado, estirado o Zoom.
! Image; aquí establecemos la imagen a mostrar en el tiempo de ejecución
del programa.
Como ya saben, en este control también podemos mostrar imágenes en tiempode ejecución, hay dos formas de hacerlo, ya sea mediante un array de imágenes omediante la ruta de la imagen, así que veremos las dos formas.
! Mediante la dirección del archivo
PictureBox.Image = Image.FromFile(Direccion)
! Mediante array de imagines (para hacerlo de esta forma, primero tendránque ingresar las imágenes al Resources, por ejemplo: nos ubicamos en lapropiedad image, como se muestra en la figura.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 294/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo16
Una vez ubicado en la propiedad image, daremos clic en el botón y se abrirála siguiente ventana, donde daremos clic en Import e importaremos (añadiremos)las imágenes que vamos a usar, tal como se muestra la imagen.
Una vez añadidas las imágenes daremos clic en Ok de la ventana y despuésharemos el siguiente código:
REM Declaramos un array de una dimensión y de un solo item llamado Luna de TipoREM Image y luego le asignaremos un valor al array de imágenes, en otrasREM palabras, en el índice 0 del array Luna, le asignaremos la imagen de MOON01REM que esta almacenada en la carpeta Resources.
Protected Lunas(0) As ImageLunas(0) = My.Resources.MOON01
REM Luego en la propiedad de Image del control, solo le asignaremos el Item 0 delREM array
Me.PictureBox.Image = Lunas(0)
Para que me entiendan bien veremos un pequeño ejemplo sobre un array deimágenes y del control PictureBox, para que lo entiendan mejor.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 295/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo17
88. Esta aplicación nos permite hallar el área de una circunferencia, mostrando unapequeña animación.
Como vemos aquí añadiremos un TextBox llamado txtRadio, que noscapturara el radio de la circunferencia, un Label llamado lblArea que nos mostrar elárea de la circunferencia hallada, un Button llamado btnSalir, que nos permitirásalir de la aplicación, un Timer llamado tmrAnimación, que nos permitirá controlarel tiempo que vamos a mostrar las imágenes, y un PictureBox llamado picLunas,que nos mostrar las imágenes.
Declaramos variables a Nivel del Formulario
Protected Lunas(7) As Image
frmAplicacion88 (Evento Load)
Lunas(0) = My.Resources.MOON01Lunas(1) = My.Resources.MOON02Lunas(2) = My.Resources.MOON03
Lunas(3) = My.Resources.MOON04Lunas(4) = My.Resources.MOON05Lunas(5) = My.Resources.MOON06Lunas(6) = My.Resources.MOON07Lunas(7) = My.Resources.MOON08Me.tmrAnimacion.Enabled = TrueMe.tmrAnimacion.Interval = 100
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 296/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo18
tmrAnimacion (Evento Tick)
If Me.picLunas.Image Is Lunas(0) Then
Me.picLunas.Image = Lunas(1)ElseIf Me.picLunas.Image Is Lunas(1) ThenMe.picLunas.Image = Lunas(2)
ElseIf Me.picLunas.Image Is Lunas(2) ThenMe.picLunas.Image = Lunas(3)
ElseIf Me.picLunas.Image Is Lunas(3) ThenMe.picLunas.Image = Lunas(4)
ElseIf Me.picLunas.Image Is Lunas(4) ThenMe.picLunas.Image = Lunas(5)
ElseIf Me.picLunas.Image Is Lunas(5) ThenMe.picLunas.Image = Lunas(6)
ElseIf Me.picLunas.Image Is Lunas(6) Then
Me.picLunas.Image = Lunas(7)ElseMe.picLunas.Image = Lunas(0)
End If
txtRadio (Evento TextChanged)
Const PI As Double = 3.14159If IsNumeric(Me.txtRadio.Text) Then
Me.lblArea.Text = "Área = " & CStr(PI * Val(Me.txtRadio.Text) ^ 2) & " u²"Else
Me.lblArea.Text = "ERROR: Ingrese una Cantidad Numérica"End If
btnSalir (Evento Click)
Dim Resp As MsgBoxResultResp = MsgBox("¿Desea Terminar la Aplicación?", MsgBoxStyle.YesNo,"Pregunta")If Resp = MsgBoxResult.Yes Then
Me.Close()End If
Fácil no?, como lo ven no es nada del otro mundo, como les vuelvo a repetir,no estoy tocando a la profundidad las propiedades, métodos de cada control, yaque solo este curso se dedica a realizar programas comerciales.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 297/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo19
CONTROL LISTBOX Y COMBOBOX
Estos dos controles (ListBox y ComboBox) se parecen mucho, tanto en suspropiedades como en eventos, ya sea añadiendo elementos, eliminándolos,obteniendo el elementos seleccionado, etc. Hay dos formas de ingresar loselementos en estos controles, ya sea mediante un editor (en modo de diseño), omediante código (en tiempo de ejecución), para mi y creo que para la mayoría delos programadores, la mejor forma de añadir los elementos es mediante código, asíque veremos como ingresar, eliminar, ordenar los elementos a un ListBox,mediante un ejemplo, no se preocupen que para los combo box, también soniguales.
Ejemplo
Esta aplicación nos permite ingresar un numero entero cualquiera a unListBox, y después podemos ordenarlos ascendentemente o descendentemente, oeliminar los elementos seleccionados, también podremos hallar la media de loselementos del control, teniendo en cuenta que si el número de elementos de la listaes impar, la media es igual al número colocado en la posición media de la lista, o siel numero de elementos de la lista es par, la media es igual al promedio de los dosvalores medios de la lista. NOTA que se debe de tener ordenados los elementos dela lista en forma ascendente para poder hallar la media.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 298/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo20
Los controles tendrán su nombre respectivo, con referencia a su función, eltectbox se llama txtNumIng, el botón añadir se llamara btnAñadir, el botón cerrarse llamara btnCerrar, el botón ordenar se llamara btnOrdenar, el botón eliminar se
llamara btnEliminar, el botón ejecutar cálculo se llamara btnEjecutar, la lista denúmeros (ListBox) se llamará lstNumeros, el radio button ascendente se llamarárdbAscendente y el del descendente se llamara rdbDescendente y por ultimo elLabel que muestra la media de la lista de números se llamara lblCalculo.
Cuando seleccionaremos un elemento o mas de uno, se activara el botón deeliminar, en caso contrario debe de estar desactivado.
Declaramos variables a Nivel del Formulario
Dim Ordenado As Boolean = False
txtNumIng (Evento TextChanged)
If IsNumeric(Me.txtNumIng.Text) = True ThenMe.btnAñadir.Enabled = True
ElseMe.btnAñadir.Enabled = False
End If
btnAñadior (Evento Click)
Me.lstNumeros.Items.Add(Me.txtNumIng.Text)Me.txtNumIng.Text = ""Me.txtNumIng.Focus()
rdbAscendente (Evento CheckedChanged)
If Me.rdbAscendente.Checked = True ThenMe.btnOrdenar.Enabled = True
ElseMe.btnOrdenar.Enabled = False
End If
rdbDescendente (Evento CheckedChanged)
If Me.rdbDescendente.Checked = True ThenMe.btnOrdenar.Enabled = True
ElseMe.btnOrdenar.Enabled = False
End If
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 299/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo21
btnOrdenar (Evento Click)
Dim NumItems, J, K, Mayor As Integer
NumItems = Me.lstNumeros.Items.Count - 1Dim Temp(NumItems) As Integer'Almacenamos los valores en un array temporalFor J = 0 To NumItems
Temp(J) = CInt(Me.lstNumeros.Items(J))Next'Método de Ordenación llamada BURBUJAFor J = 0 To NumItems
For K = 0 To NumItemsIf K < NumItems Then
If Temp(K) > Temp(K + 1) ThenMayor = Temp(K)
Temp(K) = Temp(K + 1)Temp(K + 1) = MayorEnd If
End IfNext
NextIf Me.rdbAscendente.Checked = True Then
'Limpiar y Llenar el ListBoxMe.lstNumeros.Items.Clear()For J = 0 To NumItems
Me.lstNumeros.Items.Add(CStr(Temp(J)))NextOrdenado = True
ElseIf Me.rdbDescendente.Checked = True Then'Limpiar y Llenar el ListBoxMe.lstNumeros.Items.Clear()For J = 0 To NumItems
Me.lstNumeros.Items.Add(CStr(Temp(NumItems - J)))NextOrdenado = False
End If
lstNumeros (Evento SelectedIndexChanged)
Me.btnEliminar.Enabled = True
btnEliminar (Evento Click)
Dim i As IntegerMe.btnEliminar.Enabled = FalseWith Me.lstNumeros
For i = .SelectedItems.Count - 1 To 0 Step -1.Items.Remove(.SelectedItems.Item(i))
NextEnd With
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 300/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo22
btnEjecutar (Evento Click)
Dim NumItems, Index, Q As IntegerDim Media As SingleNumItems = Me.lstNumeros.Items.CountIf Ordenado = False Then
MsgBox("Para Hallar la Media, Primero Debe de Ordenar los Elementos enForma Ascendente", MsgBoxStyle.Information, "ERROR!")Exit Sub
End IfQ = NumItems \ 2Index = NumItems - (Q * 2)If Index = 0 Then
Index = CInt(Me.lstNumeros.Items.Count) \ 2
Media = (CSng(CInt(Me.lstNumeros.Items(Index)) +CInt(Me.lstNumeros.Items(Index - 1)))) / 2Else
Index = CInt(Me.lstNumeros.Items.Count) \ 2Media = CSng(CInt(Me.lstNumeros.Items(Index)))
End IfMe.lblCalculo.Text = CStr(Media)
btnOrdenar (Evento Click)
Me.Close()
Para los que son primerizos en este lenguaje de Visual Basic, todo es nuevopara ustedes, ósea en otras palabras, para agregar, eliminar o saber el numero deelementos que hay en una lista, ya sea ListBox o ComboBox, siempre tendremosque hacer invocación al miembro de Ítems del control, por ejemplo, les dejoalgunas instrucciones que mas se utilizan en los dos controles.
Para añadir a un elemento
ListBox1.Items.Add(Cadena de Texto)ComboBox1.Items.Add(Cadena de Texto)
Para eliminar un elemento
ListBox1.Items.Remove(Numero del Elemento a Eliminar)ComboBox1.Items.Remove(Numero del Elemento a Eliminar)
Para saber que elemento se ha seleccionado
Variable = ListBox1.SelectedIndex()Variable = ComboBox1.SelectedIndex()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 301/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo23
Para Saber el Numero de los Elementos de la Lista
Variable = ListBox1.Items.Count()Variable = ComboBox1.Items.Count()
Para seleccionar un Elemento
ListBox1.SelectedIndex = Numero del Elemento a seleccionarComboBox1.SelectedIndex = Numero del Elemento a seleccionar
Como ya vieron no es nada del otro mundo esto de listas y combo, vamos ahacer un ejercicio de estos dos controles, para que le agarren la onda al ritmo de lamusic electronic de DJ Tiesto, ok!, pero primero realizaremos un ejercicio con el
controls Timer y las funciones de fecha, y de paso les explico lo del control Timer,que se me paso, ups!.
89. Esta aplicación nos permitirá hallar la venta de un producto cualquiera,calculando el Subtotal, IGV y Total de la venta, y a su vez nos mostrara la horaactualizándose cada segundo, mediante un control Timer.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 302/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo24
Primero comencemos con los nombres de cada control, aunque creo queesto es lo que mas me toma tiempo, empecemos, el Label que nos mostrara lafecha se llamara lblFecha, el que nos mostrara se llamara lblHora, el del subtotal se
llamara lblSubTotal, el del total se llamara lblTotal y el del IGV se llamara lblIgv, elTextBox que captura el nombre del producto se llamara txtNombProd, el del preciounitario se llamara txtPrecUnit y el de la cantidad se llamara txtCant, los botonesde Nuevo, Resultados y Salir se llamaran btnNuevo, btnResultados y btnSalir,respectivamente.
frmAplicacion89 (Evento FormClosing)
Dim Resp As MsgBoxResultResp = MsgBox("¿Desea salir de la Aplicación?", MsgBoxStyle.YesNo,"Cuidado")If Resp = MsgBoxResult.No Then
e.Cancel = TrueEnd If
frmAplicacion89 (Evento Load)
Me.tmrHora.Enabled = TrueMe.lblFecha.Text = Format(Now, "dd - MMMM - yyyy")Me.lblHora.Text = Format(Now, "hh:mm:ss tt")Me.Text = Space(40) + "Ventas"
tmrHora (Evento Tick)
Me.lblHora.Text = Format(Now, "hh:mm:ss tt")
btnSalir (Evento Click)
Me.Close()
btnNuevo (Evento Click)
Me.txtCant.Text = ""Me.txtNombProd.Text = ""Me.txtPrecUnit.Text = ""Me.lblIgv.Text = ""Me.lblSubTotal.Text = ""Me.lblTotal.Text = ""Me.txtNombProd.Focus()
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 303/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo25
btnResultados (Evento Click)
Dim SubTotal, IGV, Total As SingleSubTotal = CStr(Val(Me.txtCant.Text) * Val(Me.txtPrecUnit.Text))
IGV = SubTotal * 0.19Total = IGV + SubTotalMe.lblSubTotal.Text = Format(SubTotal, "###,##0.00")Me.lblIgv.Text = Format(IGV, "###,##0.00")Me.lblTotal.Text = Format(Total, "###,##0.00")
Lo único que deben de saber del control Timer es que cuando uno lo crea, secrea desactivado, así que se tiene que activar el control para poder usarlo, esto sehace mediante la propiedad Enabled, en la cual tiene que estar en True, y elintervalo en que el control se actualizara, por ejemplo, el intervalo de 100 es
equivalente a un segundo.
90. Esta aplicación nos permitirá realizar una pro forma de venta de una tiendacomercial de computo, consta de dos formularios, uno que es el principalllamado frmAplicacion90 y otro llamado frmInfo, esta aplicación esta basada enarreglos y datos almacenados en el programa, con el fin de darnos cuenta quetan importante es tener un diseñador de base de datos, ya que la aplicación sinbase de datos que maneje información se haría engorrosa y los datos noestarían tan seguros, veamos un ejemplo de este tipo de aplicación sin una basede datos, y como seria su programación, primero veremos por formulario, asíque el primero será el formulario frmInfo.
frmInfo
Este formulario tendrá un GropuBox que conservara su propio nombre y losLabels de este formulario que solo nos mostraran lo que recepcionan del otroformulario, tendrán los siguientes nombres, de acuerdo a su etiqueta de sucostado; lblMainboard, lblProcesador, lblDiscoDuro, lblMemoriaRAM, lblTarjVideo,lblTarjRed, lblCase.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 304/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo26
Y el único que contendrá el formulario va a ser en el control GroupBox1.
GroupBox1 (Evento Click)
Me.Close()
frmAplicacion90
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 305/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo27
Ahora pondremos los nombres respectivos a cada control, en este caso, yosolo daré referencia a que control me refiero y ustedes deben de saber identificarque control es. Ok!, por ejemplo en que forma se esta mostrando los Buttons, los
GroupBox y el PictureBox.
Text Name
Cantidad nudCantidadArticulo cboArticuoMarca cboMarcaModelo cboModeloPrecio Unitario lblPrecUnitTotal lblTotal
Adicionar btnAdicionarCancelar btnCancelarDescripción btnDescripcionImagen picArticuloLista de Cantidad lstCantidadLista de Descripción lstDescripcionLista de Precio Unitario lstPrecUnitLista de Total lstTotalSubtotal lblSubTotalProfIGV lblIGV
Total lblTotalProfNueva Pro forma btnNuevoEliminar Articulo btnEliminarSalir btnSalir
¿QUE ES LO QUE SE PIDE?
Para este caso se pide que esta aplicación se pueda escoger un articulo ynos muestre su imagen referencial, la marca y el modelo del articulo, y a su vez
nos muestre el precio unitario y el precio total, existe un caso en que cuandoselecciona un CPU, se nos pueda mostrar su descripción de ella nada mas, tambiénpodremos añadir los artículos seleccionados al carrito, y también eliminarelementos seleccionados y nos debe de mostrar el total de todos los productos, elsubtotal y el IGV. Y para los que les guste hacerlo más perfecto, también le puedenagregar un botón de impresión donde se imprimirá el formulario en pantalla.
Una vez ya tenido el diseños del formulario listo y sus descripciones quedebe tener, procederemos a la larga, pero larga, larga codificación.
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 306/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo28
Declaramos variables a Nivel del Formulario
Dim Marca(14) As StringDim ModeloImpresora(14), ModeloPC(11), ModeloCD(1), ModeloDVD(1) As StringDim ModeloUSB(3), ModeloModem(1), ModeloMonitor(7), ModeloMP3(5) As StringDim ModeloScaner(9), ModeloTeclado(1), ModeloVideoCamara(1), ModeloWebCam(1) As StringDim DescripcionPC(83) As StringDim Imagenes(15) As ImageDim IndexArticulo, IndexMarca, IndexModelo As IntegerDim Añadir As Boolean = True
Función Limpiar esta función limpiara los controles del formulario
Sub Limpiar()Me.cboArticulo.Text = ""Me.cboMarca.Text = ""Me.cboModelo.Text = ""Me.lblIGV.Text = ""Me.lblPrecUnit.Text = ""Me.lblSubTotalProf.Text = ""Me.lblTotal.Text = ""Me.lblTotalProf.Text = ""Me.lstCantidad.Items.Clear()Me.lstDescripcion.Items.Clear()Me.lstPrecUnit.Items.Clear()Me.lstTotal.Items.Clear()Me.picArticulo.Image = Imagenes(15)
End Sub
Función MarcaArticulo esta función almacenara en el array Marca, las marcasrespectivas de los artículos, válgala redundancia.
Sub MarcaArticulo()Marca(0) = "Micronics"Marca(1) = "Cybertel"Marca(2) = "Creative"Marca(3) = "LG"Marca(4) = "Samsung"Marca(5) = "NEC"
Marca(6) = "HP"Marca(7) = "Canon"Marca(8) = "Lexmark"Marca(9) = "Epson"Marca(10) = "Xerox"Marca(11) = "Intel"Marca(12) = "PC Chips"Marca(13) = "Syntax"Marca(14) = "ASROCK"
End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 307/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo29
Función ModeloPCs esta función almacena los distintos modelos de PCs
Sub ModeloPCs()ModeloPC(0) = "Intel PIV 2.8 GHZ"
ModeloPC(1) = "Intel PIV 3.0 GHZ"ModeloPC(2) = "Intel CEL 2.53 GHZ"ModeloPC(3) = "PC Chips 2.4 GHZ"ModeloPC(4) = "PC Chips 2.8 GHZ"ModeloPC(5) = "PC Chips CEL 2.53 GHZ"ModeloPC(6) = "Syntax PIV 2.4 GHZ"ModeloPC(7) = "Syntax PIV 2.8 GHZ"ModeloPC(8) = "Syntax CEL 2.53 GHZ"ModeloPC(9) = "ASROCK P4 2.4 GHZ"ModeloPC(10) = "ASROCK P4 2.8 GHZ"ModeloPC(11) = "ASROCK CEL 2.53 GHZ"
End Sub
Función ModeloImpresoras esta función almacena los distintos modelos deimpresora
Sub ModeloImpresoras()ModeloImpresora(0) = "HP Deskjet 3920"ModeloImpresora(1) = "HP Multifuncional 1410"ModeloImpresora(2) = "HP Laserjet Color 2600N"ModeloImpresora(3) = "Canon IP-1200 Color"ModeloImpresora(4) = "Canon IP-1600 Color"ModeloImpresora(5) = "Canon Multifuncional MP-150"ModeloImpresora(6) = "Lexmark Color Z515"ModeloImpresora(7) = "Lexmark Multifuncional X1195"ModeloImpresora(8) = "Lexmark Multifuncional X4270"ModeloImpresora(9) = "Epson Stylus C45 U"ModeloImpresora(10) = "Epson LX300+"ModeloImpresora(11) = "Epson FX-2190"ModeloImpresora(12) = "Xerox Laser 3116"ModeloImpresora(13) = "Xerox Laser Multifuncional PE114"ModeloImpresora(14) = "Xerox Laser Color 6100 DB"
End Sub
Función ModeloCDs esta función almacena los distintos modelos de Lectoras
Sub ModeloCDs()ModeloCD(0) = "52x24x52 Negro"ModeloCD(1) = "52x24x52 Blanco"
End Sub
Función ModeloDVDs esta función almacena los distintos modelos deQuemadores
Sub ModeloDVDs()ModeloDVD(0) = "16x Negro"
ModeloDVD(1) = "16x Blanco"End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 308/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo30
Función ModeloUSBs esta función almacena los distintos modelos de memoriasUSBs
Sub ModeloUSBs()
ModeloUSB(0) = "64 MB"ModeloUSB(1) = "128 MB"ModeloUSB(2) = "256 MB"ModeloUSB(3) = "512 MB"
End Sub
Función ModeloModems esta función almacena los distintos modelos de Modems
Sub ModeloModems()ModeloModem(0) = "Z135 ADSL"ModeloModem(1) = "Z135 DSL"
End Sub
Función ModeloMonitores esta función almacena los distintos modelos deMonitor
Sub ModeloMonitores()ModeloMonitor(0) = "15' 591S Negro"ModeloMonitor(1) = "17' 793S Negro"ModeloMonitor(2) = "15' 591S Blanco"ModeloMonitor(3) = "17' 793S Blanco"ModeloMonitor(4) = "15' T530SS FLAT Negro"ModeloMonitor(5) = "17' L1750 LCD Negro"ModeloMonitor(6) = "15' T530SS FLAT Blanco"ModeloMonitor(7) = "17' L1750 LCD Blanco"
End Sub
Función ModeloMP3s esta función almacena los distintos modelos dereproductores MP3s
Sub ModeloMP3s()ModeloMP3(0) = "128 MB"ModeloMP3(1) = "256 MB"ModeloMP3(2) = "512 MB"ModeloMP3(3) = "128 MB / Radio FM"
ModeloMP3(4) = "256 MB / Radio FM"ModeloMP3(5) = "512 MB / Radio FM"
End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 309/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo31
Función ModeloScaners esta función almacena los distintos modelos de Scaner
Sub ModeloScaners()ModeloScaner(0) = "2400 USB 2400x2400 DPI"
ModeloScaner(1) = "4070 USB 2400x2400 DPI"ModeloScaner(2) = "LIDE 25 USB"ModeloScaner(3) = "LIDE 32 USB"ModeloScaner(4) = "1800 USB 2400x2400 DPI"ModeloScaner(5) = "2500 USB 2400x2400 DPI"ModeloScaner(6) = "15T USB 2400x2400 DPI"ModeloScaner(7) = "18T USB 2400x2400 DPI"ModeloScaner(8) = "450RT USB 2400x2400 DPI"ModeloScaner(9) = "500RT USB 2400x2400 DPI"
End Sub
Función ModeloTeclados esta función almacena los distintos modelos de Teclado Sub ModeloTeclados()
ModeloTeclado(0) = "Office Set"ModeloTeclado(1) = "Multimedia"
End Sub
Función ModeloVideoCamras esta función almacena los distintos modelos deVideo Cámaras
Sub ModeloVideoCamaras()ModeloVideoCamara(0) = "Zoom 5x, Pantalla LCD 2.5'"ModeloVideoCamara(1) = "Zoom 4x, Pantalla LCD 2.5'"
End Sub
Función ModeloWebCams esta función almacena los distintos modelos de WebCam
Sub ModeloWebCams()ModeloWebCam(0) = "600x480 Pxls."ModeloWebCam(1) = "800x600 Pxls."
End Sub
Función DescripcionesPC esta función almacena las descripciones de cada PC
Sub DescripcionesPC()DescripcionPC(0) = "INTEL 865 GVHZ/ Tarj. Sonido Integrado"DescripcionPC(1) = "INTEL PIV 2.8 GHZ 512KB, 533MHZ, PGA"DescripcionPC(2) = "SAMSUNG 80GB 7200 RPM IDE"DescripcionPC(3) = "SPECTEK 512MB PC 533"DescripcionPC(4) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT"DescripcionPC(5) = "D-LINK DFE - 530TX 10/100"DescripcionPC(6) = "PENTIUM IV 500W PRESCOTT"DescripcionPC(7) = "INTEL 915 GAGL/ Tarj. Sonido Integrado"
DescripcionPC(8) = "INTEL PIV 3.0 GHZ 1MB, 800MHZ, LGA"DescripcionPC(9) = "SAMSUNG 80GB 7200 RPM IDE"
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 310/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo32
DescripcionPC(10) = "SPECTEK 512MB PC 800"DescripcionPC(11) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT"DescripcionPC(12) = "D-LINK DFE - 530TX 10/100"DescripcionPC(13) = "PENTIUM IV 500W PRESCOTT"DescripcionPC(14) = "INTEL 865 PERLL/ Tarj. Sonido Integrado"
DescripcionPC(15) = "INTEL CEL 2.53 GHZ 256KB, 533MHZ, LGA"DescripcionPC(16) = "SAMSUNG 40GB 7200 RPM IDE"DescripcionPC(17) = "SPECTEK 256MB PC 533"DescripcionPC(18) = "ATI 4X 64MB DDR RADEON 7000 TV/OUT"DescripcionPC(19) = "D-LINK DFE - 530TX 10/100"DescripcionPC(20) = "PENTIUM IV 400W PRESCOTT"DescripcionPC(21) = "PC CHIPS P25G B800/ Tarj. Sonido Integrado"DescripcionPC(22) = "INTEL PIV 2.4 GHZ 512KB, 533MHZ, PGA"DescripcionPC(23) = "SAMSUNG 80GB 7200 RPM IDE"DescripcionPC(24) = "SPECTEK 512MB PC 533"DescripcionPC(25) = "Tarj. Video 64MB Incorporado"DescripcionPC(26) = "Tarj. Red Encore 10/100 Incorporado"
DescripcionPC(27) = "PENTIUM IV 500W PRESCOTT"DescripcionPC(28) = "PC CHIPS P25G B800/ Tarj. Sonido Integrado"DescripcionPC(29) = "INTEL PIV 2.8 GHZ 512KB, 533MHZ, PGA"DescripcionPC(30) = "SAMSUNG 80GB 7200 RPM IDE"DescripcionPC(31) = "SPECTEK 512MB PC 533"DescripcionPC(32) = "Tarj. Video 64MB Incorporado"DescripcionPC(33) = "Tarj. Red Encore 10/100 Incorporado"DescripcionPC(34) = "PENTIUM IV 500W PRESCOTT"DescripcionPC(35) = "PC CHIPS P25 B800/ Tarj. Sonido Integrado"DescripcionPC(36) = "INTEL CEL 2.53 GHZ 256KB, 533MHZ, LGA"DescripcionPC(37) = "SAMSUNG 80GB 7200 RPM IDE"DescripcionPC(38) = "SPECTEK 256MB PC 533"DescripcionPC(39) = "Tarj. Video 64MB Incorporado"DescripcionPC(40) = "Tarj. Red Encore 10/100 Incorporado"DescripcionPC(41) = "PENTIUM IV 400W PRESCOTT"DescripcionPC(42) = "SYNTAX TXTPRO/ Tarj. Sonido Integrado"DescripcionPC(43) = "INTEL PIV 2.4 GHZ 512KB, 533MHZ, PGA"DescripcionPC(44) = "SAMSUNG 80GB 7200 RPM IDE"DescripcionPC(45) = "SPECTEK 512MB PC 533"DescripcionPC(46) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT"DescripcionPC(47) = "3-COM 10/100 / Integrado"DescripcionPC(48) = "PENTIUM IV 500W PRESCOTT"DescripcionPC(49) = "SYNTAX TXTPRO/ Tarj. Sonido Integrado"DescripcionPC(50) = "INTEL PIV 2.8 GHZ 512KB, 533MHZ, PGA"DescripcionPC(51) = "SAMSUNG 80GB 7200 RPM IDE"
DescripcionPC(52) = "SPECTEK 512MB PC 800"DescripcionPC(53) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT"DescripcionPC(54) = "3-COM 10/100 / Integrado"DescripcionPC(55) = "PENTIUM IV 500W PRESCOTT"DescripcionPC(56) = "SYNTAX TXTPRO/ Tarj. Sonido Integrado"DescripcionPC(57) = "INTEL CEL 2.53 GHZ 256KB, 533MHZ, LGA"DescripcionPC(58) = "SAMSUNG 40GB 7200 RPM IDE"DescripcionPC(59) = "SPECTEK 256MB PC 533"DescripcionPC(60) = "ATI 4X 64MB DDR RADEON 7000 TV/OUT"DescripcionPC(61) = "3-COM 10/100 / Integrado"DescripcionPC(62) = "PENTIUM IV 400W PRESCOTT"DescripcionPC(63) = "ASROCK VIA M800/ Tarj. Sonido Integrado"
DescripcionPC(64) = "INTEL PIV 2.4 GHZ 512KB, 533MHZ, PGA"DescripcionPC(65) = "SAMSUNG 80GB 7200 RPM IDE"
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 311/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo33
DescripcionPC(66) = "SPECTEK 512MB PC 533"DescripcionPC(67) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT"DescripcionPC(68) = "3-COM 10/100 / Integrado"DescripcionPC(69) = "PENTIUM IV 500W PRESCOTT"DescripcionPC(70) = "ASROCK VIA M800/ Tarj. Sonido Integrado"
DescripcionPC(71) = "INTEL PIV 2.8 GHZ 512KB, 533MHZ, PGA"DescripcionPC(72) = "SAMSUNG 80GB 7200 RPM IDE"DescripcionPC(73) = "SPECTEK 512MB PC 800"DescripcionPC(74) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT"DescripcionPC(75) = "3-COM 10/100 / Integrado"DescripcionPC(76) = "PENTIUM IV 500W PRESCOTT"DescripcionPC(77) = "ASROCK VIA M800/ Tarj. Sonido Integrado"DescripcionPC(78) = "INTEL CEL 2.53 GHZ 256KB, 533MHZ, LGA"DescripcionPC(79) = "SAMSUNG 40GB 7200 RPM IDE"DescripcionPC(80) = "SPECTEK 256MB PC 533"DescripcionPC(81) = "ATI 4X 64MB DDR RADEON 7000 TV/OUT"DescripcionPC(82) = "3-COM 10/100 / Integrado"
DescripcionPC(83) = "PENTIUM IV 400W PRESCOTT"End Sub
Función LlenarMarcas esta función Llena las marcas respectivas de cada articuloen el combo de Marcas del Articulo.
Sub LlenarMarcas()Dim Inicio, Final As IntegerDim J As IntegerSelect Case IndexArticulo
Case 0, 6, 9, 10, 12, 14Inicio = 0Final = 2
Case 1, 3, 8, 13Inicio = 3Final = 4
Case 5, 11Inicio = 6Final = 10
Case 2Inicio = 11Final = 14
Case 4Inicio = 2
Final = 5Case 7
Inicio = 11Final = 11
End SelectMe.cboMarca.Text = ""Me.cboMarca.Items.Clear()For J = Inicio To Final
Me.cboMarca.Items.Add(Marca(J))Next
End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 312/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo34
Función LlenarModelos esta función Llena los modelos respectivos de cadaarticulo en el combo de Modelo del Articulo.
Sub LlenarModelos()
Dim J As IntegerIndexMarca = Me.cboMarca.SelectedIndexMe.cboModelo.Text = ""Select Case IndexArticulo
Case 0, 4, 9Me.cboModelo.Enabled = False
Case ElseMe.cboModelo.Enabled = True
End SelectSelect Case IndexArticulo
Case 1Call ModeloCDs()
Me.cboModelo.Items.Clear()For J = 0 To 1Me.cboModelo.Items.Add(ModeloCD(J))
NextCase 2
Call ModeloPCs()Me.cboModelo.Items.Clear()Select Case IndexMarca
Case 0For J = 0 To 2
Me.cboModelo.Items.Add(ModeloPC(J))Next
Case 1For J = 3 To 5
Me.cboModelo.Items.Add(ModeloPC(J))Next
Case 2For J = 6 To 8
Me.cboModelo.Items.Add(ModeloPC(J))Next
Case 3For J = 9 To 11
Me.cboModelo.Items.Add(ModeloPC(J))Next
End Select
Case 3Call ModeloDVDs()Me.cboModelo.Items.Clear()For J = 0 To 1
Me.cboModelo.Items.Add(ModeloDVD(J))Next
Case 5Call ModeloImpresoras()Me.cboModelo.Items.Clear()Select Case IndexMarca
Case 0For J = 0 To 2
Me.cboModelo.Items.Add(ModeloImpresora(J))Next
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 313/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo35
Case 1For J = 3 To 5
Me.cboModelo.Items.Add(ModeloImpresora(J))Next
Case 2
For J = 6 To 8Me.cboModelo.Items.Add(ModeloImpresora(J))Next
Case 3For J = 9 To 11
Me.cboModelo.Items.Add(ModeloImpresora(J))Next
Case 4For J = 12 To 14
Me.cboModelo.Items.Add(ModeloImpresora(J))Next
End Select
Case 6Call ModeloUSBs()Me.cboModelo.Items.Clear()For J = 0 To 3
Me.cboModelo.Items.Add(ModeloUSB(J))Next
Case 7Call ModeloModems()Me.cboModelo.Items.Clear()For J = 0 To 1
Me.cboModelo.Items.Add(ModeloModem(J))Next
Case 8Call ModeloMonitores()Me.cboModelo.Items.Clear()Select Case IndexMarca
Case 1For J = 0 To 3
Me.cboModelo.Items.Add(ModeloMonitor(J))Next
Case 0For J = 4 To 7
Me.cboModelo.Items.Add(ModeloMonitor(J))Next
End Select
Case 10Call ModeloMP3s()Me.cboModelo.Items.Clear()For J = 0 To 5
Me.cboModelo.Items.Add(ModeloMP3(J))Next
Case 11Call ModeloScaners()Me.cboModelo.Items.Clear()Select Case IndexMarca
Case 0For J = 0 To 1
Me.cboModelo.Items.Add(ModeloScaner(J))Next
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 314/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo36
Case 1For J = 2 To 3
Me.cboModelo.Items.Add(ModeloScaner(J))Next
Case 2
For J = 4 To 5Me.cboModelo.Items.Add(ModeloScaner(J))Next
Case 3For J = 6 To 7
Me.cboModelo.Items.Add(ModeloScaner(J))Next
Case 4For J = 8 To 9
Me.cboModelo.Items.Add(ModeloScaner(J))Next
End Select
Case 12Call ModeloTeclados()Me.cboModelo.Items.Clear()For J = 0 To 1
Me.cboModelo.Items.Add(ModeloTeclado(J))Next
Case 13Call ModeloVideoCamaras()Me.cboModelo.Items.Clear()For J = 0 To 1
Me.cboModelo.Items.Add(ModeloVideoCamara(J))Next
Case 14Call ModeloWebCams()Me.cboModelo.Items.Clear()For J = 0 To 1
Me.cboModelo.Items.Add(ModeloWebCam(J))Next
End SelectEnd Sub
Función SumarTotales esta función halla el total a pagar de los artículos añadidos(Precios).
Sub SumarTotales()Dim J As IntegerDim Total, SubTotal, IGV As DoubleTotal = 0For J = 0 To Me.lstTotal.Items.Count - 1
Total = Total + Val(Me.lstTotal.Items(J))NextSubTotal = Total * 0.81IGV = Total - SubTotalMe.lblSubTotalProf.Text = Format(SubTotal, "###,##0.00")Me.lblIGV.Text = Format(IGV, "###,##0.00")Me.lblTotalProf.Text = Format(Total, "###,##0.00")
End Sub
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 315/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo37
frmAplicacion90 (Evento FormClosing)
If MsgBox("¿Desea Salir de la Aplicación?", MsgBoxStyle.YesNo, "Cuidado") =MsgBoxResult.No Then
e.Cancel = TrueEnd If
frmAplicacion90 (Evento Load)
Me.cboArticulo.Items.Add("Audifonos")Me.cboArticulo.Items.Add("Lectora de CD")Me.cboArticulo.Items.Add("CPU")Me.cboArticulo.Items.Add("Lectora de DVD")Me.cboArticulo.Items.Add("Floppy 3 1/2")Me.cboArticulo.Items.Add("Impresora")
Me.cboArticulo.Items.Add("Memoria USB")Me.cboArticulo.Items.Add("Modem")Me.cboArticulo.Items.Add("Monitor")Me.cboArticulo.Items.Add("Mouse")Me.cboArticulo.Items.Add("Reporductor MP3")Me.cboArticulo.Items.Add("Scaner")Me.cboArticulo.Items.Add("Teclado")Me.cboArticulo.Items.Add("Video Camara")Me.cboArticulo.Items.Add("Web Cam")Imagenes(0) = My.Resources.AudifonosImagenes(1) = My.Resources.CDImagenes(2) = My.Resources.CPUImagenes(3) = My.Resources.DVDImagenes(4) = My.Resources.Floppy_DriveImagenes(5) = My.Resources.ImpresoraImagenes(6) = My.Resources.Memoria_USBImagenes(7) = My.Resources.ModemImagenes(8) = My.Resources.MonitorImagenes(9) = My.Resources.MouseImagenes(10) = My.Resources.MP3Imagenes(11) = My.Resources.ScannerImagenes(12) = My.Resources.TecladoImagenes(13) = My.Resources.Video_CamaraImagenes(14) = My.Resources.WebcamImagenes(15) = My.Resources.PC
Call Limpiar()
cboArticulo (Evento SelectedIndexChanged)
IndexArticulo = Me.cboArticulo.SelectedIndexMe.picArticulo.Image = Imagenes(IndexArticulo)Me.cboModelo.Text = ""Me.lblPrecUnit.Text = ""Me.lblTotal.Text = ""Me.cboMarca.Enabled = TrueCall MarcaArticulo()
Call LlenarMarcas()If IndexArticulo <> 2 Then
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 316/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo38
Me.btnDescripcion.Enabled = FalseElse
Me.btnDescripcion.Enabled = TrueEnd If
btnDescripcion (Evento Click)
Dim Inicio As IntegerIf Me.cboMarca.Text = "" Then
MsgBox("Seleccione la Marca de la PC", MsgBoxStyle.Information,"Cuidado!")
ElseIf Me.cboModelo.Text = "" ThenMsgBox("Seleccione el Modelo de la PC", MsgBoxStyle.Information,"Cuidado!")
ElseCall DescripcionesPC()
IndexMarca = Me.cboMarca.SelectedIndexIndexModelo = Me.cboModelo.SelectedIndexSelect Case IndexMarca
Case 0Select Case IndexModelo
Case 0 : Inicio = 0Case 1 : Inicio = 7Case 2 : Inicio = 14
End SelectCase 1
Select Case IndexModeloCase 0 : Inicio = 21Case 1 : Inicio = 28Case 2 : Inicio = 35
End SelectCase 2
Select Case IndexModeloCase 0 : Inicio = 42Case 1 : Inicio = 49Case 2 : Inicio = 56
End SelectCase 3
Select Case IndexModeloCase 0 : Inicio = 63Case 1 : Inicio = 70
Case 2 : Inicio = 77End Select
End SelectMy.Forms.frmInfo.lblMainboard.Text = DescripcionPC(Inicio)My.Forms.frmInfo.lblProcesador.Text = DescripcionPC(Inicio + 1)My.Forms.frmInfo.lblDiscoDuro.Text = DescripcionPC(Inicio + 2)My.Forms.frmInfo.lblMemoriaRAM.Text = DescripcionPC(Inicio + 3)My.Forms.frmInfo.lblTarjVideo.Text = DescripcionPC(Inicio + 4)My.Forms.frmInfo.lblTarjRed.Text = DescripcionPC(Inicio + 5)My.Forms.frmInfo.lblCase.Text = DescripcionPC(Inicio + 6)frmInfo.ShowDialog()
End If
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 317/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo39
cboMarca (Evento SelectedIndexChanged)
Call LlenarModelos()IndexMarca = Me.cboMarca.SelectedIndexSelect Case IndexArticulo
Case 0Select Case IndexMarcaCase 0 : Me.lblPrecUnit.Text = "4.10"Case 1 : Me.lblPrecUnit.Text = "4.00"Case 2 : Me.lblPrecUnit.Text = "4.15"
End SelectAñadir = True
Case 4Select Case IndexMarca
Case 0 : Me.lblPrecUnit.Text = "9.50"Case 1 : Me.lblPrecUnit.Text = "9.15"Case 2 : Me.lblPrecUnit.Text = "9.30"
Case 3 : Me.lblPrecUnit.Text = "10.20"End SelectAñadir = True
Case 9Select Case IndexMarca
Case 0 : Me.lblPrecUnit.Text = "7.50"Case 1 : Me.lblPrecUnit.Text = "7.10"Case 2 : Me.lblPrecUnit.Text = "7.95"
End SelectAñadir = True
Case ElseMe.lblPrecUnit.Text = "0.00"Añadir = False
End SelectMe.lblTotal.Text = Format(Val(Me.lblPrecUnit.Text) * Me.nudCantidad.Value,"#####0.00")
nudCantidad (Evento ValueChanged)
Me.lblTotal.Text = Format(Val(Me.lblPrecUnit.Text) * Me.nudCantidad.Value,"#####0.00")
cboModelo (Evento SelectedIndexChanged)
IndexArticulo = Me.cboArticulo.SelectedIndexIndexMarca = Me.cboMarca.SelectedIndexIndexModelo = Me.cboModelo.SelectedIndexSelect Case IndexArticulo
Case 1Select Case IndexMarca
Case 0 : Me.lblPrecUnit.Text = "29.00"Case 1 : Me.lblPrecUnit.Text = "30.00"
End SelectCase 2
Select Case IndexMarca
Case 0Select Case IndexModelo
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 318/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo40
Case 0 : Me.lblPrecUnit.Text = "579.00"Case 1 : Me.lblPrecUnit.Text = "689.00"Case 2 : Me.lblPrecUnit.Text = "499.00"
End SelectCase 1
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "510.00"Case 1 : Me.lblPrecUnit.Text = "560.00"Case 2 : Me.lblPrecUnit.Text = "459.00"
End SelectCase 2
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "532.00"Case 1 : Me.lblPrecUnit.Text = "619.00"Case 2 : Me.lblPrecUnit.Text = "489.00"
End SelectCase 3
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "530.00"Case 1 : Me.lblPrecUnit.Text = "614.00"Case 2 : Me.lblPrecUnit.Text = "480.00"
End SelectEnd Select
Case 3Select Case IndexMarca
Case 0 : Me.lblPrecUnit.Text = "60.00"Case 1 : Me.lblPrecUnit.Text = "63.00"
End SelectCase 5
Select Case IndexMarcaCase 0
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "179.00"Case 1 : Me.lblPrecUnit.Text = "239.00"Case 2 : Me.lblPrecUnit.Text = "320.00"
End SelectCase 1
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "139.00"Case 1 : Me.lblPrecUnit.Text = "159.00"Case 2 : Me.lblPrecUnit.Text = "239.00"
End Select
Case 2Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "149.00"Case 1 : Me.lblPrecUnit.Text = "239.00"Case 2 : Me.lblPrecUnit.Text = "259.00"
End SelectCase 3
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "129.00"Case 1 : Me.lblPrecUnit.Text = "149.00"Case 2 : Me.lblPrecUnit.Text = "179.00"
End Select
Case 4Select Case IndexModelo
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 319/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo41
Case 0 : Me.lblPrecUnit.Text = "189.00"Case 1 : Me.lblPrecUnit.Text = "259.00"Case 2 : Me.lblPrecUnit.Text = "350.00"
End SelectEnd Select
Case 6Select Case IndexMarcaCase 0
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "42.00"Case 1 : Me.lblPrecUnit.Text = "62.00"Case 2 : Me.lblPrecUnit.Text = "84.00"Case 3 : Me.lblPrecUnit.Text = "96.00"
End SelectCase 1
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "41.00"
Case 1 : Me.lblPrecUnit.Text = "63.00"Case 2 : Me.lblPrecUnit.Text = "82.00"Case 3 : Me.lblPrecUnit.Text = "99.00"
End SelectCase 2
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "42.00"Case 1 : Me.lblPrecUnit.Text = "64.00"Case 2 : Me.lblPrecUnit.Text = "86.00"Case 3 : Me.lblPrecUnit.Text = "92.00"
End SelectEnd Select
Case 7Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "89.00"Case 1 : Me.lblPrecUnit.Text = "69.00"
End SelectCase 8
Select Case IndexMarcaCase 0
Select Case IndexModeloCase 0, 2 : Me.lblPrecUnit.Text = "320.00"Case 1, 3 : Me.lblPrecUnit.Text = "290.00"
End SelectCase 1
Select Case IndexModeloCase 0, 2 : Me.lblPrecUnit.Text = "149.00"Case 1, 3 : Me.lblPrecUnit.Text = "179.00"
End SelectEnd Select
Case 10Select Case IndexMarca
Case 0Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "48.00"Case 1 : Me.lblPrecUnit.Text = "69.00"Case 2 : Me.lblPrecUnit.Text = "84.00"
Case 3 : Me.lblPrecUnit.Text = "56.00"Case 4 : Me.lblPrecUnit.Text = "76.00"
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 320/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo42
Case 5 : Me.lblPrecUnit.Text = "99.00"End Select
Case 1Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "47.00"
Case 1 : Me.lblPrecUnit.Text = "67.00"Case 2 : Me.lblPrecUnit.Text = "80.00"Case 3 : Me.lblPrecUnit.Text = "59.00"Case 4 : Me.lblPrecUnit.Text = "81.00"Case 5 : Me.lblPrecUnit.Text = "110.00"
End SelectCase 2
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "49.00"Case 1 : Me.lblPrecUnit.Text = "69.00"Case 2 : Me.lblPrecUnit.Text = "87.00"Case 3 : Me.lblPrecUnit.Text = "59.00"
Case 4 : Me.lblPrecUnit.Text = "80.00"Case 5 : Me.lblPrecUnit.Text = "115.00"End Select
End SelectCase 11
Select Case IndexMarcaCase 0
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "130.00"Case 1 : Me.lblPrecUnit.Text = "140.00"
End SelectCase 1
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "136.00"Case 1 : Me.lblPrecUnit.Text = "159.00"
End SelectCase 2
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "124.00"Case 1 : Me.lblPrecUnit.Text = "179.00"
End SelectCase 3
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "146.00"Case 1 : Me.lblPrecUnit.Text = "184.00"
End SelectCase 4
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "155.00"Case 1 : Me.lblPrecUnit.Text = "210.00"
End SelectEnd Select
Case 12Select Case IndexMarca
Case 0Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "11.00"
Case 1 : Me.lblPrecUnit.Text = "15.00"End Select
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 321/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo43
Case 1Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "8.00"Case 1 : Me.lblPrecUnit.Text = "16.00"
End Select
Case 2Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "13.00"Case 1 : Me.lblPrecUnit.Text = "19.00"
End SelectEnd Select
Case 13Select Case IndexMarca
Case 0Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "789.00"Case 1 : Me.lblPrecUnit.Text = "999.00"
End SelectCase 1Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "814.00"Case 1 : Me.lblPrecUnit.Text = "1025.00"
End SelectEnd Select
Case 14Select Case IndexMarca
Case 0Select Case IndexModelo
Case 0 : Me.lblPrecUnit.Text = "18.00"Case 1 : Me.lblPrecUnit.Text = "27.00"
End SelectCase 1
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "17.00"Case 1 : Me.lblPrecUnit.Text = "25.00"
End SelectCase 2
Select Case IndexModeloCase 0 : Me.lblPrecUnit.Text = "18.00"Case 1 : Me.lblPrecUnit.Text = "29.00"
End SelectEnd Select
End SelectMe.lblTotal.Text = Format(Val(Me.lblPrecUnit.Text) * Me.nudCantidad.Value,"#####0.00")
btnAdicionar (Evento Click)
Dim Descripcion As StringIf Me.cboArticulo.Text <> "" AndAlso Me.cboMarca.Text <> "" Then
Descripcion = Me.cboArticulo.Text + " \ " + Me.cboMarca.TextIf Añadir = False Then
If Me.cboModelo.Text <> "" Then
Descripcion = Descripcion + " \ " + Me.cboModelo.TextElse
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 322/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo44
MsgBox("Escoja El Modelo del Articulo", MsgBoxStyle.Information,"Error")Exit Sub
End IfEnd If
Me.lstCantidad.Items.Add(CStr(Me.nudCantidad.Value))Me.lstDescripcion.Items.Add(Descripcion)Me.lstPrecUnit.Items.Add(Me.lblPrecUnit.Text)Me.lstTotal.Items.Add(Me.lblTotal.Text)Call SumarTotales()
ElseMsgBox("Escoja El Articulo y/o Marca a Añadir al Carrito",MsgBoxStyle.Information, "Error")
End If
lstCantidad (Evento SelectedIndexChanged)
Dim Index As IntegerIndex = Me.lstCantidad.SelectedIndexMe.lstDescripcion.SelectedIndex = IndexMe.lstPrecUnit.SelectedIndex = IndexMe.lstTotal.SelectedIndex = IndexMe.btnEliminar.Enabled = True
lstDescripcion (Evento SelectedIndexChanged)
Dim Index As IntegerIndex = Me.lstDescripcion.SelectedIndexMe.lstCantidad.SelectedIndex = IndexMe.lstPrecUnit.SelectedIndex = IndexMe.lstTotal.SelectedIndex = IndexMe.btnEliminar.Enabled = True
lstPrecUnit (Evento SelectedIndexChanged)
Dim Index As IntegerIndex = Me.lstPrecUnit.SelectedIndexMe.lstDescripcion.SelectedIndex = IndexMe.lstCantidad.SelectedIndex = Index
Me.lstTotal.SelectedIndex = IndexMe.btnEliminar.Enabled = True
lstTotal (Evento SelectedIndexChanged)
Dim Index As IntegerIndex = Me.lstTotal.SelectedIndexMe.lstDescripcion.SelectedIndex = IndexMe.lstPrecUnit.SelectedIndex = IndexMe.lstCantidad.SelectedIndex = IndexMe.btnEliminar.Enabled = True
7/22/2019 Programando Con Visual.basic.net 2005 by Fashion
http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 323/323
Lenguaje de Programación – Capitulo XII
Programando con Visual Basic 2005
Joel Martin Chuco Marrufo45
btnCancelar (Evento Click)
Dim Index As IntegerIndex = Me.lstCantidad.Items.Count - 1
Me.lstCantidad.Items.RemoveAt(Index)Me.lstDescripcion.Items.RemoveAt(Index)Me.lstPrecUnit.Items.RemoveAt(Index)Me.lstTotal.Items.RemoveAt(Index)Call SumarTotales()
btnEliminar (Evento Click)
Dim Index As IntegerIndex = Me.lstCantidad.SelectedIndexMe.lstCantidad.Items.RemoveAt(Index)
Me.lstDescripcion.Items.RemoveAt(Index)Me.lstPrecUnit.Items.RemoveAt(Index)Me.lstTotal.Items.RemoveAt(Index)Me.btnEliminar.Enabled = FalseCall SumarTotales()
btnNuevo (Evento Click)
Call Limpiar()
btnSalir (Evento Click)
Me.Close()
Como se abran dado cuenta la codificación de esta aplicación en muytediosa, pero aquí se encuentra casi todo los que hemos avanzado hasta ahora