Exercitium1-0.1.0.0: Problemas de Exercitium (Volumen 1)

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

Emparejamiento_binario

Description

Definir la función

zipBinario :: [a -> b -> c] -> [a] -> [b] -> [c]

tal que (zipBinario fs xs ys) es la lista obtenida aplicando cada una de las operaciones binarias de fs a los correspondientes elementos de xs e ys. Por ejemplo,

>>> zipBinario [(+), (*), (^)] [2,2,2] [4,4,4]
[6,8,16]
>>> zipBinario [(+)] [2,2,2] [4,4,4]
[6]
>>> zipBinario (cycle [(+), (*)]) [1 .. 4] [2..5]
[3,6,7,20]

Synopsis

Documentation

zipBinario :: [a -> b -> c] -> [a] -> [b] -> [c] Source #

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

zipBinario2 :: [a -> b -> c] -> [a] -> [b] -> [c] Source #

2ª definición (con zip).

zipBinario3 :: [a -> b -> c] -> [a] -> [b] -> [c] Source #

3ª definición (con zip3).

zipBinario4 :: [a -> b -> c] -> [a] -> [b] -> [c] Source #

4ª definición (con zipWith3).

newtype Operacion Source #

Tipo de operaciones para la verificación.

Constructors

O (Int -> Int -> Int) 

Instances

Show Operacion Source #

Escritura de operaciones.

gen_operaciones :: Gen [Operacion] Source #

Generador de operaciones.

prop_zipBinario :: [Int] -> [Int] -> Property Source #

Comprueba la equivalencia de las definiciones de zipBinario.

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