Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Learn more about F# at http://fsharp.org
- open System
- //czesc I
- //wywalic do osobnego pliku (aby uzyc namespace)
- [<AbstractClass>]
- type Zwierze() =
- let mutable nazwa : string = "zwierze"
- let mutable dataUr : DateTime = new DateTime(0L)
- abstract member Odglos : string
- abstract member Opis : string
- type Lew (str) =
- inherit Zwierze()
- let mutable umaszczenie : string = str
- override this.Odglos = "dzwieki lwa"
- override this.Opis = "lew"
- type Slon (dl) =
- inherit Zwierze()
- let mutable dlugoscTraby: float = dl
- override this.Odglos = "dzwieki slonia"
- override this.Opis = "slon"
- type LewIndyjski (str2) =
- inherit Lew(str2)
- override this.Opis = "lew indyjski"
- //czesc II
- //zad 1
- let sum liczby = List.fold (fun a x -> a+x) 0 liczby
- //zad2
- let przeksztalc liczby = List.map(fun x -> x.ToString()) liczby
- //zad3
- let tryParseToFloat(s:string) : float option =
- match System.Double.TryParse(s) with
- | true, x -> Some(x)
- | _ -> None
- let parseToFloats liczby : float option list = List.map (fun x -> tryParseToFloat(x)) liczby
- //zad 4
- let zip liczby = List.zip liczby (parseToFloats liczby)
- //zad 5
- let maxx liczby =
- match liczby with
- | head::teil ->
- List.fold (fun a x -> if a<x then x else a) head teil
- | _ -> 0
- let minn liczby =
- match liczby with
- |head::teil ->
- List.fold (fun a x -> if a>x then x else a) head teil
- |_ -> 0
- [<EntryPoint>]
- let main argv =
- let myClass = new LewIndyjski("Lew")
- let mySlon = new Slon(170.0)
- printfn "%A %A" myClass.Odglos myClass.Opis
- printfn "%A %A" mySlon.Odglos mySlon.Opis
- printfn "Suma = %i" (sum [1;3;4])
- printfn "Przeksztalcenie = %A" (przeksztalc [1;3;4])
- printfn "Przeksztalcenie2 = %A" (parseToFloats ["4";"1,4";"4.5"])
- printfn "Przeksztalcenie3 = %A" (zip ["4";"1,4";"4.5"])
- printfn "maksymalna = %A" (maxx [1;3;4;10;1;42;2])
- printfn "minimalna = %A" (minn [1;3;4;10;1;42;2])
- 0 // return an integer exit code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement