Coordenades (II) X60989


Statement
 

pdf   zip   main.py

thehtml

Tenim un mercat ambulant i volem distribuïr el nostre producte a n pobles utilitzant una variació de l’algorisme del veí més proper. Per fer-ho, disposem d’una graella bidimensional de 50x50 unitats de longitud, entre les quals hi ha distribuïdes n+1 coordenades que es troben emmagatzemades en una llista de valors enters com la següent:

coord = 
x1,y1,x2,y2,x3,y3,x4,y4,..,..,xn,yn,x_ref,y_ref


Volem crear una llista distancies que guardi totes les distàncies (valors reals amb 2 decimals) des de la coordenada de referència x_ref, y_ref (que es troben a la última i penúltima posicio de la llista respectivament) fins a la resta de coordenades dels diferents pobles, ordenades de major a menor distància.
Per obtenir la distància euclidiana entre dues coordenades

(x1,y1)  i  (x2,y2)

la distància entre elles (d, valor real) es pot calcular de la següent manera:

d = 
(x2x1)2 + (y2y1)2
(1)

NOTA: Per arrodonir un número real a un número de decimals específic, podem utilitzar la funció: round(num_real,número_de_decimals).

Per exemple, per fer l’arrodoniment a 2 decimals, si valor = 4.35342135, llavors  round(valor,2) retornarà 4.35.

La pràctica consisteix en dos exercicis (Part 1 i Part2) que son independents

PART 2

Donada una llista de distàncies de valors reals arrodinits a 2 decimals ordenada de major a menor, creada a la Part1, cal crear ara la funció dades_distancia, que haurà de retornar el següents dos resultats en relació amb totes les distàncies entre la coordenada de referència i els n pobles:

  1. Nombre de distàncies que estan estrictament per sobre de la distància mitjana,
  2. Les unitats de longitud totals que recorrem si tenim en compte que, per cada poble que visitem, cal fer l’anada i tornada des de la coordenada de referència (valor real arrodinit a 2 decimals).

Observació Només cal que enviïs el fitxer solution.py amb la funció dades_distancia (i les funcions auxiliars que hagis fet) que et demanem i prou. El fitxer main.py et pot servir per a fer la teva solució, però no cal que n’enviïs el contingut.

Entrada llista de distàncies (valors reals amb 2 decimals) de la forma:


d1,d2,d3,d4,...,dn

Sortida Dos resultats en relació amb totes les distàncies entre la coordenada de referència i els n pobles:

  1. Nombre de distàncies que estan estrictament per sobre de la distància mitjana,
  2. Les unitats de longitud totals que recorrem (valor real arrodinit a 2 decimals) si tenim en compte que, per cada poble que visitem, cal fer l’anada i tornada des de la coordenada de referència.
Public test cases
  • Input

    70.71 63.64 49.5 21.21 14.14
    
    

    Output

    3 438.4
    
  • Input

    40.01 32.8 20.62 14.87
    
    

    Output

    2 216.6
    
  • Information
    Author
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python