Soluciones propuestas

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

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

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

Ejercicio 1. Cuadernillo de examen: Soluciones propuestas. Parte teórica. Parte práctica. Interacción Hombre-Máquina

Soluciones propuestas

Práctica N 04: Creación de la Base de Datos

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

I.- Objetivo. II.- Introducción

OBJETIVO 1. DISEÑAR ALGORITMOS Y DIAGRAMAS DE FLUJOS PARA LA RESOLUCIÓN DE PROBLEMAS. OBJETIVO 2.CONOCER EL ENTORNO DE VISUAL STUDIO 2010 (VS2010)

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

UNIVERSIDAD NACIONAL DE INGENIERIA

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

VISUAL STUDIO.NET Y PUERTO SERIE

í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

ADO.NET Desconectado.

LECCIÓN 1: INTRODUCCIÓN A.NET. Visual Studio 2008.NET Framework Características de CLR La biblioteca de clases.net

Centro de Bachillerato Tecnológico. Manual de prácticas. Visual Basic 6.0. Nivel Básico. Industrial y de servicios No. 231.

Práctica 6 Operaciones aritméticas, lógicas y relacionales

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

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

Visual Basic NET Completo

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

Microsoft Visual Basic

Acceso a Datos. Visual Basic.NET 2005

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

El lenguaje Visual Basic 2008

Ejemplos ejercicios resueltos Visual Basic. Arrays estáticos, uso de constantes vbyes, vbno y MsgBox. (CU00334A-1)

Microsoft Visual Basic

UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS FORESTALES Y AMBIENTALES ESCUELA DE INGENIERIA FORESTAL PROGRAMA INFORMATICA I (NV)

Manipulación de imágenes con 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.

INFORMATICA VISUAL BASIC 2008

Práctica 2. Controles Básicos.

Principios de diseño de Interfaces

Abstracción, código y verificación del programa ejercicio algoritmo de ordenación resuelto con Visual Basic. (CU00358A)

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

Curso de Programación II con Visual Basic.Net

Universidad José Carlos Mariátegui

Visual Basic.net. Duración: 60 horas. Modalidad: online. Contenidos

FILTRO POR ATRIBUTOS PARA EL VISOR DE SHAPEFILES DEL COMPONENTE MAPWINGIS

ACCESS I LECCIÓN N 2

Visual Basic.net Completo

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

2403: Desarrollo de aplicaciones Windows

Visual Basic.net Completo

Microsoft Visual Basic

VISUAL BASIC.NET. NIVEL COMPLETO

PRACTICA Nº 8. String String String String String

Visual Basic.NET Completo

Vamos a definir ambos modos y después veremos, mediante sendos ejemplos, cómo trabajar en ellos con ADO.NET.

Repaso Visual Basic Interfaz Gráfica

VISUAL BASIC Archivos en Visual Basic Proyectos Archivos

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

Ficha técnica. Visual Basic 6.0

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

CURSO VISUAL BASIC BASICO MATERIAL DE APOYO REALIZACION TRABAJO FINAL

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...

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

Creación de Formularios y Consultas

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

OBJETIVOS ÍNDICE MÓDULO 1: VISUAL BASIC 6.0 PARTE 1ª

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

MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS

VB - Access Manual Visual Basic para Aplicaciones del Access 2000

Microsoft Excel MACROS AVANZADAS

Solución propuesta. Cuadernillo de examen. Preguntas teóricas

FUNDAMENTOS DE INFORMÁTICA

aprenderaprogramar.com Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel

FACULTAD DE INGENIERÍA

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

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

PROGRAMACION EN VISUAL BASIC

Objetivos y Temario CURSO VISUAL BASIC 2010

Manual de Visual Basic Principiante Autor: Jorge Alvarez

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

Personalizar barras de herramientas

Computación II. Práctica Usar los controles básicos de un formulario con sus respectivas propiedades para crear la interfaz de usuario.

Utilizar bases de datos en C# Objetivo: Identificar como se utilazan las bases de datos en C#.

Fundamentos de Programación

Captura y gestión de errores. Instrucción on error. Objeto Err, Err.Number y Err.Description. Método clear en Visual Basic.

Guia de Ejericicios Aplicaciones Windows Forms

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

Transcripción:

Cuadernillo de examen ASIGNATURA: Interacción hombre-máquina CÓDIGO: 208 Interacción persona-computadora CONVOCATORIA: Septiembre 2005 PLAN DE ESTUDIOS: 2000/2002 CURSO: 2º CURSO ACADÉMICO: 2004-2005 TURNO: Mañana PROGRAMA: Ingeniería Técnica en Informática Ingeniería Informática CARÁCTER: Anual ESPECIALIDAD: Común DURACIÓN APROXIMADA: 2 horas y media Soluciones propuestas Primera parte: 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,5 puntos. Las preguntas no contestadas no restan puntos. 1. En los métodos de evaluación por indagación Los usuarios evalúan el sistema. Los expertos evalúan el sistema. Tanto los usuarios como los expertos evalúan el sistema 2. El método de evaluación por recorrido cognitivo es Un método de inspección. Un método de indagación. Un método de test. 3. El uso de metáforas en un sistema interactivo Es uno de los objetivos fundamentales de las leyes de Mandel. Proporciona una retroalimentación al sistema. Transfiere el conocimiento del usuario del mundo real al mundo del ordenador. 4. La realidad aumentada. Crea un mundo virtual formado íntegramente por elementos de síntesis. Superpone imágenes sintéticas a las del mundo real. No es cierta ninguna de las dos afirmaciones anteriores. 5. Un paradigma de interacción Utiliza la metáfora del escritorio como elemento principal. Es un modelo o ejemplo del que se derivan otros sistemas interactivos. Agrupa las diferentes maneras en que los usuarios se comunican con el ordenador. 6. La Web Utiliza principalmente un estilo de interacción del tipo point-and-click. Está basada en un paradigma de computación ubicua. Está basada en un paradigma de computación asistida. 7. Proporcionando atajos de teclado en un sistema interactivo Se consigue aliviar la carga de la memoria. Se consigue dar a los usuarios el control de la interfaz. Se consigue hacer una interfaz de usuario consistente. 8. Una ventana modal Impide que el usuario siga realizando otra tarea hasta que se cierre la ventana. Favorece que el usuario tome el control del sistema. Alivia la carga de la memoria del usuario. Interacción hombre-máquina (208) Septiembre 2005 - Mañana Página 1 de 6

9. El concepto de usabilidad Implica la creación de sistemas fáciles de aprender. Implica la creación de sistemas fáciles de utilizar. Las dos respuestas anteriores son correctas. 10. La solidez o consistencia en un sistema interactivo Favorece la facilidad de aprendizaje. Favorece la migración de tareas. Es uno de los principios necesarios para la creación de sistemas usables. Conteste brevemente a las siguientes preguntas: 1. Dado el siguiente formulario HTML: Enumere y explique los fallos de diseño que encuentra en la interfaz Título del documento no significativo No existe consistencia entre los distintos tipos de letras usados (cuerpo, estilo, capitalización). No sigue la leyes de agrupación en la disposición de etiquetas y cuadros de texto. El orden de los botones no sería el orden habitual de utilización de los elementos de la interfaz. Puntuación: 0,75 puntos 2. Explique las características y la utilidad de los distintos tipos de botones que tiene una interfaz Windows. Explique también el estilo que deben tener las etiquetas que incorporan. Transparencias del tema 3(Diseño de interfaces de usuario). Páginas 61-66. También en el capítulo 8 de MICROSOFT: Diseño de interfaz de usuario para aplicaciones Windows. Madrid: McGraw-Hill, 2000 (en la bibliografía recomendada y de consulta). Puntuación: 0,75 puntos Segunda parte: Lenguajes de programación visual Conteste brevemente a las siguientes preguntas: 1. Tipos de datos primitivos (incorporados) en VB.NET. Características de cada uno de ellos. En qué se diferencian de otros tipos de datos como los de tipo String? Transparencias del tema 8, Elementos del Lenguaje (entrega 8A). Páginas 7-11. También en el capítulo 8 de BALENA, F.; Programación avanzada con Microsoft Visual Basic.NET. Madrid: McGraw-Hill, 2003 (en la bibliografía básica). Puntuación: 1 punto. Interacción hombre-máquina (208) Septiembre 2005 - Mañana Página 2 de 6

3. Explique el modelo de objetos de ADO.NET. Qué clases lo componen? Cuál es la función de cada una de ellas? Cómo se relacionan con la aplicación? Cuáles están asociadas a un proveedor de datos? Transparencias del tema 10 (ADO.NET). Páginas 5-7. También en los capítulos 20 y 21 de BALENA, F.; Programación avanzada con Microsoft Visual Basic.NET. Madrid: McGraw-Hill, 2003 (en la bibliografía básica). Puntuación: 1 punto. Supuesto práctico Una inmobiliaria tiene almacenada información de los inmuebles de los que dispone y de los agentes inmobiliarios que trabajan para ella en una base de datos Access (inmobiliaria.mdb). La base de datos dispone, entre otras, de las siguientes tablas. Tabla: Agentes (contiene información de los agentes inmobiliarios que trabajan en la empresa) Campo Tipo Observaciones idagente Entero Clave primaria de la tabla Nombre Cadena Nombre y apellidos del agente Tabla: Inmuebles (contiene información inmuebles que actualmente tiene la agencia) Campo Tipo Observaciones idinmueble Entero Clave primaria de la tabla idagente Entero Identificador del agente que tiene asignado este inmueble Nombre Cadena Nombre y apellidos del agente Dirección Cadena Dirección del inmueble Metros Entero Metros cuadrados del inmueble Precio Real Precio del inmueble Foto Cadena Nombre del archivo que contiene una foto del inmueble Para la gestión de los inmuebles dispone de un formulario MDI con el siguiente formato (los nombres de los controles aparecen en la figura): frmagentes Se pide: a) Declare los objetos ADO.NET necesarios y codifique las instrucciones necesarias para conectarse y poder trabajar con las tablas Agentes e Inmuebles. En las declaraciones de un módulo Public cn As New OleDbConnection Public daagentes As OleDbDataAdapter Public dainmuebles As OleDbDataAdapter Public ds As New DataSet Private nombrebbdd = Application.StartupPath & "\..\inmobiliaria.mdb" Interacción hombre-máquina (208) Septiembre 2005 - Mañana Página 3 de 6

Dentro de un procedimiento cn.connectionstring = "PROVIDER=Microsoft.Jet.Oledb.4.0; " & _ "Data source = " & nombrebbdd cn.open() daagentes = New OleDbDataAdapter("SELECT * FROM Agentes", cn) dainmuebles = New OleDbDataAdapter("SELECT * FROM Inmuebles", cn) daagentes.fill(ds, "Agentes") dainmuebles.fill(ds, "Inmuebles") cn.close() 'Establecer claves primarias Dim clave(0) As DataColumn clave(0) = ds.tables("agentes").columns("idagente") ds.tables("agentes").primarykey = clave clave(0) = ds.tables("inmuebles").columns("idinmueble") ds.tables("inmuebles").primarykey = clave 'Crear comandos de actualización Dim cbinmuebles As New OleDbCommandBuilder(daInmuebles) Puntuación: 0,75 puntos b) Cuando se cargue el formulario frmagentes se cargarán también en el ComboBox cmbagentes todos los agentes de la inmobiliaria. Private Sub frmagentes_load(byval sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load cmbagentes.displaymember = "Nombre" cmbagentes.valuemember = "idagente" cmbagentes.datasource = ds.tables("agentes") Puntuación: 0,5 puntos c) Al seleccionar un agente se cargarán en el ListBox lstinmuebles todos los inmuebles asignados al agente. Cada elemento del ListBox deberá ser una estructura con los campos idinmueble, Dirección, Metros, Precio y Foto. En el ListBox deberá aparecer sólo la dirección del inmueble. Private Sub cmbagentes_selectedindexchanged(byval sender As System.Object, _ ByVal e As System.EventArgs) _ Handles cmbagentes.selectedindexchanged lstinmuebles.items.clear() 'Se recorren todas las filas de los Inmuebles con un idagente 'igual al seleccionado For Each fila As DataRow In ds.tables("inmuebles").select( _ "idagente = " & cmbagentes.selectedvalue()) 'Por cada fila se carga un nuevo elemento de la estructura Propiedad 'y se añade al ListBox lstinmuebles.items.add(new Propiedad(fila.Item("idInmueble"), _ fila.item("dirección"), _ fila.item("metros"), _ fila.item("precio"), _ fila.item("foto"))) Next Declaración de la estructura Propiedad Structure Propiedad Dim idinmueble As Integer Dim dirección As String Dim metros As Integer Dim precio As Double Dim foto As String Interacción hombre-máquina (208) Septiembre 2005 - Mañana Página 4 de 6

Sub New(ByVal id As Integer, ByVal dir As String, ByVal m As Integer, _ ByVal pre As Double, ByVal f As String) idinmueble = id dirección = dir metros = m precio = pre foto = f Overrides Function tostring() As String Return dirección End Function End Structure Puntuación: 1,25 puntos d) Al pulsar sobre el botón btncambiar, se abrirá un cuadro de diálogo (control OpenFileDialog1, no visible en el formulario) común para seleccionar y cambiar la foto del inmueble. Al pulsar sobre el botón Aceptar del cuadro de diálogo, se cargará el archivo seleccionado en el control txtfoto. Private Sub btncambiar_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btncambiar.click If OpenFileDialog1.ShowDialog() = DialogResult.OK Then txtfoto.text = OpenFileDialog1.FileName '********* Esto no se pide en el examen ********************** 'Modifica el elemento en el listbox Dim p As Propiedad = lstinmuebles.selecteditem() p.foto = txtfoto.text lstinmuebles.items(lstinmuebles.selectedindex) = p 'Guardar en la base de datos ds.tables("inmuebles").rows.find(p.idinmueble).item("foto") = _ txtfoto.text '************************************************************** End If Puntuación: 0,5 puntos e) Al pulsar sobre el botón btnverfoto, se abrirá una ventana hija del formulario MDI principal. Dicha ventana pertenecerá a la clase frmfoto y sólo contendrá un control PictureBox llamado picfoto. Al cargar la ventana hija se cargará en el PictureBox la imagen que indique el control txtfoto. El texto de la barra de títulos de esta ventana hija será la dirección del inmueble. Private Sub btnverfoto_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btnverfoto.click Dim frm As New frmfoto frm.mdiparent = Me.MdiParent frm.picfoto.image = Image.FromFile(txtFoto.Text) frm.text = lstinmuebles.selecteditem().dirección frm.show() Puntuación: 1 punto f) Al pulsar sobre el botón btneliminar se eliminarán todos los inmuebles seleccionados del ListBox. Los inmuebles se eliminarán tanto del ListBox como de la tabla Inmuebles y los registros también se deberán eliminar del origen de datos. NOTA IMPORTANTE: La lista permite la selección múltiple Private Sub btneliminar_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btneliminar.click 'Recorrer todos los elementos del ListBox For i As Integer = lstinmuebles.items.count - 1 To 0 Step -1 'Si está seleccionado If lstinmuebles.getselected(i) Then 'Localizar el registro Dim fila As DataRow = ds.tables("inmuebles").rows.find( _ lstinmuebles.items(i).idinmueble) fila.delete() 'Eliminar el elemento del ListBox Interacción hombre-máquina (208) Septiembre 2005 - Mañana Página 5 de 6

lstinmuebles.items.removeat(i) End If Next dainmuebles.update(ds, "Inmuebles") Puntuación: 1,5 puntos Interacción hombre-máquina (208) Septiembre 2005 - Mañana Página 6 de 6