Упражнения PHP: Проверьте, являются ли AB и CD ортогональными или нет
PHP: упражнение-68 с решением
На плоскости четыре точки: P (xp, yp), Q (xq, yq), R (xr, yr) и S (xs, ys). Напишите программу PHP, чтобы проверить, являются ли AB и CD ортогональными или нет.
xp, yp, xq, yq, xr, yr, xs и ys - от -100 до 100 соответственно, и каждое значение может содержать до 5 цифр после десятичной точки. Оно задается как действительное число, включая число.
Пример решения: -
PHP-код:
<?php
define('EPS', 1e-8);
$a = fscanf(STDIN, '%f %f %f %f %f %f %f %f');
$line = array();
$line[] = $a[1] - $a[3] === 0.0 ? INF : ($a[0] - $a[2]) / ($a[1] - $a[3]);
$line[] = $a[5] - $a[7] === 0.0 ? INF : ($a[4] - $a[6]) / ($a[5] - $a[7]);
if (max($line) === INF && min($line) === 0 || abs($line[0] * $line[1] + 1.0) < EPS) {
echo 'Orthogonal';
} else {
echo 'Not orthogonal';
}
echo PHP_EOL;
?>
Пример ввода:
3,5 4,5 2,5 -1,5 3,5 1,0 0,0 4,5
Пример вывода:
Не ортогональный
Блок - схема:
Редактор кода PHP:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу PHP, чтобы создать максимальное количество областей, полученных путем рисования n заданных прямых линий.
Далее: написать программу PHP для суммирования всех числовых значений, встроенных в предложение.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования