1. a) Diseñe e implemente en Java una clase para trabajar con triángulos isósceles. Para ello, defina las variables de ejemplar mínimas ue reuiera, proporcione m!todos de consulta, un m!todo constructor e implemente otros m!todos para calcular el perímetro " el área de un triángulo. b) #mplemente en Java un m!todo ue a partir de una matri$ de triángulos devuelva el área del triángulo de ma"or superficie
package tarea; import java.util.Scanner; java.util.Scanner; public class Tarea { //Método para calcular el Área de un triángulo public static void void Areatri double a! double double b "{ double c#; double area! c $ %&a"'b"/%"; c# $ c&c(a"&c(a"&c(b""; c&c(a"&c(a"&c(b""; area $)oat" Mat*.po+c#!,.-"; Mat*.po+c#!,.-"; Sstem.out.print01l Sstem.out.print01l área del triángulo es igual a2 3.40! area";
Sstem.out.println00"; 5
//Método para calcular el 6er7metro de un triángulo public static static void 6ertrian 6ertrian )oat a! )oat b "{ )oat perim $ a&%"' b"; Sstem.out.println01l Sstem.out.println01l per7metro del trángulo es igual a2 0' perim"; 5 public static void mainString89 mainString89 args" {
Scanner ent $ ne+ Scanner Sstem.in"; Scanner ent# $ ne+ Scanner Sstem.in"; Sstem.out.println0Men: Sstem.out.println0Men: triángulo isosceles0";
Sstem.out.println0#. Área 0"; Sstem.out.println0%. 6er7metro0"; Sstem.out.println0ngrese la opci
s+itc* ="{ case #2 Sstem.out.println0>álculo del área0"; Sstem.out.println0ngrese la longitud de los lados iguales2 0"; a $ ent#.ne=t?ouble"; Sstem.out.println0ngrese la longitud del lado dierente0"; b $ ent#.ne=t?ouble"; double a# $ %&a; i a# @ b"{
Areatria!b"; 5
else{ Sstem.out.println0os lados no pertenecen a un triángulo 0"; 5
break;
case %2 Sstem.out.println0>álculo del per7metro0"; Sstem.out.println0ngrese la longitud de los lados iguales2 0";
c $ ent#.ne=tBloat"; Sstem.out.println0ngrese la longitud del lado dierente0"; d $ ent#.ne=tBloat"; )oat a% $ )oat" %&c"; i a% @ d"{ 6ertrian c!d"; 5
else{ Sstem.out.println0os lados no pertenecen a un triángulo 0"; 5
break;
5 5 5
%. &l siguiente diagrama de clases, incompleto, representa la estructura básica de un programa para recopilar los encargos de productos de una compañía. Encargo encargoID fecha valor Producto ID coste Cliente nombre dirección pago( ) Cliente corporativo cuenta pago( ) Cliente particular tarjetaNmr pago( ) 1 * *1
&scriba una versión en Java
C. ?ada la siguiente relaci
se implementa de esta forma "a ue una clase tiene un m!todo para acceder o controlar la otra clase.
c" Fn atributo de ejemplar de D es un objeto A d" Ginguna de las anteriores es cierta '. &l resultado es %',( *. &l programa imprime lo siguiente+
H I I #, #C #4 J. ?esarrolle un programa Eue sirva para evaluar el valor de un polinomio! cuo grado coeKcientes se introducen por teclado! en un valor de abscisa determinado. package tarea;
import java.util.Scanner; public class 6olinomio { public static void main String 89 args" { Scanner ent $ ne+ Scanner Sstem.in"; Sstem.out.println0J. ?esarrolle un programa Eue sirva para evaluar el valor de un polinomio! cuo grado coeKcientesLn0 ' 0se introducen por teclado! en un valor de abscisa determinado.0";
Sstem.out.println06olinomio evaluado en el valor de abscisa -0";
int = $ -; Sstem.out.println0ngrese el primer coeKciente0"; int a $ ent.ne=tnt"; Sstem.out.println0ngrese el primer grado0"; int E $ ent.ne=tnt"; Sstem.out.println0ngrese el segundo coeKciente0"; int b $ ent.ne=tnt"; Sstem.out.println0ngrese el segundo grado0"; int + $ ent.ne=tnt"; Sstem.out.println0ngrese el tercer coeKciente0"; int c $ ent.ne=tnt"; Sstem.out.println0ngrese el tercer grado0"; int e $ ent.ne=tnt";
)oat pol; pol $ )oat" )oat" a&Mat*.po+=!E"""'b&Mat*.po+=! +"""' c&Mat*.po+=! e""""; Sstem.out.println01l valor del polinomio ingresado! evaluado en - es igual a2 0' pol"; 5 5 . N>uál es el error del siguiente programaO
class >uenta { protected int numeroPcuenta; protected double saldo; public >uentaint cuenta! double inicial" { numeroPcuenta$cuenta; saldo $ inicial; 5 // Bin constructor cuenta public void depositardouble cantidad" { saldo $ saldo ' cantidad; 5 // Bin método deposito public double saldo"{ return saldo; 5 // Bin método saldo 5//Kn clase >uenta class Danco { public static void mainString 89 args" { //Se crea la cuenta >uenta cuentaP# $ ne+ >uenta#%C4-J! %-,-.C%"; // Se consulta el saldo double totalPcuenta$cuentaP#.saldo; Sstem.out.printlnQTotal actual en la cuenta2 Q 'totalPcuenta 'R 1urosR"; 5//del main 5//de la clase Danco G 1ST1 1UUU
. -n teatro se caracteri$a por su nombre " su dirección " en !l se reali$an ' funciones al día. ada función tiene un nombre " un precio. /ealice el diseño de clases e indiue u! m!todos tendría cada clase, teniendo en cuenta ue se pueda cambiar el nombre del teatro " el nombre " precio de la función. #mplemente dic0as clases.
class Teatro { String Gombre$0?uran0; String ?ireccion$0Abel Vlbert0 5
void >ambiaGombreString nombre"{ teatro$nombre; 5 void 6eliculas?eectoArraistWString@ t"{ t.add,!0Xengadores0"; t.add#!0T1?0"; t.add%!01ecto Mariposa0"; t.addC!0Xengadores0"; void 6recios?eectoArraistW?ouble@ p"{ p.add,!%.-,"; p.add#!C.-,"; p.add%!,.-,"; p.addC!#.-,";
5 void muestraArraistWString@ A"{ int i; ori$,;iWA.siYe";i''"{ Sstem.out.println0 0 ' i'#" '0 0 ' A.geti""; 5 5 void muestra%ArraistW?ouble@ M"{ int i; ori$,;iWM.siYe";i''"{ Sstem.out.println0 0 ' i'#" '0 0 ' M.geti""; 5 5 5 class Zome+ork { public static void mainString 89 args" { //>reando Arra ists Arraist WString@ teatro$ne+ Arraist"; Arraist W?ouble@ precio$ne+ Arraist"; >uenta muestra$ne+ >uenta"; String GombreTeatro$ne+ String"; Scanner teclado$ne+ ScannerSstem.in"; >uenta uncion$ne+ >uenta"; int modiKcar;
double Guevo6recio; String GuevoGombre$ne+ String"; Sstem.out.print0TeatroLnLn0"; Sstem.out.print0ngrese Gombre del Teatro 2 0"; GombreTeatro$teclado.ne=tine"; uncion.>ambiaGombreGombreTeatro"; Sstem.out.print0LnTeatro 0' GombreTeatro' 0LnLnBunciones ?isponibles sus 6reciosLn0"; muestra.6eliculas?eectoteatro"; muestra.6recios?eectoprecio"; muestra.muestrateatro"; muestra.muestra%precio"; Sstem.out.print0Lnngresa Gumero de Buncion con su precio a ModiKcar 2 0"; modiKcar$teclado.ne=tnt"; modiKcar$modiKcar(#; Sstem.out.println0LnLnGombre de Buncion a ngresar 2 0"; GuevoGombre$teclado.ne=tine"; Guevo6recio$teclado.ne=t?ouble"; teatro.setmodiKcar!GuevoGombre"; precio.setmodiKcar!Guevo6recio"; muestra.muestrateatro"; muestra.muestra%precio"; 5 5
. 23u! imprime el siguiente programa4 b) 25 si prop en lase1 no la declaramos como static4 class Ejercicio { public static void main (String [] args) { Clase1 obj1= new Clase1(7) Clase1 obj!= new Clase1(") obj!=obj1 S#stem$out$print(obj1$valorprop()%& &) S#stem$out$print(obj!$valorprop()%& &) 'in main '
class Clase1{ static int prop=* public Clase1 (int valor){ prop=valor ' public int valorprop(){ return prop ' ' +mprime , "
"
Sin static, 7
7
16. Dado el siguiente fragmento de código+ -rdenador sobremesa -rdenador portatil sobremesa = new -rdenador() sobremesa$precio("**) portatil = new -rdenador() portatil$precio(11**) portatil = sobremesa sobremesa = null
23u! afirmación es cierta4 a) 7l final tanto el objeto sobremesa como el objeto portátil apuntan anull b) 7l final sólo ueda un objeto de tipo 8rdenador con precio 1166 c) 7l final sólo ueda un objeto de tipo 8rdenador con precio 66 d) 7l final 0a" dos objetos de tipo 8rdenador, uno con precio 66 " otro con precio 1166
&s verdadera la 9
11. #mplemente un programa ue muestre por pantalla el resultado de la suma " el producto de dos n:meros complejos. 7demás, el programa deberá comprobar si dos n:meros complejos dados son iguales " tambi!n deberá multiplicar un n:mero complejo por un entero. Para ello+ a) Dibuje el diagrama -;< de la=s clase=s implicada=s, indicando todos sus miembros. b) #mplemente el código de la=s clase=s en Java. c) #mplemente un programa principal ue muestre p or pantalla el n:mero complejo >en la forma ?@"i)
resultante de la suma " el producto de dos n:meros complejos dados, así como el resultante de la multiplicación de un n:mero complejo por un entero. 7demás, el programa deberá indicar si los dos n:meros complejos introducidos son iguales. Aota+ Bean a " b dos n:meros realesC, el par >a, b) se llama n:mero complejo, si la igualdad, la adición " la multiplicación 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"
&l n:mero complejo >a, b) puede e?presarse en la forma a@bi. ambi!n se puede definir la operación multiplicación de un n:mero complejo por un entero de la siguiente forma+ Multiplicación por un entero: ^(a,b) $ (^ a,^b) C Por simplicidad considere a " b como enteros.
class Gumero>omplejo{ class operaciones{ void Todasperaciones"{ int =!!a!b!sum!sumU!multU!mult!entero; Scanner teclado$ne+ ScannerSstem.in"; Sstem.out.println0ngrese cualEuier Gumero 1ntero2 0"; entero$teclado.ne=tnt"; Sstem.out.println0ngrese 6arte real del Gumero >omplejo #2 0"; =$teclado.ne=tnt"; Sstem.out.println0ngrese 6arte maginaria del Gumero >omplejo #2 0"; $teclado.ne=tnt"; Sstem.out.println'= '0'0 ''0i0"; Sstem.out.println0ngrese 6arte real del Gumero >omplejo %2 0"; a$teclado.ne=tnt"; Sstem.out.println0ngrese 6arte maginaria del Gumero >omplejo %2 0"; b$teclado.ne=tnt"; Sstem.out.println0Ln0'a '0'0 'b'0i0"; i=$$a __ b$$"{ Sstem.out.println0os Gumeros >mplejos son guales0"; 5 else { Sstem.out.println0os Gumeros >mplejos son ?ierentes0"; 5 sumU$a'=; sum$'b; Sstem.out.println0a suma de los % Gumeros >omplejos es 0'sumU '0'0 'sum'0i0"; multU$=&a"(&b"; mult$=&b"'&a"; Sstem.out.println0a Multiplicacion de los % Gumeros >omplejos es 0'multU '0'0 'mult'0i0"; Sstem.out.println0a Multiplicacion del entero0 'entero '0 con el Gumeros >omplejo # es 0'entero&=" '0'0 'entero&"'0i0"; Sstem.out.println0a Multiplicacion del entero 0 'entero '0con el Gumeros >omplejo % es 0'entero&a" '0'0 'entero&b"'0i0"; 5 5
5 class Homework{
public static void mainString89 args"{ Gumero>omplejo num$ne+ Gumero>omplejo"; num.pedirGumero"; 5
5
#%. N`ué imprime el siguiente programaO class 6rincipal { public static void mainString89 args" { Autor autor $ne+ Autor 06aul0! 0Auster0"; ibro libro$ ne+ ibro 0a trilog7a de Gueva ork0! autor"; Sstem.out.println libro.getTitulo"'0 de 0 ' libro.getAutor"".toString""; 5 5 class ibro { private String titulo; private Autor autor; public ibroString titulo! Autor autor" { t*is.titulo $ titulo; t*is.autor $ autor; 5 public Autor getAutor" { return autor; 5 public String getTitulo" { return titulo; 5 5 class Autor { private String nombre; private String apellido; public Autor String nombre! String apellido" { t*is.nombre $ nombre; t*is.apellido$apellido; 5 public String toString " { return nombre' 0 0 'apellido; 5 5 mprime2 a trilog7a de Gueva ork de 6aul Auster
1(. 23u! imprime el siguiente programa4 class .lumno { String nombre = &.lumno 1& c/ar grupo =0.0 c/ar devolvergrupo() { return grupo ' void cambiargrupo(c/ar nuevogrupo) { grupo = nuevogrupo ' void imprimir() { S#stem$out$println(&ombre, & % nombre) S#stem$out$println(&2rupo, & % devolvergrupo()) ' ' class 3rincipal { public static void main (String[] args) { .lumno a1 = new .lumno() S#stem$out$println(&-bjeto a1,4n555555555554n&) a1$imprimir() S#stem$out$println(&4n6lamada al metodo prueba1(a1)$4n&) prueba1(a1) a1$imprimir() S#stem$out$println(& &) .lumno a! = new .lumno() S#stem$out$println(&4n-bjeto a!,4n555555555554n&) a!$imprimir() S#stem$out$println(&4n6lamada al metodo prueba!(a!)$4n&) prueba!(a!) S#stem$out$println(&4nEn main, uera #a del metodo prueba!$ 4n&) a!$imprimir() ' static void prueba1(.lumno b) { b$cambiargrupo(080) ' static void prueba!(.lumno b) { b = new .lumno() b$cambiargrupo(080) S#stem$out$println(&4n9entro del metodo prueba!$ 4n&) b$imprimir() ' ' +mprime,
bjeto a#2 ((((((((((( Gombre2 Alumno # Vrupo2 A lamada al metodo prueba#a#".
Gombre2 Alumno # Vrupo2 D bjeto a%2 ((((((((((( Gombre2 Alumno # Vrupo2 A lamada al metodo prueba%a%". ?entro del metodo prueba%. Gombre2 Alumno # Vrupo2 D 1n main2 Buera a del metodo prueba%. Gombre2 Alumno # Vrupo2 A
#4. 1n una tienda cada actura se representa por su n:mero una serie de productos. >ada producto se caracteriYa por su c
#! precio2 %4 euros"! c
class Tienda { String Gombre$0Santa sabel0; void 6recios?eectoString D8989"{ /& p.add##!-.%;H"; p.add#!C.-,"; p.add%!,.-,"; p.addC!#.-,";&/ D8#98,9$0c#0; D8#98#9$0%4 ?olares0; D8%98,9$0Z%C0; D8%98#9$0%C4 ?olares0; D8C98,9$0MC,0; D8C98#9$0#,I ?olares0; 5 class Bactura{ void muestraString D8989"{ int i!j; ori$,;iW4;i''"{ orj$,;jW%;j''"{ Sstem.out.printD8i98j9 '0Lt0";
5
5 Sstem.out.print0Ln0";
5 5 class Zome+ork { public static void mainString 89 args" { //>reando Arra ists >uenta muestra$ne+ >uenta"; String arr8989$ne+ String8498%9; arr8,98,9$0>?V0; arr8,98#9$06U1>0; muestra.6recios?eectoarr"; muestra.muestraarr"; Sstem.out.println0Ln(((((((((((((LnTTA2CJ ?olares0"; Sstem.out.println0LnLn>ambiaremos el % do >odigo de la Bactura por un 1rrorLnLn0"; Sstem.out.println06or ModiKcar2 LnLn>odigo #%C 6recio %4 1urosLnLnLn0"; arr8%98,9$0#%C0; arr8%98#9$0%4 ?olares0;
muestra.muestraarr"; Sstem.out.println0Ln(((((((((((((LnTTA2CH, ?olares0"; 5 5 1*. &scriba un programa ue use una lista enla$ada para gestionar una serie de libros identificados por su título. &l programa debe ser capa$ de ir añadiendo libros a la serie mantenida " de poder imprimir los títulos de toda la serie cuando se le indiue. omo ejemplo use los siguientes libros+ EAieblaF, E
package tarea;
import java.util.Arraist;
import java.util.Scanner; class ibro{
void ibros?eectoArraistWString@ A"{
A.add,!0Metamorosis0"; A.add#!0Giebla0"; A.add%!01l >allejon de los Milagros0"; 5 void muestraArraistWString@ A"{ int i;
ori$,;iWA.siYe";i''"{ Sstem.out.println0 0 ' i'#" '0 0 ' A.geti""; 5 5
void menu"{ Sstem.out.println0S1U1 ?1 DUS0"; Sstem.out.println0LnLn8#9 ngrese mas ibros a las Serie0"; Sstem.out.println08%9 Muestre la Serie de ibros 1=istentes0"; Sstem.out.println0pcion2 0"; 5 void ngresaibroint cant!ArraistWString@ lista"{ int i; Arraist WString@ Serie$ne+ Arraist"; String Gombre$ne+ String"; Scanner teclado$ne+ ScannerSstem.in";
ori$,;iWcant;i''"{ Sstem.out.println0ngrese Gombre del ibro2 0";
Gombre$teclado.ne=tine";
Serie.addi!Gombre"; 5
lista.addAllSerie"; 5
5
class Zome+ork { public static void mainString 89 args" { Arraist WString@ Serie$ne+ Arraist"; ibro libro$ne+ ibro"; Scanner teclado$ne+ ScannerSstem.in"; int opcion!op;
libro.ibros?eectoSerie"; do{
libro.menu";
opcion$teclado.ne=tnt";5 +*ileopcion$# __ opcion$%";
s+itc*opcion"{ case #2 int cantidad;
Sstem.out.println0ngrese >ant. de ibros a ngresar2 0";
cantidad$teclado.ne=tnt"; libro.ngresaibrocantidad! Serie"; Sstem.out.println0?esea mprimir la Serie de ibros20";
Sstem.out.println08#9SiLn8%9Go0";
op$teclado.ne=tnt";
s+itc*op"{ case #2
libro.muestraSerie";
return; case %2
return; 5 case %2
libro.muestraSerie";
return;
5 5 5 mprime2 >" rojo aYul.