| BME Villamosmérnöki és Informatikai Kar
Műszaki informatika szak |
Nappali tagozat
1999/2000. tanév, tavaszi félév
|
datatype Num = Int of int | Real of real | List of Num listÍrjon két SML-függvényt
atlag és szoras néven egy Num típusú
rekurzív sorozatbeli értékek átlagának a kiszámítására!
(* atlag : Num list -> real atlag ns = az értékek átlaga az ns rekurzív sorozatban *) (* szoras : Num list -> real szoras ns = az értékek szórása az ns rekurzív sorozatban *)Minden függvényhez írjon fejkommentet! Törekedjék arra, hogy hatékony legyen a megoldása!
- val n1 = Int 1;
> val n1 = Int 1 : Num
- val n2 = Real 2.3;
> val n2 = Real 2.3 : Num
- val n3 = List [Real 3.14, Int ~7];
> val n3 = List [Real 3.14, Int ~7] : Num
- val n4 = [Int 2, Real 3.2, List [Int ~6, Real 6.7,
List [Int 7]]];
> val n4 = [Int 2, Real 3.2, List [Int ~6, Real 6.7,
List [Int 7]]] : Num list
- val n5 = [List [], List [List []]];
> val n5 = [List [], List [List []]] : Num list
- atlag [n1];
> val it = 1.0 : real
- atlag n4;
> val it = 2.58 : real
- atlag n5;
! Uncaught exception:
! Div
- szoras [n1];
> val it = 0.0 : real
- szoras n4;
> val it = 4.70846047026 : real
- szoras n5;
! Uncaught exception:
! Div
x(1), x(2), ..., x(n) sorozat
átlagát a (szumma [i=1-től n-ig] x(i)) /
n képlettel számítsa ki.
Az x(1), x(2), ..., x(n) sorozat
szórását a négyzetgyök((szumma [i=1-től n-ig]
x(i)*x(i))/n - X*X) képlettel számítsa ki
(X a sorozat átlaga).
A határidőre beadott, helyesen megoldott kis házi feladatért plusz 1 pont jár (a 100 pontból) a vizsgaosztályzat megállapításakor.