FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA PROGRAMACIÓN VISUAL Profr. Víctor Castillo PRÁCTICA No. 3 Manejo de arreglos unidimensionales con Microsoft Visual C# ALUMNO: ________________________________________________ GRUPO: ____ I.- Objetivo Explorar el desarrollo de aplicaciones visuales que consideren el empleo de estructuras de datos básicas. II.- Introducción El manejo de arreglos unidimensionales es una de las actividades más habituales realizadas en el área de programación que tienen que ver con métodos de ordenación, búsqueda y clasificación de datos. En esta práctica utilizaremos un control listBox para los aspectos de entrada/salida de elementos a un arreglo unidimensional. Veremos igualmente algunos puntos de interés que tienen que ver con la conversión de tipos de manera explícita (que usamos para manejar los tipos adecuados en las interfaces gráficas), así como conversión forzada (que usaremos para la conversión de tipos que involucra el uso de funciones matemáticas). Igualmente, ilustraremos la especificación de métodos para algunos eventos importantes a los que responde una formulario. III.- Desarrollo 1.- Cargue el entorno de desarrollo de Microsoft Visual Studio .NET. 2.- Seleccione el botón New Project de la ventana Start Page. 3.- La Figura 1 ilustra la pantalla de inicio (Start Page) que generalmente se desplegará al iniciar el entorno de desarrollo de Visual Studio .NET. 4.- En la ventana New Project, mostrada en la Figura 2, escriba el nombre de su proyecto e indique el nombre de la carpeta donde lo almacenará en su disco. Usted puede indicar el nombre de proyecto y carpeta que desee. 1 de 8 Nota: No olvide seleccionar Visual C# Projects en el tipo de proyecto (sección Project Types de la ventana New Projects). Así mismo, asegúrese que la plantilla(Template) para el proyecto sea una aplicación Windows (Windows Application). Vea la Figura 2. Figura 1. Pantalla de inicio para el entorno de desarrollo de Microsoft Visual Studio .NET. 5.- Haga uso de la barra de herramientas (Toolbox) del entorno de desarrollo. Seleccione y enseguida arrastre hasta el área de diseño del formulario los componentes gráficos para manejo de agrupamientos de objetos gráficos (groupBox), de etiquetas (Label), cuadros de texto (Textbox), interfaz de selección múltiple (comboBox) y botones de comando (Button). Además cambie la propiedad Text del objeto formulario para que tenga la cadena “Manipulación de vectores en C#”. Lo anterior debe dar como resultado una interfaz de usuario como se muestra en la Figura 3. Si lo desea, puede cambiar la propiedad Text de los cuadros de texto para dejarla sin cadena de caracteres con el fin de que cuando ejecute la aplicación dichos cuadros de texto aparezcan vacíos. Nota: Los nombres de los componentes gráficos son por defecto listBox1, comboBox1, textBox1, así como textBox2. Si los nombres de los objetos que 2 de 8 aparecen en su proyecto no son los mismos que los indicados tenga el cuidado de tomarlos en cuenta debido a que tales nombres serán considerados en la escritura de código que realizaremos más adelante. O bien, si dichos nombres no corresponden, puede cambiarlos a través de su propiedad Name para que se ajusten a los que aquí proponemos. Figura 2. Pantalla de creación de nuevo proyecto en el entorno de desarrollo de Microsoft Visual Studio .NET. 6.- Seleccione el objeto comboBox1. Localice la propiedad Items en la ventana de propiedades. Haga una pulsación del botón primario del ratón sobre el botón de comando que se encuentra a un costado del mensaje (Collection) localizado en la propiedad Items. Lo anterior ocasionará que se abra la ventana del editor de cadenas (String Collection Editor), el cual sirve para especificar los elementos que contendrá el componente comboBox1. Inserte las cadenas de caracteres que muestra la Figura 4 (Media aritmética y Media geométrica), cuando termine pulse el botón Ok. 7.- Seleccione la propiedad Text del objeto comboBox1 y escriba la cadena “>>> Elija su operación”. 3 de 8 Figura 3. Formulario para la aplicación de la práctica. Figura 4. La ventana del editor de colección de cadenas. 8.- Escriba el código mostrado en el Código 1 para el evento Click del botón Calcular del formulario principal de la práctica. Observe la manera en la que se declara un arreglo x de valores numéricos del tipo float. NOTA: El nombre del método button4_Click mostado en el Código 1 puede cambiar de acuerdo al orden en el que añadió los botones de comando al formulario al momento de diseñarlo, no es necesario que coincidan estos nombres con los mostrados en las ventanas de código. Por ejemplo, en el Código 1 podemos observar que el botón Calcular fue el cuarto botón creado en nuestro formulario de ejemplo, si hubiera sido el segundo botón creado en la interfaz, la función habría 4 de 8 tenido el nombre button2_Click, pero para efectos de esta práctica, tal orden no tiene que ser considerado. private void button4_Click(object sender, System.EventArgs e) { int i; float[] x = new float[listBox1.Items.Count]; float promedio,mediaGeo; double s=0,raizN; switch (comboBox1.SelectedIndex) { case 0: for (i=0;i<listBox1.Items.Count;i++) { x[i]=Convert.ToSingle(listBox1.Items[i]); s+=x[i]; } promedio=(float) s/listBox1.Items.Count; textBox1.Text = System.Convert.ToString(promedio); break; case 1: for (i=0;i<listBox1.Items.Count;i++) { x[i]=Convert.ToSingle(listBox1.Items[i]); s+=(double) x[i]; } raizN=(1/(double) listBox1.Items.Count); mediaGeo=(float) Math.Pow(s,raizN); textBox1.Text = System.Convert.ToString(mediaGeo); break; default: MessageBox.Show("Elija una opción del combo box","Mensaje del sistema",MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } } Código 1. Código para el evento Click del botón Calcular. El código que está resaltado en color azul es escrito de manera automática por Visual C# y usted no debe cambiarlo. El código resaltado en color amarillo debe escribirse como una sola línea. 8.- Responda las siguientes preguntas relativas a las líneas de código mostradas en el Código 1. Si gusta puede realizar sus respuestas después de que la aplicación esté funcionando (ya concluidas las siguientes actividades que propone la presente práctica). 8.1 ¿Para qué sirve la línea de código listBox1.Items.Count ? _________________________________________________________________________ _________________________________________________________________________ 8.2 ¿Para qué sirve la línea de código float[] x = new float[listBox1.Items.Count]; ? _________________________________________________________________________ _________________________________________________________________________ 8.3 ¿Qué objeto tiene la palabra reservada (float) en la expresión siguiente?: promedio=(float) s/listBox1.Items.Count; _________________________________________________________________________ _________________________________________________________________________ 5 de 8 8.4 ¿Para qué sirve la línea de código textBox1.Text = System.Convert.ToString(promedio); ? _________________________________________________________________________ _________________________________________________________________________ 8.5 ¿Qué propósito tiene usar la propiedad ítems del listBox1 de la siguiente forma?: listBox1.Items[i] _________________________________________________________________________ _________________________________________________________________________ 8.6 ¿Para qué sirve la función Pow? _________________________________________________________________________ _________________________________________________________________________ 9.7 La función MessageBox.Show tiene cuatro parámetros, describa para qué sirve cada uno de ellos. _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ 9.- Escriba el código para el evento Click del botón Insertar, este código es mostrado en la ventana de código Código 2 y tiene la finalidad de añadir el datos presente en la propiedad Text del objeto TextBox2 a la lista de elementos del objeto listBox1. private void button1_Click(object sender, System.EventArgs e) { listBox1.Items.Add(textBox2.Text); textBox2.Focus(); } Código 2. Código para el evento Click del botón Calcular. El código que está resaltado en color azul es escrito de manera automática por Visual C# y usted no debe cambiarlo. 9.1 ¿Cuál es el propósito de la línea textBox2.Focus(); mostrada en el Código 2?. 10.- Escriba el código para el evento Click del botón Eliminar actual, este código es mostrado en la ventana de código Código 3 y tiene la finalidad de eliminar del objeto listBox1 el elemento que se tenga seleccionado. private void button2_Click(object sender, System.EventArgs e) { listBox1.Items.Remove(listBox1.SelectedItem); 6 de 8 } Código 3. Código para el evento Click del botón Eliminar actual. El código que está resaltado en color azul es escrito de manera automática por Visual C# y usted no debe cambiarlo. 11.- Escriba el código para el evento Click del botón Eliminar todos, este código es mostrado en la ventana de código Código 4 y tiene la finalidad de eliminar del todos los elementos que contiene el objeto listBox1. private void button3_Click(object sender, System.EventArgs e) { listBox1.Items.Clear(); } Código 4. Código para el evento Click del botón Eliminar actual. El código que está resaltado en color azul es escrito de manera automática por Visual C# y usted no debe cambiarlo. 12.- Seleccione el formulario. En la ventana de propiedades, seleccione el evento Activated, haga una doble pulsación del botón primario del ratón sobre la línea en blanco que aparece a un costado de tal propiedad (ver Figura 5). Escriba el código fuente mostrado en Código 5. private void Form1_Activated(object sender, System.EventArgs e) { textBox2.Focus(); } Código 5. Código para el evento Activated del formulario de la práctica. El código que está resaltado en color azul es escrito de manera automática por Visual C# y usted no debe cambiarlo. 7 de 8 Figura 5. La ventana de diseño de formulario. El botón encerrado en el óvalo azul sirve para seleccionar y programar los códigos de evento habituales para cada componente gráfico del lenguaje Visual C#. 13.- Guarde todos los cambios en su proyecto, para ello pulse Ctrl+Shift+S o siga la secuencia File+Save All. 14.- Ejecute su aplicación y observe su funcionamiento. 15.- Cierre su aplicación. 16.- Cierre el entorno de desarrollo de Visual Studio .NET. IV.- Observaciones y/o conclusiones _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ NOTA: Las imágenes que se muestran en las figuras incluidas en esta práctica pueden variar de acuerdo a las características propias de la resolución gráfica que esté usando y a la versión de Microsoft Visual Studio .NET que esté instalada en el laboratorio de cómputo. V.- Referencias *** Pendiente. 8 de 8