Forum I EF ZUI Strona Główna
  Obecny czas to Pią 17:41, 29 Mar 2024   

Forum I EF ZUI Strona Główna -> Archiwum Materiałów / Materiały z II FZ / Programowanie MOSML

Prog Funkcjonalne

  Autor    Temat Napisz nowy temat Odpowiedz do tematu
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

Post Pon 17:08, 10 Gru 2007 
 Zobacz profil autora    
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

Post 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

Post Sob 20:57, 05 Sty 2008 
 Zobacz profil autora    
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;

Post 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

Post Sob 15:12, 12 Sty 2008 
 Zobacz profil autora    
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

Post Sob 15:31, 12 Sty 2008 
 Zobacz profil autora    
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 Very Happy
[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

Post Czw 14:22, 17 Sty 2008 
 Zobacz profil autora    
Gość






thx Piotrek napracowales sie, teraz jest o polowe jasniej niz przedtem :]

Post Czw 16:45, 17 Sty 2008 
     
  Wyświetl posty z ostatnich:      
Napisz nowy temat Odpowiedz do tematu

Skocz do:  


Last Thread | Next Thread  >

Zasady:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

 

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB Š 2001 phpBB Group

phpBB Template by Vereor.

Web Templates
Web Design Templates Š