Exercitium1-0.1.0.0: Problemas de Exercitium (Volumen 1)

CopyrightExercitium (04-05-14)
LicenseGPL-3
MaintainerJoseA.Alonso@gmail.com
Safe HaskellSafe
LanguageHaskell2010

Indices_verdaderos

Description

Índices de valores verdaderos

Definir la función

indicesVerdaderos :: [Int] -> [Bool]

tal que (indicesVerdaderos xs) es la lista infinita de booleanos tal que sólo son verdaderos los elementos cuyos índices pertenecen a la lista estrictamente creciente xs. Por ejemplo,

>>> take 6 (indicesVerdaderos [1,4])
[False,True,False,False,True,False]
>>> take 6 (indicesVerdaderos [0,2..])
[True,False,True,False,True,False]
>>> take 3 (indicesVerdaderos [])
[False,False,False]
>>> take 6 (indicesVerdaderos [1..])
[False,True,True,True,True,True]

Synopsis

Documentation

indicesVerdaderos :: [Int] -> [Bool] Source #

1ª definición (por comprensión).

pertenece :: Int -> [Int] -> Bool Source #

(pertenece x ys) se verifica si x pertenece a la lista estrictamente creciente (posiblemente infinita) ys. Por ejemplo,

>>> pertenece 9 [1,3..]
True
>>> pertenece 6 [1,3..]
False

indicesVerdaderos2 :: [Int] -> [Bool] Source #

2ª solución (por recursión).

indicesVerdaderos3 :: [Int] -> [Bool] Source #

3ª solución (por recursión).

indicesVerdaderos4 :: [Int] -> [Bool] Source #

4ª definición (por recursión).

newtype Indices Source #

Tipo de los índices.

Constructors

I [Int] 

indices :: Gen Indices Source #

Generador de índices. Por ejemplo,

> sample indices
I []
I [1]
I []
I [2]
I [0,1,5,8]
I [4,6,7,10]
I [0,11]
I [1,5,6,9,10]
I [0,7,8,10,12,14,16]
I [0,5,13]
I [17]

prop_equiv_indicesVerdaderos :: Positive Int -> Indices -> Bool Source #

Comprobación de la equivalencia de las definiciones de indicesVerdaderos.

>>> quickCheck prop_equiv_indicesVerdaderos
+++ OK, passed 100 tests.