Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (*2. NALOGA: Podane so naslednje funkcije za izračun obsega, ploščine in diagonale pravokotnikov s stranicama a in b: fun obseg a b = Real.fromInt(2*a + 2*b) fun ploscina a b = Real.fromInt(a*b) fun diagonala a b = Math.sqrt(Real.fromInt(a*a + b*b))
- Podane tri funkcije posplošnimo v splošno funkcijo stranice na naslednji način:
- fun stranice a b fa fb fs ffin = ffin (Real.fromInt(fs (fa a) (fb b)))
- Zapiši nove funkcije obseg1, ploscina1 in diagonala1, ki so implementirane s klicem splošne funkcije stranice.*)
- fun stranice a b fa fb fs ffin = ffin (Real.fromInt(fs (fa a) (fb b)))
- fun obseg1 a b =
- stranice a b (fn x => x*2) (fn y => y*2) op+ (fn x => x)
- (* ERROR *)
- Error: operator and operand don't agree [overload conflict]
- operator domain: [* ty] -> [* ty] -> int
- operand: [+ ty] * [+ ty] -> [+ ty]
- in expression:
- ((((stranice <exp>) b) (fn <pat> => <exp>)) (fn y => <exp> * <exp>)) +
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement