I haven’t been blogging for a while as it’s exam period. It’s also been busy busy at 24seven. The new product which name you will never guess right.
Today’s paper is on programming, it’s (so-call) advanced concepts. Honestly the whole course’s been a mess but never mind that. I did 3 questions on Java, 2 question on SML and 1 question on Prolog. The Java questions are quite easy. Most of what I studied came out. I planned to do 3 questions out of the 5 Java questions and it went well.
What caught me in a surprise is Prolog which is quite hard, especially the last question which was basically some professor wanting to read some opinion. If I were a computing journalist, I probably choose that question.
SML isn’t that hard. What I studied came out, what I didn’t study I chose not to do. And I quickly went home and I try to see if the average function I wrote work in SML. And it did:
[code lang=”ocaml”]fun average x =
let
fun sum [] = 0.0
| sum (h::t) = h + sum t;
fun count [] = 0.0
| count (h::t) = 1.0 + count t;
in
sum x / count x
end;[/code]
I wrote this function very neatly on the paper. I never had so much sense of achievement writing an SML function.
An alternate way of writing would be probably:
[code lang=”ocaml”]fun average x = foldl op+ 0.0 x / real (length x);[/code]
You gotta love foldl sometimes.
Tomorrow’s paper is database. I probably won’t do too well for that. Lots of memorizing to do and my memory’s failing me.