p6-alu0101121529 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,355 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
+ <meta charset="utf-8" />
6
+
7
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
+
9
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
10
+
11
+
12
+
13
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
+
17
+
18
+ <title>Method List</title>
19
+ <base id="base_target" target="_parent" />
20
+ </head>
21
+ <body>
22
+ <div id="content">
23
+ <div class="fixed_header">
24
+ <h1 id="full_list_header">Method List</h1>
25
+ <div id="full_list_nav">
26
+
27
+ <span><a target="_self" href="class_list.html">
28
+ Classes
29
+ </a></span>
30
+
31
+ <span><a target="_self" href="method_list.html">
32
+ Methods
33
+ </a></span>
34
+
35
+ <span><a target="_self" href="file_list.html">
36
+ Files
37
+ </a></span>
38
+
39
+ </div>
40
+
41
+ <div id="search">Search: <input type="text" /></div>
42
+ </div>
43
+
44
+ <ul id="full_list" class="method">
45
+
46
+
47
+ <li class="odd ">
48
+ <div class="item">
49
+ <span class='object_link'><a href="Alimento.html#<=>-instance_method" title="Alimento#&lt;=&gt; (method)">#&lt;=&gt;</a></span>
50
+ <small>Alimento</small>
51
+ </div>
52
+ </li>
53
+
54
+
55
+ <li class="even ">
56
+ <div class="item">
57
+ <span class='object_link'><a href="Plato.html#<=>-instance_method" title="Plato#&lt;=&gt; (method)">#&lt;=&gt;</a></span>
58
+ <small>Plato</small>
59
+ </div>
60
+ </li>
61
+
62
+
63
+ <li class="odd ">
64
+ <div class="item">
65
+ <span class='object_link'><a href="Alimento.html#carbohidratos-instance_method" title="Alimento#carbohidratos (method)">#carbohidratos</a></span>
66
+ <small>Alimento</small>
67
+ </div>
68
+ </li>
69
+
70
+
71
+ <li class="even ">
72
+ <div class="item">
73
+ <span class='object_link'><a href="List.html#each-instance_method" title="List#each (method)">#each</a></span>
74
+ <small>List</small>
75
+ </div>
76
+ </li>
77
+
78
+
79
+ <li class="odd ">
80
+ <div class="item">
81
+ <span class='object_link'><a href="List.html#extract_head-instance_method" title="List#extract_head (method)">#extract_head</a></span>
82
+ <small>List</small>
83
+ </div>
84
+ </li>
85
+
86
+
87
+ <li class="even ">
88
+ <div class="item">
89
+ <span class='object_link'><a href="List.html#extract_tail-instance_method" title="List#extract_tail (method)">#extract_tail</a></span>
90
+ <small>List</small>
91
+ </div>
92
+ </li>
93
+
94
+
95
+ <li class="odd ">
96
+ <div class="item">
97
+ <span class='object_link'><a href="Alimento.html#gases-instance_method" title="Alimento#gases (method)">#gases</a></span>
98
+ <small>Alimento</small>
99
+ </div>
100
+ </li>
101
+
102
+
103
+ <li class="even ">
104
+ <div class="item">
105
+ <span class='object_link'><a href="Plato.html#gei-instance_method" title="Plato#gei (method)">#gei</a></span>
106
+ <small>Plato</small>
107
+ </div>
108
+ </li>
109
+
110
+
111
+ <li class="odd ">
112
+ <div class="item">
113
+ <span class='object_link'><a href="BasicPlato.html#gramos-instance_method" title="BasicPlato#gramos (method)">#gramos</a></span>
114
+ <small>BasicPlato</small>
115
+ </div>
116
+ </li>
117
+
118
+
119
+ <li class="even ">
120
+ <div class="item">
121
+ <span class='object_link'><a href="List.html#head-instance_method" title="List#head (method)">#head</a></span>
122
+ <small>List</small>
123
+ </div>
124
+ </li>
125
+
126
+
127
+ <li class="odd ">
128
+ <div class="item">
129
+ <span class='object_link'><a href="BasicPlato.html#hidratos_carbono-instance_method" title="BasicPlato#hidratos_carbono (method)">#hidratos_carbono</a></span>
130
+ <small>BasicPlato</small>
131
+ </div>
132
+ </li>
133
+
134
+
135
+ <li class="even ">
136
+ <div class="item">
137
+ <span class='object_link'><a href="Plato.html#huella_ambiental-instance_method" title="Plato#huella_ambiental (method)">#huella_ambiental</a></span>
138
+ <small>Plato</small>
139
+ </div>
140
+ </li>
141
+
142
+
143
+ <li class="odd ">
144
+ <div class="item">
145
+ <span class='object_link'><a href="Alimento.html#impac_ambien-instance_method" title="Alimento#impac_ambien (method)">#impac_ambien</a></span>
146
+ <small>Alimento</small>
147
+ </div>
148
+ </li>
149
+
150
+
151
+ <li class="even ">
152
+ <div class="item">
153
+ <span class='object_link'><a href="Alimento.html#initialize-instance_method" title="Alimento#initialize (method)">#initialize</a></span>
154
+ <small>Alimento</small>
155
+ </div>
156
+ </li>
157
+
158
+
159
+ <li class="odd ">
160
+ <div class="item">
161
+ <span class='object_link'><a href="List.html#initialize-instance_method" title="List#initialize (method)">#initialize</a></span>
162
+ <small>List</small>
163
+ </div>
164
+ </li>
165
+
166
+
167
+ <li class="even ">
168
+ <div class="item">
169
+ <span class='object_link'><a href="BasicPlato.html#initialize-instance_method" title="BasicPlato#initialize (method)">#initialize</a></span>
170
+ <small>BasicPlato</small>
171
+ </div>
172
+ </li>
173
+
174
+
175
+ <li class="odd ">
176
+ <div class="item">
177
+ <span class='object_link'><a href="Plato.html#initialize-instance_method" title="Plato#initialize (method)">#initialize</a></span>
178
+ <small>Plato</small>
179
+ </div>
180
+ </li>
181
+
182
+
183
+ <li class="even ">
184
+ <div class="item">
185
+ <span class='object_link'><a href="List.html#insert_head-instance_method" title="List#insert_head (method)">#insert_head</a></span>
186
+ <small>List</small>
187
+ </div>
188
+ </li>
189
+
190
+
191
+ <li class="odd ">
192
+ <div class="item">
193
+ <span class='object_link'><a href="Alimento.html#lipidos-instance_method" title="Alimento#lipidos (method)">#lipidos</a></span>
194
+ <small>Alimento</small>
195
+ </div>
196
+ </li>
197
+
198
+
199
+ <li class="even ">
200
+ <div class="item">
201
+ <span class='object_link'><a href="BasicPlato.html#lipidos-instance_method" title="BasicPlato#lipidos (method)">#lipidos</a></span>
202
+ <small>BasicPlato</small>
203
+ </div>
204
+ </li>
205
+
206
+
207
+ <li class="odd ">
208
+ <div class="item">
209
+ <span class='object_link'><a href="BasicPlato.html#lista_alimentos-instance_method" title="BasicPlato#lista_alimentos (method)">#lista_alimentos</a></span>
210
+ <small>BasicPlato</small>
211
+ </div>
212
+ </li>
213
+
214
+
215
+ <li class="even ">
216
+ <div class="item">
217
+ <span class='object_link'><a href="Node.html#next-instance_method" title="Node#next (method)">#next</a></span>
218
+ <small>Node</small>
219
+ </div>
220
+ </li>
221
+
222
+
223
+ <li class="odd ">
224
+ <div class="item">
225
+ <span class='object_link'><a href="Alimento.html#nombre-instance_method" title="Alimento#nombre (method)">#nombre</a></span>
226
+ <small>Alimento</small>
227
+ </div>
228
+ </li>
229
+
230
+
231
+ <li class="even ">
232
+ <div class="item">
233
+ <span class='object_link'><a href="BasicPlato.html#nombre-instance_method" title="BasicPlato#nombre (method)">#nombre</a></span>
234
+ <small>BasicPlato</small>
235
+ </div>
236
+ </li>
237
+
238
+
239
+ <li class="odd ">
240
+ <div class="item">
241
+ <span class='object_link'><a href="Node.html#prev-instance_method" title="Node#prev (method)">#prev</a></span>
242
+ <small>Node</small>
243
+ </div>
244
+ </li>
245
+
246
+
247
+ <li class="even ">
248
+ <div class="item">
249
+ <span class='object_link'><a href="Alimento.html#proteinas-instance_method" title="Alimento#proteinas (method)">#proteinas</a></span>
250
+ <small>Alimento</small>
251
+ </div>
252
+ </li>
253
+
254
+
255
+ <li class="odd ">
256
+ <div class="item">
257
+ <span class='object_link'><a href="BasicPlato.html#proteinas-instance_method" title="BasicPlato#proteinas (method)">#proteinas</a></span>
258
+ <small>BasicPlato</small>
259
+ </div>
260
+ </li>
261
+
262
+
263
+ <li class="even ">
264
+ <div class="item">
265
+ <span class='object_link'><a href="List.html#tail-instance_method" title="List#tail (method)">#tail</a></span>
266
+ <small>List</small>
267
+ </div>
268
+ </li>
269
+
270
+
271
+ <li class="odd ">
272
+ <div class="item">
273
+ <span class='object_link'><a href="Alimento.html#terreno-instance_method" title="Alimento#terreno (method)">#terreno</a></span>
274
+ <small>Alimento</small>
275
+ </div>
276
+ </li>
277
+
278
+
279
+ <li class="even ">
280
+ <div class="item">
281
+ <span class='object_link'><a href="Plato.html#terrenos-instance_method" title="Plato#terrenos (method)">#terrenos</a></span>
282
+ <small>Plato</small>
283
+ </div>
284
+ </li>
285
+
286
+
287
+ <li class="odd ">
288
+ <div class="item">
289
+ <span class='object_link'><a href="Plato.html#to_plato_s-instance_method" title="Plato#to_plato_s (method)">#to_plato_s</a></span>
290
+ <small>Plato</small>
291
+ </div>
292
+ </li>
293
+
294
+
295
+ <li class="even ">
296
+ <div class="item">
297
+ <span class='object_link'><a href="BasicPlato.html#to_s-instance_method" title="BasicPlato#to_s (method)">#to_s</a></span>
298
+ <small>BasicPlato</small>
299
+ </div>
300
+ </li>
301
+
302
+
303
+ <li class="odd ">
304
+ <div class="item">
305
+ <span class='object_link'><a href="Alimento.html#to_string-instance_method" title="Alimento#to_string (method)">#to_string</a></span>
306
+ <small>Alimento</small>
307
+ </div>
308
+ </li>
309
+
310
+
311
+ <li class="even ">
312
+ <div class="item">
313
+ <span class='object_link'><a href="Alimento.html#val_ener-instance_method" title="Alimento#val_ener (method)">#val_ener</a></span>
314
+ <small>Alimento</small>
315
+ </div>
316
+ </li>
317
+
318
+
319
+ <li class="odd ">
320
+ <div class="item">
321
+ <span class='object_link'><a href="Node.html#value-instance_method" title="Node#value (method)">#value</a></span>
322
+ <small>Node</small>
323
+ </div>
324
+ </li>
325
+
326
+
327
+ <li class="even ">
328
+ <div class="item">
329
+ <span class='object_link'><a href="List.html#value_head-instance_method" title="List#value_head (method)">#value_head</a></span>
330
+ <small>List</small>
331
+ </div>
332
+ </li>
333
+
334
+
335
+ <li class="odd ">
336
+ <div class="item">
337
+ <span class='object_link'><a href="List.html#value_tail-instance_method" title="List#value_tail (method)">#value_tail</a></span>
338
+ <small>List</small>
339
+ </div>
340
+ </li>
341
+
342
+
343
+ <li class="even ">
344
+ <div class="item">
345
+ <span class='object_link'><a href="BasicPlato.html#vct-instance_method" title="BasicPlato#vct (method)">#vct</a></span>
346
+ <small>BasicPlato</small>
347
+ </div>
348
+ </li>
349
+
350
+
351
+
352
+ </ul>
353
+ </div>
354
+ </body>
355
+ </html>
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Top Level Namespace
8
+
9
+ &mdash; Documentation by YARD 0.9.20
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index</a> &raquo;
40
+
41
+
42
+ <span class="title">Top Level Namespace</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Top Level Namespace
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ </div>
80
+
81
+ <h2>Defined Under Namespace</h2>
82
+ <p class="children">
83
+
84
+
85
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="P6.html" title="P6 (module)">P6</a></span>
86
+
87
+
88
+
89
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Alimento.html" title="Alimento (class)">Alimento</a></span>, <span class='object_link'><a href="BasicPlato.html" title="BasicPlato (class)">BasicPlato</a></span>, <span class='object_link'><a href="List.html" title="List (class)">List</a></span>, <span class='object_link'><a href="Node.html" title="Node (class)">Node</a></span>, <span class='object_link'><a href="Plato.html" title="Plato (class)">Plato</a></span>
90
+
91
+
92
+ </p>
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ </div>
103
+
104
+ <div id="footer">
105
+ Generated on Fri Dec 20 01:32:37 2019 by
106
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
+ 0.9.20 (ruby-2.5.1).
108
+ </div>
109
+
110
+ </div>
111
+ </body>
112
+ </html>
@@ -0,0 +1,160 @@
1
+ require "p6/p6"
2
+ require "p6/list"
3
+
4
+ #Clase BasicPlato, contiene una lista de alimentos y el nombre del plato
5
+ #@author Guillermo Hernández González
6
+ #@see Alimento
7
+ #@see List
8
+ #@attr_reader nombre devuelve el nombre del Plato
9
+ #@attr_reader lista_alimentos devuelve la lista de alimentos que forman el Plato
10
+
11
+
12
+
13
+ class BasicPlato
14
+ attr_reader :nombre, :lista_alimentos
15
+
16
+ # Construye un plato tras pasarle su nombre y la lista de alimentos que lo compondrá
17
+
18
+ def initialize (nombre,lista_alimentos)
19
+ @nombre = nombre
20
+ @lista_alimentos = lista_alimentos
21
+ end
22
+
23
+ # Devuelve la cantidad de gramos de comida total que hay en el plato
24
+
25
+ def gramos
26
+ grams = 0
27
+ @lista_alimentos.each do |i|
28
+ grams += 100
29
+ end
30
+ return grams
31
+ end
32
+
33
+ # Devuelve la cantidad de gramos de proteínas total que hay en el plato
34
+
35
+ def proteinas
36
+ proteins = 0
37
+ @lista_alimentos.each do |i|
38
+ proteins += i.proteinas
39
+ end
40
+ return proteins
41
+ end
42
+
43
+ # Devuelve la cantidad de gramos de lípidos total que hay en el plato
44
+
45
+ def lipidos
46
+ lipids = 0.0
47
+ @lista_alimentos.each do |i|
48
+ lipids += i.lipidos
49
+ end
50
+ return lipids
51
+ end
52
+
53
+ # Devuelve la cantidad de gramos de hidratos de carbono que hay en el plato
54
+
55
+ def hidratos_carbono
56
+ hc = 0
57
+ @lista_alimentos.each do |i|
58
+ hc += i.carbohidratos
59
+ end
60
+ return hc
61
+ end
62
+
63
+ # Devuelve el valor energético total del plato
64
+
65
+ def vct
66
+ vct = 0
67
+ @lista_alimentos.each do |i|
68
+ vct += i.val_ener
69
+ end
70
+ return vct
71
+ end
72
+
73
+ # Devuelve un string que contiene todos los datos de todos los alimentos que forman el plato
74
+
75
+ def to_s
76
+ alimento = ""
77
+ alimento +="Plato : #{@nombre} \n"
78
+ @lista_alimentos.each do |i|
79
+ alimento +=i.to_string
80
+ end
81
+ return alimento
82
+ end
83
+
84
+ end
85
+
86
+ #Clase Plato, Hereda de la clase BasicPlato todos sus métodos y contiene un método extra para calcular la huella ambiental
87
+ #@see BasicPlato
88
+ #@author Guillermo Hernández González
89
+
90
+ class Plato < BasicPlato
91
+ include Comparable
92
+
93
+ # Construye un plato tras pasarle su nombre y la lista de alimentos que lo compondrá un plato
94
+
95
+ def initialize(nombre,lista_alimentos)
96
+ super(nombre,lista_alimentos)
97
+ end
98
+
99
+ # Devuelve la cantidad de gases generados
100
+
101
+ def gei
102
+ geis = 0
103
+ @lista_alimentos.each do |i|
104
+ geis += i.gases
105
+ end
106
+ return geis
107
+ end
108
+
109
+ # Devuelve la cantidad de terreno utilizado
110
+
111
+ def terrenos
112
+ terreno = 0
113
+ @lista_alimentos.each do |i|
114
+ terreno += i.terreno
115
+ end
116
+ return terreno
117
+ end
118
+
119
+ # Devuelve el nombre y la lista de alimentos en un string
120
+
121
+ def to_plato_s
122
+ aaa = ""
123
+ aaa +="Plato: #{@nombre} \n"
124
+ @lista_alimentos.each do |i|
125
+ aaa +="Valor energético: #{i.val_ener} \n"
126
+ end
127
+ return aaa
128
+ end
129
+
130
+ # Método necesario para que la clase sea comparable
131
+
132
+ def <=>(other)
133
+ huella_ambiental <=> other.huella_ambiental
134
+ end
135
+
136
+ # Devuelve la huella ambiental del plato
137
+
138
+ def huella_ambiental
139
+ energia = 0.0
140
+ carbono = 0.0
141
+ huella = 0.0
142
+ if vct < 670 then
143
+ energia = 1.0
144
+ elsif vct <= 830 then
145
+ energia = 2.0
146
+ else
147
+ energia = 3.0
148
+ end
149
+ if gei < 800 then
150
+ carbono = 1.0
151
+ elsif terrenos <= 1200 then
152
+ carbono = 2.0
153
+ else
154
+ carbono = 3.0
155
+ end
156
+ huella = (energia + carbono)/2
157
+ return huella
158
+
159
+ end
160
+ end