Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- test1 :: Int -> Int
- test1 x = x + x
- test2 :: Int -> Int -> Int
- test2 x y = (test1 x) ^ (test1 y)
- max1 :: (Ord a) => a -> a -> a
- max1 x y
- | x <= y = y
- | otherwise = x
- max2 :: (Ord a) => a -> a -> a -> a
- max2 x y z
- | (x >= y) && (x >= z) = x
- | otherwise = max1 y z
- max3 :: (Ord a) => a -> a -> a -> a -> a
- max3 x y z n
- | (x >= y) && (x >= z) && (x >= n) = x
- | otherwise = max2 y z n
- test3 :: Int -> String
- test3 1 = "One"
- test3 2 = "Two"
- test3 3 = "Three"
- test3 x = "Not One, Not Two, Not Three"
- test4 :: String -> Int
- test4 "One" = 1
- test4 "Two" = 2
- test4 "Three" = 3
- {-
- 1 : 2 : 3 : [] - добавление в список
- [] ++ [1] ++ [10] ++ [5] ++ [11..40]
- [2, 4 .. 100] - задание четных элементов
- head [2..10] - первый элемент
- tail [2..10] - все кроме первого
- init [2..10] - все кроме последнего
- last [2..10] - последний
- [0..10]!!1 - элемент под индексом
- reverse [1..10] - переворот списка -}
- myhead :: [a] -> a {-выдает элемент из головы списка-}
- myhead [] = error "Nope"
- myhead [x] = x
- myhead (x:xs){-конструктор списков, x - первый элементы, a xs - остальная часть списка-} = myhead [x]
- lastel :: [a] -> a {-выдает элемент из головы списка-}
- lastel [] = error "Nope"
- lastel [x] = x
- lastel (x:xs){-конструктор списков, x - первый элементы, a xs - остальная часть списка-} = lastel xs
- withoutlast :: [a] -> [a] {-выдает элемент из головы списка-}
- withoutlast [] = error "Nope"
- withoutlast [x,y] = [x]
- withoutlast (x:xs){-конструктор списков, x - первый элементы, a xs - остальная часть списка-} = x : withoutlast xs
- firstlast :: [a] -> [a] {-выдает элемент из головы списка-}
- firstlast [] = error "Nope"
- firstlast (x:xs){-конструктор списков, x - первый элементы, a xs - остальная часть списка-} = lastel xs : x : withoutlast xs
- predlast :: [a] -> a {-выдает элемент из головы списка-}
- predlast [] = error "Nope"
- predlast [x,y] = x
- predlast (x:xs){-конструктор списков, x - первый элементы, a xs - остальная часть списка-} = predlast xs
- withoutpredlast :: [a] -> [a] {-выдает элемент из головы списка-}
- withoutpredlast [] = error "Nope"
- withoutpredlast [x,y] = [y]
- withoutpredlast (x:xs){-конструктор списков, x - первый элементы, a xs - остальная часть списка-} = x : withoutpredlast xs
- delnsperedi :: [a] -> Int -> [a] {-выдает элемент из головы списка-}
- delnsperedi [] y = error "Nope"
- delnsperedi z{-(x : xs)-} 0 = z{-x : xs-}
- delnsperedi (x:xs) y = delnsperedi xs (y - 1)
- {-delnszadi :: [a] -> Int -> [a] {-выдает элемент из головы списка-}
- delnszadi [] y = error "Nope"
- delnszadi [x] (y < 0) = error "Nope"
- delnszadi z{-(x : xs)-} 0 = z{-x : xs-}
- delnszadi z{-(x : xs)-} y = delnszadi (withoutlast z{-(x : xs)-}) (y - 1)-}
- delnszadi :: [a] -> Int -> [a] {-выдает элемент из головы списка-}
- delnszadi [] n = error "Nope"
- delnszadi z n
- | (n > 0) = delnszadi (withoutlast z) (n - 1)
- | (n < 0) = error "Nope"
- | otherwise = z
- delOnN :: [a] -> Int -> [a] {-выдает элемент из головы списка-}
- delOnN [] n = error "Nope"
- delOnN (x:xs) n
- | (n > 1) = x : delOnN xs (n - 1)
- | (n < 1) = error "Nope"
- | otherwise = xs
- {-Найти элемент по значению-}
- {-Убрать элемент по значению-}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement