Algoritmo



 ANALISIS DEL ALGORITMO

Los procesos que harán parte del menú principal son:
  1.  Registros de inventario
  2. Proceso de venta
  3. Proceso de pago
  4. Informe

  1. Registrar inventario
Salida: N total de productos a vender en el estimado día (línea de hamburguesa y pinchos) y fecha actual
Entrada: N productos de línea hamburguesa (combos y pequeño precios) y N productos de línea picho (carne, pollo y mixto) y fecha de registro de inventario
Proceso: Que el N productos de las líneas sea mayor que cero

  1. Proceso de ventas
Salida: Productos pedidos por los clientes, medio de ventas, domicilio o directamente en el establecimiento, total de producto restante
Entrada: Los productos que el cliente quiere consumir, N de productos que el cliente que el medio de ventas
Proceso: Restar el N de productos de inventario con los pedido por el cliente, condición si N producto es igual a cero, si N es igual a cero mostrar mensajes diciendo "Producto agotado" y si no proseguir con la venta

  1. Proceso de pago
Salida: Total a pagar por el cliente
Entrada: Medio de venta, modo de pago, productos pedidos por el cliente,
Proceso: sumar precio de los N productos consumidos por el cliente.

  1. Informe
Salida:
·         Total de ventas en general
·         Porcentaje  y fracción de ventas realizadas a domicilio
·         Porcentaje y fracción de ventas realizadas en el establecimiento
·         Ventas, porcentajes y fracciones hechas en efectivo a domicilio
·         Ventas, porcentajes y fracciones hechas en tarjeta realizada
·         Servicios directos pagados con efectivo
·         Servicios directos pagados con tarjeta
·         Porcentaje y fracción de ventas de la línea 1
·         Porcentaje y fracción de ventas de la línea 2
·         El porcentaje y fracción de ventas de subclasificaciones de línea 1
·         El porcentaje y fracción de ventas de subclasificaciones de línea 2
·         Cantidad de dinero que se dejó de recibir en el día

Entrada: N producto restante, Dinero ganado en el dia, total de dinero por productos de inventario

Proceso: Calcular porcentaje de cada uno de los puntos que se nos piden, Hacer fracciones de las ventas echas entre X espacio con el total de ventas echas en el dia
 

ALGORITMO

/* Algortimo Para El Restaurante De Comida Rapida De La Ciudad Del Conocimiento */

const
    comb = "Combo de hamburguesa"
    pprecio = "Pequeños precio"
    carne = "Pincho de carne"
    pollo = "Pincho de pollo"
    mix = "Pincho mixto"

/* Constantes De Precios */
    pre_comb = 7500
    pre_pprecio = 2500
    pre_carne = 6000
    pre_pollo = 5500
    pre_mix = 7500


var

/* Variable De Contadores */
    totalv : numerico /*Ventas en total */
    con_totalv : numerico

/*Establecimiento*/
    totalv_est : numerico
    con_est : numerico
    efe_est : numerico
    tar_est : numerico

/*Domicilio*/
    totalv_ado : numerico
    con_ado : numerico

/* Linea de hamgurguesa */
    totalv_ham : numerico
    con_ham : numerico
   
    /*Combos*/
        totalv_comb : numerico
        con_comb : numerico

    /*Pequeños Precios*/
        totalv_pprecio : numerico
        con_pprecio : numerico

/* Linea De Pinchos */
    totalv_pin : numerico
    con_pin : numerico

    /*Pinchos De Carne*/
        totalv_car : numerico
        con_car : numerico

    /*Pinchos De Pollo*/
        totalv_pol : numerico
        con_pol : numerico

    /*Pinchos Mix */
        totalv_mix : numerico
        con_mix : numerico


/* Variables De Productos */

/* Variables De Inventario De Prductos De La Linea De Hamburguesas */
    inv_comb : numerico                     /* Inventario Combos*/
    inv_pprecio : numerico                 /* Inventario Pequeños Precios*/

/* Variables De Inventario De Productos De La Linea De Pinchos */
    inv_carne : numerico                        /* Inventario Pinchos De Carne */
    inv_pollo : numerico                /* Inventario Pinchos De Pollo */
    inv_mix : numerico                /* Inventario Pinchos Mixtos */


/* Variables Generales */
    fecha : registro
                {
                    dia : numerico
                    mes : cadena
                    ano : numerico
                    }
    shi : numerico
    opc : numerico      /*Opcion del menu*/
    opc1 : numerico
    opc2: numerico
    n_pro : numerico
    x, y : numerico
    a, b, c : numerico

    d,e,f,g,h,i,j,k,l,m,n,o,p : numerico
/* Matrizes */
    pedido : matriz [*,*] cadena
    precio : matriz [*,*] numerico


/* Inicio Del Proceso */
inicio

/* Introduccion De Fecha */
cls ()
imprimir ("\n Bienvenidos")
imprimir ("\n\ Coloque la fecha del dia de hoy (Dia,Mes,Año) Ejemplo: (01-Junio-2010) ")
imprimir ("\n Dia: ") ; leer (fecha. dia) ; imprimir ("\n Mes: ") ; leer (fecha.mes) ; imprimir ("\n Año: ") ; leer(fecha.ano)
cls ()
/* Fin De Introduccion De Fecha */

imprimir ("\n Muchas gracias, Ahora comencemos con el inventario del dia de hoy ", fecha.dia , " De " , fecha.mes ," Del " , fecha.ano )
imprimir ("\n   " )

/* Inicio De Inventario */
repetir
imprimir ("\n Lineas De Hamburguesas")
imprimir ("\n Coloque el numero de combos estimados a vender: ") ; leer(inv_comb)
imprimir ("\n Coloque el numero de pequeños precios estimados a vender: ") ; leer(inv_pprecio)
imprimir ("\n " )
imprimir ("\n Lineas De Pinchos")
imprimir ("\n Coloque el numero de pinchos de carne estimados a vender: ") ; leer(inv_carne)
imprimir ("\n Coloque el numero de pinchos de pollo estimados a vender: ") ; leer(inv_pollo)
imprimir ("\n Coloque el numero de pinchos mixtos estimados a vender: ") ; leer(inv_mix)
cls ()
/* Fin De Inventario */


/*Inicio De Verificacion Del Inventario */
imprimir ("\n Asegurese que los datos sean ingresados sean los correctos")
imprimir ("\n ")
imprimir ("\n Linea de hamburguesa" )
imprimir ("\n Combos de hamburguesa: " , inv_comb)
imprimir ("\n Pequeños precios: " , inv_pprecio)
imprimir ("\n ")
imprimir ("\n Linea de pinchos" )
imprimir ("\n Pinchos de carne: " , inv_carne)
imprimir ("\n Pinchos de pollo: " , inv_pollo)
imprimir ("\n Pinchos de mix: " , inv_mix)
imprimir ("\n " )
imprimir ("\n Si los datos son correcto precione 1")
imprimir ("\n Si los datos son incorrectos precione 2")
imprimir ("\n Coloque su opcion: ") ; leer (shi)
cls ()
/*Fin De Verificacion Del Inventario */


/* Menu Principal */
hasta ( shi == 1)
    repetir
    cls()
    imprimir ("\n Muchas Gracias, Estamos Listo Para Empezar Con El Dia De Hoy")
    imprimir ("\n  ")
    imprimir ("\n Lea Atentamente La Siguiente Indicacion")
    imprimir ("\n ")
    imprimir ("\n  - Coloque 1 Si Desea hacer un proceso de ventas")
    imprimir ("\n  - Coloque 0 Si Desea Finalizar El Programa Y Mostrar Los Informes Del Dia De Hoy")
    imprimir ("\n  Escriba Aqui Su Opcion") ; leer(x)
    hasta (x == 1 or x==0)
    /* Fin De Menu Principal */

    /*Inicio Proceso De Ventas */
    cls ()

    /*Inicio Verificacion De Medio De Venta */
    desde a = 1 hasta x {
        repetir
        imprimir ("\n Seleccione Una Opcion Para Verificar Medio De Venta En El Cual Se Encuentra")
        imprimir ("\n  ")
        imprimir ("\n 1. Venta En El Establecimiento" )
        imprimir ("\n 2. Domicilio" )   
        imprimir ("\n ")
        imprimir ("\n Escriba aqui su opcion: ") ; leer(opc)
        cls ()
        hasta (opc == 1 or opc == 2)
        /*Fin Verificacion De Medio De Venta */
       
        /*Venta En El Establecimiento */
        si (opc == 1) {
            con_est = con_est+1       
            con_totalv = con_totalv+1
           
            imprimir ("\n Coloque el Numero de productos que el cliente desea consumir: ") ;leer(n_pro)
            cls ()
            desde b = 1 hasta n_pro {
                dim (pedido, a, b)
                dim (precio, a, b)
                repetir
                cls ()
                imprimir ("\n Selecciones uno por uno los productos que el cliente pidio")
                imprimir ("\n " )
                imprimir ("\n 1. Combos")
                imprimir ("\n 2. Pequeños Precios")
                imprimir ("\n 3. Pinchos de carne")
                imprimir ("\n 4. Pinchos de pollo")
                imprimir ("\n 5. Pinchos mixtos")
                imprimir ("\n ")
                imprimir ("\n Escriba Aqui Su Opcion: ") ; leer(opc1)
                hasta (opc1 == 1 or opc1 == 2 or opc1 == 3 or opc1 == 4 or opc1 == 5)
                eval {
                    caso (opc1 == 1)
                        pedido [a,b] = comb
                        precio [a,b] = pre_comb
                        inv_comb = inv_comb-1
                        totalv = totalv+pre_comb
                        totalv_ado = totalv_ado+pre_comb
                        totalv_ham = totalv_ham+pre_comb
                        con_ham =con_ham+1
                        totalv_comb = totalv_comb+pre_comb
                        con_comb = con_comb+1
                    caso (opc1 == 2)
                        pedido [a,b] = pprecio
                        precio [a,b] = pre_pprecio
                        inv_pprecio = inv_pprecio-1
                        totalv = totalv+pre_pprecio
                        totalv_ado = totalv_ado+pre_pprecio
                        totalv_ham = totalv_ham+pre_pprecio
                        con_ham =con_ham+1
                        totalv_pprecio = totalv_pprecio+pre_pprecio
                        con_pprecio = con_pprecio+1
                    caso (opc1 == 3)
                        pedido [a,b] = carne
                        precio [a,b] = pre_carne
                        totalv = totalv+pre_carne
                        inv_carne = inv_carne-1
                        totalv_ado = totalv_ado+pre_carne
                        totalv_pin = totalv_pin+pre_carne
                        con_pin = con_pin+1
                        totalv_car = totalv_car+pre_carne
                        con_car = con_car+1
                    caso (opc1 == 4)
                        pedido [a,b] = pollo
                        precio [a,b] = pre_pollo
                        inv_pollo = inv_pollo-1
                        totalv = totalv+pre_pollo
                        totalv_ado = totalv_ado+pre_pollo
                        totalv_pin = totalv_pin+pre_pollo
                        con_pin = con_pin+1
                        totalv_pol = totalv_pol+pre_pollo
                        con_pol = con_pol+1
                    caso (opc1 == 5)
                        pedido [a,b] = mix
                        precio [a,b] = pre_mix
                        inv_mix = inv_mix-1
                        totalv = totalv+pre_mix
                        totalv_ado = totalv_ado+pre_mix
                        totalv_pin = totalv_pin+pre_mix
                        con_pin = con_pin+1
                        totalv_mix = totalv_mix+pre_mix
                        con_mix = con_mix+1 }
                        }
            repetir
            cls ()
            imprimir ("\n Seleccione El Medio De Pago")
            imprimir ("\n " )
            imprimir ("\n 1. Efectivo" )
            imprimir ("\n 2. Tarjeta De Credito" )
            imprimir ("\n ")
            imprimir ("\n Escribir Aqui Su Opcion: ") ; leer (opc2)
            hasta (opc2 == 1 or opc2 == 2)
                eval {
                caso (opc2 == 1)
                    efe_est = efe_est+1
                caso (opc2 == 2)
                    tar_est = efe_est+1
                }
            cls ()
            imprimir ("\n Factura De Venta N.", a )
            imprimir ("\n Fecha: ", fecha)
            imprimir ("\n  ")
            imprimir ("\n Nombre Del Producto          Precio ")
            imprimir ("\n -------------------          ------ ")
            imprimir ("\n" , precio [a] )
            imprimir ("\n ")
            imprimir ("\n ")
            repetir
            imprimir ("\n Oprime 1 Si Desea Hacer Otra Venta")
            imprimir ("\n Oprime 0 Si Desea Terminar El Dia De Hoy, E Ir Directamente Al Los Informes Del Dia De Hoy")
            imprimir ("\n ")
            imprimir ("\n Escribe Aqui Tu Opcion: ") ; leer(y)
            cls ()
            hasta (y==1 or y==0)
            eval {
                    caso (y==1)
                        x=x+y
                    caso (y==0)
                        x=x
                }
       
            /*Fin De Venta En El Establecimiento */
        sino
            /* Incio De Venta A Domicilio */
            si (opc == 2) {
               
                con_totalv = con_totalv+1
                con_ado = con_ado+1
                cls ()
                    imprimir ("\n Coloque el Numero de productos que el cliente desea para su domicilio: ") ;leer(n_pro)
           
                desde b=1 hasta n_pro {
                    dim (pedido, a, b)
                    dim (precio, a, b)
                    repetir
                    cls()
                    imprimir ("\n Selecciones uno por uno los productos que el cliente pidio")
                    imprimir ("\n " )
                    imprimir ("\n 1. Combos")
                    imprimir ("\n 2. Pequeños Precios")
                    imprimir ("\n 3. Pinchos de carne")
                    imprimir ("\n 4. Pinchos de pollo")
                    imprimir ("\n 5. Pinchos mixtos")
                    imprimir ("\n ")
                    imprimir ("\n Escriba Aqui Su Opcion: ") ; leer(opc1)
                    hasta (opc1 == 1 or opc1 == 2 or opc1 == 3 or opc1 == 4 or opc1 == 5)
                    eval {
                        caso (opc1 == 1)
                            pedido [a,b] = comb
                            precio [a,b] = pre_comb
                            inv_comb = inv_comb-1
                            totalv = totalv+pre_comb
                            totalv_ado = totalv_ado+pre_comb
                            totalv_ham = totalv_ham+pre_comb
                            con_ham =con_ham+1
                            totalv_comb = totalv_comb+pre_comb
                            con_comb = con_comb+1
                        caso (opc1 == 2)
                            pedido [a,b] = pprecio
                            precio [a,b] = pre_pprecio
                            inv_pprecio = inv_pprecio-1
                            totalv = totalv+pre_pprecio
                            totalv_ado = totalv_ado+pre_pprecio
                            totalv_ham = totalv_ham+pre_pprecio
                            con_ham =con_ham+1
                            totalv_pprecio = totalv_pprecio+pre_pprecio
                            con_pprecio = con_pprecio+1
                        caso (opc1 == 3)
                            pedido [a,b] = carne
                            precio [a,b] = pre_carne
                            totalv = totalv+pre_carne
                            inv_carne = inv_carne-1
                            totalv_ado = totalv_ado+pre_carne
                            totalv_pin = totalv_pin+pre_carne
                            con_pin = con_pin+1
                            totalv_car = totalv_car+pre_carne
                            con_car = con_car+1
                        caso (opc1 == 4)
                            pedido [a,b] = pollo
                            precio [a,b] = pre_pollo
                            inv_pollo = inv_pollo-1
                            totalv = totalv+pre_pollo
                            totalv_ado = totalv_ado+pre_pollo
                            totalv_pin = totalv_pin+pre_pollo
                            con_pin = con_pin+1
                            totalv_pol = totalv_pol+pre_pollo
                            con_pol = con_pol+1
                        caso (opc1 == 5)
                            pedido [a,b] = mix
                            precio [a,b] = pre_mix
                            inv_mix = inv_mix-1
                            totalv = totalv+pre_mix
                            totalv_ado = totalv_ado+pre_mix
                            totalv_pin = totalv_pin+pre_mix
                            con_pin = con_pin+1
                            totalv_mix = totalv_mix+pre_mix
                            con_mix = con_mix+1 }
                        }
                   
                cls ()
                imprimir ("\n Factura De Venta N.", a )
                imprimir ("\n Fecha: ", fecha)
                imprimir ("\n  ")
                imprimir ("\n Nombre Del Producto          Precio ")
                imprimir ("\n -------------------          ------ ")
                imprimir ("\n" , precio [a])
                imprimir ("\n ")
                imprimir ("\n ")
                repetir
                imprimir ("\n Oprime 1 Si Desea Hacer Otra Venta")
                imprimir ("\n Oprime 0 Si Desea Terminar El Dia De Hoy, E Ir Directamente Al Los Informes Del Dia De Hoy")
                imprimir ("\n ")
                imprimir ("\n Escribe Aqui Tu Opcion: ") ; leer(y)
                cls ()
                hasta (y==1 or y==0)
                eval {
                    caso (y==1)
                        x=x+y
                    caso (y==0)
                        x=x
                }
            }
        }   
    }
   
cls ()
imprimir ("\n Informes Del Dia De hoy " , fecha.dia , " de " , fecha.mes , " del ", fecha.ano)
imprimir ("\n ")

imprimir ("\n ---- Total De Venta ----")
imprimir ("\n Total De Ventas En General: $" , totalv )
imprimir ("\n ")


imprimir ("\n ---- Establecimiento ----")
    e = (con_est/con_totalv)*100
imprimir ("\n Porcentaje De Ventas Realizadas En El Establecimiento: " , e , "%" )
imprimir ("\n Fraccion De Ventas Realizas En El Establecimiento: " , con_est ); imprimir ("/" ,con_totalv )
    n = (efe_est/con_totalv)*100
imprimir ("\n Porcentaje De Ventas Realizadas En Efectivo En El Establecimiento: " , n , "%")
imprimir ("\n Fraccion De Ventas Realizadas En Efectivo En El Establecimiento: ", efe_est ); imprimir ("/" ,con_totalv )
    o = (tar_est/con_totalv)*100
imprimir ("\n Porcentaje De Ventas Realizadas En Tarjeta En El Establecimiento: " , o , "%")
imprimir ("\n Fraccion De Ventas Realizadas En Tarjeta En El Establecimiento: ", tar_est ); imprimir ("/" ,con_totalv )
imprimir ("\n ")

imprimir ("\n ---- Domicilio ----")
    d = (con_ado/con_totalv)*100
imprimir ("\n Porcentaje De Ventas Realizadas A Domicilio: " , d , "%")
imprimir ("\n Fraccion De Ventas Realizas A Domicilio: ", con_ado ); imprimir ("/" ,con_totalv )
    f = (con_ado/con_totalv)*100
imprimir ("\n Porcentaje De Ventas Realizadas En Efectivo A Domicilio: " , f , "%" )
imprimir ("\n Fraccion De Ventas Realizas En Efectivo A Domicilio: ", con_ado ); imprimir ("/" ,con_totalv )
imprimir ("\n ")

imprimir ("\n ---- Linea De Hamburguesas ----")
    g = (con_ham/con_totalv)*100
imprimir ("\n Porcentaje De Ventas De La Linea De Hamburguesas : " , g , "%")
imprimir ("\n Fraccion De Ventas De La Linea De Hamburguesas : ", con_ham ); imprimir ("/" ,con_totalv )
    h = (con_comb/con_totalv)*100
imprimir ("\n Porcentaje De Ventas De Combos : " , h , "%")
imprimir ("\n Fraccion De Ventas De Combos : ", con_comb ); imprimir ("/" ,con_totalv )
    i = (con_pprecio/con_totalv)*100
imprimir ("\n Porcentaje De Ventas De Pequeños Precios : " , i , "%")
imprimir ("\n Fraccion De Ventas De Pequeños Precios : ", con_pprecio ); imprimir ("/" ,con_totalv )
imprimir ("\n ")

imprimir ("\n ---- Linea De Pinchos ----")
    j = (con_pin/con_totalv)*100
imprimir ("\n Porcentaje De Ventas De La Linea De Pinchos : " , j , "%")
imprimir ("\n Fraccion De Ventas De La Linea De Pinchos : ", con_pin ); imprimir ("/" ,con_totalv )
    k = (con_car/con_totalv)*100
imprimir ("\n Porcentaje De Ventas De Pinchos De Carne : " , k , "%")
imprimir ("\n Fraccion De Ventas De Pinchos De Carne : ", con_car ); imprimir ("/" ,con_totalv )
    l = (con_pol/con_totalv)*100
imprimir ("\n Porcentaje De Ventas De Pinchos De Pollo : " , l , "%")
imprimir ("\n Fraccion De Ventas De Pinchos De Pollo : ", con_pol ); imprimir ("/" ,con_totalv )
    m = (con_mix/con_totalv)*100
imprimir ("\n Porcentaje De Ventas De Pinchos Mixtos : " , m , "%")
imprimir ("\n Fraccion De Ventas De Pinchos Mixtos: ", con_mix ); imprimir ("/" ,con_totalv )
imprimir ("\n ")


imprimir ("\n ---- Perdidas ----")
    p = (pre_comb*inv_comb+pre_pprecio*inv_pprecio+pre_carne*inv_carne+pre_pollo*inv_pollo+pre_mix*inv_mix)-totalv
imprimir ("\n Cantidad De Dinero Que Se Dejo De Resivir En El Dia: $" , p )
fin

1 comentario: