Foros del Web » Programando para Internet » ASP Clásico »

Simulador de credito con asp

Estas en el tema de Simulador de credito con asp en el foro de ASP Clásico en Foros del Web. Como puedo hacer un simuilador de credito con asp la idea es meter una cantidad a solicitar y un plazo y que me cvalcule el ...
  #1 (permalink)  
Antiguo 30/06/2003, 16:50
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
Simulador de credito con asp

Como puedo hacer un simuilador de credito con asp la idea es meter una cantidad a solicitar y un plazo y que me cvalcule el pagomensual (basado en una tasa de interes fija
Podeis ayudarme
por ahora el simulñador lo hice con excel pero obliga al usuario a tener excel XP instalado

http://www.cmx.com.mx/ficorp/simulador.htm
  #2 (permalink)  
Antiguo 30/06/2003, 17:35
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
yo por lo menos no se la fórmula financiera para realizar esa operación... si la tenés a mano, posteala que alguien (o yo) te da un ejemplo de código necesario para recuperar los datos (cantidad y plazo), aplicarle la fórmula y devolver el resultado

tené en cuenta que este foro es de programadores... no necesariamente debemos conocer de matemática financiera y si nos hacés buscar para ayudarte, va a ser más dificil que alguien se preste a colaborar (por lo menos en mi caso)

saludos
__________________
...___...
  #3 (permalink)  
Antiguo 30/06/2003, 17:44
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
gracias pero es basicamente muy sencillo, yo no se tampoco nada fiscal pero te doy un ejemplo
monto 10,000
plazo 12 meses
el interes fijo lo lleva el programa fijo por ejemplo 20%
portantop sera multiplicar 10000 por 20%= 12000
y eso entre el plazo lo qque daria por resultado
1000
es decir el usuario mete que necesita 10,000 y que los paga en 12 meses
por tanto le da que tienen que pagar 1000 mensual

si pusiera que quiere 10000 a 6 meses de igual form se los calcula
10000*.20=2000 de interespor un añopero como son 6 meses solo pagara 1000 de interes lo que da un total de 11000 entre 6 el resultado que debe arrojar el programa es =1833.33
  #4 (permalink)  
Antiguo 30/06/2003, 17:48
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
ok, ahora lo veo =)
__________________
...___...
  #5 (permalink)  
Antiguo 30/06/2003, 19:31
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
acá tengo algo... era más complejo de lo que me imaginaba

antes de nada, te comento algo.

-Si el plazo es en años enteros, se coloca la cantidad de años y se elige "anual"
-Si el plazo es en meses enteros, aunque sean más de 12, se coloca la cantidad de meses y se selecciona "mensual"
-Si el plazo es en días (ya sea unos días; unos meses y unos días; un año y unos días o un año unos meses y unos días -pufff-) se cuentan la cantidad de días (1 año = 360 días; 1 mes = 30 días) y se coloca el TOTAL DE DÍAS

Luego, este código funciona (aunque puede tener errores... no soy economista ):


<form method="post" action="">
Monto: <input type="text" name="monto"><br>
Plazo: <input type="text" name="plazo"><br>
Tipo: <select name="UnidadDeTiempo">
<option value="1">Anual</option>
<option value="12">Mensual</option>
<option value="360">Diario</option>
</select><br>
interés anual: <input type="text" name="taza"><br>
<input type="submit">
</form>

<%
If request.form() <> "" then

Taza = Request.Form("taza")
unidadDeTiempo = Request.Form("unidadDeTiempo")
Monto = Request.Form("monto")
Plazo = Request.Form("plazo")

Interes = (Monto * Taza * Plazo) / (100 * unidadDeTiempo)
MontoConInteres = Monto + Interes

Response.Write "El total a pagar en ese plazo con esa taza de interés es de " & MontoConInteres & " (intereses de " & Interes & ")"

End if
%>



voy a ver si puedo simplificarlo un poco, luego te respondo
  #6 (permalink)  
Antiguo 30/06/2003, 20:42
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
bueno, ahora más simplificado (para el solicitante del crédito, claro está )

Ya no importa si el crédito es anual, mensual o diario (o un mix de ellos) para decidir "qué tipo de plazo seleccionar". Con que ingrese lo que corresponda es suficiente... el programa se encarga de convertir todo a días y operar en esa "unidad de tiempo"


El código:


<form method="post" action="">
Monto: <input type="text" name="monto"><br>
<b>Plazo (dejar vacío lo que no corresponda):</b><br>
Años <input type="text" name="anios"> Meses <input type="text" name="meses"> Dias <input type="text" name="dias"><br>
interés anual: <input type="text" name="taza"><br>
<input type="submit">
</form>

<%
If request.form() <> "" then

Taza = Request.Form("taza")

Monto = Request.Form("monto")

Anios = Request.Form("anios")
If Anios = "" then Anios = 0
Anios = Anios * 360 'el año fiscal se calcula de 360 días

Meses = Request.Form("meses")
If Meses = "" then Meses = 0
Meses = Meses * 30 'el mes fiscal se calcula de 30 días

Dias = Request.Form("dias")
If Dias = "" then Dias = 0

Plazo = Anios + Meses + Dias

Interes = (Monto * Taza * Plazo) / (100 * 360)
MontoConInteres = Monto + Interes

Response.Write "El total a pagar en ese plazo con esa taza de interés es de " & MontoConInteres & " (intereses de " & Interes & ")"

End if
%>



Si lo comparás con el último ejercicio de esta página, los reultados son como deben ser. Y en él se utilizan años, meses y días... así que puedo decir, casi con seguridad, que está bien

saludos
  #7 (permalink)  
Antiguo 01/07/2003, 03:37
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 23 años, 3 meses
Puntos: 2
jejejeje.....dazuaga...eres un titan




ToKaTa.
  #8 (permalink)  
Antiguo 01/07/2003, 08:54
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
ENORMES GRACIAS LO INTENTARE ASI
SALUDOTES
  #9 (permalink)  
Antiguo 01/07/2003, 10:23
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
que tal: tengo una duda mas, ya modifique el codigpo para que me de los totales con solo meter el monto pero como le hago para poner los resultados en una tabla ya que pongo <table><tr>etc y me manda un error aqui pongo el codigo

<form method="post" action="">
Monto: <input type="text" name="monto"><br>
<input type="submit">
</form>

<%
If request.form() <> "" then

Taza1 = 4.5
Taza2 = 9
Taza3 = 13.5
Taza4 = 18
unidadDeTiempo1 = 6
unidadDeTiempo2 = 12
unidadDeTiempo3 = 18
unidadDeTiempo4 = 24
Monto = Request.Form("monto")

Interes1 = (Monto * Taza1) / (100)
MontoConInteres1 = Monto + IntereS1

Interes2 = (Monto * Taza2) / (100)
MontoConInteres2 = Monto + IntereS2

Interes3 = (Monto * Taza3) / (100)
MontoConInteres3 = Monto + IntereS3

Interes4 = (Monto * Taza4) / (100)
MontoConInteres4 = Monto + IntereS4

Quincenal1= (MontoConInteres1) / (6)
Quincenal2= (MontoConInteres2) / (12)
Quincenal3= (MontoConInteres3) / (18)
Quincenal4= (MontoConInteres4) / (24)


Response.Write "Monto Solicitado " & Monto & "<br> "
Response.Write "6 QUINCENAS " & Quincenal1 & "<br>"
Response.Write "12 QUINCENAS " & Quincenal2 & "<br>"
Response.Write "18 QUINCENAS " & Quincenal3 & "<br> "
Response.Write "24 QUINCENAS " & Quincenal4 & " "


End if
%>

Saludos
  #10 (permalink)  
Antiguo 01/07/2003, 10:35
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
Porcierto como hago para que no me muestre los resultados si no hasta que se ponga el monto ya que al abrir te da unos totales (seguramente del ultimo dato que se metio en la caja "monto")
  #11 (permalink)  
Antiguo 01/07/2003, 12:36
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
me parece que tenés algo mal... a ver:


Resultados según tu código:

Monto Solicitado 300
6 QUINCENAS 52,25 (total 313.5)
12 QUINCENAS 27,25 (total 327)
18 QUINCENAS 18,9166666666667 (total 340.5)
24 QUINCENAS 14,75 (total 354)


Resultados según el mío:

Monto Solicitado 300
3 meses al 4,5 anual: 303,375
6 meses al 9 anual: 313,5
9 meses al 13,5 anual: 330,375
12 meses al 18 anual: 354


Fijate que sólo coincide en el último (24 quincenas y 12 meses)
Y ya me estoy dando cuanta del por qué... tenías mal la fórmula.
En esta, te faltaba especificar la cantidad de tiempo (que la expresé en días en la versión corregida) y además, estabas dividiendo sólo por 100 (o sea, como si el tiempo fuera en "unidades de años") cuando en realidad lo debías dividir por "100 * unidad de tiempo utilizada" (en el caso de las quincenas pueden ser meses -100*12- o días -100*360-)... y al coincidir que 24 quincenas equivale a un año, entonces sólo allí te estaba dando bien el resultado

la fórmula básica es: (capital * razón * tiempo) / (100 * UT)

si Tiempo es en días, UT será 360
Si Tiempo es en meses, UT será 12
Si Tiempo es en años, UT será 1

Ahora te paso el código corregido y con los resultados en una fea tablita =)



<form method="post" action="">
Monto: <input type="text" name="monto"><br>
<input type="submit">
</form>

<%
If request.form() <> "" then

Taza1 = 4.5
Taza2 = 9
Taza3 = 13.5
Taza4 = 18
unidadDeTiempo1 = 6
unidadDeTiempo2 = 12
unidadDeTiempo3 = 18
unidadDeTiempo4 = 24
Monto = Request.Form("monto")

Interes1 = (Monto * Taza1 * (unidadDeTiempo1 * 15)) / (100 * 360)
MontoConInteres1 = Monto + IntereS1

Interes2 = (Monto * Taza2 * (unidadDeTiempo2 * 15)) / (100 * 360)
MontoConInteres2 = Monto + IntereS2

Interes3 = (Monto * Taza3 * (unidadDeTiempo3 * 15)) / (100 * 360)
MontoConInteres3 = Monto + IntereS3

Interes4 = (Monto * Taza4 * (unidadDeTiempo4 * 15)) / (100 * 360)
MontoConInteres4 = Monto + IntereS4

Quincenal1= (MontoConInteres1) / (unidadDeTiempo1)
Quincenal2= (MontoConInteres2) / (unidadDeTiempo2)
Quincenal3= (MontoConInteres3) / (unidadDeTiempo3)
Quincenal4= (MontoConInteres4) / (unidadDeTiempo4)

Response.Write "<table border=1><tr><td>"
Response.Write "Monto Solicitado " & Monto
Response.Write "</td></tr><tr>"
Response.Write "<td>6 QUINCENAS</td><td>" & Quincenal1 & "</td></tr>"
Response.Write "</td></tr><tr>"
Response.Write "<td>12 QUINCENAS</td><td>" & Quincenal2 & "</td></tr>"
Response.Write "</td></tr><tr>"
Response.Write "<td>18 QUINCENAS</td><td>" & Quincenal3 & "</td></tr>"
Response.Write "</td></tr><tr>"
Response.Write "<td>24 QUINCENAS</td><td>" & Quincenal4 & "</td></tr>"
Response.Write "</table>"

End if
%>



Lo último que comentás, no lo entendí

saludos
  #12 (permalink)  
Antiguo 01/07/2003, 13:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
ok muchas gracias mi formula esta bien lo que pasa es que si pides a 6 quincenas se te cobre al 4.5% del total pedido y lasuma del monto o interes se te divide entre las 6 quincenas
si pides a 12 el interes es del 9% y se hace de igual forma el interes no es anual pero bueno eso no es tan importante
Lo que queria es como hacer la tabla y me sirvio mucho tu informacion (muchisimo)
lo de la segunda pregunta efectivamente esta mal hecha, bueno necesito 2 cosas mas: como hacerpara que te de solo dos decimales (ejemplo:120.33 y no 120.32569) y
otra Cosa: como ves en el programa dando tu salario te da un monto maximo de prestamo y una cantidad maxima a pagar
como hago para que en los montos a pagar por quincena (a 6,12,18 o24) si exede este monto maximo a pagar por quincena,no te de el monto sino un mensaje
ejemplo:

Salario Qincenal: 1000
Monto Solicitado: 3000
Maximo a pagar quincenal: 300

6 QUINCENAS "exede el maximo a pagar"
(que ponga esto en vez de 522,50)
12 QUINCENAS 272,5
18 QUINCENAS 189,166666666667
24 QUINCENAS 147,5

gracias mil
  #13 (permalink)  
Antiguo 01/07/2003, 13:18
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
perdon te escribo el codigo nuevo:

<html>
<head>
<title></title>
<script Language="JavaScript"><!--
function validar(formulario)
{

if (formulario.salario.value.length < 4)
{
alert("Escriba su Salario Quincenal Correctamente");
formulario.nombre.focus();
return (false);
}

var checkOK ="0123456789";
var checkStr = formulario.salario.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Escriba sólo números en el campo \"Salario\".");
formulario.nombre.focus();
return (false);
}

if (formulario.monto.value.length < 4)
{
alert("Escriba Correctamente el monto de préstamo a Solicitar, MONTO MINIMO DE PRESTAMO $1000.00");
formulario.nombre.focus();
return (false);
}

var checkOK ="0123456789";
var checkStr = formulario.monto.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Escriba sólo números en el campo \"Monto\".");
formulario.nombre.focus();
return (false);
}


return (true);
}

//--></script>


<STYLE type="text/css">
<!--
H5 {text-decoration: ; text-align:left;font-Family:verdana}
P {font-Family:verdana; color: black; background-color: WHITE;text-align:justify}
BODY {font-Family:verdana;font-size:12;color:black;background-color: #ffffff; text-indent:0cm}
td {font-Family:verdana;font-size:12;color:black;background-color: #ffffff;text-indent:0cm}
input {font-Family:verdana;font-size:11;color:NAVY}
select {font-Family:verdana;font-size:10;color:black;background-color: #ffffff;}
// -->
</STYLE>
</head>

<body bgcolor="#ffffff">
<h5>Introduce tu Salario Quincenal Neto y el monto que deseas solicitar para obtener los pagos quincenales que tendras que realizar </h5>

<form method="post" action="" onSubmit="return validar(this)">
<table><TR><TD>
Salario Quincenal:</TD><TD> <input type="text" SIZE=10 name="salario"></TD>
<TD>Monto a Solicitar:</TD><TD> <input type="text" SIZE=10 name="monto"></TD></TR><TR>
<TD COLSPAN="4" ALIGN=CENTER>
<input type="submit" Value="Consultar">
</form>
</TD></TR></TABLE>
<p>
<%
If request.form() <> "" then

Taza1 = 4.5
Taza2 = 9
Taza3 = 13.5
Taza4 = 18
unidadDeTiempo1 = 6
unidadDeTiempo2 = 12
unidadDeTiempo3 = 18
unidadDeTiempo4 = 24
Monto = Request.Form("monto")
salario = Request.Form("salario")

maximo= salario * 6.10169
maximo2= salario * .3

Interes1 = (Monto * Taza1) / (100)
MontoConInteres1 = Monto + IntereS1

Interes2 = (Monto * Taza2) / (100)
MontoConInteres2 = Monto + IntereS2

Interes3 = (Monto * Taza3) / (100)
MontoConInteres3 = Monto + IntereS3

Interes4 = (Monto * Taza4) / (100)
MontoConInteres4 = Monto + IntereS4

Quincenal1= (MontoConInteres1) / (6)
Quincenal2= (MontoConInteres2) / (12)
Quincenal3= (MontoConInteres3) / (18)
Quincenal4= (MontoConInteres4) / (24)


Response.Write "Monto Solicitado " & Monto & "<br> "
Response.Write "6 Quincenas de" & Quincenal1 & "<br>"
Response.Write "12 Quincenas de " & Quincenal2 & "<br>"

Response.Write "18 Quincenas de " & Quincenal3 & "<br> "

Response.Write "24 Quincenas de " & Quincenal4 & "<p> "

Response.Write "Importante: Tu máximo de crédito es " & maximo & "<br> "
Response.Write "La cantidad maxima quincenal que puedes pagar es de " & maximo2 & "<br> "
End if
%>
</p>
</body></html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.