Рассмотрим простейшую схему кредитования (и самую невыгодную для заёмщика), когда за каждый год отдается фиксированный процент p от первоначальной суммы кредита k без учета того, что часть кредита уже погашена за предыдущие годы.
В этом случае ежегодная сумма процентов по кредиту составит Sk=k×p%/100%.
За n лет будет отдано n×Sk. И еще нужно вернуть саму сумму кредита k.
Итого нужно вернуть k+n×Sk.
Доход за это время составит n×r и получаем неравенство
n×r ≥ n×Sk+k
n×(r-Sk) ≥ k → n ≥ k/(r-Sk) с округлением до целых в большую сторону.
<em>// PascalABC.NET 3.3, сборка 1583 от 25.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var (k,p):=ReadReal2('Сумма кредита и процент годовых:');
var r:=ReadReal('Предполагаемый годовой доход:');
var Sk:=k*p/100;
if r<=Sk then Writeln('Рассчитаться за кредит невозможно')
else Writeln('Количество лет на погашение кредита: ',Floor(k/(r-Sk)))
end.
<u>Пример</u>
Сумма кредита и процент годовых:10 0000 16
Предполагаемый годовой доход: 24000
Количество лет на погашение кредита: 12
Для обычного пользователя, программа может в любой момент перестать работать, запрося ключ активации.
Если на предприятии используется не лицензионное ПО, могут возникнуть проблемы с законом, которые могут повлечь за собой крупные денежные штрафы.
var a, b, c, x: integer;
begin
write('Введите A: ');
readln(a);
write('Введите B: ');
readln(b);
write('Введите C: ');
readln(c);
if a > b then
x:=a
else
x:=b;
if x > c then
writeln('Наибольшее число: ', x)
else
writeln('Наибольшее число: ', c);
end.
Unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Label1: TLabel;
procedure Button1Click(Sender: TObject);
private { Private declarations }
public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
try
label1.Caption:=FloatToStr(StrToFloat(Edit1.Text)/StrToFloat(Edit2.Text));
except
On E : EZeroDivide do
ShowMessage('Деление на 0 запрещено : ');
end;
end;
end.<span>
</span>