Ver Mensaje Individual
  #12 (permalink)  
Antiguo 17/08/2014, 16:52
croelanjr
 
Fecha de Ingreso: agosto-2014
Mensajes: 68
Antigüedad: 9 años, 8 meses
Puntos: 1
Respuesta: Arreglo en Ruby

Amigos del Foro
Estoy dando una solucion algunos ejercicios que no me sale la cadena de numero.
Por favor necesito que me oriente en que esta mal.
Le paso el ejercicio y el programa en ruby

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.     pais = []
  15.     cantidad = 0 #Array.new
  16.     ordena = muestras[1][0]
  17.     cant = muestras[0][1]
  18.     i = 0
  19.     while i < muestras.size
  20.         cantidad.push(muestras[0][i])
  21.         i = i + 1
  22.     end
  23.     #puts ordena
  24.     puts cant
  25.     #puts pais.sort
  26.     #puts ordena
  27.  
  28. end
  29.  
  30. def poblacionPromedio(muestras)
  31.    
  32. end
  33.  
  34. def desviacionEstandar(muestras)
  35.    
  36. end
  37.  
  38. #--- zona de test ----
  39.  
  40. def test_paisConMasPoblacion
  41.     muestra1 = [['Albania',28750],['Andorra',72766],['Austria',8023244],['Belarus',10415973],['Belgium',10170241],['Bosnia and Herzegovina',2656240]]
  42.     muestra2 = [['Bulgaria',8612757],['Croatia',5004112],['Czech Republic',10321120],['Denmark',5249632],['Estonia',1459428],['Faroe Islands',43857]]
  43.     muestra3 = [['Finland',5105230],['France',58317450],['Germany',83536115],['Gibraltar',28765],['Greece',10538594],['Hungary',10002541]]
  44.     print validate('Belarus', paisConMasPoblacion(muestra1))
  45.     print validate('Czech Republic', paisConMasPoblacion(muestra2))
  46.     print validate('Germany', paisConMasPoblacion(muestra3))
  47. end
  48.  
  49. def test_ordenarPorPoblacion
  50.     muestra1 = [['Albania',28750],['Andorra',72766],['Austria',8023244],['Belarus',10415973],['Belgium',10170241],['Bosnia and Herzegovina',2656240]]
  51.     muestra2 = [['Bulgaria',8612757],['Croatia',5004112],['Czech Republic',10321120],['Denmark',5249632],['Estonia',1459428],['Faroe Islands',43857]]
  52.     muestra3 = [['Finland',5105230],['France',58317450],['Germany',83536115],['Gibraltar',28765],['Greece',10538594],['Hungary',10002541]]
  53.     print validate(['Albania','Andorra','Austria','Bosnia and Herzegovina','Belgium','Belarus'], ordenarPorPoblacion(muestra1))
  54.     print validate(['Faroe Islands','Estonia','Croatia','Denmark','Bulgaria','Czech Republic'], ordenarPorPoblacion(muestra2))
  55.     print validate(['Gibraltar','Finland','Hungary','Greece','France','Germany'], ordenarPorPoblacion(muestra3))
  56. end
  57.  
  58. def test_poblacionPromedio
  59.     muestra1 = [['Albania',28750],['Andorra',72766],['Austria',8023244],['Belarus',10415973],['Belgium',10170241],['Bosnia and Herzegovina',2656240]]
  60.     muestra2 = [['Bulgaria',8612757],['Croatia',5004112],['Czech Republic',10321120],['Denmark',5249632],['Estonia',1459428],['Faroe Islands',43857]]
  61.     muestra3 = [['Finland',5105230],['France',58317450],['Germany',83536115],['Gibraltar',28765],['Greece',10538594],['Hungary',10002541]]
  62.     print validate(5227869.0,   poblacionPromedio(muestra1))
  63.     print validate(5115151.0,   poblacionPromedio(muestra2))
  64.     print validate(27921449.17, poblacionPromedio(muestra3))
  65. end
  66.  
  67. def test_desviacionEstandar
  68.     muestra1 = [['Albania',28750],['Andorra',72766],['Austria',8023244],['Belarus',10415973],['Belgium',10170241],['Bosnia and Herzegovina',2656240]]
  69.     muestra2 = [['Bulgaria',8612757],['Croatia',5004112],['Czech Republic',10321120],['Denmark',5249632],['Estonia',1459428],['Faroe Islands',43857]]
  70.     muestra3 = [['Finland',5105230],['France',58317450],['Germany',83536115],['Gibraltar',28765],['Greece',10538594],['Hungary',10002541]]
  71.     print validate(4886241.63, desviacionEstandar(muestra1))
  72.     print validate(3961012.73, desviacionEstandar(muestra2))
  73.     print validate(34463721.6, desviacionEstandar(muestra3))
  74. end
  75.  
  76.  
  77. def validate (expected, value)
  78.  expected == value ? "." : "F"
  79. end
  80.  
  81. def test
  82.    
  83.   puts "Test de prueba del programa"
  84.   puts "---------------------------"
  85.   test_paisConMasPoblacion
  86.   test_ordenarPorPoblacion
  87.   test_poblacionPromedio
  88.   test_desviacionEstandar
  89.  
  90.   puts " "
  91. end
  92. test