Solución propuesta. Cuadernillo de examen. Programación en VB.NET. Parte teórica

Documentos relacionados
Soluciones al examen PRIMERA PARTE: INTERACCIÓN HOMBRE-MÁQUINA. Cuadernillo de examen

Cuadernillo de examen: soluciones propuestas. Parte teórica. Interacción Hombre-Máquina

ADO.NET Desconectado.

Día 2: Utilizando controles de datos en Visual Studio 2008.

Ing Eddy Ruiz Largaespada

UNIVERSIDAD NACIONAL DE INGENIERIA

ACCESO A DATOS DESDE VB.NET

UNIVERSIDAD LIBRE DE COLOMBIA ELECTIVA IV VISUAL BASIC GUIA No. 1

Práctica N 04. Programación Visual.NET II. 1. CREACIÓN DE FORMULARIO PARA CONSULTA DE EMPLEADOS(FrmConEmpleados.vb)

UNIVERSIDAD LIBRE DE COLOMBIA FACULTAD INGENIERIA DE SISTEMAS ELECTIVA TECNICA II.NET Y SQL SERVER

Acceso a Datos. Visual Basic.NET 2005

Bases de Datos en VB.Net. El control Datagrid, Relaciones y Vistas.1

Bases de Datos Access y C#. Insert, select, update, delete. 1. Crea una base de Datos en Access

GUÍA DE TRABAJO GRADO 11 Programación de. Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Ejemplos Visual Basic: función Val, arrays de controles, generar números aleatorios, ficheros de texto. (CU00333A)

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES

Soluciones propuestas

Visual Basic.net Completo

Visual Basic.net Completo

Microsoft Visual Basic

Visual Basic.NET Completo

El lenguaje Visual Basic 2008

ESPECIALISTA EN VISUAL STUDIO.NET

Microsoft Visual Basic

Ejemplos de uso de forms, labels, inputbox y msgbox en Visual Basic. (CU00332A)

UNJBG ITEL CARRERA Técnico Analista Programador de Sistemas

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

Cómo crear una base de datos en Access con Visual Basic Autor: Jorge Alvarez

TEMA 9. CONTROLES WINDOWS DE ENLACE A DATOS 9.1. VINCULAR CONTROLES AL CONJUNTO DE DATOS

Visual Basic NET Completo

VISUAL STUDIO.NET Y PUERTO SERIE

En este ejemplo también vamos a crear la capa Entidades que va a servir para modelar nuestra base de datos.

Diplomado C#.NET con Visual Studio

GUÍA DE TRABAJO N 7 VB.NET Programación de. Software Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 11

INTRODUCCIÓN A WINDOWS FORM

Existe otra forma de manejar datos más reciente denominado ADO.

PROGRAMA FORMATIVO MICROSOFT VISUAL BASIC 2008

INSTITUCIÓN EDUCATIVA FINCA LA MESA Establecimiento de carácter oficial según Resolución Departamental de noviembre 27 de 2002

Visual Basic.NET : Acceso a Datos

Programación en Visual Basic Ricardo Rodríguez García

VISUAL BASIC.NET. NIVEL COMPLETO

GUÍA DE TRABAJO GRADO 10 Programación de. Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 10

CREACIÓN DE UN WEB SERVICE CON ACCESO A SQL SERVER 2000

Bases de Datos en VB.Net

APLICACIÓN EN VISUAL BASIC.NET 2010 CON BASE DE DATOS EN ACCESS 2010

Seleccione New Connection para crear la nueva cadena de conexión. Esta acción hará que se muestre la caja de dialogo Add Connection, en la cual en

Mecanismos de acceso a datos usando ADO.NET

Utilizar los elementos básicos de la programación de interfaces gráficas de usuario para el diseño y desarrollo de programas de aplicación.

LABORATORIO 4: Ejercicio 1: Reconociendo VB.NET y Trabajando con el Lenguaje. Duración: 20 minutos

INTRODUCCIÓN A WINDOWS FORM

Carrera: Licenciatura en Informática. de Licenciatura en. Tecnológico de Aguascalientes. Asignaturas Temas Asignaturas Temas

Técnico Superior en Programación con Microsoft Visual C# 2008

MsgBox en ASP.NET. En esta oportunidad, vamos a realizar un control que permite emular dicha función sobre ASP.NET.

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES

TEMA 7. PROVEEDORES Y CONEXIÓN A BASES DE DATOS

!"# $! "# % &'& $()! ( *

INFORMATICA VISUAL BASIC 2008

Ejercicios resueltos ejemplo de leer datos desde ficheros con Visual Basic, variables, bucles For Next y condicionales If.

1. Bases de datos desde VB.Net 1.1 Introducción. Desde Vb Net 2005 se puede acceder a las siguientes bases de datos, utilizando las clases adecuadas.

Práctica A: Creación de un componente con servicio

Conexión a Base de Datos.

ÁREA: PROGRAMACIÓN PROGRAMACIÓN.NET(II)

UNIDAD 2- LA CREACIÓN DE TABLAS EN ACCESS 2010

Creación de Formularios y Consultas

DIPLOMADO EN MICROSOFT VISUAL STUDIO

Ejercicios Tema /03/2009


Práctica B: Uso de estructuras y matrices

Tema: DESARROLLO DE APLICACIONES CON VISUAL STUDIO-NET (PARTE I)

UNIDAD 2 - CONSULTAS

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Luís Rodríguez Baena Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática

PROYECTO JUEGO DE 7 Y MEDIO

PRACTICA A: ACCESO A DATOS CON ADO.NET

Finalmente, aprenderá a interceptar y a manejar muchos de los eventos comunes que tienen los componentes y los formularios de Windows Form.

Prof. Giovanni Francisco Sáenz Araica.

Técnico Superior en Programación con Microsoft Visual C# 2008

UNIDAD 2 - CONSULTAS

Manipulación de imágenes con ADO.NET

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

CURSO DE GAMBAS 2.0.0

Zeon PDF Driver Trial

CAPÍTULO VI PRUEBAS ORIENTADAS A OBJETOS

Requisitos para presentar 3ª 5ª y/o 6ª oportunidad Semestre Agosto Diciembre 2017

MS-Excel 2007, Intermedio Avanzado (30 horas)

SQL SERVER Para ingresar a la ventana de administración del SQL Server, proceda a realizar los siguientes pasos:

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

I.- Objetivo. II.- Introducción

Microsoft Visual Basic

Ubound y Lbound en Visual Basic. Conocer índice superior e inferior de arrays (arreglos) Ejemplos y ejercicios. (CU00343A)

Visual Basic: procedimientos Sub y funciones Function. Tipos de parámetros y tipos de retorno. Ejemplos (CU00340A)

BANCO CENTRAL DE RESERVA DEL PERÚ

BANCO CENTRAL DE RESERVA DEL PERÚ

MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS

1

Fundamentos de Programación

I.- Objetivo. II.- Introducción

Anexo Nº 11 MANUAL DE INSTALACIÓN

Transcripción:

Cuadernillo de examen Asignatura: Interacción Hombre-Máquina / Interacción Persona-Computadora Código: 208 Titulación: Ingeniero en Informática / Ingeniero Técnico en Informática Plan de estudios: 2000/2002 Curso: 2º Carácter: Optativa /Obligatoria Especialidad: Común Convocatoria: Final Junio 2006 Curso académico: 2005/2006 Turno: Tarde Duración aproximada: 3 horas Programación en VB.NET Parte teórica Solución propuesta Seleccione la opción correcta en el cuadernillo de examen. Sólo existe una opción verdadera, si considera que hay más de una, justifíquelo junto a la pregunta. Cada pregunta bien contestada valdrá 0,2 puntos. Cada opción mal contestada restará 0,1 puntos. Las preguntas no contestadas no restan puntos. 1. Para añadir un elemento en un objeto de la clase ListBox Hay que llamar al método Add de la colección Items. Hay que llamar al método AddNew del objeto. Hay que llamar al médodo Add del objeto. 2. En VB.NET, para visualizar un formulario Sólo hay que crear una instancia del formulario. Se llama al método Show Es necesario poner la propiedad visible a True. 3. En un formulario modal Se abre en el mismo hilo de ejecución desde dónde se ha abierto. Se abre llamando al método ShowModal Se abre un nuevo hilo de ejecución que se termina al cerrar el formulario. 4. Un objeto de la clase RadioButton Puede presentar tres estados.. Puede presentar dos estados. Tiene una propiedad Value que toma los valores True o False 5. El evento ValueChanged de un control HScrollBar Se produce cuando se modifica el valor de la propiedad Value interactuando con la interfaz. Se produce cuando se modifica el valor de la propiedad Value mediente código Las dos respuestas son correctas. 6. Una de las diferencias entre un objeto de la clase ListBox y otro de la clase ComboBox Es que el ComboBox no tiene la propiedad Sorted. Es que el ComboBox puede tomar 5 estilos distintos. Es que el ComboBox no puede tener selección múltiple. 7. Dentro de ADO.NET El objeto Connection es independiente del gestor de base de datos utilizado. El objeto Command es independiente del gestor de base de datos utilizado. El objeto DataSet es independiente del gestor de base de datos utilizado. 8. El método Find Precisa de la existencia de una clave primaria. Permite buscar las filas que cumplan una condición. Las dos respuestas son correctas. Interacción Hombre-Máquina (208) Final Junio 2006 - Tarde Página 1 de 7

9. Para enlazar un DataGrid con una tabla de un DataSet Es necesario establecer la propiedad DataSource del control. Es necesario establecer la propiedad DataTable del control. Es necesario establecer la propiedad DataBase del control. 10. En ADO.NET, el método Update del adaptador de datos Se utiliza para actualizar el origen de datos. En modo conectado se utiliza para actualizar una tabla. Se utiliza para actualizar una fila de una tabla del DataSet. Responda brevemente a las siguientes preguntas (0,75 puntos cada una) 1. Arquitectura de.net Framework Qué componentes tiene? Cuál es la función de cada uno de ellos? 2. La clase Array Cómo se declara un array? Cómo se instancia un array? Explique las distintas formas de asignar el número de elementos de un array. Arrays dinámicos. Modificación del tamaño en un array dinámico. Parte práctica 1. Se tienen almacenados en un control ListBox una serie de elementos de tipo Persona. Por cada persona se almacenan los siguientes datos: DNI, una cadena. Nombre, una cadena Sexo, una cadena (contiene una H para hombre y una M para mujer). Los datos del ListBox se gestionan desde el siguiente formulario: Se pide: a) Codificar la estructura Persona. Structure Persona Dim DNI As String Dim nombre As String Dim sexo As String Sub New(ByVal d As String, ByVal n As String, ByVal s As String) DNI = d nombre = n sexo = s Overrides Function tostring() As String Return nombre End Function End Structure b) Codificar el evento necesario para que al seleccionar una persona de la lista aparezcan sus datos en los controles txtdni y txtnombre, y se marque la opción Hombre o Mujer. Interacción Hombre-Máquina (208) Final Junio 2006 - Tarde Página 2 de 7

Private Sub lstpersonas_selectedindexchanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles lstpersonas.selectedindexchanged 'Si no hay elementos seleccionados no hago nada If lstpersonas.selectedindex = -1 Then Exit Sub txtdni.text = lstpersonas.selecteditem.dni txtnombre.text = lstpersonas.selecteditem.nombre If lstpersonas.selecteditem.sexo = "H" Then Hombre.Checked = True Else Mujer.Checked = True c) Codificar el evento necesario para que al pulsar el botón Añadir, se añada un nuevo elemento en el ListBox. El evento debe comprobar que no existe ninguna otra persona con ese DNI, en caso contrario aparecera un mensaje indicándolo. Private Sub btnañadir_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btnañadir.click Dim p As New Persona p.dni = txtdni.text p.nombre = txtnombre.text If Hombre.Checked Then p.sexo = "H" Else p.sexo = "M" 'Buscar el DNI de la persona For Each item As Persona In lstpersonas.items If item.dni = p.dni Then MessageBox.Show("La persona ya existe", "Ejercicio1", _ MessageBoxButtons.OK, _ MessageBoxIcon.Information) Exit Sub Next lstpersonas.items.add(p) Puntuación: 0,75 puntos 2. Una empresa gestiona los proyectos que realizan sus empleados en una base de datos Access llamada empresa.mdb. Entre otras, contiene las siguientes tablas: Tabla Empleados Nombre del campo Tipo Contenido Observaciones IdEmpleado Autonumérico Código del empleado Clave primaria Nombre Texto Nombre del empleado Departamento Texto Nombre del Departamento Salario Numérico Sueldo del empleado Plus Numérico Plus del empleado Se calcula a partir de los proyectos que ha finalizado, a razón de un 5% del presupuesto de cada proyecto terminado Interacción Hombre-Máquina (208) Final Junio 2006 - Tarde Página 3 de 7

Tabla Proyectos Nombre del campo Tipo Contenido Observaciones IdProyecto Texto Código del proyecto Junto con el campo IdEmpleado constituye la clave primaria. IdEmpleado Autonumérico Código del empleado Clave externa (Empleados) Nombre Texto Nombre del proyecto Inicio Fecha Fecha de inicio del proyecto Fin Fecha Fecha de finalización del proyecto Presupuesto Numérico Presupuesto total del proyecto Los proyectos de los empleados se gestionan con el siguiente formulario: btnnuevo btncalcularplus dgproyectos Se pide: a) Realizar las declaraciones necesarias para poder realizar las operaciones con las tablas de la base de datos. Imports System.Data Imports System.Data.OleDb Private cn As New OleDbConnection Private daempleado As OleDbDataAdapter Private daproyecto As OleDbDataAdapter Private ds As New DataSet Private nombrearchivo = "..\empresa.mdb" 'Crear y abrir la conexión cn.connectionstring = "PROVIDER=Microsoft.Jet.OleDB.4.0; " & _ "Data Source = " & nombrearchivo cn.open() 'Llenar el DataSet daempleado = New OleDbDataAdapter("SELECT * FROM Empleados", cn) daproyecto = New OleDbDataAdapter("SELECT * FROM Proyectos", cn) daempleado.fill(ds, "Empleados") daproyecto.fill(ds, "Proyectos") cn.close() 'Crear las claves primarias 'para empleados Dim claveemp(0) As DataColumn claveemp(0) = ds.tables("empleados").columns("idempleado") ds.tables("empleados").primarykey = claveemp 'para Proyectos Interacción Hombre-Máquina (208) Final Junio 2006 - Tarde Página 4 de 7

Dim claveproy(1) As DataColumn claveproy(0) = ds.tables("proyectos").columns("idproyecto") claveproy(1) = ds.tables("proyectos").columns("idempleado") ds.tables("proyectos").primarykey = claveproy 'Generar órdenes de actualización automáticamente Dim cbproy As OleDbCommandBuilder = New OleDbCommandBuilder(daProyecto) Dim cbemp = New OleDbCommandBuilder(daEmpleado) b) Al arrancar el programa, se deberán cargar en el ComboBox cmbempleados todos los empleados de la empresa. Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'Cargar los empleados en el ComboBox For Each dr As DataRow In ds.tables("empleados").rows cmbempleados.items.add(new Empleado( _ dr.item("nombre"), _ dr.item("idempleado"))) Next Puntuación: 0,25 puntos c) Al seleccionar un empleado del ComboBox, se cargarán en los cuadros de texto los datos de ese empleado. Al mismo tiemplo, en el DataGrid dgproyectos se cargarán todos los proyectos del empleado. Private Sub cmbempleados_selectedindexchanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles cmbempleados.selectedindexchanged 'Cargar los datos del empleado seleccionado Dim Empleado As DataRow = _ ds.tables("empleados").rows.find(cmbempleados.selecteditem.idempleado) txtdepartamento.text = Empleado.Item("Departamento") txtsalario.text = Empleado.Item("Salario") 'Cargar los proyectos Dim dv As DataView = ds.tables("proyectos").defaultview dv.rowfilter = "IdEmpleado = " & Empleado.Item("IdEmpleado") dgproyectos.datasource = dv d) Al pulsar sobre el botón btnnuevoproyecto, se creará un nuevo proyecto. Para cargar los datos del proyecto se abrirá una ventana secundaria modal llamada frmnuevoproyecto, Interacción Hombre-Máquina (208) Final Junio 2006 - Tarde Página 5 de 7

El IdEmpleado y el nombre del proyecto se tomarán del empleado actual, y al pulsar en esta ventana el botón Aceptar se insertará una nueva fila en la tabla Proyectos. El IdEmpleado será el del empleado actual y el resto de datos se tomarán de la ventana Nuevo Proyecto. Private Sub btnnuevo_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btnnuevo.click If cmbempleados.selectedindex = -1 Then Exit Sub Dim frm As New frmnuevoproyecto frm.txtdepartamento.text = txtdepartamento.text frm.txtidempleado.text = cmbempleados.selecteditem.idempleado If frm.showdialog() = DialogResult.OK Then 'Crear un nuevo proyecto Dim nuevo As DataRow = ds.tables("proyectos").newrow nuevo.item("idproyecto") = frm.txtidproyecto.text nuevo.item("idempleado") = frm.txtidempleado.text nuevo.item("nombre") = frm.txtnombreproyecto.text nuevo.item("inicio") = frm.txtfechainicio.text nuevo.item("fin") = frm.txtfechafin.text nuevo.item("presupuesto") = frm.txtpresupuesto.text Try ds.tables("proyectos").rows.add(nuevo) Catch ex As System.Data.OleDb.OleDbException 'Si se da un error de base de datos, 'aparece un cuadro de diálogo advirtiendo del error MessageBox.Show(ex.Message, Me.Text, _ MessageBoxButtons.OK, _ MessageBoxIcon.Information) End Try Puntuación: 1 punto Interacción hombre-máquina Seleccione la opción correcta en el cuadernillo de examen. Sólo existe una opción verdadera, si considera que hay más de una, justifíquelo junto a la pregunta. Cada pregunta bien contestada valdrá 0,15 puntos. Cada opción mal contestada restará 0,05 puntos. Las preguntas no contestadas no restan puntos. 1. Para conseguir la affordance en una interfaz de usuario Es necesario centrarse en los conceptos de flexibilidad y consistencia. Es necesario centrarse en los conceptos de visibilidad y evidencia. Interacción Hombre-Máquina (208) Final Junio 2006 - Tarde Página 6 de 7

Hay que aplicar las reglas de oro de Mandel. 2. Para conseguir la usabilidad de un sistema interactivo Hay que seguir los principios de facilidad de aprendizaje, flexibilidad y consistencia o solidez. Basta con seguir las leyes de agrupación de objetos. No es cierta ninguna de las dos preguntas anteriores. 3. La flexibilidad de un sistema interactivo Hace referencia a su solidez. Permite que el sistema tenga capacidad de síntesis. Hace referencia a las distintas formas en que el usuario y el sistema intercambian información. 4. La interfaz de línea de órdenes Es un estilo de interacción. Es un paradigma de interacción. Es una metáfora. 5. Las interfaces de manipulación directa Permiten manipular directamente con las bases de datos. Crean una representación visual de las acciones que se pueden realizar a partir de la manipulación de los objetos de la interfaz. Se utilizan en las interfaces dirigidas por agentes. 6. Los asistentes Guían al usuario en la ejecución de una tarea. Trabajan sin intervención del usuario. Aprenden el comportamiento del usuario mediante técnicas de inteligencia artificial. 7. Una ventana modal Impide que el usuario realice otra tarea hasta que se cierra la ventana. Quita el control al usuario. Las dos respuestas anteriores son correctas. 8. La retroalimentación o feedback de un sistema interactivo Da a los usuarios un mayor control del sistema. Reduce la carga de memoria a largo plazo.. Proporciona una interfaz de usuario consistente. 9. Los botones en una interfaz Windows pueden ser Botones de órdenes y botones de menú. Botones de órdenes, botones de radio y casillas de verificación. Sólo botones de órdenes. 10. Según las recomendaciones de Microsoft para la interfaz Windows, un cuadro de lista (ListBox) No debería tener más de 7 opciones. Permite que el usuario elija entre alguna de las opciones que presenta o que el introduzca por teclado su propia opción. Sólo permite que el usuario seleccione una de las opciones que presenta. Conteste brevemente a estas preguntas (1 punto) 1. Métodos de evaluación por indagación. En qué consiste? Quiénes intervienen? Explique los médodos por indagación que conozca. Interacción Hombre-Máquina (208) Final Junio 2006 - Tarde Página 7 de 7