0334 - Dreapta

From Bitnami MediaWiki

Cerință[edit | edit source]

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[edit | edit source]

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

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran unul dintre mesajele orizontala, verticala sau oblica, în funcție de natura dreptei determinate de cele două puncte. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit | edit source]

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

Exemplul 1[edit | edit source]

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

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<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>