martes, 2 de diciembre de 2008

DIAGRAMA DFD: PROYECTO FINAL





































PROYECTO FINAL

PROYECTO FINAL

“FACTURACION EN UNA ESTACION DE GAS
VEHICULAR (GNC)”






JAVIER TOVAR BECERRA
2007166404
ISMAEL RUBIANO
2007268927




PRESENTADO A: ING. JORGE MARIÑO





UNIVERSIDAD SURCOLOMBIANA
FACULTAD DE INGENIERIA
NEIVA- 2008






PLANTEAMIENTO DEL PROBLEMA

Una empresa prestadora de servicios a la empresa Gas Natural Vehicular (GNV) es la encargada de la administración de las estaciones de servicio a nivel nacional, esta empresa llamada soluciones JI S.A. esta desarrollando un nuevo sistema para la comercialización de gas natural vehicular, el cual consiste en la venta de gas de forma pospago. Para esto se necesita un software el cual permita llevar registros de cada cliente (No de identificación ante la empresa, consumo, datos personales, etc.), ya sea por concepto de venta de gas, lavado del vehículo o cambio de aceite. De igual forma mensualmente la empresa tiene promociones para los clientes dependiendo del consumo (lavado, cambio de aceite o tanqueo gratis), al igual que descuentos por estrato y volumen consumido. Cada mes este programa deba liquidar al cliente teniendo en cuenta las variables antes mencionadas y adicionalmente mirar si el usuario tiene deudas pendientes con la empresa y cuanto es su valor. Finalmente es enviada una factura de cobro al cliente a su correo electrónico y a su lugar de residencia.

PARA QUE SE USA EL PROGRAMA?

El presente programa esta orientado para la parte administrativa de una estación de gas vehicular y es de gran ayuda, puesto que agiliza el proceso de facturación de cada cliente, como sabemos un negocio de estos maneja gran cantidad de usuarios por día. De igual modo innova en el negocio de la venta de gas, ya que el usuario puede hacer consultas y pagos vía Internet, adicionalmente se le prestan otros servicios como son al cambio de aceite y el lavado de su automotor.

QUE ASPECTOS DEBE TENER EN CUENTA EL USUARIO DEL PROGRAMA?

a. El usuario debe tener en cuenta que el programa maneja una base de datos con sus datos personales y moras anteriores, así que al momento de pedir su factura, el programa automáticamente le cargara las deudas pendientes con la empresa.

b. Se debe tener en cuenta que cada mes generalmente, están variando los costos del m3 de gas, al igual que los servicios por concepto de cambio de aceite y lavado.

c. el programa se ejecutara en cualquier computador ya que no se necesita muchas especificaciones técnicas, solo tener Internet Explorer y bloc de notas.

CONCEPTOS USADOS EN EL DESARROLLO DEL PROGRAMA

Interés por mora: se aplica cuando el usuario excede la fecha limite de pago y consiste en el cobro de intereses sobre el valor de la factura.

Valor m3 de gas: el precio del gas vehicular varia un poco a lo largo del territorio nacional, dependiendo de los costos de producción, transporte y distribución, pero en una misma ciudad su valor no cambia, este va variando gradualmente, de acuerdo a el precio del petróleo.



Gas consumido: Se calcula mediante la siguiente formula:

Netogas = ( lectura nueva – lectura anterior)

Total a pagar: Se calcula, después de que se han definido, los costos de lavado, cambio de aceite y deudas anteriores con la empresa, mediante la siguiente ecuación:

Liquidación = ((netogas* valor m3 de gas) + total aceité + total lavado + mora ))


ANALISIS DEL PROBLEMA

Para desarrollar este programa con las condiciones indicadas en el planteamiento del problema, se tiene en cuenta lo siguiente:

DATOS DE ENTRADA:

Necesitamos definir la cantidad de clientes a liquidar.
Identificar el usuario de acuerdo a su código, para ver sus registros anteriores.
definir el precio del metro cúbico de gas, ya que este varía gradualmente.
lectura mes anterior.
lectura nueva.
numero de veces que fue lavado el vehículo.
No de cambios de aceite.

DATOS DE SALIDA:

meses atrasados.
intereses por mora.
total a pagar.
promoción del mes.

DATOS ATOMICOS:

registro del cliente en una base de datos.
costo de cada cambio de aceite.
descuento por un volumen consumido superior a 200 m3 igual al 5%.
descuento por estrato: estrato uno 3% , estrato dos 1.5%.
promoción equivalente al volumen da gas consumido(volumen mayor o igual a 400 m3, cambio de aceite y lavado gratis; volumen mayor o igual a 300m3, lavado gratis).
SEUDOCODIGO DEL PROBLEMA:

INICIO

LEER
K; COD;
REPETIR
K

CONDICIONAL
SI COD = 20072
CALCULAR
MORA =100
ATRASOS =1
TOTALATRA =20
NO

CONDICIONAL
SI COD = 20071
CALCULAR
MORA = 50
ATRASOS = 2
TOTALATRA = 40
NO
CALCULAR
MORA =0
ATRASOS =0
TOTALATRA =0
LEER
H; ESTRATO; NEW; OLD; LAV; ACEITE;

CALCULA
TOTALGAS = NEW-OLD
VALORGAS = TOTALGAS * H
TOTALAV = LAV * 2000
TOTALACE = ACEITE * 5000
CONDICIONAL

SI TOTALGAS >= 200
CALCULAR
GAS1 = (VALORGAS * 5 / 100)
NO
CALCULAR
GAS1 =0

CONDICIONAL
SI ESTRATO =1
CALCULAR
GAS2 = (VALORGAS * 3/ 100)
NO
CALCULAR
GAS2=0
CONDICIONAL
SI
ESTRATO =2
CALCULAR
GAS3 = (VALORGAS * 1.5 /100)
NO
CALCULAR
GAS3 =0
CALCULAR
SUMA =GAS2 + GAS3
NETOGAS = VALORGAS (GAS1 + SUMA)
LIQUID = NOTOGAS +TOTALACE +TOTALAV + MORA

LEER

INTERES POR MORA
MORA
MESES ATRASADOS
ATRASOS
TOTALATRA
LIQUIDACION
LIQUID
CONDICIONAL
SI
TOTALGAS >= 400

LEER
ACEITE Y LAVADO
NO
CONDICIONAL
SI
TOTALGAS >= 3
LEER
LAVADO GRATIS
NO
LEER

NO TIENE DERECHO A PROMOCIONES
GRACIAS POR UTILIZAR NUESTROS SERVICIOS

CIERRE

FIN
DECLARACION DE LAS VARIABLES:

1) K: Cantidad de clientes a liquidar

2) COD: Código de el cliente

3) Mora: Intereses por demora en el pago de la factura

4) Atrasos: Numero de meses atrasados

5) Totalatra: Valor de los meses atrasados

6) H: Valor de el metro cúbico de gas consumido

7) Estrato: clasificación socioeconómica de el cliente

8) NEW: Es la lectura actual de el cliente

9) OLD: Lectura de el mes anterior de el cliente

10) LAV: Numero de veces en que se lava el vehiculo en el mes

11) ACEITE: Numero de veces en que se le cambia el aceite a el vehiculo en el mes

12) TOTALGAS: Consumo total durante el mes

13) VALORGAS: Es el valor total a pagar por el gas consumido

14) TOTALAV: Es el valor total a pagar por lavado de el vehiculo durante el mes

15) TOTALACE: Es el valor total a pagar por cambio de aceite durante el mes

16) GAS1: Es el descuento que se le hace a el valor de el gas por haber tenido un consumo mayor o igual a 200 cm.³

17) GAS2: Es el descuento que se hace a el valor de el gas si el estrato es igual a 1

18) GAS3: Es el descuento que se le hace a el valor de el gas si el estrato es igual a 2

19) NETOGAS: Es el total a pagar por el consumo de el gas donde ya van incluidos los descuentos

20) LIQUID: Es el valor total a pagar por todos los servicios que ofrece la empresa







viernes, 31 de octubre de 2008

TALLER DE PROGRAMACION JAVA

NOMBRE: JAVIER TOVAR BECERRA

CODIGO: 2007166404

EJERCICIO 1:


A partir del siguiente array que se proporciona:

var valores = [true, 5, false, "hola", "adios", 2];

Determinar cual de los dos elementos de texto es mayor .Utilizando exclusivamente los dos valores booleanos del array, determinar los operadores necesarios para obtener un resultado true y otro resultado false .Determinar el resultado de las cinco operaciones matemáticas realizadas con los dos elementos numéricos.

SOLUCION:

EJERCICIO 2:

Completar las condiciones de los if del siguiente script para que los mensajes de los alert() se muestren siempre de forma correcta:

SOLUCION:

var numero1 = 5;

var numero2 = 8;

if(...) {

alert("numero1 no es mayor que numero2");

}

if(...) {

alert("numero2 es positivo");

}

if(...) {

alert("numero1 es negativo o distinto de cero");

}

if(...) {

alert("Incrementar en 1 unidad el valor de numero1 no lo hace mayor o igual que numero2");

}


EJERCICIO 3:

El cálculo de la letra del Documento Nacional de Identidad (DNI) es un proceso matemático sencillo que se basa en obtener el resto de la división entera del número de DNI y el número 23. A partir del resto de la división, se obtiene la letra seleccionándola dentro de un array de letras.

El array de letras es:

var letras = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E', 'T'];

Por tanto si el resto de la división es 0, la letra del DNI es la T y si el resto es 3 la letra es la A. Con estos datos, elaborar un pequeño script que:

Almacene en una variable el número de DNI indicado por el usuario y en otra variable la letra del DNI que se ha indicado. (Pista: si se quiere pedir directamente al usuario que indique su número y su letra, se puede utilizar la función prompt())

En primer lugar (y en una sola instrucción) se debe comprobar si el número es menor que 0 o mayor que 99999999. Si ese es el caso, se muestra un mensaje al usuario indicando que el número proporcionado no es válido y el programa no muestra más mensajes.

Si el número es válido, se calcula la letra que le corresponde según el método explicado anteriormente.

Una vez calculada la letra, se debe comparar con la letra indicada por el usuario. Si no coinciden, se muestra un mensaje al usuario diciéndole que la letra que ha indicado no es correcta. En otro caso, se muestra un mensaje indicando que el número y la letra de DNI son correctos.

SOLUCION:

EJERCICIO 4:

El factorial de un número entero n es una operación matemática que consiste en multiplicar todos los factores n x (n-1) x (n-2) x ... x 1. Así, el factorial de 5 (escrito como 5!) es igual a: 5! = 5 x 4 x 3 x 2 x 1 = 120

Utilizando la estructura for, crear un script que calcule el factorial de un número entero.

SOLUCION:


EJERCICIO 5:

Escribir el código de una función a la que se pasa como parámetro un número entero y devuelve como resultado una cadena de texto que indica si el número es par o impar. Mostrar por pantalla el resultado devuelto por la función.

SOLUCION:

EJERCICIO 6:

Definir una función que muestre información sobre una cadena de texto que se le pasa como argumento. A partir de la cadena que se le pasa, la función determina si esa cadena está formada sólo por mayúsculas, sólo por minúsculas o por una mezcla de ambas.

SOLUCION:

function info(cadena) {

var resultado = "La cadena \""+cadena+"\" ";

// Comprobar mayúsculas y minúsculas

if(cadena == cadena.toUpperCase()) {

resultado += " está formada sólo por mayúsculas";

}

else if(cadena == cadena.toLowerCase()) {

resultado += " está formada sólo por minúsculas";

}

else {

resultado += " está formada por mayúsculas y minúsculas";

}

return resultado;

}

alert(info("OVNI = OBJETO VOLADOR NO IDENTIFICADO"));

alert(info("En un lugar de la mancha..."));

viernes, 10 de octubre de 2008


EJERCICIO:

Una institución benéfica a recibe donaciones en soles, dólares y euros.la donación será repartida en tres rudos, 60% para la implementación de un centro de salud, 30% para un comedor de niños y el resto para gastos administrativos. Esta institución recibe varias donaciones al día. Diseñe un algoritmo que determine el monto en marcos que le corresponde a cada rudo y cuanto es el monto recibido al final de la jornada.
. Considere que:

1 dólar= 3.52 soles
1 dólar= 2.08 marcos
1 dólar= 1.07 euros


EXPLICACION:

En este ejercicio necesitamos un ciclo para saber al final de la jornada cuantas donaciones se presentaron en el dia, tenemos como datos de entrada el valor de la donación, luego utilizamos un condicional para determinar en que moneda se encuentra la donación (1 para soles, 2 para euros, 3 para dólares), luego convertimos la donación a marcos y encontramos los porcentajes correspondientes para el centro de salud, el comedor y los gastos administrativos. Como dato de salida nos queda el dinero correspondiente para cada actividad en marcos y el monto total recaudado ese día.



EJERCICIO

El flujo másico se define como la cantidad de masa que entra a un sistema por unidad de tiempo, En un campo se necesita saber que tanto varia el volumen de un tanque durante M veces al día. Sabiendo esto desarrolle un algoritmo para calcular si el volumen de control de un sistema aumenta o disminuye dependiendo del flujo másico de entrada y salida

EXPLICACION

Para calcular el flujo másico tanto de entrada como de salida tenemos como datos de entrada la velocidad, el área, la densidad del fluido y el número de veces que se va a ser las mediciones para esto utilizamos un ciclo repetitivo “para”. Luego calculamos el flujo másico sabiendo que

Flujo másico = área*velocidad*densidad

Luego ponemos un condicional en donde si el flujo másico de entrada es mayor que el de salida entonces aumenta el volumen de control, de lo contrario disminuye. Finalmente tenemos como dato de salida si el volumen de control aumenta, disminuye o se mantiene constante durante ese intervalo de tiempo.