EP6 - Exemplo de saída

EP6 - Exemplo de saída

por Elton Okawa -
Número de respostas: 8

    >>> par_mais_proximo_faixa(2,0,3,6,pontos)
    (2.23606797749979, [[0, 3], [2, 2]])

 

Nessa saída eu fiquei com uma dúvida, sendo par_mais_proximo(d,p,q,r,lista_pontos) e no enunciado diz que d = min(d_esq, d_dir), como que o programa está retornando uma distância maior que a faixa de valores estipulada? Não deveria retornar None,[] nesse caso?

Em resposta à Elton Okawa

Re: EP6 - Exemplo de saída

por José Coelho de Pina -

Oi Elton,

como que o programa está retornando uma distância maior que a faixa de valores estipulada?

Excelente!
Perguntas nos ajudam a entender o problema, definições, encontrar erros...

Permita-me responder com uma pergunta a todos:

A menor distância entre dois pontos na faixa de largura d em relação a q pode ser maior do que d?

 

Em resposta à José Coelho de Pina

Re: EP6 - Exemplo de saída

por José Coelho de Pina -

Não deveria retornar None,[] nesse caso?

Mais uma pergunta:

Segundo a especificação, quando a função par_mais_proximo_faixa() deve retornar None, []?
Em resposta à José Coelho de Pina

Re: EP6 - Exemplo de saída

por Vanessa Araujo Rodrigues -

Deve responder None quando não houver pelo menos dois pontos na faixa [q-d,q+d]? 

Em resposta à Vanessa Araujo Rodrigues

Re: EP6 - Exemplo de saída

por José Coelho de Pina -

Deve responder None quando não houver pelo menos dois pontos na faixa [q-d,q+d]?

Sim.
Quando não houver ponto do lado direito da faixa, também deve retornar None,[].

Em resposta à José Coelho de Pina

Re: EP6 - Exemplo de saída

por Vanessa Araujo Rodrigues -

Sim. Só fiquei na dúvida se ela pode ser IGUAL a 2*d. Maior que 2*d não pode! sorriso

Em resposta à Vanessa Araujo Rodrigues

Re: EP6 - Exemplo de saída

por José Coelho de Pina -

Sim. Só fiquei na dúvida se ela pode ser IGUAL a 2*d. Maior que 2*d não pode!

Pode considerar a faixa como sendo aberta.
As retas x = lista_pontos[q][0]-d e x = lista_pontos[q][0]+d não fazem parte da faixa
Logo, a menor distância entre dois pontos ... será menor que 2*d. (P.S. Cuidado, afirmação errada, como observou o João.)

Em resposta à José Coelho de Pina

Re: EP6 - Exemplo de saída

por João Vinicius Vernizzi Santos -

A menor distância horizontal, né?

Porque mesmo com um ponto dentro da faixa esquerda e outro ponto dentro da faixa direita, a distância entre esses dois pontos pode ser tão grande quanto eu queira.

Por exemplo, para d=5.0 e q=10.0 eu posso ter um ponto p0 de coordenadas [7,30] e um ponto p1 de coordenadas [14,-50]... Os pontos satisfazem o que a função pede, mas a distância entre eles é 80.30566605165541, que é maior que 2*d

Em resposta à João Vinicius Vernizzi Santos

Re: EP6 - Exemplo de saída

por José Coelho de Pina -

A menor distância horizontal, né?

Sim.
Vixe! Me expressei muito mal.
O que escrevi está errado! olho roxo

Porque mesmo com um ponto dentro da faixa esquerda e outro ponto dentro da faixa direita, a distância entre esses dois pontos pode ser tão grande quanto eu queira.

Perfeito!