Проходим тему: Логические функции.
Задания выполнять на компьютере (OpenOffice Calc, LibreOffice Calc или Ms Excel), либо на телефоне (Excel Mobile) прислать файл с работой. В крайнем случае можно составить формулы на листке и прислать только формулы.
У меня есть 10 тысяч рублей, и я хочу положить их под проценты в банк на два года. Банк предлагает мне два варианта вклада: либо под 4,8% годовых с начислением процентов ежегодно, либо под 4,6% годовых с начислением процентов ежемесячно. Ежемесячно лучше, чем ежегодно, потому что проценты будут копиться, и на них тоже будут начисляться проценты, а при ежегодном начислении больше сами проценты. Так какой из этих вариантов выгоднее и на сколько рублей он выгоднее?
echo "Исходный массив:";
$n = rand(1,13);
$S = 0;
for($i = 0; $i < $n; $i++)
{
$A[] = rand(-10,10);
$S+=$A[$i];
echo " $A[$i]";
}
echo "<br>Сумма элементов = $S<br>";
$k = -1;
for($i = $n-1; $i >= 0; $i--)
if ($A[$i] < 0) $k = $i;
if ($k == -1) echo "В массиве нет отрицательных элементов";
else echo "№ первого отрицательного: $k";
$Sr = $S/$n;
echo "<br>Sr = $Sr<br>";
$B = 0;
$C = 0;
for($i = 0; $i < $n; $i++)
{
if ($A[$i] < $Sr) $B = $i;
if ($A[$i] > $Sr) $C = $i;
}
echo "№ элемента, превышающего Sr: $C<br>";
echo "№ элемента, который меньше Sr: $B";
?>
begin
Otr := sqrt(sqr(Ax - Bx) + sqr(Ay - By))
end;
function Perim(Ax, Ay, Bx, By, Cx, Cy: real): real;
begin
Perim := Otr(Ax, Ay, Bx, By) + Otr(Bx, By, Cx, Cy) + Otr(aX, aY, Cx, Cy);
end;
function Area(Ax, Ay, Bx, By, Cx, Cy: real): real;
var
pp: real;
begin
pp := Perim(Ax, Ay, Bx, By, Cx, Cy) / 2;
Area := sqrt(pp * (pp - Otr(Ax, Ay, Bx, By)) * (pp - Otr(Bx, By, Cx, Cy)) *
(pp - Otr(Ax, Ay, Cx, Cy)))
end;
procedure Dist(Px, Py, Ax, Ay, Bx, By: real; var D: real);
begin
D := 2 * Area(Px, Py, Ax, Ay, Bx, By) / Otr(Ax, Ay, Bx, By)
end;
var
Px, Py, Ax, Ay, Bx, By, Cx, Cy: real;
d: real;
begin
writeln('Вводите координаты точкек парами чисел: ');
write('P-> ');
readln(Px, Py);
write('A-> ');
readln(Ax, Ay);
write('B-> ');
readln(Bx, By);
write('C-> ');
readln(Cx, Cy);
writeln;
Dist(Px, Py, Ax, Ay, Bx, By, d);
writeln('Расстояние от Р до АВ равно ', d);
Dist(Px, Py, Cx, Cy, Bx, By, d);
writeln('Расстояние от Р до ВC равно ', d);
Dist(Px, Py, Ax, Ay, Cx, Cy, d);
writeln('Расстояние от Р до АC равно ', d)
end.
Тестовое решение:
Вводите координаты точкек парами чисел:
P-> -3 6
A-> 5 8
B-> 9 -4
C-> 8 -2.5
Расстояние от Р до АВ равно 8.22192191643778
Расстояние от Р до ВC равно 4.43760156980184
Расстояние от Р до АC равно 8.24163383692135