Pascal/Turbo Pascal - ayuda

   
Vista:

ayuda

Publicado por luis (3 intervenciones) el 26/01/2012 01:00:00
El usuario debe ingresar una cantidad de tipo real o entero que sera asignada a la variable capital y el programa debe calcular los intereses para cada año (iteracion del ciclo repetitivo) de la siguiente manera:
Intereses:=(capital*12.50)/100;
Luego el programa debe ir acumulando los capitales para cada año hasta completar una tabla como el siguiente ilustrativo: Tomando como capital el siguiente valor 35000 se debe generar lo siguiente:


Año Interés Capitales
1 4375.00 39375.00
2 4921.88 44296.88
3 5537.11 49833.98
4 6229.25 56063.23
5 7007.90 63071.14
6 7883.89 70955.03
7 8869.38 79824.41
8 9978.05 89802.45
9 11225.31 101027.76
10 12628.47 113656.23

se les agradece
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

ayuda

Publicado por ramon (2072 intervenciones) el 26/01/2012 20:22:50
{Mira dime si es algo como esto o sea es el camino que quieres}

program interes;
uses
crt;

const
capital_inc = 35000;

type
datos : record
ayo : word;
capital : real;
acumula : array[1..12] real;
total : real;
nu : integer;
end;

var
Interes_Capitales : array[1..10] of datos;
f : file of datos;
cont : integer;

function interes(da : real) : real;
var
inter : real;
begin
interes := 0.0;
inter := (da * 12.50) / 100;
if inter > 0.0 then
interes := inter;
end;

function entrada(an : integer) : real;
var
aayo : word;
begin
if Interes_Capitales.capital = 0.0 then
Interes_Capitales.capital = capital_inc;
gotoxy(12,4);write('Entre Cantidad : ');
gotoxy(29,4);readln(Interes_Capitales[cont].acumula[an]);
Interes_Capitales[cont].total := Interes_Capitales[cont].total +
Interes_Capitales[cont].acumula[an];
an := an + 1;
if an > 12 then
entrada := interes(Interes_Capitales[cont].total)
else
entrada := 0;
Interes_Capitales[cont].nu := an;
gotoxy(12,4);write('Entre año : ');
gotoxy(29,4);readln(aayo);
Interes_Capitales[cont].ayo := aayo;
assign(f,'interese.cut');
{$I-} reset(f); {$I+}
if ioresult <> 0 then
begin
rewrite(f);
seek(f,0);
write(f,Interes_Capitales[cont]);
close(f);
end
else
begin
seek(f,filesize(f));
write(f,Interes_Capitales[cont]);
close(f);
end;
end;



begin
clrscr;
cont := 1;
assign(f,'interese.cut');
{$I-} reset(f); {$I+}
if ioresult <> 0 then
begin
pos := 1;
end
else
begin
pos := Interes_Capitales[cont].nu;
close(f);
end;
pos := Interes_Capitales[cont].nu;
entrada(cont,pos);
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

ayuda

Publicado por luis (3 intervenciones) el 26/01/2012 23:49:55
si pero no puedo usar arreglos.
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

ayuda

Publicado por ramon (2072 intervenciones) el 27/01/2012 17:26:23
{Cambia lo a sin}

datos : record
ayo : word;
capital : real;
acumula : real;
total : real;
nu : integer;
end;

var
Interes_Capitales : datos;
f : file of datos;
cont : integer;

{Lo mismo para el resto}

function entrada : real;
var
aayo : word;
begin
if Interes_Capitales.capital = 0.0 then
Interes_Capitales.capital = capital_inc;
gotoxy(12,4);write('Entre Cantidad : ');
gotoxy(29,4);readln(Interes_Capitales.acumula);
Interes_Capitales.total := Interes_Capitales.total +
Interes_Capitales.acumula;
entrada := interes(Interes_Capitales.total)
else
entrada := 0;
Interes_Capitales.nu := 1;
gotoxy(12,4);write('Entre año : ');
gotoxy(29,4);readln(aayo);
Interes_Capitales.ayo := aayo;
assign(f,'interese.cut');
{$I-} reset(f); {$I+}
if ioresult <> 0 then
begin
rewrite(f);
seek(f,0);
write(f,Interes_Capitales);
close(f);
end
else
begin
seek(f,filesize(f));
write(f,Interes_Capitales);
close(f);
end;
end;



begin
clrscr;
entrada;
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