Exercitium1-0.1.0.0: Problemas de Exercitium (Volumen 1)

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

Reiteracion_de_funciones

Description

Reiteración de una función

Definir la función

reiteracion :: Int -> (a -> a) -> a -> a

tal que (reiteracion n f x) es el resultado de aplicar n veces la función f a x. Por ejemplo,

>>> reiteracion 10 (+1) 5
15
>>> reiteracion 10 (+5) 0
50
>>> reiteracion  4 (*2) 1
16
>>> reiteracion 4 (5:) []
[5,5,5,5]

Comprobar con QuickCheck que se verifican las siguientes propiedades

reiteracion 10 (+1) x  == 10 + x 
reiteracion 10 (+x) 0  == 10 * x 
reiteracion 10 (x:) [] == replicate 10 x  

Synopsis

Documentation

reiteracion :: Int -> (a -> a) -> a -> a Source #

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

reiteracion2 :: Int -> (a -> a) -> a -> a Source #

2ª definición (por recursión sin el 3ª argumento).

reiteracion3 :: Int -> (a -> a) -> a -> a Source #

3ª definición (con iterate).

prop_equiv_reiteracion :: Positive Int -> Fun Int Int -> Int -> Bool Source #

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

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

prop_reiteracion :: Int -> Bool Source #

Comprobación de propiedades.

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