0334 - Dreapta
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">
- 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>