Ребята решить все этот, сижу уже 2 часа но так и не понял. Финансовые расчеты с использованием подбора параметра: 8.1. Вас просят дать в долг P руб. и обещают вернуть P1 руб через год, P2 руб. через два года и т.д., наконец, Pn руб. через n лет.
При какой годовой процентной ставке сделка имеет смысл?
8.2. По облигации, выпущенной на 6 лет, предусмотрен следующий порядок начисления процентов: в первый год – 10%, в два последующих – 20%, в оставшиеся три года – 25%. Рассчитать номинал облигации, если известно, что ее будущая стоимость составила 1546,88 тыс.руб. Для решения задачи воспользоваться функцией БЗРАСПИС(). 8.3. Ожидается, что будущая стоимость инвестиции размером 15 тыс.руб. к концу 4 года составит 3000 руб. При этом за первый год доходность составит 15%, за второй – 17%, за четвертый – 23%. Рассчитать при функции БЗРАСПИС() доходность инвестиций за 3-й год. 8.4. Ожидается, что доходы по проекту в течение последующих лет составят 50000 руб., 100000 руб., 300000 руб., 200000 руб. При функции ВСД() определить, какие должны быть первоначальные затраты, чтобы обеспечить скорость оборота 10%. 8.5. Определить, какими должны быть первоначальные затраты по проекту, чтобы обеспечить следующие доходы: 2, 5, 6, 8 и 10 млн.руб. при норме дохода по проекту 9%. Для решения задачи воспользоваться функцией ВСД(). 8.6. Определить размер купонной ставки, если годовая ставка помещения составляет 15%, облигации приобретены 10.09.01 по курсу 90, купоны выплачиваются с периодичностью раз в полугодие. Предполагаемая дата погашения облигации – 16.09.05 по курсу (погашение) 100. Для решения задачи воспользоваться функцией ДОХОД(). 8.7. Определить необходимый уровень ставки купонных выплат, производящихся раз в полугодие, если курс покупки облигации – 87,91, облигации приобретены 1.03.01 и будут погашены 5.03.03; ожидаемая годовая ставка помещения (доход) – 14,45, номинал облигации (погашение) – 100, базис расчета – 1. Для решения задачи воспользоваться функцией ЦЕНА(). 8.8. Определить купонную ставку, выплачиваемую в конце срока действия облигации вместе с номиналом, если известно, что заданное значение курса покупки ценных бумаг составляет 95,5, годовая ставка помещения (доход) – 15%, дата выпуска облигации – 3.05.02 с погашением (дата вступления в силу) – 15.09.03 по номиналу, облигации приобретены 12.06.02 (дата соглашения). Временной базис расчета – 1. Для решения задачи воспользоваться функцией ЦЕНАПОГАШ(). 8.9. Определить сумму бескупонных облигаций (инвестиция), приобретенных (дата соглашения) 1.03.02 с погашением (дата вступления в силу) 31.12.02 по цене (погашение) 140000. Годовая ставка дополнительного дохода равна 19,95%. Временной базис расчета – 1. Для решения задачи воспользоваться функцией ИНОРМА(). 8.10. Определить учетную ставку векселя (скидка), если известно следующее: вексель на сумму (инвестиция) 1360000 руб. выдан (дата соглашения) – 1.03.01, сумма по векселю – 1398690,7 руб. оплачена (дата вступления в силу) – 31.12.01. Временной базис расчета – 1. Для решения задачи воспользоваться функцией ПОЛУЧЕНО(). 8.11. Ставка годового дохода по ценным бумагам равна 36,6%. Определить курс (погашение) облигации, если известно следующее: цена облигации на дату приобретения (дата соглашения) 1.08.01 равна 64, 456 руб., дата погашения – 1.02.02. Временной базис расчета – 1. Для решения задачи воспользоваться функцией ДОХОДСКИДКА(). 8.12. Учетная ставка (норма скидки) для ценных бумаг, приобретенных 1.08.01 (дата приобретения) с погашением (дата вступления в силу) 1.02.02 по курсу (погашение) 100 руб., равна 23,63%. Определить курс приобретения (цену) данных ценных бумаг. Временной базис расчета – 1. Для решения задачи воспользоваться функцией СКИДКА().
// PascalABC.NET 3.0, сборка 1128 const nmax=100; var n,i,j,nn,nz,np,t:integer; a,an,az,ap:array[1..nmax] of integer; begin // формируем массив и выводим его Write('Количество элементов в массиве: '); Read(n); for i:=1 to n do begin a[i]:=Random(11)-5; Write(a[i],' ') end; Writeln; // разбиваем массив на три подмассива nn:=0; nz:=0; np:=0; for i:=1 to n do if a[i]<0 then begin nn:=nn+1; an[nn]:=a[i] end else if a[i]=0 then begin nz:=nz+1; az[nz]:=a[i] end else begin np:=np+1; ap[np]:=a[i] end; // сортируем массив с отрицательными элементами по убыванию for i:=1 to nn-1 do for j:=1 to nn-1 do if an[j]<an[j+1] then begin t:=an[j]; an[j]:=an[j+1]; an[j+1]:=t end; // сортируем массив с положительными элементами по возрастанию for i:=1 to np-1 do for j:=1 to np-1 do if ap[j]>ap[j+1] then begin t:=ap[j]; ap[j]:=ap[j+1]; ap[j+1]:=t end; // формируем новое содержимое массива a i:=0; for j:=1 to nz do begin i:=i+1; a[i]:=az[j] end; for j:=1 to np do begin i:=i+1; a[i]:=ap[j] end; for j:=1 to nn do begin i:=i+1; a[i]:=an[j] end; // вывод результата for i:=1 to n do Write(a[i],' '); Writeln end.
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016 begin var n:=ReadInteger('Количество элементов в массиве: '); var a:=ArrRandom(n,-50,50); a.Println(','); Writeln('Четные элементы: '); var i:=1; while i<n do begin Write(a[i],' '); Inc(i,2) end; Writeln; Writeln('Нечетные элементы: '); i:=0; while i<n-1 do begin Write(a[i],' '); Inc(i,2) end; Writeln end.
Тестовое решение: Количество элементов в массиве: 10 15,-18,-29,-25,46,21,-8,-17,-9,15 Четные элементы: -18 -25 21 -17 15 Нечетные элементы: 15 -29 46 -8 -9
const
nmax=100;
var
n,i,j,nn,nz,np,t:integer;
a,an,az,ap:array[1..nmax] of integer;
begin
// формируем массив и выводим его
Write('Количество элементов в массиве: '); Read(n);
for i:=1 to n do begin
a[i]:=Random(11)-5;
Write(a[i],' ')
end;
Writeln;
// разбиваем массив на три подмассива
nn:=0; nz:=0; np:=0;
for i:=1 to n do
if a[i]<0 then begin nn:=nn+1; an[nn]:=a[i] end
else
if a[i]=0 then begin nz:=nz+1; az[nz]:=a[i] end
else begin np:=np+1; ap[np]:=a[i] end;
// сортируем массив с отрицательными элементами по убыванию
for i:=1 to nn-1 do
for j:=1 to nn-1 do
if an[j]<an[j+1] then
begin t:=an[j]; an[j]:=an[j+1]; an[j+1]:=t end;
// сортируем массив с положительными элементами по возрастанию
for i:=1 to np-1 do
for j:=1 to np-1 do
if ap[j]>ap[j+1] then
begin t:=ap[j]; ap[j]:=ap[j+1]; ap[j+1]:=t end;
// формируем новое содержимое массива a
i:=0;
for j:=1 to nz do begin i:=i+1; a[i]:=az[j] end;
for j:=1 to np do begin i:=i+1; a[i]:=ap[j] end;
for j:=1 to nn do begin i:=i+1; a[i]:=an[j] end;
// вывод результата
for i:=1 to n do Write(a[i],' ');
Writeln
end.
Тестовое решение:
Количество элементов в массиве: 15
1 2 5 0 -5 -3 0 0 1 -4 3 -2 -2 0 -5
0 0 0 0 1 1 2 3 5 -2 -2 -3 -4 -5 -5