Помогите ,пж!!!!! Гражданин 1 марта открыл счет в банке, вложив 1000 руб. Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Вывести на экран размер вклада 1 числа каждого месяца до конца года. В ПАСКАЛЕ!!!!!!!
Ответы
Если считать по простому- то можно просто умножать имеющуюся сумму на 1,02. Это и будет соответствовать увеличению на 2% (потому что 100% + 2% = 102% дальше можно по пропорции: 100% - это 1000 руб, 102% - это x руб; решаем пропроцию крест накрест и получаем, что x = 1000 * 102 / 100 = 1000 * 1,02 что и требовалось доказать).
Умножение я сделал даже без округления до копеек каждый месяц (только вывод на экран я сделал с округлением).
Возможно, более правильно было бы округлять сумму после начисления процентов, но я не сделал этого, потому что и такой расчёт не будет соответствовать реально выполняемому в банках (там всё ещё сложнее- если сумма за период не менялась, то на неё начисляется процент годовых, умножается на количество дней в периоде и делится на количество дней в текущем году, и только потом уже округляется до копеек). Это всё ещё и от тонкостей и условий банка зависит.
Так что, тут уж лучше считать по простому.
Программа получилась такая:
var
v, p, k: real;
m: integer;
s: string;
begin
writeln('дата вклад');
v := 1000;
p := 2;
k := (100 + p) / 100;
for m := 3 to 12 do
begin
if m < 10 then s := '0'
else s := '';
writeln('01.', s, m, v:9:2);
v := v * k;
end;
end.
А вывод на экран вот такой:
дата вклад
01.03 1000.00
01.04 1020.00
01.05 1040.40
01.06 1061.21
01.07 1082.43
01.08 1104.08
01.09 1126.16
01.10 1148.69
01.11 1171.66
01.12 1195.09