Boletín 7 Herencia. String Titular; Nombre del dueño de la cuenta double Saldo: Dinero disponible en la cuenta



Documentos relacionados
Elabore el diagrama de clases en UML y la codificación de un programa para resolver los siguientes problemas:

Tema 7.- Fundamentos de la Programación Orientada a Objetos

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ

Prof. Dr. Paul Bustamante

INSTITUTO TECNOLOGICO DE VILLAHERMOSA

Cadenas de caracteres

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

PRÁCTICA 6 REPASO TEMAS 1 Y 2

Herencia. Hay clases que comparten gran parte de sus características.

Programación de Videojuegos Tema 15 Tipos de Dato I. 15. Tipos de Dato I

Ejercicios de introducción a la herencia

Manual de ayuda de ATILA.

Práctica Nº 4 Entrada / Salida

SIIGO WINDOWS. Entrada de Comprobantes. Cartilla I

PROBLEMAS DEL TEMA 8: Estructuras de Datos Complejas

Tema: Entorno a C# y Estructuras Secuenciales.

Recepción - Pagos en caja

Grado en Ingeniería Informática Estructura de Datos y Algoritmos, Grupo 81M, 2014/ de Marzo de

Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación

PROYECTO MULTIPLAN CAPTURA DE REQUERIMIENTOS

Examen de Introducción al Software (Ingeniería Informática)

Manual Posición Tesorera Sage Despachos

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

CATALOGOS. Antes de incursionar en la operativa del catalogo le mostraremos a usted los botones con los que cuentan los catálogos en general.

Manual de usuario de la E-Factura en la Junta de Comunidades de Castilla la Mancha

Antes de empezar con este apartado hay algunos datos a tener en cuenta:

Programación Tema 4: Métodos. Programación DIT-UPM

Examen No. 2. Valor: 50 pts (30% de la Nota Final) Tiempo Máximo: 2.5 Horas Fecha: 28 de Marzo del 2017

Problema 1: Órdenes de la shell; Datos de una clase; Tipos primitivos; Sangrado

Tema: Entorno a C# y Estructuras Secuenciales.

Manual de Movimientos de mercancías con PDA S Módulo LOMM

CURSO DE PROGRAMADOR EN

Manual de Usuario. Cuadros Horarios. Grupos

Descubre este programa creado bajo licencia GPL v.2 que permite la sincronización de archivos y carpetas...

FUNDAMENTOS DE INFORMÁTICA

Características Avanzadas en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Programación Orientada a Objetos

Clases. Definición de clases

TAREAS OUTLOOK Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Guía de pago de liquidaciones. Pago de liquidaciones por vía telemática a través de la sede electróncia

Gestiolan ALBARANES Y FACTURAS

MANUAL DE USUARIO CUENTAS POR PAGAR. Cuentas por Pagar Página 1 de 28

CONTROL DE EXISTENCIAS

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

REGISTRO DE CLAVES. Importante: La creación o modificación de las claves de usuario, solo pueden ser realizadas por una clave de administrador.

Manual de Gastos. Documentación Intelisis. Derechos Reservados. Publicado en

Introducción al Modelado de Sistemas Capítulo 3

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

HOJA DE EJERCICIOS 4 INTERFACES Y CLASES ABSTRACTAS EN JAVA Y C++

MODULO INVENTARIO. - Optimización de su almacén - Mayor simplicidad, una sola interfaz - Control preciso de stock - Ahorro de tiempo y de costes

PYTHON. Programación básica

FACULTAD DE INGENIERÍA

Programación. Ejercicios Tema 6 Tipos de Datos Estructurados: Vectores y Matrices

Tema: Arreglos de objetos en C#.

Práctica 8: Consultas de acción

Sesión 3. TEMA 5. DEFINICIONES DE CLASES

Universidad Autónoma de Chiapas

Ejercicio de Programación Orientada a Objetos Curso 2016/2017 Exámenes

Examen de Métodos de Programación Ingeniería Informática Primera Parte

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACION

FUNDAMENTOS DE INFORMÁTICA

Examen de Programación II (Ingeniería Informática)

Interrogación 2. Pregunta 1 - Boya meteorológica

Manual de Usuario. Funcionalidades Genéricas de las pantallas de SÒSTRAT

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

12. Tipos de atributos

.- Realizar un script: ejercicio1.sh

MEJORAS SICO DEL 01/01/2011 AL 30/09/2011

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

PROYECTO MULTIPLAN. Captura de Requerimientos

1. Algunas clases del paquete java.util

SND. Sistema Nervioso Digital Ejercicio de Access 2000 Nº 3

1. Introducción. 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.) Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)...

ITACA La aplicación de Gestión de Identidad

Variables. a 9 4. Ahora ya es posible realizar operaciones con los números introducidos por teclado y guardados en las variables a y b.

ALGORITMICA Y PROGRAMACION POR OBJETOS I

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

KB de espacio en disco disponible como mínimo en su dispositivo móvil.

Examen de Fundamentos de Computadores y Lenguajes

Prof. Dr. Paul Bustamante

Práctica : Creación y uso de métodos

Pendientes Cobro de Pendientes Agencia

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Aliquo TPV INDICE. Fecha de actualización: 08/06/2015 Página 1 de 11

Accesos desde pantalla principal Agenda y Bloc de Notas

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

PRN315 Programación III Ciclo II Guía de Ejercicios de Diseño Orientado a Objetos (DOO)

Introducción a la Programación orientada a objetos con C++

Unidad 2. Elementos Intermedios del Lenguaje

Entre los distintos productos de telefonía, se encuentra el de venta de tarjetas para móviles de los operadores LEBARA y ORANGE.

Instructivo Operatoria Terminales de Autoservicio (TAS)

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Fundamentos de Informática 1º IIND

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison

TEMA 5. Agenda. Herencia

Ejercicios - Menús, listas y barras de progreso

Transcripción:

Boletín 7 Herencia Ejercicio 1: Dentro de un sistema bancario que ya está funcionando disponemos de una clase CUENTA, los datos que guarda dicha clase son los siguientes: String Titular; Nombre del dueño de la cuenta double Saldo: Dinero disponible en la cuenta Además una cuenta tiene los siguientes métodos: Los constructores correspondientes Los métodos de modificación y de devolución Un método reintegro, que recibe una cantidad y lo saca de la cuenta (resta del saldo), Un método ingreso, que recibe una cantidad y lo mete en la cuenta (suma al saldo). Un método tostring, para poder escribir los datos de la cuenta en pantalla. La nueva política del banco exige que tengamos otros tipos de cuentas con características diferentes. En particular debemos admitir los siguientes tipos: Cuenta de crédito: Permite obtener reintegros hasta un saldo negativo fijo para cada cuenta y, si el saldo es negativo el banco le cobra un 1% más. Cuenta de nómina: Permite obtener reintegros hasta un saldo negativo igual al importe mensual de la nómina que el cliente tiene domiciliada en dicha cuenta. Cuenta de ahorro: No admite saldo negativo. Cada vez que se ingresa una cantidad se suma el 0,1%. Cuenta joven: Exige que el cliente sea menor de 25 años. Crea un programa principal donde definas una cuenta de cada clase, con un saldo inicial de 100, realiza una operación de ingreso de 50 y un reintegro de 200, muestra los saldos de cada cuenta.

Ejercicio 2: Tenemos la siguiente clase EMPLEADO definida del siguiente modo, de cada empleado guardamos la siguiente información: String nombre int edad string nif Los métodos de la clase son los siguientes: Los constructores correspondientes Los métodos de modificación y de devolución Un método tostring, para poder escribir los datos de la cuenta en pantalla. Se nos pide que creemos nuevas clases partiendo de la anterior: Empleado temporal, del que nos interesa saber la fecha de alta y de baja en la empresa. Empleado por horas. Nos interesa el precio de la hora trabajada, y el número de horas que ha trabajado este mes. Empleado fijo. Debemos añadir a la información que almacenamos sobre él el año de alta en la empresa. Además debemos añadir a todos los empleados la funcionalidad de cálculo del sueldo con las siguientes consideraciones: En los empleados temporales el sueldo mensual es fijo. En los empleados fijos el sueldo es el resultado de sumarle a la base un complemento anual fijo multiplicado por el número de años en la empresa. En los empleados por horas el sueldo se calcula multiplicando su sueldo por hora por el número de horas de este mes. Crea un programa principal, donde definas un empleado de cada tipo y muestra el sueldo que recibe cada uno de ellos.

Ejercicio 3.1: Desarrollar una clase Producto cuyos datos miembro sean una cadena de texto identificación y un valor real (double) preciobase. Ambos datos de tipo privado. Para esta clase se piden los siguientes constructores y métodos: El constructor Producto que recibe como argumentos una cadena de texto identificación y un valor real (double) preciobase, y construye un nuevo objeto de la clase Producto cuya identificación y precio base vienen dados respectivamente por los argumentos identificación y preciobase. Los métodos de acceso getidentificacion y getpreciobase, sin argumentos, que respectivamente devuelven el identificador y el preciobase de un objeto Producto. El método modificador setidentificacion, que recibe como argumento una cadena de texto identificación y cambia el campo identificación del objeto sobre el que se aplica, asignándole como nuevo valor el del argumento identificación. El método modificador setpreciobase, que recibe como argumento un valor real (double) preciobase y cambia el campo preciobase del objeto sobre el que se aplica, asignándole como nuevo valor el del argumento preciobase. El método de impresión en pantalla tostring, sin argumentos, tal que al ser evaluado sobre un objeto de tipo Producto cuya identificación es RJ45 y cuyo precio base es 10.50, genere la siguiente cadena: RJ45 (10.5) Ejercicio 3.2: Desarrollar una clase ProductoInventariado derivada de la clase Producto anterior, con dos campo enteros adicionales cantidad y beneficio. Ambos de tipo privado. Para esta clase se piden los siguientes constructores y métodos: El constructor ProductoInventariado, que recibe como argumentos una cadena de texto identificación, un valor real (double) preciobase y dos datos enteros cantidad y beneficio, y construye un nuevo objeto de la clase Producto utilizando el constructor de la clase base (super(...)), cuya identificación, precio base, cantidad y beneficio vienen dados respectivamente por los argumentos identificación, preciobase, cantidad y beneficio. Los métodos de acceso getcantidad y getbeneficio, sin argumentos, que respectivamente devuelven la cantidad y el beneficio de un objeto ProductoInventariado. Los métodos modificadores setcantidad y setbeneficio, que reciben como argumento un valor entero y modifican, respectivamente, el valor del campo cantidad y beneficio del objeto sobre el que se aplican, asignándoles como nuevo valor el del argumento recibido. El método preciofinal, sin argumentos, que devuelve el precio final de un objeto de la clase ProductoInventariado determinado como el precio base al que se suma el porcentaje de beneficio. El método de impresión en pantalla tostring sin argumentos, tal que al ser evaluado sobre un objeto de tipo ProductoInventariado cuya identificación es RJ45, cuyo precio base es 10.50, cuya cantidad es 10 y cuyo beneficio es 13, genera la siguiente cadena: 10 RJ45 (10.5) (+13%)

Ejercicio 3.3: Desarrollar una clase Tienda cuyos datos miembro son una cadena de texto nombre, un vector de objetos del tipo ProductoInventariado donde se almacena información de los productos de la tienda y un valor real (double) caja que almacena el dinero del que dispone la tienda. Para esta clase se piden los siguientes constructores y métodos: El constructor Tienda, que recibe como argumentos una cadena de texto nombre y un valor real caja, y construye un nuevo objeto de la clase Tienda cuyo nombre y caja vienen dados respectivamente por los argumentos nombre y caja. El método buscaproducto, que recibe como argumento una cadena de texto id, y devuelve el rpoducto inventariado con ese id si lo encuentra. El método añadirproducto, que recibe como argumento un identificador de producto id, un precio base p (tipo double), una cantidad c (tipo int) y un beneficio b (tipo int) y lo añade al inventario. Si el producto ya estaba en el inventario entonces sólo hay que modificar los datos relativos al precio base, cantidad y beneficio. Si el producto no está en el inventario entonces hay que añadirlo. En cualquier caso, sólo se podría añadir un producto si el coste total (cantidad * precio base) es menor o igual que el dinero del que dispone la tienda, el cual ha de ser disminuido de manera adecuada. Si en el inventario no hay sitio para el producto o éste no puede ser adquirido por no disponer de suficiente dinero entonces se ha de indicar en pantalla un mensaje informativo. El método venderproducto, que recibe como argumento un identificador de producto id y una cantidad c y, si el producto existe en el inventario en una cantidad mayor o igual que c, entonces disminuye en c unidades la cantidad del producto id que hay en el inventario y modifica adecuadamente la caja. Si no hay unidades sufientes del producto id para vender, entonces se ha de indicar en pantalla un mensaje informativo. Construye un programa principal, donde debes crear una tienda que se llame Hipercor, con un ménu que te de las opciones, de añadir producto, buscar producto y vender producto.

Ejercicio 4.1: Se quiere guardar información de las temperaturas medidas un determinado día. Para ello, vamos a crear una clase TempDia que guarde la fecha de la medición, la temperatura máxima registrada y la temperatura mínima. Esta clase debe tener los siguientes métodos: Un constructor por defecto, que inicialice los atributos. Un constructor que tome una fecha, un valor de temperatura máxima y de temperatura mínima, y que inicialice los atributos con estos valores. Reescribir el método tostring, que devuelva la fecha, la temperatura máxima, la mínima y la media (máx. +min. / 2). Y todos los métodos que estimes necesario. Ejercico 4.2: A partir de la clase anterior se quiere heredar una nueva clase TempHumDia que me permita, además almacenar la humedad máxima, la mínima. Cuando redefinas tostring debes tener en cuenta que muestre también la humedad media. Ejercicio 4.3: Ahora, y partiendo de la clase anterior vamos a construir una clase EstacionClimatica, donde vamos a guardar el nombre de la estación, el año del que vamos a guardar datos y un vector de objetos de tipo TempHumDia, que corresponden a las mediciones realizadas en cada día del año. Esta clase tendrá los siguientes métodos: Un constructor por defecto. Un constructor que reciba el nombre y el año. Un método AddDia, que recibe una fecha, una temperatura máxima y otra mínima, humedad máxima, humedad mínima y que, si el año de la fecha corresponde con el año de la estación, introduce el nuevo objeto en el vector- Si el año no corresponde con el de la estación dar un mensaje de error. Un método DelDia, que reciba una fecha y borre ese día si existen datos. Un método ListarDias que te muestre en pantalla los datos de los días que hemos introducidos: fecha, temperatura máxima, mínima y media, humedad máxima, mínima y media. En el programa principal crea una estación, introduce cinco días pedidas por teclado (si la fecha no es correcta te la tiene que volver a pedir) y lista esos días. Luego borra dos (pedida por teclado y validándola de nuevo) y los vuelve a listar.