alimentohv 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +11 -0
  4. data/.rake_tasks~ +7 -0
  5. data/.rspec +2 -0
  6. data/.travis.yml +5 -0
  7. data/Gemfile +6 -0
  8. data/Guardfile +82 -0
  9. data/README.md +3 -0
  10. data/Rakefile +6 -0
  11. data/alimento.gemspec +39 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/doc/Alimento.html +109 -0
  15. data/doc/Alimentos.html +467 -0
  16. data/doc/Gemfile.html +99 -0
  17. data/doc/Gemfile_lock.html +176 -0
  18. data/doc/Grupo.html +383 -0
  19. data/doc/Grupo_bebidas.html +102 -0
  20. data/doc/Grupo_carbohidratos.html +102 -0
  21. data/doc/Grupo_carnes.html +102 -0
  22. data/doc/Grupo_frutas.html +102 -0
  23. data/doc/Grupo_grasos.html +102 -0
  24. data/doc/Grupo_lacteos.html +102 -0
  25. data/doc/Grupo_pescados.html +102 -0
  26. data/doc/Grupo_verduras.html +102 -0
  27. data/doc/Guardfile.html +176 -0
  28. data/doc/Lista.html +457 -0
  29. data/doc/Object.html +116 -0
  30. data/doc/README_md.html +96 -0
  31. data/doc/Rakefile.html +97 -0
  32. data/doc/alimento_gemspec.html +130 -0
  33. data/doc/bin/setup.html +97 -0
  34. data/doc/created.rid +16 -0
  35. data/doc/css/fonts.css +167 -0
  36. data/doc/css/rdoc.css +590 -0
  37. data/doc/fonts/Lato-Light.ttf +0 -0
  38. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  39. data/doc/fonts/Lato-Regular.ttf +0 -0
  40. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  41. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  42. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  43. data/doc/images/add.png +0 -0
  44. data/doc/images/arrow_up.png +0 -0
  45. data/doc/images/brick.png +0 -0
  46. data/doc/images/brick_link.png +0 -0
  47. data/doc/images/bug.png +0 -0
  48. data/doc/images/bullet_black.png +0 -0
  49. data/doc/images/bullet_toggle_minus.png +0 -0
  50. data/doc/images/bullet_toggle_plus.png +0 -0
  51. data/doc/images/date.png +0 -0
  52. data/doc/images/delete.png +0 -0
  53. data/doc/images/find.png +0 -0
  54. data/doc/images/loadingAnimation.gif +0 -0
  55. data/doc/images/macFFBgHack.png +0 -0
  56. data/doc/images/package.png +0 -0
  57. data/doc/images/page_green.png +0 -0
  58. data/doc/images/page_white_text.png +0 -0
  59. data/doc/images/page_white_width.png +0 -0
  60. data/doc/images/plugin.png +0 -0
  61. data/doc/images/ruby.png +0 -0
  62. data/doc/images/tag_blue.png +0 -0
  63. data/doc/images/tag_green.png +0 -0
  64. data/doc/images/transparent.png +0 -0
  65. data/doc/images/wrench.png +0 -0
  66. data/doc/images/wrench_orange.png +0 -0
  67. data/doc/images/zoom.png +0 -0
  68. data/doc/index.html +125 -0
  69. data/doc/js/darkfish.js +161 -0
  70. data/doc/js/jquery.js +4 -0
  71. data/doc/js/navigation.js +142 -0
  72. data/doc/js/navigation.js.gz +0 -0
  73. data/doc/js/search.js +109 -0
  74. data/doc/js/search_index.js +1 -0
  75. data/doc/js/search_index.js.gz +0 -0
  76. data/doc/js/searcher.js +228 -0
  77. data/doc/js/searcher.js.gz +0 -0
  78. data/doc/table_of_contents.html +214 -0
  79. data/docs/Alimento.html +109 -0
  80. data/docs/Alimentos.html +467 -0
  81. data/docs/Gemfile.html +99 -0
  82. data/docs/Gemfile_lock.html +176 -0
  83. data/docs/Grupo.html +383 -0
  84. data/docs/Grupo_bebidas.html +102 -0
  85. data/docs/Grupo_carbohidratos.html +102 -0
  86. data/docs/Grupo_carnes.html +102 -0
  87. data/docs/Grupo_frutas.html +102 -0
  88. data/docs/Grupo_grasos.html +102 -0
  89. data/docs/Grupo_lacteos.html +102 -0
  90. data/docs/Grupo_pescados.html +102 -0
  91. data/docs/Grupo_verduras.html +102 -0
  92. data/docs/Guardfile.html +176 -0
  93. data/docs/Lista.html +457 -0
  94. data/docs/Object.html +116 -0
  95. data/docs/README_md.html +96 -0
  96. data/docs/Rakefile.html +97 -0
  97. data/docs/alimento_gemspec.html +130 -0
  98. data/docs/bin/setup.html +97 -0
  99. data/docs/created.rid +16 -0
  100. data/docs/css/fonts.css +167 -0
  101. data/docs/css/rdoc.css +590 -0
  102. data/docs/fonts/Lato-Light.ttf +0 -0
  103. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  104. data/docs/fonts/Lato-Regular.ttf +0 -0
  105. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  106. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  107. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  108. data/docs/images/add.png +0 -0
  109. data/docs/images/arrow_up.png +0 -0
  110. data/docs/images/brick.png +0 -0
  111. data/docs/images/brick_link.png +0 -0
  112. data/docs/images/bug.png +0 -0
  113. data/docs/images/bullet_black.png +0 -0
  114. data/docs/images/bullet_toggle_minus.png +0 -0
  115. data/docs/images/bullet_toggle_plus.png +0 -0
  116. data/docs/images/date.png +0 -0
  117. data/docs/images/delete.png +0 -0
  118. data/docs/images/find.png +0 -0
  119. data/docs/images/loadingAnimation.gif +0 -0
  120. data/docs/images/macFFBgHack.png +0 -0
  121. data/docs/images/package.png +0 -0
  122. data/docs/images/page_green.png +0 -0
  123. data/docs/images/page_white_text.png +0 -0
  124. data/docs/images/page_white_width.png +0 -0
  125. data/docs/images/plugin.png +0 -0
  126. data/docs/images/ruby.png +0 -0
  127. data/docs/images/tag_blue.png +0 -0
  128. data/docs/images/tag_green.png +0 -0
  129. data/docs/images/transparent.png +0 -0
  130. data/docs/images/wrench.png +0 -0
  131. data/docs/images/wrench_orange.png +0 -0
  132. data/docs/images/zoom.png +0 -0
  133. data/docs/index.html +125 -0
  134. data/docs/js/darkfish.js +161 -0
  135. data/docs/js/jquery.js +4 -0
  136. data/docs/js/navigation.js +142 -0
  137. data/docs/js/navigation.js.gz +0 -0
  138. data/docs/js/search.js +109 -0
  139. data/docs/js/search_index.js +1 -0
  140. data/docs/js/search_index.js.gz +0 -0
  141. data/docs/js/searcher.js +228 -0
  142. data/docs/js/searcher.js.gz +0 -0
  143. data/docs/table_of_contents.html +214 -0
  144. data/lib/alimento.rb +13 -0
  145. data/lib/alimento/alimentos.rb +35 -0
  146. data/lib/alimento/calculadora.rb +55 -0
  147. data/lib/alimento/comida.rb +58 -0
  148. data/lib/alimento/grupo.rb +53 -0
  149. data/lib/alimento/individuo.rb +46 -0
  150. data/lib/alimento/lista.rb +65 -0
  151. data/lib/alimento/platohardvard.rb +160 -0
  152. data/lib/alimento/version.rb +3 -0
  153. metadata +292 -0
data/lib/alimento.rb ADDED
@@ -0,0 +1,13 @@
1
+ require "alimento/version"
2
+ require "alimento/alimentos"
3
+ require "alimento/grupo"
4
+ require "alimento/lista"
5
+ require "alimento/comida"
6
+ require "alimento/individuo"
7
+ require "alimento/calculadora"
8
+ require "alimento/platohardvard"
9
+
10
+
11
+ module Alimento
12
+ # Your code goes here...
13
+ end
@@ -0,0 +1,35 @@
1
+ class Alimentos
2
+ attr_reader :nombre, :proteinas, :glucidos, :lipidos
3
+ def initialize nombre, proteinas, glucidos, lipidos
4
+ @nombre, @proteinas, @glucidos, @lipidos = nombre, proteinas, glucidos, lipidos
5
+ end
6
+
7
+ def get_nombre
8
+ @nombre
9
+ end
10
+
11
+ def get_proteinas
12
+ @proteinas
13
+ end
14
+
15
+ def get_glucidos
16
+ @glucidos
17
+ end
18
+
19
+ def get_lipidos
20
+ @lipidos
21
+ end
22
+
23
+ def get_energetico
24
+ @aux = (@glucidos * 4) + (@lipidos * 9) + (@proteinas * 4)
25
+ @aux
26
+ end
27
+
28
+ def == (otro)
29
+ self.class == otro.class && @nombre == otro.nombre && @proteinas == otro.proteinas && @glucidos == otro.glucidos && @lipidos == otro.lipidos
30
+ end
31
+
32
+ def to_s
33
+ "#{nombre}, #{proteinas}, #{glucidos}, #{lipidos}"
34
+ end
35
+ end
@@ -0,0 +1,55 @@
1
+ class Calculadora
2
+ # método inicializar clase
3
+ def initialize(individuos)
4
+ # atributos
5
+ @individuos = individuos
6
+ @resultados = []
7
+ end
8
+
9
+ #metodo que calcula el indice glucemico de todos los alimentos de los
10
+ #individuos
11
+ def calcular()
12
+ lista_nombres=@individuos[0].get_lista_nombres
13
+ lista_nombres.each do |nombre|
14
+ cont=0
15
+ igind=0
16
+ #for j in 0..@individuos.length-1
17
+ #glucosa=@individuos[j].get_glucosa.to_f
18
+ #aibc=@individuos[j].get_aibc(nombre)
19
+ #aux=aibc/glucosa*100
20
+ #igind=igind+aux
21
+ #cont=cont+1
22
+ #end
23
+
24
+ @individuos.each do |i|
25
+ glucosa=i.get_glucosa.to_f
26
+ aibc=i.get_aibc(nombre)
27
+ aux=aibc/glucosa*100
28
+ igind=igind+aux
29
+ cont=cont+1
30
+ end
31
+ igind=igind/cont
32
+ @resultados << nombre + " " + igind.round(2).to_s + "\n"
33
+ end
34
+ end
35
+
36
+ #metodo que muestra por pantalla los resultados obtenenidos con el metodo
37
+ #calcular. Alimento -> Indice glucemico
38
+ def mostrar_resultados
39
+ calcular
40
+ s="Resultados\n"
41
+ for j in 0..@resultados.length-1
42
+ s << @resultados[j].to_s
43
+ end
44
+ s
45
+ end
46
+
47
+ #salida por pantalla de clase
48
+ def to_s
49
+ s = "\nLista de Individuos y sus alimentos\n"
50
+ for j in 0..@individuos.length-1
51
+ s << @individuos[j].to_s + "\n"
52
+ end
53
+ s
54
+ end
55
+ end
@@ -0,0 +1,58 @@
1
+ class Comida
2
+ # método inicializar clase
3
+ def initialize(nombre, tiempo,concentraciones)
4
+ # atributos
5
+ @nombre = nombre
6
+ @concentraciones = concentraciones
7
+ @tiempo = tiempo
8
+ end
9
+
10
+ def get_nombre()
11
+ return @nombre
12
+ end
13
+
14
+ #método que nos devuelve el calculo del aibc del alimento
15
+ def get_aibc()
16
+ #metodo imperativo
17
+ #total = 0
18
+ #for j in 1..@concentraciones.length-1
19
+ # aux=@concentraciones[j].to_f-@concentraciones[0].to_f
20
+ # aux2=@concentraciones[j-1].to_f-@concentraciones[0].to_f
21
+ # if aux < 0
22
+ # aux=0
23
+ # end
24
+ # if aux2 < 0
25
+ # aux2=0
26
+ # end
27
+ # aux3=aux+aux2
28
+ # aux3=aux3*@tiempo.to_f
29
+ # aux3=aux3/2
30
+ # total=total+aux3
31
+ #end
32
+
33
+ #otro metodo
34
+ s=[]
35
+ @concentraciones[1..@concentraciones.length-1].zip(@concentraciones[0..@concentraciones.length-2]) do |x,y|
36
+ if x < @concentraciones[0]
37
+ s << 0.0
38
+ else
39
+ s << (((x - @concentraciones[0])+(y-@concentraciones[0]))/2)*5
40
+ end
41
+ end
42
+ #puts s.reduce(:+).round(2)
43
+ #puts total.round(2)
44
+ #return total.round(2)
45
+ return s.reduce(:+).round(2)
46
+ end
47
+
48
+ #salida por pantalla de clase
49
+ def to_s
50
+ s = "\n"
51
+ s << "#{@nombre}\n"
52
+ s << "\nConcentraciones: #{@concentraciones}"
53
+ s << "\nPeriodo de Tiempo: #{@tiempo} minutos"
54
+ s << "\n"
55
+ s << "\nAIBC: " + get_aibc.to_s
56
+ s
57
+ end
58
+ end
@@ -0,0 +1,53 @@
1
+ class Grupo
2
+
3
+ include Comparable
4
+
5
+ attr_reader :titulo, :alimentos
6
+ def initialize titulo, alimentos
7
+ @titulo, @alimentos = titulo, alimentos
8
+ end
9
+ def get_titulo
10
+ @titulo
11
+ end
12
+ def get_alimento i
13
+ @alimentos[i]
14
+ end
15
+ def getall_alimentos
16
+ @alimentos
17
+ end
18
+ def to_s
19
+ out = "#{@titulo.upcase}\n"
20
+ out << @alimentos.map { |alimento| "-#{alimento}" }.join(",\n")
21
+ out
22
+ end
23
+ def <=> (otro)
24
+ @titulo<=>otro.titulo
25
+ end
26
+ end
27
+
28
+ class Grupo_lacteos < Grupo
29
+ end
30
+
31
+ class Grupo_carnes < Grupo
32
+ end
33
+
34
+ class Grupo_pescados < Grupo
35
+ end
36
+
37
+ class Grupo_grasos < Grupo
38
+ end
39
+
40
+ class Grupo_carbohidratos < Grupo
41
+ end
42
+
43
+ class Grupo_verduras < Grupo
44
+ end
45
+
46
+ class Grupo_lacteos < Grupo
47
+ end
48
+
49
+ class Grupo_frutas < Grupo
50
+ end
51
+
52
+ class Grupo_bebidas < Grupo
53
+ end
@@ -0,0 +1,46 @@
1
+ class Individuo
2
+ # método inicializar clase
3
+ def initialize(num, alimentos, glucosa)
4
+ # atributos
5
+ @num = num
6
+ @alimentos = alimentos
7
+ @glucosa = glucosa
8
+ end
9
+
10
+ def get_glucosa()
11
+ @glucosa.get_aibc
12
+ end
13
+
14
+ def get_aibc(nombre)
15
+ #for j in 0..@alimentos.length-1
16
+ # if @alimentos[j].get_nombre==nombre
17
+ # return @alimentos[j].get_aibc
18
+ # end
19
+ #end
20
+ @alimentos.each do |out|
21
+ if out.get_nombre==nombre
22
+ return out.get_aibc
23
+ end
24
+ end
25
+ end
26
+ #metodo que nos devuelve una lista con los nombres de todos los alimentos
27
+ def get_lista_nombres()
28
+ lista = []
29
+ for j in 0..@alimentos.length-1
30
+ lista<<@alimentos[j].get_nombre
31
+ end
32
+ return lista
33
+ end
34
+
35
+ #salida por pantalla de clase
36
+ def to_s
37
+ s = "Individuo " + @num
38
+ s << "\nAlimentos:\n"
39
+ for j in 0..@alimentos.length-1
40
+ s << @alimentos[j].to_s
41
+ end
42
+ s << @glucosa.to_s
43
+ s << "\n"
44
+ s
45
+ end
46
+ end
@@ -0,0 +1,65 @@
1
+ Nodo = Struct.new(:value, :next, :prev)
2
+
3
+ class Lista
4
+
5
+ include Enumerable
6
+
7
+ attr_accessor :cabeza, :cola, :nodo_actual
8
+
9
+ def initialize(cabeza,cola)
10
+ @cabeza = cabeza
11
+ @cola = cola
12
+ end
13
+
14
+ def insertar(x)
15
+ node = Nodo.new(x,nil,nil)
16
+
17
+ if @cabeza==nil && @cola==nil
18
+ node.prev = @cola
19
+ node.next = @cabeza
20
+ @nodo_actual = node
21
+ @cabeza = node
22
+ @cola = node
23
+ else
24
+ node.prev = @cabeza
25
+ node.next = nil
26
+ @nodo_actual = node
27
+ @cabeza.next = node
28
+ @cabeza = node
29
+ end
30
+ end
31
+
32
+ def insertar_varios(nodos)
33
+ nodos.each do |nd|
34
+ insertar(nd)
35
+ end
36
+ end
37
+
38
+ #eliminar el nodo y cambiar los valores al nodo anterior
39
+ def extraer_inicio()
40
+ @cola=@cola.next
41
+ end
42
+
43
+ def extraer_final()
44
+ @cabeza = @cabeza.prev
45
+ end
46
+
47
+ def to_s
48
+ @cabeza.to_s
49
+ end
50
+
51
+ def each
52
+ while @cabeza != @cola
53
+ yield @cabeza.value
54
+ @cabeza=@cabeza.prev
55
+ end
56
+
57
+ if @cabeza == @cola
58
+ if @cabeza == nil
59
+ nil
60
+ else
61
+ yield @cola.value
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,160 @@
1
+ class PlatoHardvard
2
+ attr_accessor :name, :platos, :entotal
3
+
4
+ def initialize(name, &block)
5
+ self.name = name
6
+ self.platos = []
7
+ self.entotal = 0
8
+
9
+ instance_eval &block
10
+ end
11
+
12
+
13
+ #funciones del block
14
+ def vegetal(titulo, options = {})
15
+ porcion = ""
16
+ porcion << " (#{options[:porcion]})" if options[:porcion]
17
+ porcion = porcion.tr("^0-9","")
18
+ gramos = ""
19
+ gramos << " (#{options[:gramos]})" if options[:gramos]
20
+ gramos = gramos.tr("^0-9","")
21
+
22
+ if gramos != ""
23
+ glucidos = (gramos.to_f * 10 * 30)/100
24
+ lipidos = (gramos.to_f * 10 * 20)/100
25
+ proteinas = (gramos.to_f * 10 * 50)/100
26
+ end
27
+
28
+ if porcion != ""
29
+ glucidos = (porcion.to_f * 10 * 30)/100
30
+ lipidos = (porcion.to_f * 10 * 20)/100
31
+ proteinas = (porcion.to_f * 10 * 50)/100
32
+ end
33
+
34
+ alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
35
+ @entotal = @entotal + alimento.get_energetico()
36
+ platos << alimento
37
+ end
38
+
39
+ def fruta(titulo,options = {})
40
+ porcion = ""
41
+ porcion << " (#{options[:porcion]})" if options[:porcion]
42
+ porcion = porcion.tr("^0-9","")
43
+ gramos = ""
44
+ gramos << " (#{options[:gramos]})" if options[:gramos]
45
+ gramos = gramos.tr("^0-9","")
46
+
47
+ if gramos != ""
48
+ glucidos = (gramos.to_f * 3 * 30)/100
49
+ lipidos = (gramos.to_f * 3 * 20)/100
50
+ proteinas = (gramos.to_f * 3 * 50)/100
51
+ end
52
+
53
+ if porcion != ""
54
+ glucidos = (porcion.to_f * 10 * 30)/100
55
+ lipidos = (porcion.to_f * 10 * 20)/100
56
+ proteinas = (porcion.to_f * 10 * 50)/100
57
+ end
58
+
59
+ alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
60
+ @entotal = @entotal + alimento.get_energetico()
61
+ platos << alimento
62
+ end
63
+
64
+ def cereal(titulo,options = {})
65
+ porcion = ""
66
+ porcion << " (#{options[:porcion]})" if options[:porcion]
67
+ porcion = porcion.tr("^0-9","")
68
+ gramos = ""
69
+ gramos << " (#{options[:gramos]})" if options[:gramos]
70
+ gramos = gramos.tr("^0-9","")
71
+
72
+ if gramos != ""
73
+ glucidos = (gramos.to_f * 10 * 30)/100
74
+ lipidos = (gramos.to_f * 10 * 20)/100
75
+ proteinas = (gramos.to_f * 10 * 50)/100
76
+ end
77
+
78
+ if porcion != ""
79
+ glucidos = (porcion.to_f * 10 * 30)/100
80
+ lipidos = (porcion.to_f * 10 * 20)/100
81
+ proteinas = (porcion.to_f * 10 * 50)/100
82
+ end
83
+
84
+ alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
85
+ @entotal = @entotal + alimento.get_energetico()
86
+ platos << alimento
87
+ end
88
+
89
+ def proteina(titulo,options = {})
90
+ porcion = ""
91
+ porcion << " (#{options[:porcion]})" if options[:porcion]
92
+ porcion = porcion.tr("^0-9","")
93
+ gramos = ""
94
+ gramos << " (#{options[:gramos]})" if options[:gramos]
95
+ gramos = gramos.tr("^0-9","")
96
+
97
+ if gramos != ""
98
+ glucidos = (gramos.to_f * 10 * 30)/100
99
+ lipidos = (gramos.to_f * 10 * 20)/100
100
+ proteinas = (gramos.to_f * 10 * 50)/100
101
+ end
102
+
103
+ if porcion != ""
104
+ glucidos = (porcion.to_f * 10 * 30)/100
105
+ lipidos = (porcion.to_f * 10 * 20)/100
106
+ proteinas = (porcion.to_f * 10 * 50)/100
107
+ end
108
+
109
+ alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
110
+ @entotal = @entotal + alimento.get_energetico()
111
+ platos << alimento
112
+ end
113
+
114
+ def aceite(titulo,options = {})
115
+ porcion = ""
116
+ porcion << " (#{options[:porcion]})" if options[:porcion]
117
+ porcion = porcion.tr("^0-9","")
118
+ gramos = ""
119
+ gramos << " (#{options[:gramos]})" if options[:gramos]
120
+ gramos = gramos.tr("^0-9","")
121
+
122
+ if gramos != ""
123
+ glucidos = (gramos.to_f * 10 * 30)/100
124
+ lipidos = (gramos.to_f * 10 * 20)/100
125
+ proteinas = (gramos.to_f * 10 * 50)/100
126
+ end
127
+
128
+ if porcion != ""
129
+ glucidos = (porcion.to_f * 5 * 30)/100
130
+ lipidos = (porcion.to_f * 5 * 20)/100
131
+ proteinas = (porcion.to_f * 5 * 50)/100
132
+ end
133
+
134
+ alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
135
+ @entotal = @entotal + alimento.get_energetico()
136
+ platos << alimento
137
+ end
138
+
139
+ def to_s
140
+ output = ""
141
+ output << name
142
+ output << "\n"
143
+ for i in 0..name.size-1 do
144
+ output << "="
145
+ end
146
+ output << "\n"
147
+ output << "\nComposición nutricional:\n"
148
+ output << "\n"
149
+ platos.each_with_index do |plato, index|
150
+ output << "#{plato} #{plato.get_energetico}\n"
151
+ #if index>0
152
+ #if (index-1) % 3 == 1
153
+ #output << "\n"
154
+ #end
155
+ #end
156
+ end
157
+ output << "Valor Energetico total #{@entotal}"
158
+ output
159
+ end
160
+ end