Две точки от равнина

Напишете програма, която въвежда координатите на две точки А и В от равнината и определя:

  1. дали правата АВ е успоредна на някоя от осите и на коя точно
  2. дали двете точки лежат в един квадрант
Публикувано в 10а, 10б с етикети . Постоянна връзка.

4 Responses to Две точки от равнина

  1. misho_cveti каза:
     program Project1;
    var
      XA,XB,YA,YB:integer;
    begin
      Write('vavedete koordinatite na tochka A:');
      ReadLn(XA,XB);
      Write('vavedete koordinatite na tochka B:');
      ReadLn(YA,YB);
      if(XA>0)and(XB>0)and(YA>0)and(YB>0)then
         WriteLn('tova e v 1-vi kvadrant')
      else if(XA<0)and(XB<0)and(YA>0)and(YB>0)then
         WriteLn('tova e v 2-ri kvadrant')
     else if(XA<0)and(XB<0)and(YA<0)and(YB<0)then
         WriteLn('tova e v 3-ti kvadrant')
     else if(XA>0)and(XB>0)and(YA<0)and(YB<0)then
         WriteLn('tova e v 4-ti kvadrant')
     else WriteLn('ne sa v edin kvadrant');
      ReadLn;
    end.
  2. BGTitan каза:
     program project2;
     var
       xTA: real;
       yTA: real;
       xTB: real;
       yTB: real;
    begin
      WriteLn('Vavedete X stoinostta na tochka A:');
      ReadLn(xTA);
      WriteLn('Vavedete Y stoinostta na tochka A:');
      ReadLn(yTA);
      WriteLn('Vavedete X stoinostta na tochka B:');
      ReadLn(xTB);
      WriteLn('Vavedete Y stoinostta na tochka B:');
      ReadLn(yTB);
        if (xTA=xTB) then
         WriteLn('Pravata AB e usporedna ordinatata.')
        else if (yTA=yTB) then
         WriteLn('Pravata AB e usporedna na abcisata.');
        if (xTA>0) and (yTA>0) then
           WriteLn('Tochka A e v I kvadrant.')
        else if (xTA<0) and (yTA<0) then
           WriteLn('Tochka A e v III kvadran.');
        if (xTB>0) and (yTB>0) then
           WriteLn('Tochka B e v I kvadrant.')
        else if (xTB<0) and (yTB<0) then
           WriteLn('Tochka B e v III kvadran.');
        if (xTA<0) and (yTA>0) then
           WriteLn('Tochka A e v II kvadrant.')
        else if (xTA>0) and (yTA<0) then
        WriteLn('Tochka A e v IV kvadrant.');
        if (xTB<0) and (yTB>0) then
           WriteLn('Tochka B e v II kvadrant.')
        else if (xTB>0) and (yTB<0) then
        WriteLn('Tochka B e v IV kvadrant.');
        ReadLn;                  
    
    • Данаил каза:

      Браво, много добре си направил задачата! По условие 1) – какво ще стане, ако въведем в програмата например 1 2 1 2 ? По условие 2 – и така както си го направил става, но този, който стартира програмата трябва според извежданото да прецени дали точките са в един квадрант. Ако искаш програмата да извежда директно дали точките са в един квадрант, може да комбинираш условията за едната и за другата точка с and (тогава ще можеш да кажеш и в кой квадрант са) или пък можеш да провериш така:

      if ((xTA>0)=(xTB>0)) and ((yTA>0)=(yTB>0)) then
        WriteLn('V edin kvadrant sa') 
      else WriteLn('Ne sa v edin kvadrant');   
      

Вашият коментар