Programación orientada a objetos

Documentos relacionados
Programación Orientada a Objetos

QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)

FORMATO FLUJO DE EFECTIVO

Emisión de Comprobantes con Código de Barras Bidimensional (CBB) con los sistemas Aspel. En Aspel-SAE 5.0

Laboratorio 02: Ejercicios de programación en C

Desarrollar un programa en SIMATIC S7 con codificación AWL que simule un sistema en el que una entrada digital active una salida digital.

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

GUIA INSCRIPCIÓN EN SICERCO

Categorías de métodos. Métodos constructores y destructores

Tema: Clases y Objetos en C#. Parte II.

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

Java Avanzado Facultad de Ingeniería. Escuela de computación.

LENGUAJE DE PROGRAMACION UNO.

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

6) Introduce en la tabla USUARIOS los siguientes registros:

Actualización de una libreta de cómputos en Microsoft Excel Parte I

Evaluación 1: Entorno y primeros pasos

NEC SIGE Sistema Integral de Gestión Educativa. Instructivo para usuarios Reserva de Turnos

Formación a distancia de EXPERTO EN ADMINISTRACION DE PROYECTOS

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

ENLACE CON EL SISTEMA NOI

LIQUIDACION DE PRESTACIONES SOCIALES

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

Nota de prensa. La Agencia Tributaria devolverá más de millones de euros a 15,2 millones de contribuyentes en la campaña de Renta 08

INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO SECRETARÍA EJECUTIVA UNIDAD DE INFORMÁTICA Y ESTADÍSTICA

MÓDULO 4: PLANTA DE PERSONAL

Guía fácil para validar el estado de cuenta. Cálculo de Intereses y otros cargos.

5.3 CREAR FORMULARIOS

Actividad colaborativa Ejercicios de programación Programación básica C++

La primera vez que selecciona el nombre de usuario el programa pide introducir la nueva clave.

Manejo de Filas, Columnas, Celdas y Rangos

Para poder realizar este cambio en Deporwin, hemos añadido una nueva opción, que nos permitirá realizarlo de forma simple y rápida.

INFORMES SOBRE SUBVENCIONES GLOBALES

EJERCICIOS EXCEL. Guardar el libro en tu pen drive, con el nombre PRACTICA1_ALUMNO_GRUPO.

La Herramienta Redmine para la Administración de Proyectos

RENTAS Instructivo Técnico Transmisión de Información N AR-001

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos

DISEÑO DE ARMARIOS Y CUADROS

Manejo de anticipos. Manejo de anticipos en los sistemas de CXC y Ventas. Objetivos: URL de los archivos:

Declaración Informativa de Operaciones con Terceros (DIOT) en Aspel-COI 6.0

Ingreso de Facturas Electrónicas

MÓDULO 6 I.V.A. / I.G.I.C.

OPENOFFICE IMPRESS. Creación básica de presentaciones digitales

Capigono punto de venta (Cajero) Sin temor al infinito Calle 67 No Penthouse, Bogota Colombia Tel (57-1)

Una actividad de prueba con Edilim

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

Gestión Centros educativos

WorkManager E.D. Manual guía de usuario Diseñador de formularios

Instructivo Configuración de Máquinas Fiscales

Práctica 0: Entorno de Windows

GUÍA RÁPIDA. Cómo rendir cuentas de un gasto o viaje de forma rápida?

FACTURAS FACTURAS RECURRENTES NUEVA FACTURA RECURRENTE

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Programación en java. Estructuras algorítmicas

Flujo de caja y coste financiero a partir del presupuesto y la planificación

Trabajo Práctico Nro. 1

Recalculo de cuotas RT

NIVEL AVANZADO. 1. INFORMACIÓN GENERAL Duración: 70 horas Modalidad: Teleformación (Online) Importe: 70,00 (Subvención para Desempleados Aplicado)

Las clases como tipos de datos definidos por el usuario

Teclas de acceso directo de OpenOffice.org Writer

ATAJOS DEL TECLADO EN WINDOWS

GUIA DE APRENDIZAJE No.01 Actividades Ejercicio No.1 Ingrese a Microsoft Excel y guarde el archivo con el nombre de EVIDENCIA 1.

Jornadas sobre Gnu/Linex: Uso de Software Libre en las Administraciones públicas. Sonia Pizarro Redondo

Animación y transición - Últimos retoques. Imprimiendo transparencias o diapositivas

CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)

Programación Orientada a Objetos (POO)

3. CREAR FORMULARIOS 3.1. CREAR FORMULARIOS CREAR UN FORMULARIO CON EL ASISTENTE PARA FORMULARIOS UNIDAD 3- CREAR FORMULARIOS

El Sistema de Coordenadas de la cartografía municipal es: UTM (ETRS89 30N).

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

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

OPERACIONES CON UNIDADES, DIRECTORIOS Y ARCHIVOS (3 puntos = 1 test + 2 supuesto práctico)

MANUAL DEL DOCENTE Contenido

SIIGO WINDOWS. Facturación Producto - Servicio. Cartilla I

Paso 1 de 13. Paso 2 de 13. Guía de aprendizaje de Flash CS5 Tutorial 3. Creación de un logotipo textual.

Excel aplicado a ingenieros

PRÁCTICA 1.BASE DE DATOS ACCESS

CÓMO INGRESAR A SU CORREO INSTITUCIONAL?

CORSAIR GAMING RATÓN GUÍA DE INICIO RÁPIDO DEL SOFTWARE

EJERCICIO 9 DE WORD WORD EJERCICIO 9 TABLAS EN WORD. Ordenar los elementos de una tabla según diferentes criterios (con Ordenar. Unidades en almacén

Módulo Presentaciones. Objetivos del módulo

Emisión de Comprobantes Fiscales con Código de Barras Bidimensional (CBB) con los sistemas Aspel. En Aspel-SAE 5.0

Funciones y Condicionales Introducción a la Programación

Cronos Líneas de tiempo

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

Openoffice CALC HOJA DE PRÁCTICAS

Elabore la codificación de un programa para:

Integración Contable en Cuentas por Pagar

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote METODOS CONSTRUCTORES Y LA REFERENCIA THIS

RecWEB Sistema de recibos de sueldo y Comprobante de IRPF por Web

Construir una Interfaz Gráfica

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

SIIGO WINDOWS. Liquidación de Comisiones. Cartilla I

Hoja de ejercicios del Tema 3

La línea en rojo es la que yo he marcado con la orden Medir en la página del Catastro.

Gestor de bases de datos MicroSoft Access (2 de 4)

Tutorial sobre EndNote

MANUAL DE USUARIO FORMATO RECIBO DE PAGO DE CUOTA VOLUNTARIA. Alcaldía de Sincelejo Secretaría de Hacienda Impuestos Municipales

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Transcripción:

Programación orientada a objetos Ejercicios Tema 1.2: Definición de clases 1. Crea una clase Complejo que permita trabajar con números complejos (parte real y parte imaginaria). Incluye los siguientes métodos: constructores (por defecto y parametrizado), accedentes, mutadores, suma, resta, multiplicación, división, acumulación y print(). 2. Crea una clase Punto que modele un punto en un espacio bidimensional. Tendrá dos atributos, x e y, que guardan las coordenadas. Habrá un constructor sin parámetros que crea un punto en (0, 0) y otro al que se le pueden pasar las coordenadas del punto. También habrá métodos para obtener las coordenadas y para imprimir el punto con el formato (x,y). 3. Crea una clase Rectangulo que modele rectángulos por medio de cuatro puntos (los vértices). Dispondrá de dos constructores: uno que cree un rectángulo partiendo de sus cuatro vértices y otro que cree un rectángulo partiendo de la base y la altura, de forma que su vértice inferior izquierdo esté en (0,0). La clase también incluirá un método para calcular la superficie y otro que desplace el rectángulo en el plano. 4. Define una clase Linea con dos atributos: _puntoa y _puntob. Son dos puntos por los que pasa la línea en un espacio de dos dimensiones. La clase dispondrá de los siguientes métodos: Linea() Constructor predeterminado que crea una línea con sus dos puntos como (0,0) y (0,0). Linea(Punto, Punto) Constructor que recibe como parámetros dos objetos de la clase Punto, que son utilizados para inicializar los atributos. muevederecha(double) Desplaza la línea a la derecha la distancia que se indique. mueveizquierda(double) Desplaza la línea a la izquierda la distancia que se indique. muevearriba(double) Desplaza la línea hacia arriba la distancia que se indique. mueveabajo(double) Desplaza la línea hacia abajo la distancia que se indique. Método que permita mostrar la información de la línea de la siguiente forma: [puntoa,puntob]. Por ejemplo: [(0.0,0.0),(1.0,1.0)].

5. Crea una clase Cuenta (bancaria) con atributos para el número de cuenta (un entero largo), el DNI del cliente (otro entero largo), el saldo actual y el interés anual que se aplica a la cuenta (porcentaje). Define en la clase los siguientes métodos: Constructor por defecto y constructor con DNI, saldo e interés Para el número de cuenta no habrá mutador. actualizarsaldo(): actualizará el saldo de la cuenta aplicándole el interés diario (interés anual dividido entre 365 aplicado al saldo actual). ingresar(double): permitirá ingresar una cantidad en la cuenta. retirar(double): permitirá sacar una cantidad de la cuenta (si hay saldo). Método que permita mostrar todos los datos de la cuenta. El número de cuenta se asignará de forma correlativa a partir de 100001, asignando el siguiente número al último asignado. 6. Desarrolla una clase Cafetera con atributos _capacidadmaxima (la cantidad máxima de café que puede contener la cafetera) y _cantidadactual (la cantidad actual de café que hay en la cafetera). Implementa, al menos, los siguientes métodos: Constructor predeterminado: establece la capacidad máxima en 1000 (c.c.) y la actual en cero (cafetera vacía). Constructor con la capacidad máxima de la cafetera; inicializa la cantidad actual de café igual a la capacidad máxima. Constructor con la capacidad máxima y la cantidad actual. Si la cantidad actual es mayor que la capacidad máxima de la cafetera, la ajustará al máximo. llenarcafetera():hace que la cantidad actual sea igual a la capacidad. servirtaza(int): simula la acción de servir una taza con la capacidad indicada. Si la cantidad actual de café no alcanza para llenar la taza, se sirve lo que quede. vaciarcafetera(): pone la cantidad de café actual en cero. agregarcafe(int): añade a la cafetera la cantidad de café indicada. 7. Crea una clase NIF que se usará para mantener DNIs con su correspondiente letra. Los atributos serán el número de DNI (entero largo) y la letra que le corresponde. La clase dispondrá de los siguientes métodos: Constructor predeterminado que inicialice el nº de DNI a 0 y la letra a espacio en blanco (será un NIF no válido). Constructor que reciba el DNI y establezca la letra que le corresponde. Accedentes para el número de DNI y NIF (como Strings). leer(): que pida el número de DNI (ajustando automáticamente la letra)

Método que permita mostrar el NIF (ocho dígitos, un guión y la letra en mayúscula; por ejemplo: 00395469-F) La letra se calculará con un método auxiliar (privado) de la siguiente forma: se obtiene el resto de la división entera del número de DNI entre 23 y se usa la siguiente tabla para obtener la letra que corresponde: 0 - T 1 - R 2 - W 3 - A 4 - G 5 - M 6 Y 7 - F 8 - P 9 - D 10 - X 11 - B 12 - N 13 J 14 - Z 15 - S 16 - Q 17 - V 18 - H 19 - L 20 C 21 - K 22 E 8. Crea una clase Fecha con atributos para el día, el mes y el año de la fecha. Incluye, al menos, los siguientes métodos: Constructor predeterminado con el 1-1-1900 como fecha por defecto. Constructor parametrizado con día, mes y año. leer(): pedirá al usuario el día (1 a 31), el mes (1 a 12) y el año (1900 a 2050). bisiesto(): indicará si el año de la fecha es bisiesto o no. diasmes(int): devolverá el número de días del mes que se le indique (para el año de la fecha). valida(): comprobará si la fecha es correcta (entre el 1-1-1900 y el 31-12- 2050); si el día no es correcto, lo pondrá a 1; si el mes no es correcto, lo pondrá a 1; y si el año no es correcto, lo pondrá a 1900. Será un método auxiliar (privado). Este método se llamará en el constructor parametrizado y en leer(). corta(): mostrará la fecha en formato corto (02-09-2003). diastranscurridos(): devolverá el número de días transcurridos desde el 1-1-1900 hasta la fecha. diasemana(): devolverá el día de la semana de la fecha (0 para domingo,..., 6 para sábado). El 1-1-1900 fue domingo. larga(): mostrará la fecha en formato largo, empezando por el día de la semana (martes 2 de septiembre de 2003). fechatras(long): hará que la fecha sea la correspondiente a haber transcurrido los días que se indiquen desde el 1-1-1900. diasentre(fecha): devolverá el número de días entre la fecha y la proporcionada. siguiente(): pasará al día siguiente. anterior(): pasará al día anterior.

copia(): devolverá un clon de la fecha. igualque(fecha): indica si la fecha es la misma que la proporcionada. menorque(fecha): indica si la fecha es anterior a la proporcionada. mayorque(fecha): indica si la fecha es posterior a la proporcionada. 9. Crea las siguientes clases (cada una en su archivo): Motor: con métodos para arrancar el motor y apagarlo. Rueda: con métodos para inflar la rueda y desinflarla. Ventana: con métodos para abrirla y cerrarla. Puerta: con una ventana y métodos para abrir la puerta y cerrar la puerta. Coche: con un motor, cuatro ruedas y dos puertas; con los métodos que te parezcan adecuados. 10. Crea una clase Hora con atributos para las horas, los minutos y los segundos de la hora. Incluye, al menos, los siguientes métodos: Constructor predeterminado con el 00:00:00 como hora por defecto. Constructor parametrizado con horas, minutos y segundos. leer(): pedirá al usuario las horas, los minutos y los segundos. valida(): comprobará si la hora es correcta; si no lo es la ajustará. Será un método auxiliar (privado) que se llamará en el constructor parametrizado y en leer(). print(): mostrará la hora (07:03:21). asegundos(): devolverá el número de segundos transcurridos desde la medianoche. desegundos(int): hará que la hora sea la correspondiente a haber transcurrido desde la medianoche los segundos que se indiquen. segundosdesde(hora): devolverá el número de segundos entre la hora y la proporcionada. siguiente(): pasará al segundo siguiente. anterior(): pasará al segundo anterior. copia(): devolverá un clon de la hora. igualque(hora): indica si la hora es la misma que la proporcionada. menorque(hora): indica si la hora es anterior a la proporcionada. mayorque(hora): indica si la hora es posterior a la proporcionada.

11. Crea una clase Empleado que modele la información que una empresa mantiene sobre cada empleado: NIF, sueldo base, pago por hora extra, horas extra realizadas en el mes, tipo (porcentaje) de IRPF, casado o no y número de hijos. La clase debe contemplar accedentes y mutadores para todos los atributos. Al crear los objetos se podrá proporcionar, si se quiere, el número de DNI. Los demás servicios que deberán proporcionar los objetos de la clase serán los siguientes: Cálculo y devolución del complemento correspondiente a las horas extra realizadas. Cálculo y devolución del sueldo bruto. Cálculo y devolución de las retenciones (IRPF) a partir del tipo, teniendo en cuenta que el porcentaje de retención que hay que aplicar es el tipo menos 2 puntos si el empleado está casado y menos 1 punto por cada hijo que tenga; el porcentaje se aplica sobre todo el sueldo bruto. println(): visualización de la información básica del empleado. printall(): visualización de toda la información del empleado. La básica más el sueldo base, el complemento por horas extra, el sueldo bruto, la retención de IRPF y el sueldo neto. copia(): clonación de objetos. 12. Crea una clase Libro que modele la información que se mantiene en una biblioteca sobre cada libro: título, autor (usa la clase Persona), ISBN, páginas, edición, editorial, lugar (ciudad y país) y fecha de edición (usa la clase Fecha). La clase debe proporcionar los siguientes servicios: accedentes y mutadores, método para leer la información y método para mostrar la información. Este último método mostrará la información del libro con este formato: Título: Introduction to Java Programming 3a. edición Autor: Liang, Y. Daniel ISBN: 0-13-031997-X Prentice-Hall, New Jersey (USA), viernes 16 de noviembre de 2001 784 páginas