|
| Autor |
Mensaje |
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
Publicado: Vie 30 Mar, 2007 18:21 pm
Título del mensaje: Ejercicios propuestos en Visual Basic 6 (básicos) |
|
|
Ejercicios propuestos en Visual Basic 6 (básicos)
En este post iré poniendo diferentes ejercicios por si la gente se quiere entretener un rato haciéndolos y así ir practicando.
Los ejercicios irán subiendo el nivel poco a poco, así que si ves los primeros muy sencillos es normal
Forma de presentar un ejercicio o varios:
Usaremos los nombres que traen por defecto los controles (text1, text2, command1, command2, etc...)
No hace falta subir la practica, sólo hay que poner el código.
El código se pondrá dentro de las etiquetas code, para que se vea mejor, ok. ej:
NOTA: Si no tienes claro como hacerlo o necesitas una explicación del ejercicio, abre un post con el asunto Duda sobre Ejercicios propuestos y verás como entre todos te ayudamos.
Los ejercicios que empiezan por 3xxx son para usuarios noveles y los que empiezan por 1xxx son algo mas avanzados.
Ej. 101:
| Cita: | En este primer ejercicio vamos a simular una calculadora elemental, asi que los controles a usar son: tres cajas de texto y cuatro botones. Al presionar un botón tiene que hacer la operación de suma, resta, multiplicación y división y mostrar el resultado en una caja de texto.
NOTA:Puedes usar los controles que desees. |
Ej. 102:
| Cita: | El programa tiene que pedirnos tres valores numéricos y después mostrarlos ordenados de menor a mayor.
NOTA:Puedes usar los controles que desees. |
Ej. 102b:
| Cita: | Usando el ejercicio anterior, pero validando que los datos introducidos sólo sean números.
NOTA:Puedes usar los controles que desees. |
Ej. 102c:
| Cita: | Usando el ejercicio anterior, a parte de mostrar los tres valores ordenados tienes que sumarlos y mostrar en cuantas unidades es superior o inferior a 50.
EJ: 1, 2, 2 = 5 diferencia con 50 = 45
EJ: 25, 25, 5 = 55 diferencia con 50 = 5
NOTA:Puedes usar los controles que desees. |
Ej. 103:
| Cita: | Vamos a recoger 10 valores por pantalla y los vamos a ir almacenando en un array de 10, ahora tienes que mostrarlos ordenados de forma ascendente y también descendente.
NOTA:Puedes usar los controles que desees. |
Ej. 104:
| Cita: | Vamos a hacer un login de usuario y contraseña que lo verificaremos con una función. El nombre de usuario y contraseña estarán como constantes.
Consideraciones a tener en cuenta:
El text Contraseña mostrara su contenido como asteriscos '*'
NOTA:Puedes usar los controles que desees.
Todas las propiedades de los objetos que se puedan modificar por código se harán por código y las que no se puedan se harán desde la ventana de propiedades. |
Usando componentes
Ej. 105:
| Cita: | Vamos a usar un picturebox para mostrar texto como si fuese un encabezado de una factura.
Deberia de quedar mas o menos así:
Propiedades a usar del picture:
-Autoredraw
-CurrentX
-CurrentY
-Line
-Picture1.Print "Hola"
Consideraciones a tener en cuenta:
Si la cabecera no te sale bien deberías revisar que después de un .Print "xxx" este un ';'
NOTA: Todas las propiedades de los objetos que se puedan modificar por código se harán por código y las que no se puedan se harán desde la ventana de propiedades. |
Ej. 106:
| Cita: | Vamos a crear un formulario y le vamos a cambiar el color (pero a código) quedando el formulario en más de dos colores difuminados.
NOTA:NO se puede usar el objeto PictureBox ni el objeto Image |
Ej. 107:
| Cita: | Vamos a mostrar el nombre del usuario activo y el nombre del PC
NOTA: No se puede usar ninguna API (eso lo haremos mas adelante) |
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Ej. 301:
| Cita: | Primer ejercicio de teoría.
-Que es una variable?
-Como se declara?
-Que es una cadena de caracteres?
-Para que sirven las propiedades de los objetos?
-Que son los eventos? Menciona algunos...
NOTA:Leete el manual de introducción a VB por LOW |
Ej. 302:
| Cita: | Crea un formulario y agrega un botón(commandbuton) y al hacer click sobre el botón tiene que mostrar un msgbox con este aspecto
Recuerda que tienes que jugar un poco con las " " con las ',' y con los '+' ir probando y comentar los resultados.
NOTA:Lee el manual de introducción a VB por LOW |
Ej. 303:
| Cita: | | Crea un formulario con un textbox y un commandbutton y al presionar el commandbuton tiene que mostrar en un msgbox el contenido escrito en el textbox |
Ej. 304:
| Cita: | | Crea un formulario con dos textbox y un commandbutton y al presionar el commandbuton tiene que mostrar en un msgbox el contenido escrito en los dos textbox 'concatenados' |
Ej. 305:
| Cita: | | Describe brevemente que es un bucle y para que lo utilizarias. Haz un ejemplo en código del FOR |
Poco a poco iré añadiendo más ejercicios.
Un saludo.  |
Ultima edición por Tesis el Dom 18 Mar, 2012 21:17 pm; editado 12 veces
|
|
| Volver arriba |
|
|
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
Publicado: Mie 04 Abr, 2007 20:23 pm
Título del mensaje: |
|
|
Nadie se anima??? |
|
|
|
| Volver arriba |
|
|
Arael25 Colaborador

Registrado: 13 Mar 2007 Mensajes: 611 Ubicación: Lima - Peru
|
|
| Volver arriba |
|
|
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
|
| Volver arriba |
|
|
guiyermo Ex coAdmin

Registrado: 07 Mar 2007 Mensajes: 894 Ubicación: Avià - Barcelona
|
|
| Volver arriba |
|
|
guiyermo Ex coAdmin

Registrado: 07 Mar 2007 Mensajes: 894 Ubicación: Avià - Barcelona
|
|
| Volver arriba |
|
|
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
|
| Volver arriba |
|
|
guiyermo Ex coAdmin

Registrado: 07 Mar 2007 Mensajes: 894 Ubicación: Avià - Barcelona
|
|
| Volver arriba |
|
|
JoxeDuKe12 Moderador

Registrado: 12 Abr 2007 Mensajes: 452 Ubicación: Medellín - Colombia
|
Publicado: Jue 12 Abr, 2007 06:01 am
Título del mensaje: Re: Ejecicios propuestos en VB (básico) |
|
|
101:
En este primer ejercicio vamos a simular una calculadora elemental, asi que los controles a usar son: tres cajas de texto y cuatro botones. Al presionar un botón tiene que hacer la operación de suma, resta, multiplicación y división y mostrar el resultado en una caja de texto.
NOTA:Puedes usar los controles que desees.
solucion a este ejercicio
Esta es la solucion q yo le doy al ejercicio el texto 3 esta deshabilitado y no estoy validando q solo sean numero si ingresas letras saca error ay va el codigo sugerencias a la orden (no recuerdo lo del tecto en gris a si q lo mando sin eso para los otros lo pongo)
*-*-*-*-*-*-*-*-*--*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**--*-**-*-*
| Código: |
Dim operar As Byte
Dim operando As Byte
Sub validartextos()
If Me.Text1.Text = "" Or Me.Text2.Text = "" Then
MsgBox "Debes llenar los dos numeros"
operar = 0
Else
operar = 1
End If
If operar = 1 Then
Select Case operando
Case 1
Me.Text3 = Val(Me.Text1.Text) * Val(Me.Text2.Text)
Case 2
Me.Text3 = Val(Me.Text1.Text) - Val(Me.Text2.Text)
Case 3
If Me.Text2.Text = 0 Then
MsgBox "dividir por cero no se puede"
Command5_Click
Else
Me.Text3 = Val(Me.Text1.Text) / Val(Me.Text2.Text)
End If
Case 4
Me.Text3 = Val(Me.Text1.Text) + Val(Me.Text2.Text)
End Select
End If
End Sub
Private Sub Command1_Click() 'multiplica
operando = 1
validartextos
End Sub
Private Sub Command2_Click() 'resta
operando = 2
validartextos
End Sub
Private Sub Command3_Click() 'divide
operando = 3
validartextos
End Sub
Private Sub Command4_Click() 'suma
operando = 4
validartextos
End Sub
Private Sub Command5_Click()
Me.Text1.Text = ""
Me.Text2.Text = ""
Me.Text3.Text = ""
Me.Text1.SetFocus
End Sub
|
|
Ultima edición por JoxeDuKe12 el Jue 22 Oct, 2009 00:50 am; editado 1 vez
|
|
| Volver arriba |
|
|
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
|
| Volver arriba |
|
|
JoxeDuKe12 Moderador

Registrado: 12 Abr 2007 Mensajes: 452 Ubicación: Medellín - Colombia
|
|
| Volver arriba |
|
|
JoxeDuKe12 Moderador

Registrado: 12 Abr 2007 Mensajes: 452 Ubicación: Medellín - Colombia
|
Publicado: Vie 13 Abr, 2007 05:45 am
Título del mensaje: Re: Ejecicios propuestos en VB (básico) |
|
|
103:
Vamos a recoger 10 valores por pantalla y los vamos a ir almacenando en un array de 10, ahora tienes que mostrarlos ordenados de forma ascendente y tambien descendente.
NOTA:Puedes usar los controles que desees.
Hola no es lo mas optimo del mundo pero este es el ultimo ejercicio , los numeros ordenados ascendente o descendente se guardan en textos luego de ser ordenados, la idea es q el boton indique que numero se esta ingresando pero no me funciono exactamente bien, ay les va, todos los programas y su codigo estaran en www.quedese.20m.com en la seccion de descargar se aceptan sugerencias a la pagina
*-*-*-*-*-*-*-*-*-*-**---**-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--*-*-*
| Código: |
Dim contador As Byte
Dim vecnumeros(10) As Integer
Private Sub Command1_Click()
If Me.Text1.Text = "" Then
MsgBox "Ingresa el valor para el numero " & contador
Else
vecnumeros(contador - 1) = Val(Me.Text1.Text)
Me.Command1.Caption = "Valor para el numero " & contador
contador = contador + 1
Me.Text1.Text = ""
Me.Text1.SetFocus
End If
If contador = 10 Then
cargarvaribles
ordenarnuemros
End If
End Sub
Sub cargarvaribles()
contador = 1
Me.Command1.Caption = "Valor para el numero " & contador
Me.Text2.Text = ""
Me.Text3.Text = ""
Me.Text1.Text = ""
End Sub
Sub ordenarnuemros()
Dim cambio As Integer
For j = 0 To 8
For i = 0 To 8
If vecnumeros(i) > vecnumeros(i + 1) Then
cambio = vecnumeros(i)
vecnumeros(i) = vecnumeros(i + 1)
vecnumeros(i + 1) = cambio
End If
Next i
Next j
For i = 0 To 9
Me.Text2.SelText = "- " & vecnumeros(i)
Next i
For j = 0 To 8
For i = 0 To 8
If vecnumeros(i) < vecnumeros(i + 1) Then
cambio = vecnumeros(i)
vecnumeros(i) = vecnumeros(i + 1)
vecnumeros(i + 1) = cambio
End If
Next i
Next j
For i = 0 To 9
Me.Text3.SelText = "- " & vecnumeros(i)
Next i
End Sub
Private Sub Form_Load()
cargarvaribles
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii > 47 And KeyAscii < 58 Or KeyAscii = 46 Then
'rango correcto
Else
KeyAscii = 0
End If
End Sub
|
|
Ultima edición por JoxeDuKe12 el Jue 22 Oct, 2009 00:55 am; editado 1 vez
|
|
| Volver arriba |
|
|
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
Publicado: Vie 13 Abr, 2007 14:24 pm
Título del mensaje: |
|
|
Hola JoxeDuKe12, usa las etiquetas code para poner código, asi es mas facil de ver.
Respecto a los Ej 102: y 102b:
Te ha pasado lo mismo que en el ejercicio anterior...
| Código: | Private Sub Command1_Click()
For i = 0 To 2
If Text1(i).Text = "" Then
MsgBox "Debes ingresar los tres numeros"
Exit Sub
End If
Next i
ordenarnumeros
End Sub |
Date cuenta que de 12 lineas de código se ha quedado en 7, tienes que buscar siempre la optimización del código.
El resto está bastante bién
Explicación al EJ 102c:
Usando el ejercicio anterior, a parte de mostrar los tres valores ordenados tienes que sumarlos y mostrar en cuantas unidades es superior o inferior a 50.
EJ: 1, 2, 2 = 5 diferencia con 50 = 45
EJ: 25, 25, 5 = 55 diferencia con 50 = 5
Es bastante simple, tienes que sumar los tres valores (de los textbox) y compararlos con el nº 50 si la suma de los tres valores es 10 la siferencia con 50 es 40 y mostrarias el 40 en otro textbox
Luego corrijo el otro  |
|
|
|
| Volver arriba |
|
|
JoxeDuKe12 Moderador

Registrado: 12 Abr 2007 Mensajes: 452 Ubicación: Medellín - Colombia
|
|
| Volver arriba |
|
|
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
Publicado: Vie 13 Abr, 2007 17:31 pm
Título del mensaje: |
|
|
Corrección del Ej. 103: veo que manejas bien los bucles pero solo te he visto usar el for asi que quiero que uses en cada momento el mas apropiado, aunque con el for funcione (como doy por )
Vamos por partes...
| JoxeDuKe12 escribió: | | La idea es q el boton indique que numero se esta ingresando pero no me funciono exactamente bien |
Modificando cuatro puntos lo podias haber logrado, fijate.
| Código: | Sub cargarvaribles()
contador = 0 'Lo inicializas a cero
Me.Command1.Caption = "Valor para el numero " & contador + 1 'Aqui muestras contador +1
Me.Text2.Text = ""
Me.Text3.Text = ""
Me.Text1.Text = ""
End Sub
Private Sub Command1_Click()
If Me.Text1.Text = "" Then
MsgBox "Ingresa el valor para el numero " & contador
Else
vecnumeros(contador) = Val(Me.Text1.Text) 'Aqui a contador no le resto 1
Me.Command1.Caption = "Valor para el numero " & contador + 2 'Aqui le sumo 2 ;)
contador = contador + 1
Me.Text1.Text = ""
Me.Text1.SetFocus
End If
If contador = 10 Then
cargarvaribles
ordenarnuemros
End If
End Sub |
Vamos al grano con tu Ej.
La carga del vector está bien, pero si tienes tiempo y quieres haz una carga de un vector de 10 usando un InputBox y controlando que solo se puedan meter números y que no tenga mas de 7 lineas..
| Código: | If Me.Text1.Text = "" Then
MsgBox "Ingresa el valor para el numero " & contador
Else
vecnumeros(contador - 1) = Val(Me.Text1.Text)
Me.Command1.Caption = "Valor para el numero " & contador
contador = contador + 1
Me.Text1.Text = ""
Me.Text1.SetFocus
End If
If contador = 10 Then
cargarvaribles
ordenarnuemros
End If |
Aqui estoy descontento
En el primer bucle for(j) anidas otro bucle For(i) para ordenar el vector de forma descendente, una vez ordenado lo muestras en el text2 con otro bucle For(i), asta aqui bien... Pero despues vuelves a ordenar el vector de forma ascendente para despues visualizarlo en el text3
| Código: | Sub ordenarnuemros()
Dim cambio As Integer
For j = 0 To 8
For i = 0 To 8
If vecnumeros(i) > vecnumeros(i + 1) Then
cambio = vecnumeros(i)
vecnumeros(i) = vecnumeros(i + 1)
vecnumeros(i + 1) = cambio
End If
Next i
Next j
For i = 0 To 9
Me.Text2.SelText = "- " & vecnumeros(i)
Next i
For j = 0 To 8
For i = 0 To 8
If vecnumeros(i) < vecnumeros(i + 1) Then
cambio = vecnumeros(i)
vecnumeros(i) = vecnumeros(i + 1)
vecnumeros(i + 1) = cambio
End If
Next i
Next j
For i = 0 To 9
Me.Text3.SelText = "- " & vecnumeros(i)
Next i
End Sub |
Mira, si el vector ya estaba ordenadode forma descendente solo tenias que mostrarlo de forma ascendente, lo podias haber hecho decrementando el bucle, mira el ejemplo.
| Código: | Sub ordenarnuemros()
Dim cambio As Integer
For j = 0 To 8
For i = 0 To 8
If vecnumeros(i) > vecnumeros(i + 1) Then
cambio = vecnumeros(i)
vecnumeros(i) = vecnumeros(i + 1)
vecnumeros(i + 1) = cambio
End If
Next i
Next j
For i = 0 To 9
Me.Text2.SelText = "- " & vecnumeros(i)
Next i
For i = 9 To 0 Step -1
Me.Text3.SelText = "- " & vecnumeros(i)
Next i |
El ejercicio estaba bien.
Saludos,
PD: Intentaré poner algunos ejercicios mas. |
|
|
|
| Volver arriba |
|
|