EJERCICIOS DE PRACTICA – VISUAL C# MICROPROCESADORES II Universidad del Valle – Sede Palmira Febrero - Junio de 2010 En forma individual resolver los siguientes ejercicios para ganar un punto en el quiz de Visual C#: 1. Un almacén efectúa una promoción para los 10 primeros clientes, en la cual se hace un descuento sobre el valor de la compra, según sea el color de una bolita que el cliente saque al pagar en caja. Si la bolita es verde se gana el 50%, si es azul se gana el 30%, si es roja el 10% y si es negra no gana nada. Se desea que usted haga este programa para el almacén, teniendo en cuenta que la interfaz debe mostrar lo siguiente: Luego de procesar los clientes y aceptar el mensaje final, se debe volver a la primera ventana con el cuadro de texto vacio. Componentes nuevos no analizados en clase: RichTextBox (Área de texto de múltiples reglones), PictureBox (Imagen en pantalla). 2. Diseñe una interfaz gráfica en Visual C# que le solicite al usuario el ingreso de 3 números enteros por medio de Cuadros de Texto. El programa debe entregar en un Área de Texto (RichTextBox ó ListBox) los números ordenados (Uno por renglón). Se debe indicar el orden en el cuál se requiere visualizar el resultado (ascendente o descendente) usando selección única entre estas dos formas de ordenar. Debe ser reordenado si se presiona cualquier opción Nueva o se oprime un Botón Ordenar. 3. Diseñe una interfaz gráfica en Visual C# que permita al usuario adivinar un número aleatorio que sea un entero entre 0 y 50. El programa debe indicarle mediante un mensaje (MessaggeBox) al usuario el número de intentos que lleva y si el número que ingresó por última vez se encuentra por encima o por debajo del número a adivinar. El usuario tiene como máximo 10 intentos para adivinar el número, luego de eso el programa debe indicarle que llegó al máximo de intentos y mostrar un mensaje que le permita seleccionar si desea intentarlo de nuevo. En caso de adivinar muestra un mensaje de éxito y le permite seleccionar si desea jugar de nuevo. 4. Diseñe una interfaz gráfica en Visual C# que permita al usuario jugar Craps. El programa debe mostrar los dados inicialmente en (1 – 1). Mediante un botón Lanzar dados se da la orden de iniciar el lanzamiento, En un ListBox se deben mostrar los resultados de cada lanzamiento en forma evolutiva (a medida que lanza se muestra el valor de cada dado y el puntaje. Las reglas del juego son simples: a) Un jugador tira dos dados. Para tirarlos se usan imágenes las distintas caras de los dados que de forma aleatoria se van mostrando en pantalla simulando un lanzamiento (usar un timer). b) El valor del tiro del jugador, se calcula mediante la suma de los puntos de ambos dados. Si la suma es 7 u 11 en el primer tiro, el jugador gana. Si la suma es 2, 3 o 12 en el primer tiro, el jugador pierde (es decir, la casa gana). Si la suma es 4, 5, 6, 8, 9 o 10 en el primer tiro, esa suma se convierte en el punto del jugador; para ganar el jugador debe seguir tirando los dados hasta que salga otra vez su punto; el jugador pierde si tira un 7 antes de obtener su punto. c) En un par de Cuadros de texto se lleva la cuenta de los puntos del jugador y de la casa. El juego termina cuando el jugador presione el botón Terminar. Cuando un jugador termina su turno y es el mejor, es decir tiene la mejor diferencia de puntos con respecto a la casa, se debe dar un mensaje de congratulaciones para tal jugador. Al iniciar el Juego de nuevo se borra la información del Listbox. 5. Diseñe una interfaz gráfica en Visual C# que permita al usuario controlar el nivel de liquido en un tanque. El programa debe mostrar un tanque con dos electroválvulas inicialmente cerradas (una de llenado y otra de vaciado). En la parte inferior está el panel de control y de estado. Con el panel de control el usuario da inicio al ajuste del nivel deseado del tanque indicando el nivel de liquido en centímetros cúbicos (dentro de un rango de valores predefinidos (usar un comboBox). Una vez iniciado el proceso, en pantalla por medio de un campo de texto o etiqueta se debe mostrar el valor actual del tanque (al inicio se asume el tanque vacio). Para ajustar el nivel se usan las electroválvulas, cuyo estado se encuentra en un panel de estado y dan indicación de abierta o cerrada. El llenado ocurre a una tasa de 2 cm3 por segundo, mientras que el vaciado ocurre a una tasa de 3 cm3 por segundo. El tanque cierra y abre las electroválvulas hasta llegar al nivel deseado y las deja cerradas (Durante este tiempo se inhabilita el botón de Ajustar Nivel). El tanque debe mostrar una imagen distinta a medida que alcanza alguno de los niveles predefinidos). La velocidad de vaciado y llenado no pueden modificarse (cada uno se maneja con un Timer). Por parejas deben entregar resueltos 3 de los 5 ejercicios (incluyendo uno de los 2 últimos) y será una nota de taller (aparte del quiz) Por ningún motivo se permiten grupos de 3 personas o más. Si se detectan códigos “similares”, se asignará una rebaja en la nota de 2,5 al grupo que realizó el programa original y de 5,0 al grupo que tiene el programa “similar”. El plazo máximo de entrega sin rebaja es el miércoles 19 de mayo de 2010 (por el campus). Uno de estos ejercicios será su Quiz del viernes 14 de mayo de 2010.