[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: exercise 2019/03

From: Ala'a Mohammad
Subject: Re: exercise 2019/03
Date: Sat, 18 Apr 2020 21:11:35 +0400

Using a separate function for rounding (from Dyalog book with re formatting), thus usable in other contexts.
∇R← N round V;S
⍝ N: number of decimals
⍝ V: value to be rounded
S←10⋆N         ⍝ Scale
R←(⌊.5+V×S)÷S  ⍝ Result

∇R←gdist M; G;F;S;P
⍝ R: Result
⍝ M: numerical grades
G ← 'ABCDF'  ⍝ G: character grades
F ← +/G∘.=M  ⍝ F: Frequencies
S ← +/F      ⍝ S: Sum of freqs
P ← 100×F÷S  ⍝ P: Percentages
R←G,F,(⍪1 round P)

IMHO, sometimes I prefer single letter variables with minimum documentation makes it easy to follow. Also when In a function I do not mind spreading the code on multi-lines since usually it is tuck away.




P.S: I did not code more than what was specified, I think I got this from Forth more than any other language.
P.P.S: I'm sending the message to the list. I mistakenly replied to the original email.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]