Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2014, 14:55
croelanjr
 
Fecha de Ingreso: agosto-2014
Mensajes: 68
Antigüedad: 10 años, 3 meses
Puntos: 1
Otro Arreglo mas

Amigos Rubinos, :)
Estoy que rompo la cabeza que no me sale la solucion, estoy tratando de separar los nombres de los paises y numeros en cada cadena. y ademas una orientacion en que esta mal.
le paso el ejercicio:
La Unión Europea ha creado un conjunto de datos basados en su estadísticas anuales y quiere obtener información de cada uno de ellos. Por tal razón se le solicita a usted lo siguiente:
a) Desarrollar un subprograma que permita determinar el pais con mayor población en un muestra dada.
b) Desarrollar un subprograma que permita ordernar de manera asc (de menor a mayor) los paises basados en su población.
c) Desarrollar un subprograma que permita determinar la población promedio en una muestra dada.
d) Desarrollar un subprograma que permita saber cual es la desviación estándar de las muestras.

Funciones:
Desviación estándar:
Código ruby:
Ver original
  1. #encoding:UTF-8
  2. def paisConMasPoblacion(muestras)
  3.    mas_poblacion = 0
  4.    inicio = muestras[0][1]
  5.    for i in 0...inicio.size
  6.         if mas_poblacion < inicio[i]
  7.             mas_poblacion = inicio[i]
  8.         end
  9.     end
  10.    return muestras[i][0]
  11. end
  12.  
  13. def ordenarPorPoblacion(muestras)
  14.     cadena = Array.new(muestras.size)
  15.    
  16. end
  17.  
  18. def poblacionPromedio(muestras)
  19.     cadena = muestras.flatten
  20.     total = 0.0
  21.     i = 0
  22.     while i < muestras.size
  23.         #total = total + cadena[i]
  24.         i = i + 2
  25.     end
  26.     puts cadena1
  27. end
  28.  
  29. def desviacionEstandar(muestras)
  30.    
  31. end
  32.  
  33. #--- zona de test ----
  34.  
  35. def test_paisConMasPoblacion
  36.    
  37.     muestra2 = [['Bulgaria',8612757],['Croatia',5004112],['Czech Republic',10321120],['Denmark',5249632],['Estonia',1459428],['Faroe Islands',43857]]
  38.     muestra3 = [['Finland',5105230],['France',58317450],['Germany',83536115],['Gibraltar',28765],['Greece',10538594],['Hungary',10002541]]
  39.     print validate('Belarus', paisConMasPoblacion(muestra1))
  40.     print validate('Czech Republic', paisConMasPoblacion(muestra2))
  41.     print validate('Germany', paisConMasPoblacion(muestra3))
  42. end
  43.  
  44. def test_ordenarPorPoblacion
  45.     muestra1 = [['Albania',28750],['Andorra',72766],['Austria',8023244],['Belarus',10415973],['Belgium',10170241],['Bosnia and Herzegovina',2656240]]
  46.     muestra2 = [['Bulgaria',8612757],['Croatia',5004112],['Czech Republic',10321120],['Denmark',5249632],['Estonia',1459428],['Faroe Islands',43857]]
  47.     muestra3 = [['Finland',5105230],['France',58317450],['Germany',83536115],['Gibraltar',28765],['Greece',10538594],['Hungary',10002541]]
  48.     print validate(['Albania','Andorra','Austria','Bosnia and Herzegovina','Belgium','Belarus'], ordenarPorPoblacion(muestra1))
  49.     print validate(['Faroe Islands','Estonia','Croatia','Denmark','Bulgaria','Czech Republic'], ordenarPorPoblacion(muestra2))
  50.     print validate(['Gibraltar','Finland','Hungary','Greece','France','Germany'], ordenarPorPoblacion(muestra3))
  51. end
  52.  
  53. def test_poblacionPromedio
  54.     muestra1 = [['Albania',28750],['Andorra',72766],['Austria',8023244],['Belarus',10415973],['Belgium',10170241],['Bosnia and Herzegovina',2656240]]
  55.     muestra2 = [['Bulgaria',8612757],['Croatia',5004112],['Czech Republic',10321120],['Denmark',5249632],['Estonia',1459428],['Faroe Islands',43857]]
  56.     muestra3 = [['Finland',5105230],['France',58317450],['Germany',83536115],['Gibraltar',28765],['Greece',10538594],['Hungary',10002541]]
  57.     print validate(5227869.0,   poblacionPromedio(muestra1))
  58.     print validate(5115151.0,   poblacionPromedio(muestra2))
  59.     print validate(27921449.17, poblacionPromedio(muestra3))
  60. end
  61.  
  62. def test_desviacionEstandar
  63.     muestra1 = [['Albania',28750],['Andorra',72766],['Austria',8023244],['Belarus',10415973],['Belgium',10170241],['Bosnia and Herzegovina',2656240]]
  64.     muestra2 = [['Bulgaria',8612757],['Croatia',5004112],['Czech Republic',10321120],['Denmark',5249632],['Estonia',1459428],['Faroe Islands',43857]]
  65.     muestra3 = [['Finland',5105230],['France',58317450],['Germany',83536115],['Gibraltar',28765],['Greece',10538594],['Hungary',10002541]]
  66.     print validate(4886241.63, desviacionEstandar(muestra1))
  67.     print validate(3961012.73, desviacionEstandar(muestra2))
  68.     print validate(34463721.6, desviacionEstandar(muestra3))
  69. end
  70.  
  71.  
  72. def validate (expected, value)
  73.  expected == value ? "." : "F"
  74. end
  75.  
  76. def test
  77.    
  78.   puts "Test de prueba del programa"
  79.   puts "---------------------------"
  80.   test_paisConMasPoblacion
  81.   test_ordenarPorPoblacion
  82.   test_poblacionPromedio
  83.   test_desviacionEstandar
  84.  
  85.   puts " "
  86. end
  87. test