0334 - Dreapta
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
- oblica
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="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.")
</syntaxhighlight>