Pascal/Turbo Pascal - Programa Pascal

 
Vista:

Programa Pascal

Publicado por juan (1 intervención) el 04/12/2011 22:49:47
Hola amigos tengo un problema en pascal que no logro hacer en este consideramos 30 dìas como base de un mes muchas gracias al que me ayude

Una persona comienza un plan de ahorro con una cantidad inicial Co, que coloca a un interés del X % anual. Los intereses son abonados diariamente y la entidad bancaria considera periodos de 30 días por mes. Cada mes, la persona deposita una cantidad Cmes, y cada semestre realiza un retiro por una cantidad Csem (considere que todo esto se hace después de que han sido abonados los intereses correspondientes). Determine cuál será su capital al cabo de N meses. Indique si dentro de ese lapso de N meses se logra duplicar el capital inicial Co. De ser así, indique en qué momento ocurrió tal situación. De no ser así, determine el tiempo adicional (cuántos días, meses y/o años) que deberá transcurrir para que esa persona duplique el capital inicial Co invertido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Programa Pascal

Publicado por ramon (2158 intervenciones) el 07/12/2011 16:36:32
{No se si esto es loquee quieres pero no entiendo algunos conceptos por ejemplo:
su acumulan los intereses en la cantidad inicial lo que se extrae es delo acumulado
e considerado que si y que los intereses no se acumulan en el plan de ahorro.

Espero te sirva}

program intereses;
uses
crt;
var
co1, Co : real; {cantidad inicial}
xanu : real; {interes anual}
Cmes : real; {deposito mensual}
Csem : real; {retirada semestral}
nmes : real; {capital al cabo de n meses}
intdia : real;
acumula : array[1..12] of real;
eninte : array[1..12,1..30] of real;
gananc, total : real;

procedure cantidad_inicial;
begin
co1 := 0.0;
gotoxy(4,4);write('Entre Cantidad Inicial = euros');
gotoxy(29,4);readln(Co);
co1 := co;
end;

procedure interes_anual;
begin
gotoxy(4,5);write('Entre Interes Anual = %');
gotoxy(29,5);readln(Xanu);
end;

procedure deposito_mensual;
begin
gotoxy(4,6);write('Entre Deposito Mensual = euros');
gotoxy(29,6);readln(Cmes);
end;

procedure retirada_semestral;
begin
gotoxy(4,7);write('Entre Retirada Semestral = euros');
gotoxy(32,7);readln(Csem);
end;

procedure recojida_datos;
var
semes : real;
mes : real;
t, cont : integer;
begin
intdia := 0.0;
gotoxy(4,1);write('**** ENTRADA DATOS GENERALES ****');
cantidad_inicial;
interes_anual;
deposito_mensual;
retirada_semestral;
writeln;
intdia := (xanu / (30 * 12));
writeln('Tanto % Diario = ',intdia:13:2);
cont := 1;
acumula[cont] := co;
repeat
writeln('cobro al mes : ',((co * intdia / 100) * 30):12:2);
for t := 1 to 30 do
eninte[cont][t] := (co * intdia / 100);
co := co + cmes;
cont := cont + 1;
acumula[cont] := cmes;
if cont = 6 then
begin
co := co - (csem + cmes);
end;
until cont > 12;
total := 0.0;
for t := 1 to 12 do
total := total + acumula[t];
writeln(' Al a¤o = ',total:12:2);
for cont := 1 to 12 do
for t := 1 to 30 do
gananc := gananc + eninte[cont][t];
writeln(' Intereses = ',gananc:12:2);
for cont := 1 to 6 do
for t := 1 to 30 do
gananc := gananc + eninte[cont][t];
writeln('Su capital sera en 6 meses = ',gananc:12:2);
if (co1 + gananc) >= (co1 * 2) then
writeln('Se duplica')
else
writeln('No duplica');
writeln('Tendria que tenerlo = ',(co1 / (gananc + gananc)) * 12:12:2,' meses');
writeln('Para acumular : ',(gananc / 6) * ((co1 / (gananc + gananc)) * 12):12:2,
' Mas lo Inicial = ',(gananc / 6) * ((co1 / (gananc + gananc)) * 12) + co1:12:2);
end;


begin
clrscr;
recojida_datos;
readln;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar