vbnet 2012 - semana 4

12
VISUAL BASIC NET 2012 VICTOR M. SANCHEZ FALCON 1 Contenido. Introducción a la Estructura de Datos o Conceptos o Operaciones: Asignación y obtención de valores. Recorrido por los elementos de un Arreglo. Metodologías de trabajo usadas en la construcción de aplicaciones con Vectores y Matrices.

Upload: martin-sanchez-falcon

Post on 26-Oct-2015

581 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 1

Contenido. Introducción a la Estructura de Datos

o Conceptos o Operaciones: Asignación y obtención de valores. Recorrido por los

elementos de un Arreglo.

Metodologías de trabajo usadas en la construcción de aplicaciones con Vectores y Matrices.

Page 2: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 2

Dim Montos(3) As Single Montos(0) = 200 Montos(1) = 500 Montos(2) = 700 Montos(3) = 100

Dim Montos( ) As Single={200,500,700,100}

Dim Montos As Single( )={200,500,700,100}

Manejo de Vectores y Matrices. Conceptos. Los Arrays (término en inglés que se refiere a los Arreglos), en las versiones anteriores de Visual Basic eran tipos de datos de los llamados por valor, al igual que lo son los tipos Integer, Double, etc. Pero en Visual Basic .NET, los arrays realmente son tipos por referencia. Las variables que hemos estado usando hasta ahora, eran de tipo escalar: sólo pueden contener un valor a la vez, pero resulta que en ocasiones nos podemos ver en la necesidad de querer tener en una misma variable, valores que de alguna forma están relacionados. Por ejemplo, si tenemos una colección de discos, nos podría interesar tener esa discografía incluida en una misma variable para poder acceder a cualquiera de esos discos sin necesidad de tener que crear una variable distinta para cada uno de los discos, ya que sería totalmente ineficiente si, por ejemplo, quisiéramos imprimir una relación de los mismos. Realmente para el ejemplo, hay otros tipos de datos que serían más prácticos, pero cuando veamos esos otros tipos de datos, serás tú el que decida cual utilizar. Una de las formas en las que podemos agrupar varios datos es mediante los arrays. Usando un array, podemos acceder a cualquiera de los valores que tenemos almacenado mediante un índice numérico. Por ejemplo, si tenemos la variable discografía y queremos acceder al tercer disco, podríamos hacerlo de la siguiente forma: discografía(3). Sabiendo esto, podemos comprobar que sería fácil recorrer el contenido de los arrays mediante un bucle For. Operaciones: Declaración, Asignación y obtención de valores.

• Declaración de Arreglos Unidimensionales o Vectores

Tenemos un arreglo de una dimensión de nombre Montos, de 4 posiciones, y de tipo numérico (Single), en donde cada elemento esta identificado por un número de índice, la declaración de este arreglo puede ser de Tambien se puede usar esta forma (clásica): O la actualizada en .NET:

Page 3: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 3

IGV = 0.18 * Montos(2)

Dim Productos(1,2) As String Productos(0,0) = “001” Productos(0,1) = “MOUSE” Productos(0,2) = “MICRONICS”

Marca = Productos(1,2)

For i As Integer = 0 To Montos.Length – 1 ‘Acciones Next

For each obj As Single In Montos ‘Acciones Next

Para obtener un valor de una posición dada, se debe especificar el número de índice del arreglo: En este ejemplo, se multiplica 0.18 por el valor del elemento del arreglo Monto que tiene como número de índice el 2, o sea, 700.

• Declaración de Arreglos Bidimensionales o Matrices

Tenemos un arreglo de dos dimensiones de nombre Productos, de 2 filas y 3 columnas, y de tipo texto (String), en donde cada elemento esta identificado por un número de índice que representa a la fila, y otro a la columna, la declaración de este arreglo puede ser de Para obtener un valor de una posición dada, se debe especificar el número de índice del arreglo: En este ejemplo, el valor del elemento del arreglo Productos ubicado en la fila de índice 1, y columna 2, es GENIUS.

Recorrido por los elementos de un Arreglo (iteraciones usando For y For..Each). Para realizar iteraciones sobre un vector, podemos usar la propiedad Length para obtener el tamaño del vector en un bucle. O usando For each:

Page 4: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 4

Ejercicio 1

Llene un vector de 5 elementos con números aleatorios y muéstrelos en un listbox

Ejercicio 2

Diseñar un formulario que al iniciar muestre los distritos Ate, Barranco y Cercado de Lima, que sean leídos desde un arreglo de nombre Distritos (máximo de 20) y sea mostrado en un ListBox. Además podrá eliminar elementos del mismo.

Page 5: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 5

Ejercicio 3

Llene un vector dinámico con nombres de países. Al hacer click en el botón “Agregar” se mostrara un INPUTBOX donde se debe de ingresar el nombre del país, inmediatamente se mostrara un mensaje indicando si se quiere continuar alo cual si se responde “Si” se repetirá el proceso. El proceso terminara cuando se responda “No”

Además hay un botón “Buscar” que mostrar un INPUTBOX donde se ingresara el nombre de un país, si ese país existe en el arreglo se seleccionara del Listbox, caso contrario se mostrara un mensaje indicando que “No existe”.

Page 6: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 6

DataGridView.Columns.Add ( 0,”Encabezado de Columna_1”) DataGridView.Columns.Add ( 1,”Encabezado de Columna_2”)

DataGridView.Columns(0).HeaderText = “Otro Titulo de Encabezado” DataGridView.Columns(1).Width = 150 DataGridView.Columns(2).Visible = False

DataGridView.Rows.Add (“Valor_1”,”Valor_2”)

Dim fila As Integer = DataGridView.CurrentRow.Index

Dim valor As String = DataGridView.Item(Indice_Columna, Indice_Fila).Value

Dim valor As String = DataGridView.CurrentRow.Cells(Indice_Columna).Value

Uso de Controles: DataGridView y ListView. Propiedades y Métodos. Control DataGridView. Propiedades, Métodos y Eventos.

Es un control que proporciona una tabla personalizable para mostrar datos. Las celdas, filas, columnas y bordes pueden ser personalizadas usando sus propiedades. Sin especificar un origen de datos, se puede crear las columnas y filas directamente o usando programación.

Propiedades.

• Name: se puede anteceder el prefijo dgv al nombre. • AllowUserToAddRows: permite agregar filas en tiempo de ejecución. • AllowUserToDeleteRows: permite eliminar filas en tiempo de ejecución. • MultiSelect: permite seleccionar varias filas o columnas a la vez. • SelectionMode: establece la forma de selección en el control. • ReadOnly: establece si el control es de solo lectura.

Para personalizar la creación de filas y columnas en tiempo de ejecución, inicialmente se deben establecer las columnas y sus propiedades: Para agregar valores por fila ( se deben agregar tantos valores como columnas creadas): Para obtener el valor del índice de la fila seleccionada en un DataGridView: El valor de una celda ubicada en una fila y columna específica de un DataGridView puede obtenerse usando cualquiera de las formas siguientes:

Page 7: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 7

Ejercicio 4

Crear una aplicación que muestre un MDI con un menú como el siguiente:

El formulario REGISTRO DE PRODUCTOS, debe permitir guardar en una matriz, hasta un máximo de 30 productos.

El formulario LISTADO DE PRODUCTOS, debe mostrar un datagridview con los datos almacenados en la matriz.

Page 8: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 8

ListView.Columns.Add (“1”,40, HorizontalAlignment.Center)

ListView.Items.Add (“Valor_1”)

ListView.Items(0).SubItems.Add (“Valor_1_Columna2”)

Control ListView. Propiedades, Métodos y Eventos.

Este control permite mostrar una colección de elementos distribuidos en filas y columnas, los que pueden ser mostrados usando una de las cinco diferentes vistas.

Propiedades.

• Name: se puede anteceder el prefijo lvw al nombre. • View: se establece el tipo de vista usado para observar los elementos. En la

mayoría de los ejercicios usados en esta parte se usa la vista Details. En tiempo de ejecución, se pueden agregar columnas, especificando el nombre de la columna, su ancho y el tipo de alineación. Para agregar elementos o items principales, se debe especificar: Para agregar subelementos o subitems de un elemento principal (es decir, en cada columna siguiente), se debe especificar el indice del item principal.

Ejercicio 5

Llenar una matriz de 5 filas y 5 columnas con números aleatorios cualesquiera, y luego mostrarlos en un listview.

Page 9: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 9

Ejercicio 6

Llene 2 matrices con números aleatorios y en una tercera matriz guarde la suma de las 2 anteriores, muestre las matrices en “Listview”

APLICACIONES PROPUESTAS

1. Generar 100 números aleatorios y guardarlos en un arreglo. Al hacer clic en un botón “Separar” se deberá de recorrer el arreglo anterior y se separaran los pares de los impares en arreglos diferentes. Los 3 arreglos se mostraran en un listbox

2. Llenar una matriz de 5 x 5 con números aleatorios sin que estos se repitan, luego mostrarlos en un ListView

3. Llenar un vector de 25 elementos con números aleatorios, luego pasarlo a una matriz de 5 x 5. Mostrar el arreglo en un listbox y la matriz en un Listview

4. Llenar 2 matrices de 5 x 5 con números aleatorios, luego se deberá de escoger entre un grupo de opciones (Radiobutton) un signo de operación que podrá ser +, - , *, /. Al hacer clic en un botón “Calcular” se deberá de llenar una tercera matriz con la operación seleccionado entre la matriz 1 y la matriz 2, es decir si se escoge el signo “+” por ejemplo se deberá de sumar cada elemento de la matriz 1 con la matriz 2

5. Llenar un vector con 50 números aleatorios. Luego se debe de ingresar un número, si este existe se debe de eliminar dicho número del arreglo. Al finalizar, mostrar los elementos ingresados.

6. Llenar un vector con 100 números aleatorios del 1 al 20. Luego la hacer clic en un botón “Resumen” debe de salir en un listbox los números que se generaron en el arreglo pero sin repetirse.

Page 10: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 10

7. Elaborar el siguiente formulario:

El botón AGREGAR PRODUCTOS debe llamar a un formulario que permita almacenar en un arreglo los NOMBRES y PRECIOS de hasta 20 productos como máximo.

El botón ACTUALIZAR PRODUCTOS, debe permitir mostrar los nombres de los productos ingresados en el COMBO, y al seleccionar uno de ellos, debe mostrarse su respectivo precio. El botón AGREGAR, permitirá ingresar los datos en los cuadros de lista, y automáticamente deberá mostrarse el SUBTOTAL, IGV y TOTAL.

AGREGAR PRODUCTOS

Grabar Cancelar

Precio:

Nombre:

Page 11: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 11

8. Crear una aplicación que posea un formulario frmPrincipal.vb, que muestre el

siguiente menú:

El menú Ejercicios > Registro de Cursos, carga el formulario frmRegistroCursos.vb, que permita agregar datos a un arreglo.

El menú Ejercicios > Listado, carga el formulario frmListado.vb, que permita mostrar en un listbox los nombres y cantidad de horas.

El menú Procesos > Registro de Ingresos, llama al formulario frmRegistro.vb, con la siguiente apariencia:

0 Costo del Curso:

Page 12: Vbnet 2012 - Semana 4

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 12

Mostrar en el combo del Curso, los nombres de los cursos que se encuentran en el arreglo anterior. Al seleccionar un curso, se debe mostrar su correspondiente número de horas (este dato lo toma del arreglo anterior).

Al hacer clic sobre el botón PROCESAR, debe mostrar el subtotal (cantidad de horas x 10.00), y el neto a pagar (subtotal+ IGV del 19% aplicado sobre el subtotal).

285.60