Distância entre pontos. Escreva a função distance que calcula a distância entre dois pontos (x1, y1) e (x2, y2). Todos os números e valores de retorno devem ser do tipo double.

Passo 1

Fala Galera!!! Tudo certa? Espero que sim!!! Bora para mais um exercício.

Nesse exercício vamos ter que criar uma função chama distance que calcula a distância entre dois pontos (x1, y1) e (x2, y2). Antes, precisamos saber como que se calcula essa distância matematicamente.

Existe uma formula para calcular a distância entre dois pontos no espaço, dada por meio de suas coordenadas. Assim sendo, sejam os pontos A = (x1, y1) e B = (x2,y2), a distância entre A e b, denotada por dAB, é dada pela seguinte expressão:

d A B =   x 1 - y 1 2 + x 2 - y 2 2 (1)

Passo 2

Já sabemos como calcular a distância entre dois pontos. O próximo passo é escrever nossa função em C. Os parâmetros que teremos que passar para função será os valores das coordenadas dos dois pontos. E dentro da função distance usar as funções da biblioteca para escrever a formula (1). Portanto, nossa função distance ficará da seguinte forma:

/* distance calcula a distância entre 2 pontos

dado por (xOne, yOne) e (xTwo, yTwo) */

double distance( double xOne, double yOne, double xTwo, double yTwo ){

double distance; /* distância entre dois pontos */

distance = sqrt( pow( xOne - xTwo, 2 ) + pow( yOne - yTwo, 2 ) );

return distance;

}

Lembrando que a função srqt é responsável por calcular a raiz quadrada e a função pow calcula a potenciação.

Passo 3

Agora, precisamos pedir para que o usuário digite os valores das coordenadas e chamar a função distance dentro do main(), que ficará da seguinte forma:

#include

#include

double distance( double xOne, double yOne, double xTwo, double yTwo );

int main(){

double x1; /* x coordenada do primeiro ponto */

double y1; /* y coordenada do primeiro ponto */

double x2; /* x coordenada do segundo ponto */

double y2; /* y coordenada do segundo ponto */

double dist; /* distância entre dois pontos */

/* solicitação de coordenadas do primeiro ponto */

printf( "Entre com o primeiro ponto: " );

scanf( "%lf%lf", &x1, &y1 );

/* solicitação de coordenadas do segundo ponto */

printf( "Entre com o segundo ponto: " );

scanf( "%lf%lf", &x2, &y2 );

/* calculate distance */

dist = distance( x1, y1, x2, y2 );

printf( "Distance between ( %.2f, %.2f )" " and ( %.2f, %.2f ) is %.2f\n",x1, y1, x2, y2, dist );

return 0;

} /* fim do main */

E assim, finalizamos o exercício. Até o próximo Galera!!!

Resposta

O programa final será: