Cuaderno de Trabajo VB.net II - Alumno

Share Embed Donate


Short Description

Download Cuaderno de Trabajo VB.net II - Alumno...

Description

CUADERNO DE TRABAJO VISUAL BASIC.NET II

Cuaderno de Trabajo Visual Basic se encuentra bajo una Licencia Creative Commons Atribución-No ComercialLicenciamiento Recíproco 3.0 Unported. Septiembre 2011 – IDSystems

Contenido INTRODUCCION ..........................................................................................................................................................4 EJERCICIOS SOBRE EL LENGUAJE ................................................................................................................................5 Actividad de Aprendizaje 6 – Partes de la computadora .......................................................................................6 Actividad de Aprendizaje 7 – Funciones matematicas ...........................................................................................8 Actividad de Aprendizaje 8 – Interes compuesto................................................................................................ 10 EJERCICIOS SOBRE CONDICIONALES IF y SELECT CASE............................................................................................ 12 Actividad de Aprendizaje 9 – Crucigrama............................................................................................................ 13 Actividad de Aprendizaje 10 – Contraseña.......................................................................................................... 16 Actividad de Aprendizaje 14 – Cobro de Servicios .............................................................................................. 17 Actividad de Aprendizaje 15 – Areas ................................................................................................................... 24 EJERCICIOS SOBRE CICLOS FOR, DO WHILE, DO UNTIL ........................................................................................... 29 Actividad de Aprendizaje 16 – Sumas ................................................................................................................. 30 Actividad de Aprendizaje 17 – Temperaturas ..................................................................................................... 33 EJERCICIOS SOBRE ARRAYS...................................................................................................................................... 38 Actividad de Aprendizaje 20 – Promedio de Notas ............................................................................................. 39 EJERCICIOS SOBRE USO DE CONTROLES.................................................................................................................. 42 Actividad de Aprendizaje 24 – Torero ................................................................................................................. 43 Actividad de Aprendizaje 26 – Cubos .................................................................................................................. 46 RETOS ...................................................................................................................................................................... 49 RETO 1 – Diagnostico de RED LAN ....................................................................................................................... 50 RETO 2 – Informacion de Sistema de una PC ...................................................................................................... 52

Cuaderno de Trabajo Visual Basic .NET II

Página 2

Cuaderno de Trabajo Visual Basic .NET II

Página 3

INTRODUCCION Este es el Cuaderno de Trabajo II de Visual Basic. Es la continuacion del primer cuaderno el cual esta lleno de ejercicios practicos llamados Actividades de Aprendizaje. A diferencia de los ejercicios (los cuales son paso a paso) y las practicas (que no se da ninguna solucion), estos ejercicios contienen una imagen del resultado y el codigo que debe ser tecleado. No asi, las propiedades de los controles y otros elementos graficos. Es responsabilidad del Alumno crear una tabla (o llenar) de los controles (objetos visuales) que lleva cada una de las actividades, para que se adecue según se muestra en la imagen resultante. Estos ejercicios fueron tomados de Visual Basic Programacion para Docentes y agradezco a Mirta Echeverria y Manuel Perez Valdez quienes tienen una excelente pagina de ejercicios. Sin embargo, hubo que clasificarlos en bloques de temas para llevaran un orden de aprendizaje de acuerdo a la mayoria de los cursos de Visual Basic. Por lo que dicha atribucion es nuestra. Recomendamos ampliamente consultar los dos Cuadernos de Trabajo, asi como su Guia de Estudio. Y tomar las notas resumidas en las clases presenciales de su profesor. Estas actividades requieren que el Alumno entienda el proceso de programacion (previamente visto en otras asignaturas) como son: tipos de datos, identificadores, condicionales (simples y multiples), ciclos (mientras, hasta, para), arreglos (unidimensionales y multidimensionales), estructuras. Los actividades es una combinacion de elementos de programacion, elementos del lenguaje VB.NET (comandos, funciones, namespaces, objetos), ejercicios (algunos puntos paso a paso o codigo) y practica (el resto de la elaboracion). De esta forma, el aprendizaje del entorno de Visual Basic.NET se centra mas en el uso y estructura de los programas que en aprender a programar o iniciar con comandos en modo de consola.

Cuaderno de Trabajo Visual Basic .NET II

Página 4

EJERCICIOS SOBRE EL LENGUAJE Los siguientes ejercicios, aunque de manera visual y con manejo de controles, se centran mas en sentencias del lenguaje, declaracion de variables y funciones. Usando los controles minimos estandar.

Cuaderno de Trabajo Visual Basic .NET II

Página 5

Actividad de Aprendizaje 6 – Partes de la computadora

Abrimos el programa Visual Basic seleccionamos Nuevo proyecto y comenzamos a trabajar. Este ejercicio muestra un truco muy sencillo pero de gran utilidad. A veces tenemos una imagen total que queremos particionar, en este caso la computadora, que nos permite subdividirla en tres partes : monitor, teclado, gabinete. Esto por código sería muy complejo pero usando el control Label en su modo transparente y con el Caption vacío, o sea sin etiqueta nos permite subdividir la imagen y que sus partes respondan a el evento Click por separado, provocando una respuesta distinta. En el formulario podemos ver la Label dibujada sobre el monitor, todavía opaca como viene por defecto, luego sobre el gabinete está transparente pero con el Caption , también por defecto en este caso : Label2. Y en el teclado donde está posicionado el cursor en cambio está transparente. De acuerdo a la parte que seleccionemos: en una cuarta Label se nos mostrará el texto correspondiente, en el caso del formulario : "Teclado". En este ejercicio tenemos una Image, con su Propiedad Stretch a True, lo que nos permite agrandar un icono al tamaño deseado. Y cuatro Labels, tres transparentes para subdividir la Image y una opaca para mostrar la parte seleccionada, y un Botón de Salida.

Cuaderno de Trabajo Visual Basic .NET II

Página 6

Control label

Nombre

Propiedades = Valor

label

label

label

picturebox

El Código de este ejercicio es el siguiente:

Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Parent = PictureBox1 Label2.Parent = PictureBox1 Label3.Parent = PictureBox1 Label4.Parent = PictureBox1 Label1.BackColor Label2.BackColor Label3.BackColor Label4.BackColor End Sub

= = = =

Color.Transparent Color.Transparent Color.Transparent Color.Transparent

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click lblParte.Text = "Monitor" End Sub Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click lblParte.Text = "CPU" End Sub Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click lblParte.Text = "Teclado" End Sub

Cuaderno de Trabajo Visual Basic .NET II

Página 7

Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click lblParte.Text = "Mouse" End Sub End Class

Actividad de Aprendizaje 7 – Funciones matematicas

En este ejercicio veremos algunas funciones como la búsqueda de números al azar, raíz de números y redondeo de decimales. Usamos botones para ejecutar las funciones, cajas de texto para ingresar valores y labels para dar salida a los resultados.

Cuaderno de Trabajo Visual Basic .NET II

Página 8

Control textbox

Nombre

Propiedades

textbox textbox textbox textbox textbox label label label label button button button button El código es: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim azar As Integer Randomize() azar = Int(10 * Rnd()) + 1 TextBox1.Text = azar End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim azar As Integer Dim rangomenor As Integer Dim rangomayor As Integer Randomize()

Cuaderno de Trabajo Visual Basic .NET II

Página 9

rangomayor = CInt(TextBox2.Text) rangomenor = CInt(TextBox3.Text) azar = Int((rangomayor - rangomenor + 1) * Rnd()) + rangomenor TextBox4.Text = azar End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim numero As Integer Dim raiz As Integer raiz = CInt(TextBox5.Text) numero = CInt(TextBox6.Text) TextBox7.Text = numero ^ (1 / raiz) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim numero As Integer Dim decimales As Integer numero = TextBox8.Text decimales = CInt(TextBox9.Text) TextBox10.Text = Math.Round(numero, decimales) End Sub End Class

Actividad de Aprendizaje 8 – Interes compuesto

En este ejercicio vamos a crear una función que nos permite calcular un interes compuesto, de una suma inicial de acuerdo al porcentaje de interés ingresado y la cantidad de cuotas en que se devuelva el mismo. Usamos tres labels informativas, y tres cajas de texto para ingresar los valores, un boton para ejecutar la función y una label para que nos devuelva el cálculo hecho.

Cuaderno de Trabajo Visual Basic .NET II

Página 10

Control label

Nombre

Propiedades

label label label textbox textbox textbox button

El código es: Public Class Form1 Dim capital As Decimal Dim interesmensual As Single Dim cuotas As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click capital = TextBox1.Text interesmensual = TextBox2.Text cuotas = TextBox3.Text Label4.Text = InteresCompuesto(capital, interesmensual, cuotas) End Sub Function InteresCompuesto(ByVal capitas As Integer, ByVal interesmensual As Single, ByVal cuotas As Long) As Integer Dim i As Long Dim total As Integer total = capital For i = 1 To cuotas total = total + (total * interesmensual) Next InteresCompuesto = total - capital End Function End Class

Cuaderno de Trabajo Visual Basic .NET II

Página 11

EJERCICIOS SOBRE CONDICIONALES IF y SELECT CASE Los siguientes ejercicios, aunque de manera visual y con manejo de controles, se centran mas en las estrucuturas condicionales.

Cuaderno de Trabajo Visual Basic .NET II

Página 12

Actividad de Aprendizaje 9 – Crucigrama Con este ejercicio queremos sugerir una ejemplo de crucigrama que cada uno podrá adaptar a los contenidos requeridos. También a partir de aquí podríamos elaborar un Ahorcado.

El crucigrama está armado con cuadros de texto o sea controles Text, encerrados dentro de un control frame, este control tiene la única finalidad de agrupar y contener otros controles, ordenando la interactividad de una manera visual. Otros dos controles Frame agrupan las opciones vertical y horizontal. Conteniendo controles CheckBox que al ser seleccionados hacen la corrección de las letras ingresadas en las cajas de texto. El ingreso de las mismas se hace en tiempo de ejecución a través del teclado. A la derecha vemos unos controles Picture vacíos que se cargaran con imágenes que muestren por ejemplo una cara sonriente si la palabra es correcta o seria si no lo es, o cualquier otro tipo de imagen .Podemos llamar a esta imagen con la función LoadPicture desde cualquier parte de nuestro disco rígido. Y un botón con el icono de Hijitus indica la Salida y cierre del programa. Acá tendremos que crear por código una estructura condicional que controle si la entrada de datos es correcta o no. Control textbox

Nombre

Propiedades

textbox textbox Cuaderno de Trabajo Visual Basic .NET II

Página 13

textbox textbox textbox textbox textbox textbox textbox textbox groupbox (frame) groupbox (frame) checkbox checkbox checkbox picturebox picturebox picturebox button

El código es el siguiente: Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End

Cuaderno de Trabajo Visual Basic .NET II

Página 14

End Sub Private Sub CheckBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.Click If TextBox6.Text = "L" And TextBox7.Text = "O" And TextBox8.Text = "R" And TextBox4.Text = "O" And TextBox9.Text = "S" Then 'Este codigo debe ir todo en un mismo renlgon y revisa si se escribio una de las palabras correctas 'Cuidado con los nombres de los controles porque seguramente no seran los mismos que en este ejercicio 'Si acerto, pondremos una carita feliz, de lo contrario una carita fea. PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\ico003.ico") MsgBox("ACERTO") Else PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\ico004.ico") MsgBox("FALLO") End If End Sub Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged If TextBox7.Text = "O" And TextBox10.Text = "R" And TextBox11.Text = "O" Then PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\ico003.ico") MsgBox("ACERTO") Else PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\ico004.ico") MsgBox("FALLO") End If End Sub Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged If TextBox1.Text = "R" And TextBox2.Text = "A" And TextBox3.Text = "T" And TextBox4.Text = "O" And TextBox5.Text = "N" Then PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\ico003.ico") MsgBox("ACERTO") Else PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\ico004.ico") MsgBox("FALLO") End If End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Página 15

Actividad de Aprendizaje 10 – Contraseña Varios visitantes nos han pedido algún ejercicio que use una contraseña para entrar a un programa. Aquí va un ejemplo. Vamos a usar la función InputBox que al abrir una ventana con una caja de texto nos permite ingresar la contraseña. Si no queremos usar la función podemos reemplazarla por el uso de un pequeño formulario diseñado a nuestro gusto con una caja de texto. El programa se ve así:

Control button

Nombre

Propiedades

picturebox

Y el código del evento click del Botón Acceso al Sistema es el siguiente: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim nombreusuario As String Dim contraseña As String nombreusuario = InputBox("Introduzca su Nombre") contraseña = InputBox("Introduzca CONTRASEÑA") If UCase(nombreusuario) = "PROGRAMADOR" And LCase(contraseña) = "secreto" Then MsgBox("¡BIENVENIDA PROGRAMADOR! ¿Preparada para trabajar con tu PC?") PictureBox1.Visible = True Me.WindowState = FormWindowState.Maximized ElseIf UCase(nombreusuario) = "ASISTENTE" And LCase(contraseña) = "duende" Then

Cuaderno de Trabajo Visual Basic .NET II

Página 16

MsgBox("BIENVENIDO ASISTENTE AL SISTEMA! ¡A trabajar no te duermas!") PictureBox1.Visible = True Else MsgBox("ACCESO DENEGADO") End If End Sub End Class

Además de darnos el acceso con un saludo despliega una imagen en un control Image, en caso de no ser la contraseña o el nombre del usuario el indicado nos niega el acceso.

Actividad de Aprendizaje 14 – Cobro de Servicios

Esta actividad nos permite trabajar con las condicionales, botones de opcion (radio button) que en si son condicionales, realizar operaciones aritmeticas y presentar una interfaz mas agradable añadiendole unos cuantos picturebox asi como imágenes a los botones. Las imágenes fueron descargadas de internet a manera de iconos en formato .PNG. y ajustadas con la propiedad STRETCH. Cuaderno de Trabajo Visual Basic .NET II

Página 17

Aunque el codigo es algo largo porque debe evaluar cada una de las opciones, es facilmente entendible por las condicionales que presenta. Las operaciones son sumas. Control groupbox

Nombre

Propiedades

groupbox radiobutton radiobutton radiobutton radiobutton label label label label label label label label textbox textbox textbox textbox textbox textbox Cuaderno de Trabajo Visual Basic .NET II

Página 18

textbox picturebox picturebox picturebox picturebox picturebox picturebox picturebox button button

Su código es el siguiente: Public Class Form1 'Declaracion de variables Dim Hamburguesa As Single Dim HotDog As Single Dim Sandwich As Single Dim Te As Single Dim Refresco As Single Dim PapasFritas As Single 'Declaracion de variables de cantidad Dim CantidadHamburguesas As Integer Dim CantidadHotDog As Integer Dim CantidadSandwich As Integer Dim CantidadTe As Integer Dim CantidadRefresco As Integer Dim CantidadPapas As Integer Dim Dim Dim Dim Dim Dim Dim

TotalVta As Single CostoHamburguesa As Single CostoHotDog As Single CostoSandwich As Single CostoTe As Single CostoRefresco As Single CostoPapas As Single

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Cuaderno de Trabajo Visual Basic .NET II

Página 19

MyBase.Load 'Inicializar las variables con los precios de los productos Hamburguesa = 20.5 HotDog = 19.25 Sandwich = 17.5 PapasFritas = 4.5 Refresco = 4 Te = 5 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Multiplicando la cantidad por el precio y sumando el total CostoHamburguesa = CantidadHamburguesas * Hamburguesa CostoHotDog = CantidadHotDog * HotDog CostoSandwich = CantidadSandwich * Sandwich CostoTe = CantidadTe * Te CostoRefresco = CantidadRefresco * Refresco CostoPapas = CantidadPapas * PapasFritas TotalVta = CostoHamburguesa + CostoHotDog + CostoSandwich + CostoTe + CostoRefresco + CostoPapas txtTotal.Text = TotalVta

End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged 'Paquete No.1 de Comida txtTotal.Text = "" If RadioButton1.Checked Then CantidadHamburguesas = 1 CantidadRefresco = 1 CantidadPapas = 1 CantidadHotDog = 0 CantidadSandwich = 0 CantidadTe = 0 'Inicializar valores txtHamburguesa.Text = CantidadHamburguesas txtRefresco.Text = CantidadRefresco txtPapas.Text = CantidadPapas 'Activar las cajas de texto del paquete txtHamburguesa.Enabled = True txtRefresco.Enabled = True txtPapas.Enabled = True 'Desactivar las otras cajas txtHotDog.Enabled = False

Cuaderno de Trabajo Visual Basic .NET II

Página 20

txtTe.Enabled = False txtSandwich.Enabled = False 'Limpiar las cajas de texto txtHotDog.Text = "" txtTe.Text = "" txtSandwich.Text = "" End If End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged 'Paquete No.2 de Comida txtTotal.Text = "" If RadioButton2.Checked Then CantidadHamburguesas = 0 CantidadRefresco = 1 CantidadPapas = 1 CantidadHotDog = 1 CantidadSandwich = 0 CantidadTe = 0 'Inicializar valores txtHotDog.Text = CantidadHotDog txtRefresco.Text = CantidadRefresco txtPapas.Text = CantidadPapas 'Activar las cajas de texto del paquete txtHotDog.Enabled = True txtRefresco.Enabled = True txtPapas.Enabled = True 'Desactivar las otras cajas txtHamburguesa.Enabled = False txtTe.Enabled = False txtSandwich.Enabled = False 'Limpiar las cajas de texto txtHamburguesa.Text = "" txtTe.Text = "" txtSandwich.Text = "" End If End Sub Private Sub RadioButton3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton3.Click 'Paquete No.3 de Comida txtTotal.Text = "" If RadioButton3.Checked Then CantidadHamburguesas = 0 CantidadRefresco = 1 CantidadPapas = 1 CantidadHotDog = 0

Cuaderno de Trabajo Visual Basic .NET II

Página 21

CantidadSandwich = 1 CantidadTe = 0 'Inicializar valores txtSandwich.Text = CantidadSandwich txtRefresco.Text = CantidadRefresco txtPapas.Text = CantidadPapas 'Activar las cajas de texto del paquete txtSandwich.Enabled = True txtRefresco.Enabled = True txtPapas.Enabled = True 'Desactivar las otras cajas txtHotDog.Enabled = False txtTe.Enabled = False txtHamburguesa.Enabled = False 'Limpiar las cajas de texto txtHamburguesa.Text = "" txtTe.Text = "" txtHotDog.Text = "" End If End Sub Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged 'Opcion Otro Pedido txtTotal.Text = "" 'Inicializar variables= CantidadHamburguesas = 0 CantidadHotDog = 0 CantidadPapas = 0 CantidadRefresco = 0 CantidadTe = 0 CantidadSandwich = 0 'Habilitar todas las entradas txtHamburguesa.Enabled = True txtHotDog.Enabled = True txtSandwich.Enabled = True txtTe.Enabled = True txtRefresco.Enabled = True txtPapas.Enabled = True txtHamburguesa.Text = CantidadHamburguesas txtHotDog.Text = CantidadHotDog txtSandwich.Text = CantidadSandwich txtTe.Text = CantidadTe txtRefresco.Text = CantidadRefresco txtPapas.Text = CantidadPapas End Sub Private Sub txtHamburguesa_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHamburguesa.TextChanged txtTotal.Text = ""

Cuaderno de Trabajo Visual Basic .NET II

Página 22

CantidadHamburguesas = Val(txtHamburguesa.Text) End Sub Private Sub txtHotDog_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHotDog.TextChanged txtTotal.Text = "" CantidadHotDog = Val(txtHotDog.Text) End Sub Private Sub txtSandwich_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSandwich.TextChanged txtTotal.Text = "" CantidadSandwich = Val(txtSandwich.Text) End Sub Private Sub txtTe_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTe.TextChanged txtTotal.Text = "" CantidadTe = Val(txtTe.Text) End Sub Private Sub txtRefresco_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtRefresco.TextChanged txtTotal.Text = "" CantidadRefresco = Val(txtRefresco.Text) End Sub Private Sub txtPapas_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPapas.TextChanged txtTotal.Text = "" CantidadPapas = Val(txtPapas.Text) End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Página 23

Actividad de Aprendizaje 15 – Areas

Este ejercicio calcula el área de distintas figuras geométricas. usamos el mismo escenario que para la aplicación Ecuaciones de Segundo Grado. El reto de este ejercicio es practicas los botones de opciones (el equivalente a las estructuras condicionales) para calcular el area. Y trabajar con el codigo GDI+ de VB.NET el cual nos permite dibujar con instrucciones del propio lenguaje. Las imágenes que se ven en pantalla, no son creadas con un programa externo, sino con el propio Visual Basic.Net y su librería de graficos. En el codigo vera como se puede lograr esto. *NOTA: El codigo del programa no esta completo, para que usted lo desarrolle completamente tomando como base la primer figura propuesta. Tome atencion que debe dibujar las figuras, la formula, asi como presentar las cajas de texto correctas para realizar el calculo y presentar este en la caja de Resultado. Control groupbox

Nombre

Propiedades

groupbox

Cuaderno de Trabajo Visual Basic .NET II

Página 24

groupbox groupbox groupbox rectangleshape radiobutton radiobutton radiobutton radiobutton radiobutton radiobutton radiobutton picturebox picturebox label label label label textbox textbox textbox textbox button Cuaderno de Trabajo Visual Basic .NET II

Página 25

button

Su código es: Public Class Form1 Dim h As Integer Dim b As Integer Dim b1 As Integer

Sub Limpiar() Dim g As Graphics = imgFigura.CreateGraphics() g.Clear(imgFigura.BackColor) g.Dispose() Dim g1 As Graphics = imgFormula.CreateGraphics g1.Clear(imgFormula.BackColor) g1.Dispose() End Sub Sub OcultarB1() lblDato3.Visible = False txtDato3.Visible = False End Sub Sub MostrarB1() lblDato3.Visible = True txtDato3.Visible = True End Sub Sub Triangulo() Call Limpiar() Dim Dim Dim Dim

bm As Bitmap gr As Graphics lapiz As Pen x1, y1 As Integer

' Create string to draw. Dim drawString As [String] = "Sample Text" ' Create font and brush. Dim drawFont As New Font("Arial", 12) Dim drawBrush As New SolidBrush(Color.Black) Dim draw2Font As New Font("Arial", 14) Dim bm2 As Bitmap Dim fr As Graphics x1 = Int(imgFigura.Height) y1 = Int(imgFigura.Width) Dim myArrayPoints() As Point = New Point() {New Point(20, 92), New Point(137, 92), _

Cuaderno de Trabajo Visual Basic .NET II

Página 26

New Point(106, 20)} bm = New Bitmap(imgFigura.Image) gr = Graphics.FromImage(bm) lapiz = New Pen(Color.Black) 'o el color que sea (o pen(color.black, N) n es el ancho) gr.DrawPolygon(New Pen(Color.Brown, 2), myArrayPoints) gr.DrawLine(lapiz, 106, 20, 106, 92) imgFigura.Image = bm ' Draw string to screen. gr.DrawString("h", drawFont, drawBrush, 90, 60) gr.DrawString("b", drawFont, drawBrush, 75, 100) 'Dibujar la formula bm2 = New Bitmap(imgFormula.Image) fr = Graphics.FromImage(bm2) imgFormula.Image = bm2 fr.DrawString("Area=( b x h ) / 2", draw2Font, drawBrush, 5, 30) 'Ahora cambiar las etiquetas segun corresponde lblDato1.Text = "b=" lblDato2.Text = "h=" End Sub

Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click End End Sub Private Sub optTriangulo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optTriangulo.CheckedChanged If optTriangulo.Checked Then 'frmFigura = "Triangulo" Call OcultarB1() 'Call MostrarH() Call Triangulo() frmDatos.Visible = True frmResultado.Visible = True End If End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Inicializar las variables H = 1 B = 2 b1 = 1 'Inicializar las cajas de texto txtDato1.Text = B txtDato2.Text = H txtDato3.Text = b1 End Sub

Cuaderno de Trabajo Visual Basic .NET II

Página 27

Private Sub optParalelogramo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optParalelogramo.CheckedChanged Call Triangulo() End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Página 28

EJERCICIOS SOBRE CICLOS FOR, DO WHILE, DO UNTIL Los siguientes ejercicios, aunque de manera visual y con manejo de controles, se centran mas en las estrucuturas repetitivas o ciclos.

Cuaderno de Trabajo Visual Basic .NET II

Página 29

Actividad de Aprendizaje 16 – Sumas

Este ejercicio elige en forma Aleatoria dos números y los despliega en dos Labels para que el alumno luego, introduzca el valor correcto de la suma de ambos en un TextBox . Si está bien le aparecerá la carita sonriente y sino la de disgusto. Luego volverán a aparecer otros dos números para que siga sumando.

El botón Aplicar permite hacer la corrección mediante un Condicional. Algunos de estos temas son comunes a otros ejercicios. Por lo tanto nos centraremos en las funciones nuevas. La función Rnd nos permite cargar en una variable un número aleatorio que en este caso definimos como entero Int (de Integer) y de 0 a 10.

Cuaderno de Trabajo Visual Basic .NET II

Página 30

Num1 = int( Rnd * 10) Repetimos el procedimiento para Num2, el segundo sumando de nuestra cuenta. Para que realmente sea aleatorio debemos incorporar la sentencia Randomize en el Procedimiento Load del Formulario. Otra función que utilizamos es Val que transforma una cadena de caracteres, en este caso el contenido de un Text en un valor numérico. Resultado = Val ( Text1.Text) Y luego con un condicional y el operador de suma + controlamos si el resultado es correcto: If resultado = Int(num1) + Int(num2) then... En el caso de resolver bien la cuenta pasa a cargar otros dos números , iniciando una nueva cuenta. Pero necesitamos una espera en la aplicación. Esto lo hacemos por código con un bucle que asociado al reloj del sistema crea una pausa en la aplicación. Para esto creamos un Procedimiento llamado Pausa. Posicionados en la ventana de código , en el area de GENERAL tecleamos el codigo descrito mas abajo. Ahora veremos en nuestra ventana de código un nuevo Procedimiento llamado Pausa. Incluido dentro de los procedimientos del objeto General. Luego lo llamaremos desde otra parte del programa con la sentencia Call. Control label

Nombre

Propiedades

label label label textbox button button button lineshape picturebox Cuaderno de Trabajo Visual Basic .NET II

Página 31

Para mayor claridad vamos al código: Public Class Form1 Dim num1, num2, resultado As Integer Private Sub pausa(ByVal segundos As Integer) ' este el procedimiento creado por nosotros para crear una pausa ' usando un ciclo (sin el control Timer) Dim esperaTmp As Long = My.Computer.Clock.TickCount + (segundos * 1000) While esperaTmp > My.Computer.Clock.TickCount System.Windows.Forms.Application.DoEvents() End While End Sub

Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click End End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Randomize() num1 = Int(Rnd() * 10) 'al cargarse el programa ya aparece una cuenta num2 = Int(Rnd() * 10) txtResultado.Text = "" lblDato1.Text = num1 'se vuelcan las variables en las Labels lblDato2.Text = num2 cmdCalcular.Enabled = False 'el botón aplicar está desactivado End Sub Private Sub txtResultado_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtResultado.TextChanged cmdCalcular.Enabled = True End Sub Private Sub cmdOtraSuma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOtraSuma.Click num1 = Int(Rnd() * 10) 'elige un número aleatorio num2 = Int(Rnd() * 10) 'elige un número aleatorio txtResultado.Text = "" lblDato1.Text = num1 lblDato2.Text = num2 txtResultado.Focus() ' ubica el foco del cursor en el control Text1 cmdCalcular.Enabled = False PictureBox1.Image = Nothing 'vacía el contenido de la imagen End Sub Private Sub cmdCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCalcular.Click cmdCalcular.Enabled = False

Cuaderno de Trabajo Visual Basic .NET II

Página 32

resultado = Val(txtResultado.Text) If resultado = Int(num1) + Int(num2) Then 'MsgBox("Bien!") PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\sumas_ico002.ico") Else 'MsgBox("Mal!") PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\sumas_ico001.ico") End If lblMensaje.Visible = True lblMensaje.Text = "Pensando en otra suma para ti..." ' llama al procedimiento que creamos como Pausa ' pasandole como parametro la cantidad de segundos que queremos. Call pausa(3) lblMensaje.Visible = False cmdOtraSuma.PerformClick() End Sub

End Class

Actividad de Aprendizaje 17 – Temperaturas

Cuaderno de Trabajo Visual Basic .NET II

Página 33

En este ejercicio, simplemente entramos en tiempo de ejecución una temperatura para cada día de la semana y luego haciendo click en los botones: Alta, Media y Baja , devuelve los valores en otras cajas de texto. Debemos usar un arreglo para almacenar los valores introducidos en cada caja de texto, y con un ciclo (For..Next), recorrer dicho arreglo para saber cual es el valor mas alto, mas bajo y el promedio en una semana dada. Control textbox

Nombre

Propiedades

textbox textbox textbox textbox textbox textbox textbox textbox textbox label label label label label label label

Cuaderno de Trabajo Visual Basic .NET II

Página 34

label label label button button button button button

El código es el siguiente: Public Class Form1 'Declaramos las variables que vamos a calcular. Dim alta As Single Dim dia As Integer Dim baja As Single Dim media As Single 'Declaramos un arreglo para los dias de la semana Dim txtBox(7) As TextBox Sub SetControlArray() 'Funcion que nos pasara los valores de las cajas de texto de dia de la semana 'al array que hemos creado. txtBox(1) = txtDomingo txtBox(2) = txtLunes txtBox(3) = txtMartes txtBox(4) = txtMiercoles txtBox(5) = txtJueves txtBox(6) = txtViernes txtBox(7) = txtSabado End Sub Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click End End Sub Private Sub cmdAlta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAlta.Click ' Calcular cual es la temperatura mas alta de la semana de acuerdo a los valores ' introducidos por el usuario. ' Primero llamamos la funcion para poner los valores en el array Call SetControlArray()

Cuaderno de Trabajo Visual Basic .NET II

Página 35

' Ahora realizaremos un ciclo para recorrer todos los dias de la semana ' y saber cual es el dia en que el valor es el mas alto. alta = txtBox(1).Text For Me.dia = 1 To 7 If txtBox(dia).Text > alta Then alta = txtBox(dia).Text End If Next dia txtAlta.Text = alta End Sub Private Sub cmdBaja_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBaja.Click ' Calcular cual es la temperatura mas baja de la semana Call SetControlArray() baja = txtBox(1).Text For Me.dia = 1 To 7 If txtBox(dia).Text < baja Then baja = txtBox(dia).Text End If Next dia txtBaja.Text = baja End Sub Private Sub cmdMedia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMedia.Click 'Calcular la temperatura promedio del dia de la semana ' Declarar variables locales Dim total As Long Dim promedio As Long 'Llamar array de inicializacion Call SetControlArray() total = 0 For Me.dia = 1 To 7 total = total + txtBox(dia).Text Next dia promedio = total / 7 txtMedia.Text = Format(promedio, "##.##") 'formato con dos decimales End Sub Private Sub cmdBorrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBorrar.Click 'Borrar todos los valores de temperaturas de la semana 'Aqui no pondremos el array sino accesamos de manera directa a los controles txtDomingo.Text = "" txtLunes.Text = "" txtMartes.Text = "" txtMiercoles.Text = "" txtJueves.Text = "" txtViernes.Text = "" txtSabado.Text = "" End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Página 36

Usando estructuras de repetición For Next, calculamos los valores de alta y baja, luego para la media sacamos por división el promedio.

Cuaderno de Trabajo Visual Basic .NET II

Página 37

EJERCICIOS SOBRE ARRAYS Los siguientes ejercicios, aunque de manera visual y con manejo de controles, se centran mas en los Arreglos y algunos controles que los utilizan.

Cuaderno de Trabajo Visual Basic .NET II

Página 38

Actividad de Aprendizaje 20 – Promedio de Notas

Este ejercicio nos permite ingresar una cantidad de valores, por ejemplo las notas de un alumno, y luego obtener su promedio. En el formulario usamos cuatro botones, dos cajas de texto, y un ListBox, un frame y tres Labels. Necesitamos usar un arreglo para almacenar los valores de las calificaciones que vamos introduciendo, ya que la caja de lista, tambien se maneja con un arreglo de valores. Veremos ademas, el uso del control Listbox para agregar elementos y para eliminarlos. Tambien usaremos un ciclo para recorrer todos los valores del Array y calcular el promedio. Control groupbox

Nombre

Propiedades

label label textbox textbox Cuaderno de Trabajo Visual Basic .NET II

Página 39

button button button button listbox

El código es el siguiente: Public Class Form1 Dim Nota() As Single Dim N As Integer 'Número total de notas. Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click End End Sub Private Sub txtCalificacion_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtCalificacion.LostFocus If IsNumeric(txtCalificacion.Text) Then 'Chequea si el valor es numérico. If txtCalificacion.Text
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF