Autor
|
Temat |
|
|
adminfz
Dołączył: 08 Sty 2007
Posty: 371
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
exception blad;
fun silnia n = if n=0 then 1 else
if n>0 then n*silnia (n-1) else raise blad;
Suma liczbz przedziału a b
fun suma( a ,b : int ) = if a = b then a else
if a<b then a+ suma (a+1,b) else raise blad;
Post został pochwalony 0 razy
|
Pon 17:08, 10 Gru 2007 |
|
|
|
 |
Gość
|
Lab 3 gr II
val s = [("Wyborowa",23.0),("Herbata",2.0),("Kawa",4.99),("Woda",2.5),("Woda",1.29)];
exception NIEMA;
fun szukaj (nazwa, []) = []
| szukaj (nazwa, (n,c)::xs)=
if nazwa = n then c :: szukaj(nazwa,xs)
else szukaj (nazwa,xs);
szukaj ("Woda",s);
fun naj [] = raise NIEMA
| naj ((n,c:real)::[]) = n
| naj ((n1,c1)::(n2,c2)::xs)=
if c1 < c2 then naj((n1,c1)::xs)
else naj((n2,c2)::xs);
naj (s);
fun wstaw (el,[])=[el]
| wstaw ((es,er),(x1s,x1r:real)::xs) =
if x1r < er then (x1s,x1r:real)::wstaw((es,er),xs)
else (es,er)::(x1s,x1r:real)::xs;
fun sort [] = []
| sort (x1::xs) = wstaw(x1, sort xs);
sort s;
Ostatnio zmieniony przez Gość dnia Sob 23:25, 05 Sty 2008, w całości zmieniany 1 raz
|
Sob 15:41, 05 Sty 2008 |
|
|
adminfz
Dołączył: 08 Sty 2007
Posty: 371
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
val s = [("wyborowa",23.0),("herbata",4.0),("woda",2.5),("woda",3.5)];
exception NieMa;
fun szukaj (nazwa,[])=raise NieMa
|szukaj (nazwa,(n,c)::xs) = if nazwa = n then c else szukaj (nazwa,xs);
fun szukaj (nazwa,[])= []
|szukaj (nazwa,(n,c)::xs) = if nazwa = n then c :: szukaj(nazwa,xs) else szukaj(nazwa,xs) ;
szukaj("woda",s);
fun najtanszy [] = raise NieMa
| najtanszy ((n1,c1:real)::(n2,c2)::xs) = if c1<c2 then najtanszy ((n1,c1)::xs) else
najtanszy ((n2,c2)::xs)
|najtanszy((n,c)::[]) = n;
najtanszy(s);
Post został pochwalony 0 razy
Ostatnio zmieniony przez adminfz dnia Sob 20:57, 05 Sty 2008, w całości zmieniany 1 raz
|
Sob 20:57, 05 Sty 2008 |
|
|
Gość
|
lab 4 gr II
val a = At "a" and b = At "b" and c = At "c";
fun NAND2(x1,x2) = !!(x1 ** x2);
fun NAND3(a,b,c) = !!(a ** b ** c);
val y1 = NAND2(a,a);
val y2 = NAND2(b,c);
val y3 = NAND3(y1,b,y2);
val spec = a ++ !!b ++ (b ** c);
val tw = spec <=> y3;
check tw;
val a = At "a" and b = At "b" and c = At "c";
val wyr1 = !!a ** !!b ** !!c;
val wyr2 = !!a ** b ** c;
val wyr3 = wyr1 ++ wyr2;
val tw = wyr3 <=> !!a;
check tw;
|
Sob 14:50, 12 Sty 2008 |
|
|
adminfz
Dołączył: 08 Sty 2007
Posty: 371
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
(*------------------------*)
(* speyfikacja *)
(* a+ ~b +b*c *)
val a = At "a";
val b = At "b" ;
val c = At "c" ;
fun NAND_S(X1,X2)= !! (X1 ** X2);
fun NAND_S3(X1,X2,X3)= !! (X1 ** X2 **X3);
fun NOT_S(X)= !! X;
val Y1 = NAND_S(a,a);
val Y2 =NAND_S(b,c);
val Y3 = NAND_S3(b,Y1,Y2);
val OUT = Y3;
val SPEC_OUT = a ++ !!b ++b **c ;
val tw = SPEC_OUT <=> OUT;
check tw;
(*------------------------*)
Post został pochwalony 0 razy
|
Sob 15:12, 12 Sty 2008 |
|
|
adminfz
Dołączył: 08 Sty 2007
Posty: 371
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
2.b
(*------------------------*)
(* speyfikacja *)
(* a+ ~b +b*c *)
val a = At "a";
val b = At "b" ;
val c = At "c" ;
val tw = !! (a ** b ** c) ++ !! a ** b ** c <=> !! a ;
check tw;
Post został pochwalony 0 razy
|
Sob 15:31, 12 Sty 2008 |
|
|
adminfz
Dołączył: 08 Sty 2007
Posty: 371
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Krótki kurs MOSML'A
Napisałem króciutkie objaśnienie całego tego MOS'ML'a
nie wiem czy w 100 procentach poprawne ale programy chodzą więc myślenie jest ok
[link widoczny dla zalogowanych]
Post został pochwalony 0 razy
Ostatnio zmieniony przez adminfz dnia Czw 14:42, 17 Sty 2008, w całości zmieniany 1 raz
|
Czw 14:22, 17 Sty 2008 |
|
|
Gość
|
thx Piotrek napracowales sie, teraz jest o polowe jasniej niz przedtem :]
|
Czw 16:45, 17 Sty 2008 |
|
|
|