Anda di halaman 1dari 17

ESCUELA SUPERIOR POLITCNICA DEL LITORAL

FACULTAD DE INGENIERA EN ELECTRICIDAD Y COMPUTACIN PROGRAMACION ORIENTADA A OBJETOS 2012 -II


TARE 3 CLASES Y OBJETOS

1. Disee e implemente en Java una clase para trabajar con tringulos issceles. Para ello, defina las variables de ejemplar mnimas que requiera, proporcione mtodos de consulta, un mtodo constructor e implemente otros mtodos para calcular el permetro y el rea de un tringulo.

class Triangulo { int base=100; int altura=200; int perimetro(int l1,int l2){ return l1+l1+l2; } int area (int base,int h){ return ((base*h)/(2)); } void menu(){ System.out.print("\t\t\tMenu Triangulo Isoceles\n\n"); System.out.print("\t[1] Calcula Area\n"); System.out.print("\t[2] Calcula Perimetro\n"); System.out.print("\tIngrese Opcion: "); } } class Homework{ public static void main (String args[]){ Triangulo x; int resultArea,resultPerimetro; int opcion; int base,altura,ladosIguales,ladoDesigual; Scanner teclado; teclado=new Scanner(System.in); x=new Triangulo(); do{ x.menu(); opcion=teclado.nextInt(); } while(opcion!=2 && opcion!=1); switch(opcion){ case 1: System.out.print("Ingrese Base: "); base=teclado.nextInt(); System.out.print("Ingrese Altura: "); altura=teclado.nextInt(); resultArea=x.area(base, altura); System.out.println("El Area del Triangulo Isoceles es " +resultArea); break;

case 2: System.out.print("Ingrese 2 Lados Iguales "); ladosIguales=teclado.nextInt(); System.out.print("Ingrese Lado Desigual: "); ladoDesigual=teclado.nextInt(); resultPerimetro=x.area(ladosIguales, ladoDesigual); System.out.println("El Perimetro del Triangulo Isoceles es " +resultPerimetro); } } }

2. Cul es el resultado del siguiente programa?

R// 24.3 "espacio" 7

3. Qu imprime el siguiente programa?

R// 8 9 9 10 13 14
4. Desarrolle un programa que sirva para evaluar el valor de un polinomio, cuyo grado y coeficientes se introducen por teclado, en un valor de abscisa determinado. class Polinomio{ void funcion(double grado,double poli[],double x){ int i; Scanner teclado=new Scanner(System.in); double polinomio,resultado; for(i=0;i<grado+1;i=i+1) { System.out.print("Poli"+"[" +i +"]"); poli[i]=teclado.nextInt(); } //Calculo polinomio=0; for(i=0;i<grado+1;i++){ resultado=Math.pow(x, i); polinomio=polinomio+poli[i]*resultado; } System.out.println("El valor es" +polinomio); } }

class Homework{ public static void main(){ Scanner teclado=new Scanner(System.in); int grado; double poli[]; poli = new double[100]; double x; Polinomio llama=new Polinomio(); System.out.println("Ingrese Grado del Polinomio: "); grado=teclado.nextInt(); System.out.println("Ingrese el valor de X"); x=teclado.nextDouble(); llama.funcion(grado, poli, x); } }

5. Cul es el error del siguiente programa?

R// A simple vista no vi un error, tipie y lo ejecute en netbeans y no me boto ningn error... Es ms me compilo y la respuesta Total actual en la cuenta: 2505.32 Euros
6. Un teatro se caracteriza por su nombre y su direccin y en l se realizan 4 funciones al da. Cada funcin tiene un nombre y un precio. Realice el diseo de clases e indique qu mtodos tendra cada clase, teniendo en cuenta que se pueda cambiar el nombre del teatro y el nombre y precio de la funcin. Implemente dichas clases.

class Teatro { String Nombre="Duran"; String Direccion="Abel GIlbert" void CambiaNombre(String nombre){ teatro=nombre; } void PeliculasDefecto(ArrayList<String> t){ t.add(0,"Vengadores"); t.add(1,"TED"); t.add(2,"Efecto Mariposa"); t.add(3,"Vengadores"); } void PreciosDefecto(ArrayList<Double> p){ p.add(0,2.50); p.add(1,3.50); p.add(2,0.50);

p.add(3,1.50); } void muestra(ArrayList<String> A){ int i; for(i=0;i<A.size();i++){ System.out.println(" " + (i+1) +" " + A.get(i)); } } void muestra2(ArrayList<Double> M){ int i; for(i=0;i<M.size();i++){ System.out.println(" " + (i+1) +" " + M.get(i)); } } } class Homework { public static void main(String [] args) { //Creando Array Lists ArrayList <String> teatro=new ArrayList(); ArrayList <Double> precio=new ArrayList(); Cuenta muestra=new Cuenta(); String NombreTeatro=new String(); Scanner teclado=new Scanner(System.in); Cuenta funcion=new Cuenta(); int modificar; double NuevoPrecio; String NuevoNombre=new String(); System.out.print("Teatro\n\n"); System.out.print("Ingrese Nombre del Teatro : "); NombreTeatro=teclado.nextLine(); funcion.CambiaNombre(NombreTeatro); System.out.print("\nTeatro "+ NombreTeatro+ "\n\nFunciones Disponibles y sus Precios\n"); muestra.PeliculasDefecto(teatro); muestra.PreciosDefecto(precio); muestra.muestra(teatro); muestra.muestra2(precio); System.out.print("\nIngresa Numero de Funcion con su precio a Modificar : "); modificar=teclado.nextInt(); modificar=modificar-1; System.out.println("\n\nNombre de Funcion a Ingresar : "); NuevoNombre=teclado.nextLine(); NuevoPrecio=teclado.nextDouble(); teatro.set(modificar,NuevoNombre); precio.set(modificar,NuevoPrecio); muestra.muestra(teatro); muestra.muestra2(precio); } }

7. a) Qu imprime el siguiente programa? b) Y si prop en Clase1 no la declaramos como static?

R//a) 9 " espacio" 9 b)7 "espacio " 7

8. Dado el siguiente fragmento de cdigo: Ordenador sobremesa; Ordenador portatil; sobremesa = new Ordenador(); sobremesa.precio(900); portatil = new Ordenador();

portatil.precio(1100); portatil = sobremesa; sobremesa = null; Qu afirmacin es cierta? a) Al final tanto el objeto sobremesa como el objeto porttil apuntan anull

b) Al final slo queda un objeto de tipo Ordenador con precio 1100


c) Al final slo queda un objeto de tipo Ordenador con precio 900 d) Al final hay dos objetos de tipo Ordenador, uno con precio 900 y otro con precio 1100

9. Implemente un programa que muestre por pantalla el resultado de la suma y el producto de dos nmeros complejos. Adems, el programa deber comprobar si dos nmeros complejos dados son iguales y tambin deber multiplicar un nmero complejo por un entero. Para ello: a) Dibuje el diagrama UML de la/s clase/s implicada/s, indicando todos sus miembros. b) Implemente el cdigo de la/s clase/s en Java. c) Implemente un programa principal que muestre por pantalla el nmero complejo (en la forma x+yi) resultante de la suma y el producto de dos nmeros complejos dados, as como el resultante de la multiplicacin de un nmero complejo por un entero. Adems, el programa deber indicar si los dos nmeros complejos introducidos son iguales. Nota: Sean a y b dos nmeros reales*, el par (a, b) se llama nmero complejo, si la igualdad, la adicin y la multiplicacin de pares se definen del modo siguiente: a) Igualdad: (a, b) = (c, d) a = c b = d b) Suma: ( a, b) + (c, d) = (a + c, b + d ) c) Producto: (a, b) (c, d) = (ac bd, ad + bc) El nmero complejo (a, b) puede expresarse en la forma a+bi. Tambin se puede definir la operacin multiplicacin de un nmero complejo por un entero de la siguiente forma: Multiplicacin por un entero: (a ,b ) = (a, b) * Por simplicidad considere a y b como enteros.

CODIFICACION

class NumeroComplejo{ class operaciones{ void TodasOperaciones(){ int x,y,a,b,sumI,sumR,multR,multI,entero; Scanner teclado=new Scanner(System.in); System.out.println("Ingrese cualquier Numero Entero: "); entero=teclado.nextInt(); System.out.println("Ingrese Parte real del Numero Complejo 1: "); x=teclado.nextInt(); System.out.println("Ingrese Parte Imaginaria del Numero Complejo 1: "); y=teclado.nextInt(); System.out.println(+x +"+" +y+"i"); System.out.println("Ingrese Parte real del Numero Complejo 2: "); a=teclado.nextInt(); System.out.println("Ingrese Parte Imaginaria del Numero Complejo 2: "); b=teclado.nextInt(); System.out.println("\n"+a +"+" +b+"i"); if(x==a && b==y){ System.out.println("Los Numeros COmplejos son Iguales"); } else { System.out.println("Los Numeros COmplejos son Diferentes"); } sumR=a+x; sumI=y+b; System.out.println("La suma de los 2 Numeros Complejos es "+sumR +"+" +sumI+"i"); multR=(x*a)-(y*b); multI=(x*b)+(y*a); System.out.println("La Multiplicacion de los 2 Numeros Complejos es "+multR +"+" +multI+"i"); System.out.println("La Multiplicacion del entero" +entero +" con el Numeros Complejo 1 es "+(entero*x) +"+" +(entero*y)+"i"); System.out.println("La Multiplicacion del entero " +entero +"con el Numeros Complejo 2 es "+(entero*a) +"+" +(entero*b)+"i"); } } } class Homework{ public static void main(String[] args){ NumeroComplejo num=new NumeroComplejo(); num.pedirNumero(); } }

10. Qu imprime el siguiente programa?

R//

La triloga de Nueva York de Paul Auster

11. Qu imprime el siguiente programa?

R//

Objeto a1: ----------Nombre: Alumno 1 Grupo: A Llamada al metodo prueba1(a1). Nombre: Alumno 1 Grupo: B Objeto a2: ----------Nombre: Alumno 1 Grupo: A Llamada al metodo prueba2(a2). Dentro del metodo prueba2. Nombre: Alumno 1 Grupo: B En main: Fuera ya del metodo prueba2. Nombre: Alumno 1 Grupo: A

12. En una tienda cada factura se representa por su nmero y una serie de productos. Cada producto se caracteriza por su cdigo alfanumrico y su precio. Se pide: a) Dibujar el diagrama de clases indicando las relaciones entre las mismas y los miembros que hay en cada una. Debe incluir mtodos para la consulta del nmero de factura y el/los productos de la factura y mtodos para actualizacin de los datos del/los productos. b) Implemente en Java dichas clases c) Implemente un programa principal donde se imprima una factura con los siguientes productos: (cdigo: C1, precio: 24 euros), (cdigo: H23, precio: 234 euros) y (cdigo: M30, precio: 109 euros). A continuacin debe cambiarse el segundo producto de la factura por el siguiente (cdigo: K123, precio:247 euros) y volver a imprimir la factura

class Tienda { String Nombre="Santa Isabel";

void PreciosDefecto(String B[][]){ /* p.add(11,5.2;8); p.add(1,3.50); p.add(2,0.50); p.add(3,1.50);*/

B[1][0]="c1"; B[1][1]="$24 Dolares"; B[2][0]="H23"; B[2][1]="$234 Dolares"; B[3][0]="M30"; B[3][1]="$109 Dolares"; } class Factura{ void muestra(String B[][]){ int i,j; for(i=0;i<4;i++){ for(j=0;j<2;j++){ System.out.print(B[i][j] +"\t"); } System.out.print("\n"); }

} } class Homework { public static void main(String [] args) { //Creando Array Lists Cuenta muestra=new Cuenta(); String arr[][]=new String[4][2]; arr[0][0]="CODIGO"; arr[0][1]="PRECIO"; muestra.PreciosDefecto(arr); muestra.muestra(arr); System.out.println("\n-------------\nTOTAL:$367 Dolares"); System.out.println("\n\nCambiaremos el 2 do Codigo de la Factura por un Error\n\n"); System.out.println("Por Modificar: \n\nCodigo K123 Precio 247 Euros\n\n\n"); arr[2][0]="K123"; arr[2][1]="$247 Dolares"; muestra.muestra(arr); System.out.println("\n-------------\nTOTAL:$380 Dolares"); } }

13. Escriba un programa que use una lista enlazada para gestionar una serie de libros identificados por su ttulo. El programa debe ser capaz de ir aadiendo libros a la serie mantenida y de poder imprimir los ttulos de toda la serie cuando se le indique. Como ejemplo use los siguientes libros: Niebla, La Metamorfosis y El callejn de los milagros

class Libro{ void LibrosDefecto(ArrayList<String> A){ A.add(0,"Metamorfosis"); A.add(1,"Niebla"); A.add(2,"El Callejon de los Milagros"); } void muestra(ArrayList<String> A){ int i;

for(i=0;i<A.size();i++){ System.out.println(" " + (i+1) +" " + A.get(i)); } } void menu(){ System.out.println("SERIE DE LIBROS"); System.out.println("\n\n[1] Ingrese mas Libros a las Serie"); System.out.println("[2] Muestre la Serie de Libros Existentes"); System.out.println("Opcion: "); } void IngresaLibro(int cant,ArrayList<String> lista){ int i; ArrayList <String> Serie=new ArrayList(); String Nombre=new String(); Scanner teclado=new Scanner(System.in); for(i=0;i<cant;i++){ System.out.println("Ingrese Nombre del Libro: "); Nombre=teclado.nextLine(); Serie.add(i,Nombre); } lista.addAll(Serie); } } class Homework { public static void main(String [] args) { ArrayList <String> Serie=new ArrayList(); Libro libro=new Libro(); Scanner teclado=new Scanner(System.in); int opcion,op; libro.LibrosDefecto(Serie); do{ libro.menu(); opcion=teclado.nextInt();} while(opcion!=1 && opcion!=2); switch(opcion){ case 1: int cantidad; System.out.println("Ingrese Cant. de Libros a Ingresar: "); cantidad=teclado.nextInt(); libro.IngresaLibro(cantidad, Serie); System.out.println("Desea Imprimir la Serie de Libros:"); System.out.println("[1]Si\n[2]No"); op=teclado.nextInt(); switch(op){ case 1: libro.muestra(Serie); return; case 2:

return; } case 2: libro.muestra(Serie); return; }

14. Qu imprime el siguiente programa?

a) rojo azul verde b) null

c)rojo azul
d) azul verde

Anda mungkin juga menyukai