Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Задача №1
- -- 1-ый способ:
- allPred1 :: (a -> Bool) -> [a] -> Bool
- allPred1 pr [] = True
- allPred1 pr (x : xs) = if pr x == False then False else allPred1 pr xs
- -- 2-ой способ:
- allPred2 :: (a -> Bool) -> [a] -> Bool
- allPred2 pr [] = True
- allPred2 pr (x : xs)
- | pr x == False = False
- | otherwise = allPred2 pr xs
- -- 3-ий способ:
- allPred3 :: (a -> Bool) -> [a] -> Bool
- allPred3 pr [] = True
- allPred3 pr (x : xs) =
- case pr x of
- False -> False
- _ -> allPred3 pr xs
- -- 4-ый способ:
- allPred4 :: (a -> Bool) -> [a] -> Bool
- allPred4 a = and . map a
- -- 5-ый способ:
- allPred5 :: (a -> Bool) -> [a] -> Bool
- allPred5 pr [] = True
- allPred5 pr a = foldr1 (&&) $ map pr a
- -- Задача №2
- -- 1-ый способ:
- anyPred1 :: (a -> Bool) -> [a] -> Bool
- anyPred1 pr [] = False
- anyPred1 pr (x : xs) = if pr x == True then True else anyPred1 pr xs
- -- 2-ой способ:
- anyPred2 :: (a -> Bool) -> [a] -> Bool
- anyPred2 pr [] = False
- anyPred2 pr (x : xs)
- | pr x == True = True
- | otherwise = anyPred2 pr xs
- -- 3-ий способ:
- anyPred3 :: (a -> Bool) -> [a] -> Bool
- anyPred3 pr [] = False
- anyPred3 pr (x : xs) =
- case pr x of
- True -> True
- _ -> anyPred3 pr xs
- -- 4-ый способ:
- anyPred4 :: (a -> Bool) -> [a] -> Bool
- anyPred4 a = or . map a
- -- 5-ый способ:
- anyPred5 :: (a -> Bool) -> [a] -> Bool
- anyPred5 pr [] = False
- anyPred5 pr a = foldr1 (||) $ map pr a
Add Comment
Please, Sign In to add comment