Всем известна прямоугольная (декартова) система координат, в которой две перпендикулярные оси делят плоскость на четверти. В первую четверть попадают точки, у которых обе координаты (x и y) больше нуля. Во вторую: x 0; третью: x ; четвертую: x > 0, y .
Допустим, требуется написать программу, определяющую по координатам точки, в какой четверти она находится.
Для решения этой задачи уместно использовать условные операторы if-else вложенные друг в друга.
var x,y: real; begin write ('x = '); read (x); write ('y = '); readln (y); write ('Номер четверти координатной плоскости: '); if (x > 0) and (y > 0) then writeln ('I') else if (x ) and (y > 0) then writeln ('II') else if (x ) and (y ) then writeln ('III') else if (x > 0) and (y ) then writeln ('IV') else writeln ('-. Точка лежит на оси.'); readln end.
Почему именно вложенные? Ведь программа выглядела куда проще, если убрать все ветки else и оставить только if. Дело в том, что тогда при работе программа будет проверять все ветки if, даже если будет уже известно, что точка принадлежит I или II четверти. Такой алгоритм работы программы будет не совсем эффективным и грамотным.
Также желательно в программе предусмотреть случай, когда x или y (или оба значения) равны нулю. В таком случае точка будет лежать на соответствующей координатной оси (или находиться в начале координат).
Комментарии
Положение точки на координатной плоскости
Более короткий вариант