From 4b3e03e1aec9e4ba4a62a230771b2c5433dd8691 Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 21 Oct 2021 08:04:55 -0300 Subject: [PATCH] initial --- BoxHerencia.java | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Lenguajes.java | 34 ++++++++++++++++++++++++++++++++++ Mochila.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ModificadorAcceso.java | 22 ++++++++++++++++++++++ PruebaStatic.java | 32 ++++++++++++++++++++++++++++++++ SalonBellezaV2.java | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Stack.java | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ create_table.sql | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ selectwhere.sql | 11 +++++++++++ 9 files changed, 624 insertions(+) create mode 100644 BoxHerencia.java create mode 100644 Lenguajes.java create mode 100644 Mochila.java create mode 100644 ModificadorAcceso.java create mode 100644 PruebaStatic.java create mode 100644 SalonBellezaV2.java create mode 100644 Stack.java create mode 100644 create_table.sql create mode 100644 selectwhere.sql diff --git a/BoxHerencia.java b/BoxHerencia.java new file mode 100644 index 0000000..0860ce8 --- /dev/null +++ b/BoxHerencia.java @@ -0,0 +1,89 @@ +public class BoxHerencia { + public static void main(String[] args) { + Envio envio1 = new Envio(5, 3, 3, 3); + Envio envio2 = new Envio(9,5); + System.out.println("Peso " + envio1.getPeso() + ". Volumen "+envio1.volumen()); + System.out.println("Peso " + envio2.getPeso() + ". Volumen "+envio2.volumen()); + + } +} + +class Box1{ + private float ancho; + private float alto; + private float profundidad; + + public Box1(float ancho, float alto, float profundidad) { + this.ancho = ancho; + this.alto = alto; + this.profundidad = profundidad; + } + + public Box1() { + this.ancho = 0; + this.alto = 0; + this.profundidad = 0; + } + + public Box1(float lado) { + this.ancho = this.alto = this.profundidad = lado; + } + + public float getAlto() { + return alto; + } + public float getAncho() { + return ancho; + } + public float getProfundidad() { + return profundidad; + } + public void setAlto(float alto) { + this.alto = alto; + } + public void setAncho(float ancho) { + this.ancho = ancho; + } + public void setProfundidad(float profundidad) { + this.profundidad = profundidad; + } + public float volumen(){ + return ancho * profundidad * alto; + } + +} + +class BoxPeso extends Box1{ + private float peso; + + public BoxPeso(float ancho, float alto, float profundidad, float peso) { + super(ancho,alto,profundidad); + this.peso = peso; + } + public BoxPeso(){ + super(); + this.peso = 0; + } + public float getPeso() { + return peso; + } + public void setPeso(float peso) { + this.peso = peso; + } +} + +class Envio extends BoxPeso{ + public Envio() { + super(); + } + + public Envio(Envio otro) { + super(otro.getAncho(),otro.getAlto(),otro.getProfundidad(),otro.getPeso()); + } + public Envio(float lado, float peso) { + super(lado,lado,lado,peso); + } + public Envio(float ancho, float alto, float profundidad, float peso) { + super(ancho,alto,profundidad,peso); + } +} diff --git a/Lenguajes.java b/Lenguajes.java new file mode 100644 index 0000000..1fb5d74 --- /dev/null +++ b/Lenguajes.java @@ -0,0 +1,34 @@ +import java.io.Console; + +public class Lenguajes { + public static void main(String[] args) { + String seleccion; + Console cons = System.console(); + do { + seleccion = cons.readLine("Que lenguaje desea aprender\n1-PHP\n2-Java\n3-Python\n4-Ruby\n5-R\n6-Salir\n"); + switch (seleccion) { + case "1": + System.out.println("PHP no es un buen lenguaje. Hay mejores opciones. Sus frameworks si son buenos"); + break; + + case "2": + System.out.println("Java es un lenguaje muy utilizado, su JVM hace que pueda correr en casi cualquier plataforma"); + break; + case "3": + System.out.println("Python es un buen lenguaje para iniciarse en la programacion. Es muy utilizado en la Ciencia de Datos"); + + break; + case "4": + System.out.println("Ruby es un lenguaje con sintasis parecida a python. Se utiliza mucho para programacion web"); + break; + case "5": + System.out.println("R es un lenguaje para estadisticos, se utiliza mucho en la ciencia de datos"); + + break; + + default: + break; + } + } while (!seleccion.equals("6")); + } +} diff --git a/Mochila.java b/Mochila.java new file mode 100644 index 0000000..8a69412 --- /dev/null +++ b/Mochila.java @@ -0,0 +1,104 @@ +import java.io.Console; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class Mochila { + private int capacidad; + private List elementos; + + public Mochila(int capacidad) { + this.capacidad = capacidad; + this.elementos = new ArrayList<>(); + } + + public void setCapacidad(int capacidad) { + this.capacidad = capacidad; + } + public int getCapacidad() { + return capacidad; + } + public List getElementos() { + return elementos; + } + public void addElemento(Objeto elemento) { + this.elementos.add(elemento); + } + + public void maximoBeneficio(Objeto [] cosas){ + Arrays.sort(cosas, (a,b) -> b.getRatio().compareTo(a.getRatio())); + int libre=capacidad; + int cantidadLlevarElemento = 0; + for (Objeto objeto : cosas) { + + if( objeto.getPeso()<= libre){ + cantidadLlevarElemento = Math.floorDiv(libre, objeto.getPeso()); + for (int i = 0; i < cantidadLlevarElemento; i++) { + elementos.add(objeto); + } + libre -= (cantidadLlevarElemento * objeto.getPeso()); + } + if(libre==0){ + break; + } + + } + } + + public static void main(String[] args) { + Console cons = System.console(); + String pesosS = cons.readLine("Introduzca valores separados por coma de los pesos de los elementos\n"); + String valoresS = cons.readLine("Introduzca valores separados por coma de los valores de los elementos\n"); + String [] pesos = pesosS.split(","); + String [] valores = valoresS.split(","); + Objeto [] elementos = new Objeto[pesos.length]; + for (int i = 0; i < pesos.length ; i++) { + elementos[i] = new Objeto(Integer.parseInt(valores[i]), Integer.parseInt(pesos[i])); + } + String capS = cons.readLine("Introduzca capacidad de la mochila\n"); + int cap = Integer.parseInt(capS); + Mochila mochila = new Mochila(cap); + mochila.maximoBeneficio(elementos); + System.out.println("Se escogen estos elementos"); + mochila.getElementos().stream().forEach(e -> System.out.println(e)); + + + + + } + +} + +class Objeto{ + private int valor; + private int peso; + private Float ratio; + public Objeto(int valor, int peso) { + this.valor = valor; + this.peso = peso; + this.ratio = ((float)this.valor)/this.peso; + } + public int getPeso() { + return peso; + } + public int getValor() { + return valor; + } + public void setPeso(int peso) { + this.peso = peso; + } + public void setValor(int valor) { + this.valor = valor; + } + public Float getRatio() { + return ratio; + } + public void setRatio(float ratio) { + this.ratio = ratio; + } + @Override + public String toString() { + + return "{Valor: " + valor + ",Peso: " + peso + ",Ratio:"+ratio+"}" ; + } +} diff --git a/ModificadorAcceso.java b/ModificadorAcceso.java new file mode 100644 index 0000000..450d45a --- /dev/null +++ b/ModificadorAcceso.java @@ -0,0 +1,22 @@ +public class ModificadorAcceso { + public static void main(String[] args) { + Notas n = new Notas(); + System.out.println(n.notas); + //System.out.println(n.direccion); + System.out.println(n.getNotas()); + //System.out.println(n.getDireccion()); + } +} + +class Notas{ + public int[] notas; + private String direccion; + + public int[] getNotas(){ + return notas; + } + + private String getDireccion(){ + return direccion; + } +} diff --git a/PruebaStatic.java b/PruebaStatic.java new file mode 100644 index 0000000..2362a26 --- /dev/null +++ b/PruebaStatic.java @@ -0,0 +1,32 @@ +public class PruebaStatic { + public static void main(String[] args) { + Factura f = new Factura(); + f.preciosProductos = new int[]{100,50,120}; + Factura.setIva1(10.f); + Factura.setIva2(5.f); + } +} + +class Factura{ + private static float iva1; + private static float iva2; + int [] preciosProductos; + + public static float getIva1() { + //preciosProductos[2]=3;error: non-static variable preciosProductos cannot be referenced from a static context + return iva1; + } + + public static float getIva2() { + return iva2; + } + + public static void setIva1(float iva1) { + Factura.iva1 = iva1; + } + + public static void setIva2(float iva2) { + Factura.iva2 = iva2; + } + +} \ No newline at end of file diff --git a/SalonBellezaV2.java b/SalonBellezaV2.java new file mode 100644 index 0000000..d9e76dd --- /dev/null +++ b/SalonBellezaV2.java @@ -0,0 +1,165 @@ +package t; +public class SalonBellezaV2 { + public static void main(String[] args) { + Cliente horacio = new Cliente("Horacio","1312","Calle 1"); + Cliente platz = new ClientePlata("Platz","1512","Calle 2","pedicure"); + Cliente mario = new ClienteOro("Mario","1912","Calle 3","pedicure,manicure,lavado","descuentos"); + Cliente juan = new ClientePremium("Juan","1512","Calle 4","pedicure,manicure,lavado,limpieza","descuentos",1000); + Producto [] productos = {new Producto("Shampo", 5.f), new Producto("Gel", 3.f), new Producto("Crema para la cara", 8.f)}; + Servicio [] servicios = {new Servicio("Corte",10.f), new Servicio("Lavado",8.f), new Servicio("Pedicure",8.f)}; + + + + } + + +} + +interface DetalleProducto{ + String getDescripcion(); + float getPrecio(); + boolean isServicio(); +} + +class Producto implements DetalleProducto{ + String descripcion; + float precio; + + public Producto(String descripcion, float precio) { + this.descripcion = descripcion; + this.precio = precio; + } + + public void setDescripcion(String descripcion) { + this.descripcion = descripcion; + } + public void setPrecio(float precio) { + this.precio = precio; + } + @Override + public String getDescripcion() { + // TODO Auto-generated method stub + return descripcion; + } + @Override + public float getPrecio() { + // TODO Auto-generated method stub + return precio; + } + @Override + public boolean isServicio() { + return false; + } +} + +class Servicio implements DetalleProducto{ + String descripcion; + float precio; + + public Servicio(String descripcion, float precio) { + this.descripcion = descripcion; + this.precio = precio; + } + + public void setDescripcion(String descripcion) { + this.descripcion = descripcion; + } + public void setPrecio(float precio) { + this.precio = precio; + } + @Override + public String getDescripcion() { + // TODO Auto-generated method stub + return descripcion; + } + @Override + public float getPrecio() { + // TODO Auto-generated method stub + return precio; + } + @Override + public boolean isServicio() { + return true; + } +} + +class Cliente { + private String nombre; + private String ruc; + private String direccion; + public Cliente(String nombre, String ruc, String direccion) { + this.nombre = nombre; + this.ruc = ruc; + this.direccion = direccion; + } + + + public void setNombre(String nombre) { + this.nombre = nombre; + + } + + public String getNombre() { + + return nombre; + } + + public String getDireccion() { + return direccion; + } + public String getRuc() { + return ruc; + } + public void setDireccion(String direccion) { + this.direccion = direccion; + } + public void setRuc(String ruc) { + this.ruc = ruc; + } + + +} + +class ClientePlata extends Cliente{ + private String servicios; + public ClientePlata(String nombre, String ruc, String direccion, String servicios) { + super(nombre, ruc, direccion); + this.servicios = servicios; + } + public String getServicios() { + return servicios; + } + public void setServicios(String servicios) { + this.servicios = servicios; + } +} + +class ClienteOro extends ClientePlata{ + private String beneficios; + public ClienteOro(String nombre, String ruc, String direccion, String servicios, String beneficios){ + super(nombre, ruc, direccion,servicios); + this.beneficios = beneficios; + } + public String getBeneficios() { + return beneficios; + } + public void setBeneficios(String beneficios) { + this.beneficios = beneficios; + } +} + +class ClientePremium extends ClienteOro{ + private int puntos; + public ClientePremium(String nombre, String ruc, String direccion, String servicios, String beneficios, int puntos){ + super(nombre, ruc, direccion,servicios,beneficios); + this.puntos = puntos; + } + public int getPuntos() { + return puntos; + } + public void setPuntos(int puntos) { + this.puntos = puntos; + } +} + + diff --git a/Stack.java b/Stack.java new file mode 100644 index 0000000..f081751 --- /dev/null +++ b/Stack.java @@ -0,0 +1,89 @@ +public class Stack { + /** + * Clase generica de Stack para soportar varios tipos de elementos. float, int, etc + * + */ + public T [] elementos; + int actual; + int capacidad; + + public Stack(int cantidad) { + this.capacidad = cantidad; + elementos = (T[])new Object[capacidad]; + actual = 0; + + } + + public void push(T valor){ + if(actual==capacidad){ + System.err.println("Pila llena"); + return ; + } + elementos[actual] = valor; + actual += 1; + } + + public T pop(){ + if(this.estaVacia()){ + System.err.println("Pila vacia"); + return null; + } + T valor = elementos[actual-1]; + actual -= 1; + return valor; + } + + public boolean estaVacia() { + return actual<1; + } + + public T lastValue(){ + return elementos[actual-1]; + } + + public static void main(String[] args) { + int capacidad = 10, numero; + Stack pila = new Stack(capacidad); + System.out.println("Insertando numeros:"); + for (int i = 0; i < capacidad; i++) { + numero = Math.round(100*(float)Math.random()); + System.out.print(numero+" "); + pila.push(numero); + } + System.out.println("\nOrdenar Pila"); + ordenarPila(pila); + //System.out.println("\nMeter en pila llena"); + //pila.push(122); + //System.out.println("Pila Vacia?"+pila.estaVacia()); + //System.out.println("\nExtrayendo pila"); + for (int i = 0; i < capacidad; i++) { + System.out.print(pila.pop()+" "); + + } + //System.out.println("\nPila Vacia?"+pila.estaVacia()); + //System.out.println("Extaccion pila vacia"); + //pila.pop(); */ + + + } + + public static void ordenarPila(Stack s) { + + if(!s.estaVacia()){ + int temp = s.pop(); + ordenarPila(s); + insertarEnOrden(temp,s); + } + + } + public static void insertarEnOrden(int elem, Stack s) + { + if (s.estaVacia() || elem > s.lastValue()) { + s.push(elem); + } else { + int temp = s.pop(); + insertarEnOrden(elem, s); + s.push(temp); + } + } +} diff --git a/create_table.sql b/create_table.sql new file mode 100644 index 0000000..0f8d033 --- /dev/null +++ b/create_table.sql @@ -0,0 +1,78 @@ +-- primer problema +create table centro_minorista( + id SERIAL primary key, + tipo varchar(100) not null, + direccion varchar(150) +); + +create table evento_transporte( + id SERIAL primary key, + tipo varchar(100) not null, + ruta_delivery varchar(200) not null +); + +create table articulo( + id SERIAL primary key, + peso float not null, + dimensiones varchar(50), + seguro float not null, + fecha_entrega date, + centro_id int REFERENCES centro_minorista(id) +); + +create table paquete_evento( + id SERIAL primary key, + evento_id int REFERENCES evento_transporte(id), + articulo_id int REFERENCES articulo(id) +); + +INSERT INTO centro_minorista( + tipo, direccion) + VALUES ( 'rapido', 'calle 123'); + +INSERT INTO evento_transporte( + tipo, ruta_delivery) + VALUES ( 'rapido', 'a despues b'); + +INSERT INTO articulo( + peso, dimensiones, seguro, fecha_entrega, centro_id) + VALUES ( 100, 'largo ancho', 0, '2020-03-03', 1); + +INSERT INTO paquete_evento( + evento_id, articulo_id) + VALUES (1, 1); + +-- segundo problema + +create table lot( + lot_number SERIAL primary key, + create_date date not null, + cost_of_materials float not null +); + +create table raw_material( + id SERIAL primary key, + tipo varchar(50) not null, + unicost float not null +); + +create table create_from( + id SERIAL primary key, + material_id int REFERENCES raw_material(id), + lot_id int REFERENCES lot(lot_number), + units int not null +); + +create table production_unit( + id SERIAL primary key, + exact_weight float not null, + product_type varchar(50), + product_desc varchar(255), + quality_test boolean not null, + lot_id int REFERENCES lot(lot_number) +); + +insert into create_from(material_id, lot_id, units) values(1, 1, 1000); +insert into lot(create_date,cost_of_materials) values('2020-03-29',500.55); +insert into production_unit(exact_weight, product_type, product_desc, quality_test, lot_id) values(103.43,'remera','lindo',false,1); +insert into raw_material(tipo, unicost) values('tela',100); \ No newline at end of file diff --git a/selectwhere.sql b/selectwhere.sql new file mode 100644 index 0000000..b9cf53f --- /dev/null +++ b/selectwhere.sql @@ -0,0 +1,11 @@ +select * from film; +select f.actor_id, f.film_id, f.last_update from film_actor as f left join actor on f.actor_id=actor.actor_id where actor.first_name='Johnny' ; +select f.actor_id, f.film_id, f.last_update from film_actor as f left join actor on f.actor_id=actor.actor_id where actor.first_name='Johnny' or actor.first_name='Penelope'; +select f.actor_id, f.film_id, f.last_update from film_actor as f left join actor on f.actor_id=actor.actor_id where actor.first_name='Johnny' and actor.first_name='Penelope'; +select * from film_category as fc left join category as cat +on cat.category_id=fc.category_id where cat.name in ('Action','Comedy'); +select * from film where title like 'A%' order by release_year; +select * from film where title like 'B%'; +select * from payment where amount between 0 and 5; +select * from film where title<>'Analyze Hoosiers'; +select * from film right join inventory as inv on inv.film_id=film.film_id right join store as st on st.store_id = inv.store_id; \ No newline at end of file -- libgit2 0.26.0