| Copyright | Exercitium (21-05-14) |
|---|---|
| License | GPL-3 |
| Maintainer | JoseA.Alonso@gmail.com |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Pares_adyacentes_iguales
Description
Definir la función
numeroParesAdyacentesIguales :: Eq a => [[a]] -> Int
tal que (numeroParesAdyacentesIguales xss) es el número de pares de elementos consecutivos (en la misma fila o columna) iguales de la matriz xss. Por ejemplo,
>>>numeroParesAdyacentesIguales [[0,1],[0,2]]1>>>numeroParesAdyacentesIguales [[0,0],[1,2]]1>>>numeroParesAdyacentesIguales [[0,1],[0,0]]2>>>numeroParesAdyacentesIguales [[1,2],[1,4],[4,4]]3>>>numeroParesAdyacentesIguales ["ab","aa"]2>>>numeroParesAdyacentesIguales [[0,0,0],[0,0,0],[0,0,0]]12>>>numeroParesAdyacentesIguales [[0,0,0],[0,1,0],[0,0,0]]8>>>numeroParesAdyacentesIguales [[0,0,0,0],[0,0,0,0],[0,0,0,0::Int]]17
- numeroParesAdyacentesIguales :: Eq a => [[a]] -> Int
- numeroParesAdyacentesIgualesFilas :: Eq a => [[a]] -> Int
- numeroParesAdyacentesIgualesFila :: Eq a => [a] -> Int
- numeroParesAdyacentesIgualesFilas2 :: Eq a => [[a]] -> Int
- numeroParesAdyacentesIgualesFilas3 :: Eq a => [[a]] -> Int
- prop_numeroParesAdyacentesIgualesFilas :: [[Int]] -> Bool
- numeroParesAdyacentesIguales2 :: Eq a => [[a]] -> Int
- numeroParesAdyacentesIguales3 :: Eq a => [[a]] -> Int
- numeroParesAdyacentesIguales4 :: Eq a => [[a]] -> Int
- newtype Matriz = M [[Int]]
- matriz :: Gen Matriz
- listaAmatriz :: Int -> [a] -> [[a]]
- prop_numeroParesAdyacentesIguales :: Matriz -> Bool
- verifica_numeroParesAdyacentesIguales :: IO ()
Documentation
numeroParesAdyacentesIguales :: Eq a => [[a]] -> Int Source #
1ª definición (Por comprensión).
numeroParesAdyacentesIgualesFilas :: Eq a => [[a]] -> Int Source #
(numeroParesAdyacentesIgualesFilas xss) es el número de pares de elementos consecutivos (en la misma fila) iguales de la matriz xss. Por ejemplo,
>>>numeroParesAdyacentesIgualesFilas [[0,0,1,0],[0,1,1,0],[0,1,0,1]]2>>>numeroParesAdyacentesIgualesFilas ["0010","0110","0101"]2
numeroParesAdyacentesIgualesFila :: Eq a => [a] -> Int Source #
(numeroParesAdyacentesIgualesFila xs) es el número de pares de elementos consecutivos de la lista xs. Por ejemplo,
>>>numeroParesAdyacentesIgualesFila "0010"1>>>numeroParesAdyacentesIgualesFila "0110"1>>>numeroParesAdyacentesIgualesFila "0101"0
numeroParesAdyacentesIgualesFilas2 :: Eq a => [[a]] -> Int Source #
2ª definición de numeroParesAdyacentesIgualesFilas (con map).
numeroParesAdyacentesIgualesFilas3 :: Eq a => [[a]] -> Int Source #
3ª definición de numeroParesAdyacentesIgualesFilas (sin argumentos).
prop_numeroParesAdyacentesIgualesFilas :: [[Int]] -> Bool Source #
Comprobación de la equivalencia de las definiciones de numeroParesAdyacentesIgualesFilas.
>>>quickCheck prop_numeroParesAdyacentesIgualesFilas+++ OK, passed 100 tests.
numeroParesAdyacentesIguales2 :: Eq a => [[a]] -> Int Source #
2ª definición de numeroParesAdyacentesIguales (Por composición).
numeroParesAdyacentesIguales3 :: Eq a => [[a]] -> Int Source #
3ª definición de numeroParesAdyacentesIguales (con matrices)
numeroParesAdyacentesIguales4 :: Eq a => [[a]] -> Int Source #
4ª definición de numeroParesAdyacentesIguales (sin argumentos)
matriz es un generador de matrices. Por ejemplo,
> sample matriz M [[0,0]] M [[1,-2,-2],[-2,2,0],[2,-1,-2],[-2,0,-2]] M [[3,-4,0,0,2],[2,2,0,-2,2],[-1,-4,2,-3,0],[0,4,-1,-2,-3],[-3,-4,0,-4,-2]] M [[1,3],[2,-3],[0,3],[-3,2]] M [[-3,-3,-4,2,-6,0],[5,-6,3,-2,2,-8],[-6,8,5,1,0,-7],[7,3,7,-8,-3,-2]] M [[-9,7,0]] M [[8,-1,11,8,-13,9],[12,13,12,1,0,-9],[3,-4,7,-1,5,-2]] M [[-3,16,-9,-14,15,-6],[7,-14,8,-10,7,2]]
listaAmatriz :: Int -> [a] -> [[a]] Source #
(listaAmatriz m xs) es la matriz con m columnas cuyos elementos son los de xs. Por ejemplo,
>>>listaAmatriz 3 [2,1,5,4,7,9][[2,1,5],[4,7,9]]>>>listaAmatriz 2 [2,1,5,4,7,9][[2,1],[5,4],[7,9]]
prop_numeroParesAdyacentesIguales :: Matriz -> Bool Source #
(prop_numeroParesAdyacentesIguales (M xss)) se verifica si las definiciones de numeroParesAdyacentesIguales son equivalentes sobre xss. Por ejemplo,
>>>:{all prop_numeroParesAdyacentesIguales [M [[0,1],[0,2]], M [[0,0],[1,2]], M [[0,1],[0,0]], M [[1,2],[1,4],[4,4]], M [[0,0,0],[0,0,0],[0,0,0]], M [[0,0,0],[0,1,0],[0,0,0]], M [[0,0,0,0],[0,0,0,0],[0,0,0,0]]] :} True
verifica_numeroParesAdyacentesIguales :: IO () Source #
Comprueba la equivalencia de todas las definiciones de numeroParesAdyacentesIguales.
>>>verifica_numeroParesAdyacentesIguales+++ OK, passed 100 tests.