Programa usando funções frutíferas
Escreva uma função coeficienteAngular( x 1, y 1, x 2, y 2 ) que retorne a coeficiente angular de uma reta, dados os pontos (x1, y1) e (x2, y2). Depois use esta função em uma função chamada cortaY(x1, y1, x2, y2), que retorne a interseção da reta com o eixo y, dados os pontos ( x 1, y 1 ) e ( x 2, y 2 ). Notem que o programa deve conter as duas funções conforme os nomes especificados acima. Não é preciso enviar o arquivo. Basta copiar o programa e colar aqui no espaço disponível no SIGAA.
A ideia é que cada um faça o trabalho sem consultar os colegas ou outras pessoas. Quero que cada um resolva com o que tiver aprendido até agora. Claro que pode dar uma revisada no livro e nas anotações.
A nota, como eu disse am aula, será 10 para quem entregar e 0 para quem não entregar. É claro que bom que venha correto, mas não vou considerar isso na nota.
Período: Inicia em 16/05/2025 às 00 h 00 e finaliza em 23/05/2025 às 23h59

Passo 1

O enunciado pede para escrever duas funções frutíferas em Python:
– A função coeficienteAngular(x\(1\), y\(1\), x\(2\), y\(2\)) deve calcular o coeficiente angular da reta que passa pelos pontos e , usando a fórmula
– A função cortaY(x\(1\), y\(1\), x\(2\), y\(2\)) deve usar coeficienteAngular para encontrar o coeficiente angular e então calcular a ordenada na origem da mesma reta, sabendo que

Passo 2

Para a função coeficienteAngular precisamos cuidar do caso em que x2 = x1, pois aí a reta é vertical e o coeficiente angular não está definido (divisão por zero). Nessa situação, é adequado lançar uma exceção para sinalizar o erro. Caso contrário, retornamos o valor de m.

Passo 3

Na função cortaY chamamos coeficienteAngular para obter m. Em seguida, aplicamos a relação da equação da reta em forma explícita y = m x + b, isolando b, ou seja,
b = y1 - m,x1
Retornamos esse valor de b.

Passo 4

Agora, juntamos as duas funções em um programa Python.

Resposta

def coeficienteAngular(x\(1\), y\(1\), x\(2\), y\(2\)):
    """
    Retorna o coeficiente angular m da reta que passa por (x\(1\), y\(1\)) e (x\(2\), y\(2\)).
    Lança ValueError se x\(2==\) x\(1\) (reta vertical sem coeficiente angular definido).
    """
    if x\(2==\) x\(1\):
        raise ValueError("Coeficiente angular indefinido para reta vertical (x\(2==\) x\(1\)).")
    return (y\(2\) - y\(1\)) / (x\(2\) - x\(1\))

def cortaY(x\(1\), y\(1\), x\(2\), y\(2\)):
    """
    Retorna a interseção b da reta com o eixo y,
    usando a função coeficienteAngular.
    """
    m \(=\) coeficienteAngular(x\(1\), y\(1\), x\(2\), y\(2\))
    return y\(1\) - m * x\(1\)

Exercícios relacionados