Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Задача №1
- --1-ый способ:
- max31 :: Int -> Int -> Int -> Int
- max31 x y z = max x (max y z)
- --2-ой способ:
- max32 :: Int -> Int -> Int -> Int
- max32 =(max .) .max
- --Задача №2
- min3 :: Int -> Int -> Int -> Int
- min3 x y z = min x (min y z)
- --Задача №3
- sort2 :: Int -> Int -> (Int, Int)
- sort2 x y = (min x y, max x y)
- --Задача №4
- --1-ый способ:
- bothTrue1 :: Bool -> Bool -> Bool
- bothTrue1 True True = True
- bothTrue1 True False = False
- bothTrue1 False True = False
- bothTrue1 False False = False
- --2-ой способ:
- bothTrue2 :: Bool -> Bool -> Bool
- bothTrue2 True x = x
- bothTrue2 _ _ = False
- --Задача №5
- solve2 :: Double -> Double -> (Bool,Double)
- solve2 0 _ = (False, 0.0)
- solve2 a b = (True, -b/a)
- --Задача №6
- --1-ый способ:
- isParallel1 :: (Int, Int) -> (Int, Int) -> (Int, Int) -> (Int, Int) -> Bool
- isParallel1 (x1, y1) (x2, y2) (x3, y3) (x4, y4) = (y2 - y1) * (x4 - x3) == (x2 - x1) * (y4 - y3)
- --2-ой способ:
- isParallel2 :: (Int, Int) -> (Int, Int) -> (Int, Int) -> (Int, Int) -> Bool
- isParallel2 (x1, y1) (x2, y2) (x3, y3) (x4, y4) = a*b == c*d
- where a = y2 - y1
- b = x4 - x3
- c = x2 - x1
- d = y4 - y3
- --3-ий способ:
- isParallel3 :: (Int, Int) -> (Int, Int) -> (Int, Int) -> (Int, Int) -> Bool
- isParallel3 x y w z = (fst y - fst x) * (snd z - snd w) == (fst z - fst w) * (snd y - snd x)
- --4-ый способ:
- isParallel4 :: (Int, Int) -> (Int, Int) -> (Int, Int) -> (Int, Int) -> Bool
- isParallel4 x y w z = a*b == c*d
- where a = fst y - fst x
- b = snd z - snd w
- c = fst z - fst w
- d = snd y - snd x
- -- Задание №7
- isIncluded :: (Double, Double) -> Double -> (Double, Double) -> Double -> Bool
- isIncluded (x1, y1) r1 (x2, y2) r2 = d + r2 <= r1
- where dx = x2 - x1
- dy = y2 - y1
- d = sqrt( dx*dx + dy*dy )
- {- Примеры выполнения:
- isIncluded (2, 2) 5 (4, 2) 3
- True
- isIncluded (2, 2) 4 (3, 4) 1
- True
- isIncluded (2, 2) 3 (3, 4) 1
- False -}
- -- Задание №8
- isRectangular :: (Double, Double) -> (Double, Double) -> (Double, Double) -> Bool
- isRectangular (x1, y1) (x2, y2) (x3, y3) = d1 + d2 == d3 || d1 + d3 == d2 || d2 + d3 == d1
- where d1 = (x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)
- d2 = (x3 - x2)*(x3 - x2) + (y3 - y2)*(y3 - y2)
- d3 = (x3 - x1)*(x3 - x1) + (y3 - y1)*(y3 - y1)
- {- Примеры выполнения:
- isRectangular (0, 0) (0, 10) (4, 2)
- True
- isRectangular (0, 0) (4, 0) (0, 6)
- True
- isRectangular (1, 2) (3, 6) (4, 5)
- True -}
- -- Задание №9
- isTriangle :: Double -> Double -> Double -> Bool
- isTriangle x y z = x + y + z > 2 * max x (max y z)
- {- Примеры решения:
- isTriangle 8 6 8
- True
- isTriangle 4 10 6
- False
- isTriangle 5 1 2
- False -}
- -- Задание №10
- isSorted :: Double -> Double -> Double -> Bool
- isSorted a b c = (a >= b && b >= c) || (a <= b && b <= c)
- {- Примеры решения:
- isSorted 1 2 3
- True
- isSorted 2 6 4
- False
- isSorted 10 9 7
- True -}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement