introalg:rincon
Diferencias
Muestra las diferencias entre dos versiones de la página.
| introalg:rincon [2006/07/27 11:56] – 200.82.93.149 | introalg:rincon [2025/11/15 13:47] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 244: | Línea 244: | ||
| | (unmil x) == 7 || (centena x) == 7 || (decena x) == 7 || (unidad x) ==7 = True | | (unmil x) == 7 || (centena x) == 7 || (decena x) == 7 || (unidad x) ==7 = True | ||
| | otherwise | | otherwise | ||
| + | |||
| ==== Ejercicio 7 ==== | ==== Ejercicio 7 ==== | ||
| Línea 273: | Línea 274: | ||
| >> (PabloZ) Hay que validar la información y en caso que sea un valor no valido hay que darle al usuario un mensaje de error que pueda entender. | >> (PabloZ) Hay que validar la información y en caso que sea un valor no valido hay que darle al usuario un mensaje de error que pueda entender. | ||
| cabeza :: [a] -> a | cabeza :: [a] -> a | ||
| - | cabeza | + | cabeza |
| cabeza (x:xs) = x | cabeza (x:xs) = x | ||
| Línea 394: | Línea 395: | ||
| int2Float :: Int -> Float | int2Float :: Int -> Float | ||
| - | int2Float | + | int2Float = fromIntegral |
| Entonces, podemos usar, cada vez que necesitemos la longitud de una lista (pero como un Float): | Entonces, podemos usar, cada vez que necesitemos la longitud de una lista (pero como un Float): | ||
| Línea 486: | Línea 487: | ||
| José Neder | José Neder | ||
| + | |||
| + | |||
| + | |||
| ==== Ejercicio 16 ==== | ==== Ejercicio 16 ==== | ||
| Línea 506: | Línea 510: | ||
| >>> | >>> | ||
| - | desdehasta :: Int -> Int -> [Int] | + | |
| - | desdehasta a b |a<b = [a..b] | + | desdehasta a b |a<b = [a..b] |
| - | | + | |
| - | |a>b = reversa [b..a] | + | |
| + | |||
| + | > Tambien lo hice yo desde esta forma. (PATRICK R.) | ||
| + | |||
| + | desde :: Int -> Int -> [Int] | ||
| + | desde x y | ||
| + | |x > y = x:desde (x-1) y | ||
| + | |x < y = x:desde (x+1) y | ||
| + | |otherwise = [y] | ||
| ==== Ejercicio 17 ==== | ==== Ejercicio 17 ==== | ||
| Línea 564: | Línea 576: | ||
| ceroOUno x = x==0 || x==1 | ceroOUno x = x==0 || x==1 | ||
| > no es necesario dividir en el caso base y el inductivo, esto ya lo hace '' | > no es necesario dividir en el caso base y el inductivo, esto ya lo hace '' | ||
| + | |||
| + | listabin :: [Int] -> Bool | ||
| + | listabin [] = False | ||
| + | listabin [x] |x==1 || x==0 = True | ||
| + | | ||
| + | listabin (x:xs) |(x==1 || x==0) && listabin xs = True | ||
| + | |otherwise = False | ||
| | | ||
| Línea 735: | Línea 754: | ||
| Ahora tambien sabemos que si no tiene divisores hasta la raiz, es primo por lo que defini esta otra, un poco mas complicada, gracias a la funcion definida por "" | Ahora tambien sabemos que si no tiene divisores hasta la raiz, es primo por lo que defini esta otra, un poco mas complicada, gracias a la funcion definida por "" | ||
| - | |||
| - | int2Float :: Int -> Float | ||
| - | int2Float n = fromInteger (toInteger n) | ||
| primo5 :: Int -> Bool | primo5 :: Int -> Bool | ||
| primo5 1 = False | primo5 1 = False | ||
| - | primo5 x = (filtro (multiplo x) (desdeHasta 1 (round (sqrt (int2Float | + | primo5 x = (filtro (multiplo x) (desdeHasta 1 (round (sqrt (fromIntegral |
| ----- | ----- | ||
| Línea 770: | Línea 786: | ||
| int2float :: Int -> Float | int2float :: Int -> Float | ||
| - | int2float | + | int2float = fromIntegral |
| float2int :: Float -> Int | float2int :: Float -> Int | ||
| - | float2int | + | float2int = round |
| Línea 1141: | Línea 1157: | ||
| dosalan3 :: Float -> Float | dosalan3 :: Float -> Float | ||
| dosalan3 n = 2 //aca van 2 estellitas// | dosalan3 n = 2 //aca van 2 estellitas// | ||
| + | |||
| Línea 1254: | Línea 1271: | ||
| De nuevo, tenemos **lo mejor de dos mundos**, claridad y velocidad, el ingrediente clave fue la utilización de definiciones locales que hacen que el cómputo del triángulo anterior y de la fila anterior solo se hagan 1 vez y se // | De nuevo, tenemos **lo mejor de dos mundos**, claridad y velocidad, el ingrediente clave fue la utilización de definiciones locales que hacen que el cómputo del triángulo anterior y de la fila anterior solo se hagan 1 vez y se // | ||
| superior. | superior. | ||
| - | harian el favor de colocar en la compu con el proyector que da al pisarron, por fa agranden la letra que no se ve nada. | ||
| - | |||
| >(José Neder)Utilizando la idea de definirlo con **definiciones locales** redefino la funcion asi: | >(José Neder)Utilizando la idea de definirlo con **definiciones locales** redefino la funcion asi: | ||
introalg/rincon.1154012199.txt.gz · Última modificación: (editor externo)
