0334 - Dreapta

From Bitnami MediaWiki

Cerință

Se dau coordonatele a două puncte diferite din plan. Să se stabilească dacă dreapta determinată de cele două puncte este orizontală, verticală sau oblică.

Date de intrare

Programul citește de la tastatură numerele întregi x1, y1, x2, y2, reprezentând coordonatele celor două puncte.

Date de ieșire

Programul afișează pe ecran unul dintre mesajele orizontala, verticala sau oblica, în funcție de natura dreptei determinate de cele două puncte.

Restricții și precizări

  • coordonatele celor două puncte sunt numere întregi din intervalul [-1000 , 1000]

Exemplul 1

Intrare
-1 2 4 -3
Ieșire
Datele de intrare corespund restricțiilor impuse.
oblica

Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1">

  1. Definirea functiei de validare care verifica daca coordonatele sunt in intervalul [-1000, 1000]

def validare(x1, y1, x2, y2):

   if -1000 <= x1 <= 1000 and -1000 <= y1 <= 1000 and -1000 <= x2 <= 1000 and -1000 <= y2 <= 1000:
       return True
   return False


  1. Definirea functiei dreapta care determina natura celor doua puncte

def dreapta(x1, y1, x2, y2):

   if x1 == x2:
       print('verticala')  # daca coordonata x a celor doua puncte este aceeasi, dreapta este verticala
   elif y1 == y2:
       print('orizontala')  # daca coordonata y a celor doua puncte este aceeasi, dreapta este orizontala
   else:
       print('oblica')  # daca niciuna dintre coordonate nu este aceeasi, dreapta este oblica


if __name__ == "__main__":

   x1, y1, x2, y2 = map(int, input().split())  # citirea coordonatelor de la tastatura si maparea lor la tipul int
   if validare(x1, y1, x2, y2):  # verificarea daca coordonatele sunt valide
       print("Datele de intrare corespund restricțiilor impuse.")
       dreapta(x1, y1, x2, y2)  # apelarea functiei care determina natura dreptei
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>