Какой координатной четверти принадлежит точка?

Задача

Определить четверть координатной плоскости, которой принадлежит точка. Координаты точки ввести с клавиатуры.

Пояснение к задаче и алгоритм решения

  • Если у точки обе координаты (x и y) положительны, то она принадлежит первой четверти.
  • Если координата x отрицательна, а y положительна, то точка находится во второй четверти.
  • Если обе координаты отрицательны, то точка принадлежит третьей координатной четверти.
  • Если x положительна, а y отрицательна, то точка находится в IV четверти.

Следует иметь в виду, что использовать в программе четыре отдельные инструкции if не совсем правильно. Хотя такое решение даст верный результат, программу нельзя будет назвать эффективной, т.к. даже если первая проверка дала "правду", дальнейшие проверки будут продолжены, хотя в них нет никакого смысла. Поэтому правильным решением будет использование вложенных конструкций if-else. Это замечание не касается языка Python, т.к. в нем есть конструкция множественного ветвления (if-elif-else).

Поскольку точка может лежать на одной из двух координатных осей или находиться в начале координат, то значит могут быть ситуации, когда точка не принадлежит ни одной из четвертей. Эти случаи обрабатываются в отдельных ветках, либо опускаются. Из этого также следует, что если первые три проверки не сработали, то нельзя делать однозначный вывод, что точка принадлежит оставшейся четверти. Поэтому в программе сообщение о том, в какой четверти находится точка может быть только в теле if, но не else.

Исходный код на языке программирования Pascal

var x,y: integer;
begin
    readln(x,y);
    if (x>0) and (y>0) then
        writeln('I quadrant')
    else
        if (x<0) and (y>0) then
            writeln('II quadrant')
        else
            if (x<0) and (y<0) then
                writeln('III quadrant')
            else
                if (x>0) and (y<0) then
                    writeln('IV quadrant');
end.

Пример(ы) выполнения программы на языке Pascal

-5 3
II quadrant

Исходный код на языке программирования C

#include <stdio.h>
 
main() {
    int x,y;
    scanf("%d%d",&x,&y);
    if (x>0 && y>0) printf("I");
    else
        if (x<0 && y>0) printf("II");
        else
            if (x<0 && y<0) printf("III");
            else
                if (x>0 && y<0) printf("IV");
    printf("\n");
}

Исходный код на языке программирования Python

x = int(input("x="))
y = int(input("y="))
if x>0 and y>0:
    print('I')
elif x<0 and y>0:
    print('II')
elif x<0 and y<0:
    print('III')
elif x>0 and y<0:
    print('IV')

Пример(ы) выполнения программы на языке Python

x=-3
y=-2
III

Исходный код на языке программирования КуМир

алг координатная четверть
нач
  цел x,y
  ввод x,y
  если x>0 и y>0 то вывод "I"
   иначе
    если x<0 и y>0 то вывод "II"
     иначе
      если x<0 и y<0 то вывод "III"
       иначе
        если x>0 и y<0 то вывод "IV" все
      все
    все
  все
кон

Исходный код на языке программирования Basic

input x
input y
if x>0 and y>0 then
    print "I четверть"
else
    if x<0 and y>0 then
        print "II четверть"
    else
        if x<0 and y<0 then
            print "III четверть"
        else
            if x>0 and y<0 then print "IV четверть"
        endif
    endif
endif

Пример(ы) выполнения программы на языке Basic

7
-2
IV четверть

Тема

Ветвления

Уровень сложности

Средний

Дата публикации