Tema

[Resuelto] P:2 - Ej. 9 - Inciso g - ¿Cómo resolver sin acum?

2 respuestas 5122 visitas

Dada una secuencia de enteros a, defina una expresión que determine el valor del máximo elemento en a.

$$aux \; maximo (a : [\mathbb{Z}]) : \mathbb{Z} = acum \left( x \; \vert \; x : \mathbb{Z} = a_{0}, \; i \leftarrow a, \; x \geq a_{i} \right)$$

Mi duda es: ¿cómo hacer esto sin acum? En el ejercicio este PIDEN que usemos acum, pero justamente en los parciales prohiben usarlo. En el TP tuve que hacer algo así y estoy casi seguro de que lo hice mal. 😕

Editado 1 vez.

Se me ocurre que podés hacer pensar en una lista por comprensión.

En esa lista por comprensión ponés todos los elementos de la lista que cumplan ser mayor o igual que todos los elementos de la lista. Y a esa lista, que sabés que no es vacía (pensarlo), le pedís el primer elemento. (Fijate que te va a quedar una lista con al menos 1 elemento todos iguales). Si no me seguiste, lo escribo bien.

Se entendió perfecto. Gracias!

$$aux \; maximo2(s : [\mathbb{Z}]) : \mathbb{Z} = [ x_{i} \; \vert \; i \leftarrow [0..|s|), \; (\forall j \in [0..|s|) ) \; x_{i} \geq x_{j}]_{0}$$