0334 - Dreapta
De la Universitas 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
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
- 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
# 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
# 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.")