+ All Categories
Home > Documents > Programando Con Visual.basic.net 2005 by Fashion

Programando Con Visual.basic.net 2005 by Fashion

Date post: 10-Feb-2018
Category:
Upload: farick-jassier-mena-rivera
View: 218 times
Download: 0 times
Share this document with a friend
325
 
Transcript
Page 1: Programando Con Visual.basic.net 2005 by Fashion

7/22/2019 Programando Con Visual.basic.net 2005 by Fashion

http://slidepdf.com/reader/full/programando-con-visualbasicnet-2005-by-fashion 1/323

 

Page 2: Programando Con Visual.basic.net 2005 by Fashion

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

Page 3: Programando Con Visual.basic.net 2005 by Fashion

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

Page 4: Programando Con Visual.basic.net 2005 by Fashion

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

Page 5: Programando Con Visual.basic.net 2005 by Fashion

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

Page 6: Programando Con Visual.basic.net 2005 by Fashion

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;

Page 7: Programando Con Visual.basic.net 2005 by Fashion

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>

Page 8: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 9: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 10: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 11: Programando Con Visual.basic.net 2005 by Fashion

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

Page 12: Programando Con Visual.basic.net 2005 by Fashion

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

Page 13: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 14: Programando Con Visual.basic.net 2005 by Fashion

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

Page 15: Programando Con Visual.basic.net 2005 by Fashion

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

Page 16: Programando Con Visual.basic.net 2005 by Fashion

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

Page 17: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 18: Programando Con Visual.basic.net 2005 by Fashion

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

Page 19: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 20: Programando Con Visual.basic.net 2005 by Fashion

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

Page 21: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 22: Programando Con Visual.basic.net 2005 by Fashion

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

Page 23: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 24: Programando Con Visual.basic.net 2005 by Fashion

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

Page 25: Programando Con Visual.basic.net 2005 by Fashion

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” .

Page 26: Programando Con Visual.basic.net 2005 by Fashion

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

Page 27: Programando Con Visual.basic.net 2005 by Fashion

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

Page 28: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 29: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 30: Programando Con Visual.basic.net 2005 by Fashion

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

Page 31: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 32: Programando Con Visual.basic.net 2005 by Fashion

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

Page 33: Programando Con Visual.basic.net 2005 by Fashion

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

Page 34: Programando Con Visual.basic.net 2005 by Fashion

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

Page 35: Programando Con Visual.basic.net 2005 by Fashion

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

Page 36: Programando Con Visual.basic.net 2005 by Fashion

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

Page 37: Programando Con Visual.basic.net 2005 by Fashion

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

Page 38: Programando Con Visual.basic.net 2005 by Fashion

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

Page 39: Programando Con Visual.basic.net 2005 by Fashion

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

Page 40: Programando Con Visual.basic.net 2005 by Fashion

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

Page 41: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 42: Programando Con Visual.basic.net 2005 by Fashion

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

Page 43: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 44: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 45: Programando Con Visual.basic.net 2005 by Fashion

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

Page 46: Programando Con Visual.basic.net 2005 by Fashion

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

Page 47: Programando Con Visual.basic.net 2005 by Fashion

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

Page 48: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 49: Programando Con Visual.basic.net 2005 by Fashion

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

Page 50: Programando Con Visual.basic.net 2005 by Fashion

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

Page 51: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 52: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 53: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 54: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 55: Programando Con Visual.basic.net 2005 by Fashion

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. 

Page 56: Programando Con Visual.basic.net 2005 by Fashion

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

Page 57: Programando Con Visual.basic.net 2005 by Fashion

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

Page 58: Programando Con Visual.basic.net 2005 by Fashion

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

Page 59: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 60: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 61: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 62: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 63: Programando Con Visual.basic.net 2005 by Fashion

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

Page 64: Programando Con Visual.basic.net 2005 by Fashion

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:

Page 65: Programando Con Visual.basic.net 2005 by Fashion

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

Page 66: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 67: Programando Con Visual.basic.net 2005 by Fashion

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 “) 

Page 68: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 69: Programando Con Visual.basic.net 2005 by Fashion

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

Page 70: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 71: Programando Con Visual.basic.net 2005 by Fashion

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).

Page 72: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 73: Programando Con Visual.basic.net 2005 by Fashion

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

Page 74: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 75: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 76: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 77: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 78: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 79: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 80: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 81: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 82: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 83: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 84: Programando Con Visual.basic.net 2005 by Fashion

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

Page 85: Programando Con Visual.basic.net 2005 by Fashion

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

Page 86: Programando Con Visual.basic.net 2005 by Fashion

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

Page 87: Programando Con Visual.basic.net 2005 by Fashion

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

Page 88: Programando Con Visual.basic.net 2005 by Fashion

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

Page 89: Programando Con Visual.basic.net 2005 by Fashion

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:

Page 90: Programando Con Visual.basic.net 2005 by Fashion

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

Page 91: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 92: Programando Con Visual.basic.net 2005 by Fashion

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,

Page 93: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 94: Programando Con Visual.basic.net 2005 by Fashion

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

Page 95: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 96: Programando Con Visual.basic.net 2005 by Fashion

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,

Page 97: Programando Con Visual.basic.net 2005 by Fashion

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?.

Page 98: Programando Con Visual.basic.net 2005 by Fashion

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

Page 99: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 100: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 101: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 102: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 103: Programando Con Visual.basic.net 2005 by Fashion

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

Page 104: Programando Con Visual.basic.net 2005 by Fashion

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

Page 105: Programando Con Visual.basic.net 2005 by Fashion

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

Page 106: Programando Con Visual.basic.net 2005 by Fashion

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

Page 107: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 108: Programando Con Visual.basic.net 2005 by Fashion

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

Page 109: Programando Con Visual.basic.net 2005 by Fashion

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

Page 110: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 111: Programando Con Visual.basic.net 2005 by Fashion

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

Page 112: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 113: Programando Con Visual.basic.net 2005 by Fashion

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>

Page 114: Programando Con Visual.basic.net 2005 by Fashion

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

Page 115: Programando Con Visual.basic.net 2005 by Fashion

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

Page 116: Programando Con Visual.basic.net 2005 by Fashion

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

Page 117: Programando Con Visual.basic.net 2005 by Fashion

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

Page 118: Programando Con Visual.basic.net 2005 by Fashion

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

Page 119: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 120: Programando Con Visual.basic.net 2005 by Fashion

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

Page 121: Programando Con Visual.basic.net 2005 by Fashion

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

Page 122: Programando Con Visual.basic.net 2005 by Fashion

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

Page 123: Programando Con Visual.basic.net 2005 by Fashion

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

Page 124: Programando Con Visual.basic.net 2005 by Fashion

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

Page 125: Programando Con Visual.basic.net 2005 by Fashion

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

Page 126: Programando Con Visual.basic.net 2005 by Fashion

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";

Page 127: Programando Con Visual.basic.net 2005 by Fashion

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

Page 128: Programando Con Visual.basic.net 2005 by Fashion

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

Page 129: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 130: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 131: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 132: Programando Con Visual.basic.net 2005 by Fashion

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

Page 133: Programando Con Visual.basic.net 2005 by Fashion

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

Page 134: Programando Con Visual.basic.net 2005 by Fashion

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

Page 135: Programando Con Visual.basic.net 2005 by Fashion

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

Page 136: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 137: Programando Con Visual.basic.net 2005 by Fashion

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

Page 138: Programando Con Visual.basic.net 2005 by Fashion

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

Page 139: Programando Con Visual.basic.net 2005 by Fashion

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

Page 140: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 141: Programando Con Visual.basic.net 2005 by Fashion

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

Page 142: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 143: Programando Con Visual.basic.net 2005 by Fashion

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

Page 144: Programando Con Visual.basic.net 2005 by Fashion

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

Page 145: Programando Con Visual.basic.net 2005 by Fashion

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

Page 146: Programando Con Visual.basic.net 2005 by Fashion

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

Page 147: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 148: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 149: Programando Con Visual.basic.net 2005 by Fashion

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

Page 150: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 151: Programando Con Visual.basic.net 2005 by Fashion

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

Page 152: Programando Con Visual.basic.net 2005 by Fashion

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

Page 153: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 154: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 155: Programando Con Visual.basic.net 2005 by Fashion

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

Page 156: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 157: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 158: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 159: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 160: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 161: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 162: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 163: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 164: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 165: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 166: Programando Con Visual.basic.net 2005 by Fashion

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

Page 167: Programando Con Visual.basic.net 2005 by Fashion

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

Page 168: Programando Con Visual.basic.net 2005 by Fashion

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

Page 169: Programando Con Visual.basic.net 2005 by Fashion

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

Page 170: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 171: Programando Con Visual.basic.net 2005 by Fashion

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

Page 172: Programando Con Visual.basic.net 2005 by Fashion

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

Page 173: Programando Con Visual.basic.net 2005 by Fashion

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

Page 174: Programando Con Visual.basic.net 2005 by Fashion

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

Page 175: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 176: Programando Con Visual.basic.net 2005 by Fashion

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. 

Page 177: Programando Con Visual.basic.net 2005 by Fashion

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).

Page 178: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 179: Programando Con Visual.basic.net 2005 by Fashion

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() 

Page 180: Programando Con Visual.basic.net 2005 by Fashion

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

Page 181: Programando Con Visual.basic.net 2005 by Fashion

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

Page 182: Programando Con Visual.basic.net 2005 by Fashion

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

Page 183: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 184: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 185: Programando Con Visual.basic.net 2005 by Fashion

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

Page 186: Programando Con Visual.basic.net 2005 by Fashion

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")'

Page 187: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 188: Programando Con Visual.basic.net 2005 by Fashion

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#.

Page 189: Programando Con Visual.basic.net 2005 by Fashion

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

Page 190: Programando Con Visual.basic.net 2005 by Fashion

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

Page 191: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 192: Programando Con Visual.basic.net 2005 by Fashion

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

Page 193: Programando Con Visual.basic.net 2005 by Fashion

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

Page 194: Programando Con Visual.basic.net 2005 by Fashion

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

Page 195: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 196: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 197: Programando Con Visual.basic.net 2005 by Fashion

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

Page 198: Programando Con Visual.basic.net 2005 by Fashion

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

Page 199: Programando Con Visual.basic.net 2005 by Fashion

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

Page 200: Programando Con Visual.basic.net 2005 by Fashion

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

Page 201: Programando Con Visual.basic.net 2005 by Fashion

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” .

Page 202: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 203: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 204: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 205: Programando Con Visual.basic.net 2005 by Fashion

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).

Page 206: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 207: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 208: Programando Con Visual.basic.net 2005 by Fashion

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

Page 209: Programando Con Visual.basic.net 2005 by Fashion

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

Page 210: Programando Con Visual.basic.net 2005 by Fashion

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

Page 211: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 212: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 213: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 214: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 215: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 216: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 217: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 218: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 219: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 220: Programando Con Visual.basic.net 2005 by Fashion

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ú.

Page 221: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 222: Programando Con Visual.basic.net 2005 by Fashion

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

Page 223: Programando Con Visual.basic.net 2005 by Fashion

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

Page 224: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 225: Programando Con Visual.basic.net 2005 by Fashion

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

Page 226: Programando Con Visual.basic.net 2005 by Fashion

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

Page 227: Programando Con Visual.basic.net 2005 by Fashion

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() 

Page 228: Programando Con Visual.basic.net 2005 by Fashion

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

Page 229: Programando Con Visual.basic.net 2005 by Fashion

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

Page 230: Programando Con Visual.basic.net 2005 by Fashion

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

Page 231: Programando Con Visual.basic.net 2005 by Fashion

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

Page 232: Programando Con Visual.basic.net 2005 by Fashion

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

Page 233: Programando Con Visual.basic.net 2005 by Fashion

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

Page 234: Programando Con Visual.basic.net 2005 by Fashion

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

Page 235: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 236: Programando Con Visual.basic.net 2005 by Fashion

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

Page 237: Programando Con Visual.basic.net 2005 by Fashion

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

Page 238: Programando Con Visual.basic.net 2005 by Fashion

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

Page 239: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 240: Programando Con Visual.basic.net 2005 by Fashion

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) 

Page 241: Programando Con Visual.basic.net 2005 by Fashion

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).

Page 242: Programando Con Visual.basic.net 2005 by Fashion

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

Page 243: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 244: Programando Con Visual.basic.net 2005 by Fashion

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

Page 245: Programando Con Visual.basic.net 2005 by Fashion

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

Page 246: Programando Con Visual.basic.net 2005 by Fashion

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

Page 247: Programando Con Visual.basic.net 2005 by Fashion

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

Page 248: Programando Con Visual.basic.net 2005 by Fashion

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

Page 249: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 250: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 251: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 252: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 253: Programando Con Visual.basic.net 2005 by Fashion

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

Page 254: Programando Con Visual.basic.net 2005 by Fashion

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

Page 255: Programando Con Visual.basic.net 2005 by Fashion

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

Page 256: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 257: Programando Con Visual.basic.net 2005 by Fashion

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 %

Page 258: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 259: Programando Con Visual.basic.net 2005 by Fashion

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

Page 260: Programando Con Visual.basic.net 2005 by Fashion

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

Page 261: Programando Con Visual.basic.net 2005 by Fashion

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

Page 262: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 263: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 264: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 265: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 266: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 267: Programando Con Visual.basic.net 2005 by Fashion

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

Page 268: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 269: Programando Con Visual.basic.net 2005 by Fashion

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

Page 270: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 271: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 272: Programando Con Visual.basic.net 2005 by Fashion

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

Page 273: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 274: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 275: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 276: Programando Con Visual.basic.net 2005 by Fashion

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

Page 277: Programando Con Visual.basic.net 2005 by Fashion

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

Page 278: Programando Con Visual.basic.net 2005 by Fashion

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

Page 279: Programando Con Visual.basic.net 2005 by Fashion

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 

Page 280: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 281: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 282: Programando Con Visual.basic.net 2005 by Fashion

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

Page 283: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 284: Programando Con Visual.basic.net 2005 by Fashion

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

Page 285: Programando Con Visual.basic.net 2005 by Fashion

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

Page 286: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 287: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 288: Programando Con Visual.basic.net 2005 by Fashion

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)

Page 289: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 290: Programando Con Visual.basic.net 2005 by Fashion

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

Page 291: Programando Con Visual.basic.net 2005 by Fashion

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

Page 292: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 293: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 294: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 295: Programando Con Visual.basic.net 2005 by Fashion

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

Page 296: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 297: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 298: Programando Con Visual.basic.net 2005 by Fashion

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

Page 299: Programando Con Visual.basic.net 2005 by Fashion

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

Page 300: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 301: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 302: Programando Con Visual.basic.net 2005 by Fashion

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()

Page 303: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 304: Programando Con Visual.basic.net 2005 by Fashion

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

Page 305: Programando Con Visual.basic.net 2005 by Fashion

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.

Page 306: Programando Con Visual.basic.net 2005 by Fashion

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

Page 307: Programando Con Visual.basic.net 2005 by Fashion

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

Page 308: Programando Con Visual.basic.net 2005 by Fashion

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

Page 309: Programando Con Visual.basic.net 2005 by Fashion

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"

Page 310: Programando Con Visual.basic.net 2005 by Fashion

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"

Page 311: Programando Con Visual.basic.net 2005 by Fashion

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

Page 312: Programando Con Visual.basic.net 2005 by Fashion

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

Page 313: Programando Con Visual.basic.net 2005 by Fashion

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

Page 314: Programando Con Visual.basic.net 2005 by Fashion

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

Page 315: Programando Con Visual.basic.net 2005 by Fashion

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

Page 316: Programando Con Visual.basic.net 2005 by Fashion

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

Page 317: Programando Con Visual.basic.net 2005 by Fashion

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

Page 318: Programando Con Visual.basic.net 2005 by Fashion

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

Page 319: Programando Con Visual.basic.net 2005 by Fashion

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"

Page 320: Programando Con Visual.basic.net 2005 by Fashion

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

Page 321: Programando Con Visual.basic.net 2005 by Fashion

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

Page 322: Programando Con Visual.basic.net 2005 by Fashion

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

Page 323: Programando Con Visual.basic.net 2005 by Fashion

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


Recommended