Está en la página 1de 20

UNIVERSIDAD DEL ISTMO DE PANAMA

FACULTAD DE INGIENERIA EN SISTEMAS

PERTENECE A:

IKER DELISSER 8-987-636

LUIS HALL 8-988-451

PROFESOR: JOSÉ A. MURILLO

TEMA: PROYECTO FINAL DE ESTRUCTURA DE DATOS Y

ALGORITMOS.

FECHA DE ENTREGA
16/12/2021

1
INDICE

Introducción 3

Contenido 4-6

Diagrama de flujo 6-7

Pseudocodigo 7

Código compilado 8-17

Manual de usuario 17

Conclusión 17

Anexos 18-20

2
INTRODUCCIÓN

En este trabajo lograremos entender que la tecnología no se limita solamente en cosas de

informática, también la podemos mezclar e implementar en los negocios, anuncios, marketing y

demás cosas que queramos hacer.

Esperamos que este trabajo te de una perspectiva distinta de este mundo tan increíble como lo es

la programación y las diferentes formas de ver las cosas y en caso de que haya problemas buscar

diferentes soluciones que den el mismo fin.

3
CONTENIDO

➢ HIPÓTESIS:

PROBLEMA:

• Funcionamiento de un mercado de mariscos.

POSIBLES SOLUCIONES:

• El mercado de mariscos puede funcionar como todo supermercado, chinito o tienda

por lo tanto debes tener la tecnología de tu lado para las cajas registradoras,

pantallas con anuncios para captar atención y demás cosas.

Su propósito es vender y dar a conocer mucho más su negocio.

Una de las posibles soluciones podría ser crear carteles llamativos donde tengas

unos super precios a los que un cliente jamás se podría resistir, se tiene que pensar

como cliente y no como un vendedor o dueño del lugar, al tu tener un amplio

repertorio de expectativas y cosas que te gustarían como comprador hay muchas

más ideas que no son tanto vender, sino tener la confianza del cliente y saber que

no te defraudaran tanto en sabor de la comida en el sentido de que tan frescos se

ven y estén dichos mariscos, el ambiente y lo llamativo que sea un lugar.

• El mercado de mariscos podría funcionar de esta manara para atender clientes, el

cliente llega, se le brinda la carta mediante un código QR o de manera física el tipo

de mariscos con los que se cuenta en el lugar, una vez ya se lo muestras ellos

4
proceden a decirte que quieren, en caso de elegir unas dos libras de corvinas,

procedes a preguntarles si lo quieren limpio o entero a lo que normalmente

responden que limpio y pues procederás a limpiar y quitar escamas y así

sucesivamente dependiendo de lo que el cliente desee.

Y como algo adicional si yo tuviese un mercado de mariscos o un local en él, a cada

cliente le brindaría descuentos mensuales por cada dos compras de 10 libras.

DETERMINAR METODOLOGIA:

Para captar la atención de los clientes se haría mediante nuestras promociones y ahí

verían cual les sale más conveniente depende de los precios de cada uno de los

mariscos que tengamos.

ESTRATEGIA:

Captar la atención de los clientes de la manera necesaria ya sea con pantallas,

descuentos, regalías y demás para que se pasen por el mercado y poder venderles o

darles una buena imagen del local para que así corran la voz y el local crezca y llegue

al oído de más personas ya sea por increíbles precios, instalaciones o productos super

frescos y deliciosos.

OBJETIVO GENERAL:

Vender y obtener una ganancia del mercado.

5
OBJETIVOS ESPECIFICOS:

✓ Captar la atención de los espectadores para que así corran la voz y den a

conocer sobre el negocio del mercado.

✓ Vender bastante para así recuperar y obtener una ganancia de nuestro negocio.

DIAGRAMA DE FLUJO:

6
PSEUDOCODIGO:

• Inicio
• Bienvenido a una pescadería
• Seleccione su pedido
• Pescados
• Pargo
• Salmon
• Corvina
• Trucha
• Marlín Azul
• Atún
• Una vez que seleccione el pescado que desea
• Indique la cantidad que desea
• Una vez que la indique la cantidad
• Desea agregar más a su pedido
• Si desea agregar seleccione si
• De lo contrario seleccione no
• Se muestre el precio de lo se seleccione
• Desea culminar la transacción
• Si o no
• Si seleccioné que si
• Ponga el monto con el que desea cancelar
• Su vuelto es
• Desea volver a iniciar el programa
• Si desea seleccioné que sí o no
• Si selecciono que si el programa se inicia
• Si selecciono que no el programa finalizar
• Venta
• Se muestra el menú de los pescados que compramos
• Pescados
• Pargo
• Salmon
• Corvina
• Trucha
• Marlín Azul
• Atún
• Se indica la cantidad que nos desean vender
• Luego se pregunta si se desea culminar la transición
• Y se paga el monto indicado por los peses
• Fin

7
CODIGO COMPILADO:

/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
*/

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.InputMismatchException;
import java.util.Scanner;

public class NewMain {

public static void main(String[] args) throws ClassNotFoundException, SQLException,


InstantiationException {

System.out.println("bienvenido a pescaderia");
int num = 0, cant = 0, cant2 = 0, totalP = 0, totalG = 0, mode = 0, totalP2 = 0;
double mont = 0.00, vuelto = 0.00, mont2 = 0.00;
int s, s2 = 0, i = 0, u = 1;
boolean wenttocatch;
String Selcc = "", Selcc2 = "", selcc3 = "", selcc4 = "", selcc5 = "";
Scanner leer = new Scanner(System.in);
String url = "jdbc:mysql://localhost/pescado";

8
String user = "root";
String pass = "";
String bd = "pescado";
String Pescados[] = {"", "", "", "", "", "", ""};
int Precios[] = {0, 0, 0, 0, 0, 0, 0};
Nodos raiz = new Nodos("Atún:$5.00");

Nodos nodo2 = new Nodos("Corvina $2.00");

Nodos nodo3 = new Nodos("Martín Azul $8.00");

nodo3.setNodoDerecho(new Nodos("Pargo $1.00"));

nodo3.setNodoIzquierdo(new Nodos("Salmón $4.00"));

nodo2.setNodoIzquierdo(new Nodos("Trucha $2.00"));


raiz.setNodoIzquierdo(nodo2);
raiz.setNodoDerecho(nodo3);
do {
System.out.println("Seleccióne una opción");
System.out.println("1.Vender");
System.out.println("2.Comprar");
mode = leer.nextInt();
if (mode == 1) {
System.out.println("Lista de precios de compra: ");
inorden(raiz);//preOrden(raiz); posOrden(raiz);
System.out.println("\n");
System.out.println("Ingrese el nombre del pescado que desea vender");

selcc4 = leer.next();

9
leer.reset();
switch (selcc4.trim().toLowerCase()) {

case "atún","atun":
System.out.println("¿Cuantas desea vender?");
cant2 = leer.nextInt();
totalP2 = 5 * cant2;
System.out.println("Total:$" + totalP2);

break;
case "corvina":
System.out.println("¿Cuantas desea vender?");
cant2 = leer.nextInt();
totalP2 = 2 * cant2;
System.out.println("Total:$" + totalP2);
break;
case "martín","martin":

System.out.println("¿Cuantas desea vender?");


do {
try {
wenttocatch = false;
cant2 = leer.nextInt();
} catch (InputMismatchException e) {//try catch de solucción al error
InputMismatch que occurria en esta selección.
leer.next();
wenttocatch = true;

}
} while (wenttocatch == true);
totalP2 = 8 * cant2;

10
System.out.println("Total:$" + totalP2);
break;
case "pargo":
System.out.println("¿Cuantas desea vender?");
cant2 = leer.nextInt();
totalP2 = cant2;
System.out.println("Total:$" + totalP2);
break;
case "salmon","salmón":
System.out.println("¿Cuantas desea vender?");
cant2 = leer.nextInt();
totalP2 = 4 * cant2;
System.out.println("Total:$" + totalP2);
break;
case "trucha":
System.out.println("¿Cuantas desea vender?");
cant2 = leer.nextInt();
totalP2 = 2 * cant2;
System.out.println("Total:$" + totalP2);
break;
default:
System.out.println("Error, nombre no correcto");
break;
}
System.out.println("Desea volver a iniciar el programa");
System.out.println("Si desea seleccioné que sí o no(s/n)");
selcc5 = leer.next();
if (selcc5.equals("s") || selcc5.equals("S")) {
s2 = 1;
} else {

11
s2 = 0;
}
} else if (mode == 2) {
try ( Connection connection = DriverManager.getConnection(url, user, pass)) {
System.out.println("Conexion a la base datos establecida");
Connection c = DriverManager.getConnection(url, user, pass);
Statement sd = c.createStatement();
ResultSet rs = sd.executeQuery("select Id,Nombre,Precio from pecez");

do {
System.out.println("Seleccione su pedido");
System.out.println("Pescados");
while (rs.next()) {
Pescados[rs.getInt(1)] = rs.getString(2);
Precios[rs.getInt(1)] = rs.getInt(3);
}
for (u = 1; u <= 6; u++) {
System.out.println(u + "." + Pescados[u]);
}
System.out.println("Escriba el numero de su selección a continuación:");
num = leer.nextInt();

System.out.println("Indique la cantidad que desea");


cant = leer.nextInt();
System.out.println("¿Desea agregar más a su pedido?");
System.out.println("Si o no(s/n)");
Selcc = leer.next();

totalP = Precios[num] * cant;


totalG = totalG + totalP;

12
if (Selcc.equals("s") || Selcc.equals("S")) {

s = 1;

} else {
s = 0;

}
} while (s == 1);
System.out.println("Precio total:$" + totalG + ".00");

System.out.println("Desea culminar la transacción");

System.out.println("Si o no(s/n)");
Selcc2 = leer.next();
if (Selcc2.equals("s") || Selcc2.equals("S")) {
System.out.println("Ponga el monto con el que desea cancelar");
mont = leer.nextDouble();
vuelto = mont - totalG;
if (vuelto < 0) {
System.out.println("El dinero ingresado es menor");
System.out.println("Cancelando transación");
totalG = 0;
s2 = 0;

} else {
System.out.println("Su vuelto es: $" + vuelto);
}
s2 = 0;

13
} else {

System.out.println("Desea volver a iniciar el programa");


System.out.println("Si desea seleccioné que sí o no(s/n)");
selcc3 = leer.next();
if (selcc3.equals("s") || selcc3.equals("S")) {
s2 = 1;
} else {
s2 = 0;
}

} catch (SQLException e) {
System.out.println(e.getMessage());
}

} else {
System.out.println("Error, selección incorrecta");
s2 = 1;
}
} while (s2 == 1);
System.out.println("Fin");
}

private static void preOrden(Nodos raiz) {


if (raiz != null) {
System.out.print(raiz.getDato() + " - ");
preOrden(raiz.getNodoIzquierdo());
preOrden(raiz.getNodoDerecho());

14
}
}

//Metodo Inorden
private static void inorden(Nodos raiz) {
if (raiz != null) {
inorden(raiz.getNodoIzquierdo());
System.out.print(raiz.getDato() + " - ");
inorden(raiz.getNodoDerecho());
}
}

//Metodo PostOrden
private static void posOrden(Nodos raiz) {
if (raiz != null) {
posOrden(raiz.getNodoIzquierdo());
posOrden(raiz.getNodoDerecho());
System.out.print(raiz.getDato() + " - ");
}
}
}

Objetos nodos
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

/**

15
*
* @author luis
*/
public class Nodos {
private String dato;
private Nodos izq;
private Nodos der;

//Constructor
public Nodos(String dato){
this.dato = dato;
}
//Para saber el nodo izquierdo
public Nodos getNodoIzquierdo(){
return izq;
}
//Para saber el nodo derecho
public Nodos getNodoDerecho(){
return der;
}
//Se crea nodo derecho
public void setNodoDerecho(Nodos nodo){
der = nodo;
}
//Se crea nodo Izquierdo
public void setNodoIzquierdo(Nodos nodo){
izq = nodo;
}

public String getDato(){

16
return dato;
}
}

MANUAL DE USUARIO:
Se encuentra en los anexos.

CONCLUSIÓN

• Como en todo negocio se debe tener una buena organización en cuanto a lo que es

reportes, planes de marketing para captar la atención de clientes y sobre todo tener

buenos precios para que así el cliente este satisfecho y uno como dueño obtenga

un ingreso. IKER DELISSER

• En este proyecto fue una oportunidad para usar gran parte del conocimiento que he

aprendido a lo largo de 4 meses, así como comprender un poco más lo que significa

hacer y desarrollar un programa y todo lo que conlleva realizados fue una

experiencia muy enriquecedora fue tener esta oportunidad. LUIS HALL

ANEXOS

17
18
19
20

También podría gustarte