Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //zad 1
- let PoleObw (a:float) (h:float) =
- let Pole a h = a*h/2.0
- let Obw a = a*3.0
- (Pole a h, Obw a)
- let PszOsz (a:float) =
- let Psz a = (a * a * sqrt 3.0) / 4.0
- let Osz a = a*6.0
- (Psz a, Osz a)
- printfn "%A" (PoleObw 2.0 4.0)
- printfn "%A" (PszOsz 2.0 )
- //zad2
- let rec dod (x:int) (n:int) =
- if n <= 1 then x
- else x + (dod x (n-1))
- printfn "%A" (dod 2 3)
- //zad 3
- let rec mno (x:int) (n:int) =
- if n <= 1 then x
- else x * (mno x (n-1))
- printfn "%A" (mno 2 3)
- //zad4
- let rec CoDrugi list ak =
- match list with
- | [] -> []
- | x::xs -> if ak % 2 = 0 then x::CoDrugi xs (ak+1) else CoDrugi xs (ak+1)
- printfn "%A" (CoDrugi [ 1 ; 2 ; 3 ; 4] 0)
- //zad5
- let CoDrugi2 list =
- list |> List.mapi(fun i el -> el , i)
- |> List.filter(fun (el,i) -> i % 2=0)
- |> List.map fst
- printfn "%A" (CoDrugi2 [1;2;3;4;5;8;8])
- //zad6
- let rec ListaPodzN list ak n =
- match list with
- | [] -> []
- | x::xs -> if x % n = 0 then x::ListaPodzN xs (ak+1) n else ListaPodzN xs (ak+1) n
- printfn "%A" (ListaPodzN [ 1 ; 2 ; 3 ; 4] 0 3)
- //zad7
- let Filtr list n = List.filter(fun x -> x%n=0) list
- printfn "%A" (Filtr [2;3;5;4;6] 2)
- //zad8
- type ksiazka = {
- tytul : string
- autor : string
- rok : int
- wydawnictwo : string
- strony : int
- oprawa : bool
- }
- //zad9
- let mxmi list =
- let rec min list m =
- match list with
- | [] -> m
- | x::xs -> if x < m then min xs x else min xs m
- let rec max list m =
- match list with
- | [] -> m
- | x::xs -> if x > m then max xs x else max xs m
- (min list (List.head list) , max list (List.head list))
- printfn "%A" (mxmi [1;2;4;5;8;7;9;5;45])
- //zad10
- let maxmin list =
- (List.min(list),List.max(list))
- printfn "%A" (maxmin [1;2;3;4;5;6;8])
- //zad11
- let lista =[1;2;3;4;5;6;7;8];
- let srednia list =
- let rec suma list =
- match list with
- | [] -> 0
- | x::xs -> x + (suma xs)
- let rec ilosc list ak =
- match list with
- | [] -> ak
- | x::xs -> ilosc xs (ak+1)
- printf "srednia: %A" (suma list / ilosc list 0)
- srednia lista
- //zad12
- let srednia2 list =
- let foldd list =
- List.fold (+) 0 list
- printfn "srednia z fold %A" (foldd list / list.Length)
- srednia2 lista
- //zad13
- (*let lista =[1;2;3;4;5;6;7;8];
- let wieksze list k o=
- let rec rek1 list k o=
- match list with
- | [] -> o
- | x::xs -> if(x<k) then rek1 xs k (o+1) else rek1 xs k o
- rek1 list k o
- printf "%A" (wieksze lista 4 0);
- let wiekszeW list k=
- let filtr list k =
- List.filter (fun x -> x<k) list
- (filtr list k).Length
- printf "%A" (wiekszeW lista 4);
- *)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement