You are on page 1of 10

Microsoft Visual Basic

GUA DE LABORATORIO N 3
Objetivos
Luego de completar este laboratorio, el estudiante ser capaz
de:
Implementar aplicaciones utilizando estructuras de control
repetitivas.
Cambiar las propiedades de los controles en tiempo de ejecucin.
Trabajar con controles ListBox ComboBox.
Aplicacin N 1
!scribir una aplicacin "ue lea un n#mero entero muestre la
tabla de multiplicar de dic$o n#mero. !l dise%o de entrada
salida debe ser similar al siguiente:
&ara el desarrollo de esta aplicacin, proceda a ubicar los
siguientes controles en el 'ormulario:
( eti"ueta
) cajas de texto
( botn de comando
!n seguida proceda a establecer las propiedades seg#n se
indica:
Adela Valenciano Surez 1
o!"1
*ame +rmTabla
Border,tle -.+ixed /ialog
Text Tabla de multiplicar
Label1
*ame Lbl*umero
Text Ingrese un n#mero:
Te#t1
*ame Txt*umero
Text
Te#t$
*ame TxtTabla
0ultiLine True
1ead2nl True
,crollBars ).3ertical
Text
Tab,top +alse
%o""an&1
*ame BtnLimpiar
Text
&Limpiar
4na vez dise%ada la inter'az, proceda a ingresar el cdigo "ue
se indica a continuacin:
Private Sub TxtNumero_TextChanged(ByVal sender As System.Obe!t" ByVal e As
System.#ventArgs$ %andles TxtNumero.TextChanged
&im N As 'nteger" P As 'nteger" ' As 'nteger
&im S As String ( ))
&im Numero As String ( TxtNumero.Text
*#s un n+mero sin !omas y sin ,unto
'- 'sNumeri!(TxtNumero.Text$ And Numero.'ndexO-()")$ .( / And Numero.'ndexO-().)$ .(
/ Then
N ( C'nt(TxtNumero.Text$
0or ' ( / To 1/
P ( N 2 '
S ( S 3 N 3 ) 2 ) 3 ' 3 ) ( ) 3 P 3 vbNe45ine
Next
TxtTabla.Text ( S
#lse
6essageBox.Sho4()'ntrodu7!a un n+mero entero.)$
TxtTabla.Text ( ))
TxtNumero.0o!us($
TxtNumero.Sele!tAll($
#nd '-
#nd Sub
Adela Valenciano Surez 2
Aplicacin N $
4n n#mero per'ecto es un entero positivo, "ue es igual a la
suma de todos los enteros positivos 5excluido el mismo6 "ue son
divisores del n#mero. !l primer n#mero per'ecto es 7, a "ue los
divisores de 7 son (, ), - ( 8 ) 8 - 9 7. !scribir una
aplicacin "ue encuentre los tres primeros n#meros per'ectos.
!l dise%o de la inter'az debe ser similar a la 'igura
mostrada:
&ara el desarrollo de esta aplicacin, proceda a ubicar los
siguientes controles en el 'ormulario:
( :roupBox
( caja de texto
!n seguida proceda a establecer las propiedades seg#n se
indica:
o!"1
*ame +rm*umero&er'ecto
Border,tle -.+ixed /ialog
Text Los - primeros n#meros per'ectos
G!o'pBo#1
*ame :rp&er'ecto
Text *#mero per'ecto
Te#t1
*ame Txt&er'ecto
0ultiLine True
Text
1ead2nl True
Adela Valenciano Surez 3
4na vez establecidas las propiedades proceda a ingresar el
cdigo "ue se indica a continuacin:
Private Sub 0rmNumeroPer-e!to_5oad(ByVal sender As System.Obe!t" ByVal e As
System.#ventArgs$ %andles 6yBase.5oad
&im 8 As 'nteger ( / *Contador de numeros ,er-e!tos en!ontrados
&im N As 'nteger ( 1 *N+meros 9ue se van evaluando
&im i As 'nteger *'ndi!e 9ue re!orre todos los n+meros hasta el 9ue se est:
evaluando (N$
&im S As 'nteger *A!umulador de la suma de los divisores del n+mero 9ue se est:
evaluando (N$
&im Per-e!tos As String ( )) *N+meros ,er-e!tos en!ontrados
;hile 8 . <
S ( /
0or i ( 1 To N = 1
'- N 6od i ( / Then S ( S > i
Next
'- N ( S Then
Per-e!tos ( Per-e!tos 3 N 3 vbNe45ine
8 ( 8 > 1
#nd '-
N ( N > 1
#nd ;hile
TxtPer-e!to.Text ( Per-e!tos
#nd Sub
Adela Valenciano Surez 4
Aplicacin N 3
Construa una aplicacin "ue permita el ingreso de un n#mero
entero muestre en pantalla la siguiente in'ormacin: (6 Cantidad
de ci'ras, )6 ,uma de ci'ras impares, -6 ,uma de ci'ras pares, ;6
,uma total de ci'ras, <6 Ci'ra maor, 76 Ci'ra menor =6
/ivisores de dic$o n#mero.
!l dise%o de la inter'az debe ser similar a la 'igura
siguiente:
&ara el desarrollo de esta aplicacin, proceda a ubicar los
siguientes controles en el 'ormulario:
( :roupBox
) &anel
= eti"uetas
> cajas de texto
) botn de comando
!n seguida proceda a establecer las propiedades seg#n se
indica:
o!"1
*ame +rmCi'ras
Border,tle -.+ixed /ialog
Text Ci'ras divisores de un n#mero
Adela Valenciano Surez 5
,tart4p&osition ).Center,creen
(anel1
*ame &anel!ntrada
Text
Border,tle +ixed -/
(anel$
*ame &anel,alida
Text
Border,tle +ixed -/
G!o'pBo#3
*ame :rp/ivisores
Text /ivisores
Label1
*ame Lbl*umero
?uto,ize True
Text Ingrese un n#mero:
Label$
*ame LblC@Ci'ras
?uto,ize True
Text Cantidad de ci'ras:
Label3
*ame Lbl,umaC@Impares
?uto,ize True
Text ,uma de ci'ras impares:
Label)
*ame Lbl,umaC@&ares
?uto,ize True
Text ,uma de ci'ras pares:
Label*
*ame Lbl,umaC
?uto,ize True
Text ,uma total de ci'ras:
Label+
*ame LblC@0aor
?uto,ize True
Text Ci'ra maor:
Adela Valenciano Surez 6
Label,
*ame LblC@0enor
?uto,ize True
Text Ci'ra menor:
Te#t1
*ame Txt*umero
Text
Te#t$
*ame TxtCantidadCi'ras
1ead2nl True
Text
Te#t3
*ame Txt,umaImpares
1ead2nl True
Text
Te#t)
*ame Txt,uma&ares
1ead2nl True
Text
Te#t*
*ame Txt,umaCi'ras
1ead2nl True
Text
Te#t+
*ame TxtC@0aor
1ead2nl True
Text
Te#t,
*ame TxtC@0enor
1ead2nl True
Text
Te#t-
*ame Txt/ivisores
0ultiLine True
1ead2nl True
,crollBars ).3ertical
Text
Adela Valenciano Surez 7
Botn 1
*ame Btn?ceptar
Text
&?ceptar
Botn $
*ame Btn,alir
Text
&,alir
4na vez establecidas las propiedades proceda $a ingresar el
cdigo "ue se indica a continuacin:
Private Sub BtnA!e,tar_Cli!?(ByVal sender As System.Obe!t" ByVal e As System.#ventArgs$
%andles BtnA!e,tar.Cli!?
*#s un n+mero sin !omas y sin ,unto
&im Numero As String ( TxtNumero.Text
'- 'sNumeri!(Numero$ And Numero.'ndexO-()")$ .( / And Numero.'ndexO-().)$ .( / Then
&im N As 'nteger" 6 As 'nteger *N+mero a evaluar
Try
N ( C'nt(TxtNumero.Text$
6 ( N
Cat!h ex As Over-lo4#x!e,tion *Prevenir error de desbordamiento
6essageBox.Sho4()No se a!e,tan n+meros mayores de @.1AB.AC<.DAB)$
TxtNumero.0o!us($
TxtNumero.Sele!tAll($
#nd Try
*C:l!ulo de divisores
=========================================================================
&im &ivisores As String ( )) *Cadena ,ara guardar todos los divisores del n+mero
&im As 'nteger
0or ( 1 To N = 1 *No visuali7amos !omo divisor N. Previene over-lo4 ,ara el
numero @.1AB.AC<.DAB
'- (N 6od ( /$ Then
&ivisores ( &ivisores 3 3 vbNe45ine
#nd '-
Next
*0in del !:l!ulo de divisores
*===============================================================================
*C:l!ulo de Suma de !i-ras" suma de !i-ras ,ares e im,ares y n+mero de !i-ras
&im CantidadCi-ras As 'nteger ( /
&im Suma'm,ares As 'nteger ( /" SumaPares As 'nteger ( /" SumaCi-ras As 'nteger
( /
;hile N E /
'- (N 6od 1/$ 6od @ ( / Then
SumaPares ( SumaPares > N 6od 1/ *#s !i-ra ,ar
#lse
Suma'm,ares ( Suma'm,ares > N 6od 1/ *#s !i-ra im,ar
#nd '-
SumaCi-ras ( SumaCi-ras > N 6od 1/ *Suma !i-ras
CantidadCi-ras ( CantidadCi-ras > 1 *Cuenta !i-ras
N ( N F 1/ *Guitamos +ltima !i-ra al n+mero
#nd ;hile
*0in !:l!ulo de Suma de !i-ras" suma de !i-ras ,ares e im,ares y n+mero de
!i-ras
*===============================================================================
====
*C:l!ulo !i-ra mayor y menor
&im C_6ayor As 'nteger ( 6 6od 1/
Adela Valenciano Surez 8
*5a !i-ra mayor y la menor es la ultima
&im C_6enor As 'nteger ( C_6ayor
;hile 6 E /
'- C_6ayor . 6 6od 1/ Then
C_6ayor ( 6 6od 1/
#nd '-
'- C_6enor E 6 6od 1/ Then
C_6enor ( 6 6od 1/
#nd '-
6 ( 6 F 1/ *Guitamos +ltima !i-ra al n+mero
#nd ;hile
*0in !:l!ulo de !i-ra mayor y menor
*===============================================================================
====
TxtCantidadCi-ras.Text ( CStr(CantidadCi-ras$
TxtSuma'm,ares.Text ( CStr(Suma'm,ares$
TxtSumaPares.Text ( CStr(SumaPares$
TxtSumaCi-ras.Text ( CStr(SumaCi-ras$
TxtC_6ayor.Text ( CStr(C_6ayor$
TxtC_6enor.Text ( CStr(C_6enor$
Txt&ivisores.Text ( &ivisores
#lse
6essageBox.Sho4()&ebe introdu!ir un n+mero entero.)$
TxtNumero.0o!us($
TxtNumero.Sele!tAll($
#nd '-
#nd Sub
Aplicacin N )
/ise%ar una aplicacin "ue permita a%adir nombres de personas
en un ListBox, !liminarlos, buscarlos ordenarlos.
!l dise%o debe contener los siguientes botones:
?gregar
!liminarlosLimpiar
Buscar
2rdenar
,eg#n el botn pulsado la aplicacin deber responder de la
siguiente 'orma:
A.!e.a!: ,e agrega el nombre escrito en una caja de texto al
ListBox. *o se deben permitir nombres repetidos.
Eli"ina!: !limina el nombre seleccionado en el ListBox, sino
$a ning#n nombre seleccionado, eliminar el nombre escrito en el
la caja de texto, si este nombre no existe en el ListBox,
comunicarlo.
Li"pia!: !limina todos los nombres del ListBox.
Adela Valenciano Surez 9
B'sca!: Buscar el nombre escrito en la cajade texto en el
ListBox, si existe seleccionarlo, sino comunicar "ue no existe ese
nombre.
O!&ena!: 2rdenar los nombres del ListBox por orden
?l'abAtico.
!l dise%o de la inter'az otras consideraciones se dejan a su
criterio.
Aplicacin N *
4n centro numArico es un n#mero "ue separa una lista de
n#meros enteros 5comenzando en (6 en dos grupos de n#meros, cuas
sumas son iguales. !l primer centro numArico es el 7, el cual
separa la lista 5( a >6 en los grupos: 5(B )B -B ;B <6 5=B >6
cuas sumas son ambas iguales a (<. !l segundo centro numArico es
el -<, el cual separa la lista 5( a ;C6 en los grupos: 5( a -;6
5-7 a ;C6 cuas sumas son ambas iguales a <C<. ,e pide elaborar
una aplicacin "ue calcule los centros numAricos entre ( *.
!l dise%o de la inter'az otras consideraciones se dejan a su
criterio.
Adela Valenciano Surez 10

You might also like