Programación Orientada a Objetos

Documentos relacionados
Programación orientada a objetos

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

Ejercicios de Programación Orientada a Objetos

Curso Excel Básico - Intermedio

Trazabilidad ERP Microsa Gestión de Lotes

GENERACIÓN DE TRANSFERENCIAS

Cierre y Apertura de ejercicio. Gestión - Contabilidad

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Departamento de Soporte Occidente. Módulo Procesos. Constantes Periódicas:

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

GENERACIÓN DE ANTICIPOS DE CRÉDITO

SIIGO PYME PLUS. Proceso de Recuperación. Cartilla I

FICHERO DE AYUDA DEL PROGRAMA MEGAPRIMI

MANUAL DE CS-ALMACENES

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

Manual CMS Mobincube

6ª Práctica. Matlab página 1

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

Estructura de datos y de la información Boletín de problemas - Tema 7

Mantenimiento Limpieza

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Bases de Datos en Visual FoxPro. Administrador de proyectos

Análisis de los datos

VJALQUILER VJALQUILER

MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES

Instructivo de Microsoft Excel 2003

SIMPLE Cuentas Corrientes

Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007

Gobierno del Estado de México

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Bibliotecas Escolares. Perfil de Lector.

Ejercicio de Microsoft Access

Guía Rápida Contabilidad

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Contabilidad. 1. Precondiciones. 2. Proceso Estándar. Tener la estructura contable. Estructura de la Cuenta Contable

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Ejemplos de conversión de reales a enteros

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

1. Creamos una nómina de tipo Especial desde Definición de nóminas.

2_trabajar con calc I

Manual de usuario Software PC Editor de Rutas. inled

BASES DE DATOS - Microsoft ACCESS 2007-

APROVECHAR LA BASE DE DATOS BIBLIOGRÁFICOS REBECA CON EL PRO- GRAMA ABIES.

SIIGO CONTADOR. Libros Oficiales. Cartilla I

D.T.Informática S.L. [Sistema hada] hilo Administrador Desarrollo Activo

Dirección Alumnos. Av. Benjamín Aráoz C.P Tucumán - Argentina Tels.: 0054 (0381) Fax: Internet:

MANUAL DE USUARIO GESTIÓN DE EXPEDIENTES

Manual hosting acens

Manual para el uso del Correo Electrónico Institucional Via Webmail

Manual Consultas Web - PC Sistel Ver 486R4+ - USUARIO JEFATURA

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

TRÁFICO DE PISO 2. Rev. 1 15/04/09

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

Manual de operación Tausend Monitor

PESTAÑA DATOS - TABLAS EN EXCEL

1.- INTRODUCCIÓN 2.- PARÁMETROS

PROCEDIMIENTOS DE TÍTULOS. Para solicitar los títulos al finalizar determinadas enseñanzas es preciso seguir un proceso en la aplicación Plumier XXI.

Cómo convertir texto de Word en una tabla de datos en Excel (todas las versiones)

Charla N 6: Utilidades de Consulta de datos.

ÍNDICE GESTIÓN SERVICIOS COBRAR CLIENTES TARJETAS DE CLIENTE RESERVAS 40

MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences

Carrito de Compras. Esta opción dentro de Jazz la podremos utilizar como cualquier otro carrito de compras de una página de Internet.

Estructuras de datos: Proyecto 2

Base de datos OpenOffice ª parte. por Pedro Peregrín González CEIP San Juan de Dios Granada -España-

GUÍA RÁPIDA DEL PROGRAMA DE CÁLCULO DE PENSIONES DE JUBILACIÓN E INCAPACIDADES

MANUAL DE USO CS-ALMACENES (VERSIÓN 11/2013)

Sistema Ventanilla Manual Solicitud Compra DIMERC

Introducción al lenguaje Java

EJERCICIOS DEL TEMA 1

MANUAL PAGINA WEB ALASCORPCA MANUAL PARA EL USO DE LA PAGINA WEB ALASCORP.

Ejemplo de tipo fijo CALCULADOR CONTABLE

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

GedicoPDA: software de preventa

Usuario libre en Neodata Nube

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

COMBINAR CORRESPONDENCIA EN MICROSOFT WORD

GUÍA DE OUTLOOK. Febrero 2010

Al adquirir Gear Online se hará entrega del modulo de parámetros en cual podemos parametrizar todas las características de todas las áreas que

Acceso a la Nómina, personal SESPA Agosto 2010 DIRECCION DE RECURSOS HUMANOS Y FINANCIEROS

ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS

Sistema de Captura de Expedientes de Trabajadores

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Manual de Usuario Sitio Web de la Red Federal de Capacitación

INSTRUCTIVO CORREOS ELECTRÓNICOS

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

MS ACCESS BÁSICO 6 LOS INFORMES

Problemas de Programación Orientada a Objetos

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

INSTALACIÓN DE MEDPRO

Manual de Usuario Comprador. Módulo Compra Express. Iconstruy e S.A. Serv icio de Atención Telefónica:

Examen Septiembre Curso Programación en C++ Pág. 1

Transcripción:

Programación Orientada a Objetos Ejercicios: Clases y Objetos 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 Racional que permita trabajar con números racionales (fracciones). Incluye los siguientes métodos: constructores (por defecto y parametrizado), accedentes, leer(), suma, resta, multiplicación, división, comparaciones, copia() y print(). 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 nos 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: Programación Orientada a Objetos Ejercicios Clases y Objetos Pág. 1

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 nos 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(): pues eso, 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 y mutador para el número de DNI (que ajuste automáticamente la letra). leer(): que pida el número de DNI (ajustando automáticamente la letra) Método que nos 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 Programación Orientada a Objetos Ejercicios Clases y Objetos Pág. 2

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. Programación Orientada a Objetos Ejercicios Clases y Objetos Pág. 3

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. Crear 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. Programación Orientada a Objetos Ejercicios Clases y Objetos Pág. 4

copia(): clonación de objetos. 12. Desarrolla una clase Cancion con los siguientes atributos: titulo: una variable String que guarda el título de la canción. autor: una variable String que guarda el autor de la canción. y los siguientes métodos: Cancion(String, String): constructor que recibe como parámetros el título y el autor de la canción (por este orden). Cancion(): constructor predeterminado que inicializa el título y el autor a cadenas vacías. dametitulo(): devuelve el título de la canción. dameautor(): devuelve el autor de la canción. pontitulo(string): establece el título de la canción. ponautor(string): establece el autor de la canción. 13. 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 14. Escribe un programa que pida diez números enteros y los muestre en orden inverso (del último leído hasta el primero). 15. Escribe un programa que rellene un array de 30 doubles con números aleatorios y luego calcule la media y la desviación estándar. n xi ( xi media) i= media = 1 i= 1 desviación = n n 1 La función Math.random() devuelve un número real aleatorio entre 0 y 1. n 2 16. Desarrolla una clase Array234 que maneje un array de dimensiones 2 x 3 x 4. La clase tendrá estas características: Programación Orientada a Objetos Ejercicios Clases y Objetos Pág. 5

El array de 2 x 3 x 4 será un atributo de la clase. El constructor de la clase inicializará el array aleatoriamente, utilizando la función Math.random(). Un método max_min() mostrará en la pantalla los valores máximos y mínimos del array, así como los índices de los componentes que los almacenan. 17. Desarrolla una clase CD con los siguientes atributos: canciones: un array de objetos de la clase Cancion. contador: la siguiente posición libre del array canciones. y los siguientes métodos: CD(): constructor predeterminado (creará el array canciones). numerocanciones(): devuelve el valor del contador de canciones. damecancion(int): devuelve la Cancion que se encuentra en la posición indicada. grabacancion(int, Cancion): cambia la Cancion de la posición indicada por la nueva Cancion proporcionada. agrega(cancion): agrega al final del array la Cancion proporcionada. elimina(int): elimina la Cancion que se encuentra en la posición indicada. 18. Desarrollar una lista de Libros ordenada por título. La funcionalidad de la lista será la habitual: conocer el número de libros que hay en la lista, insertar un nuevo libro (en la posición que le corresponda), eliminar el libro de una determinada posición y obtener el libro de una determinada posición. También incluirá un método para buscar un libro a partir de una parte de su título (sin distinguir entre mayúsculas y minúsculas); el método devolverá la posición en la que se encuentra el libro ( 1 si no se encuentra). Programación Orientada a Objetos Ejercicios Clases y Objetos Pág. 6