>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help Dictionary

12. Reading and Writing
Translating to and from a known language provides useful beginning exercises in learning a new one. The following provides examples.
Cover the right side of the page and make a serious attempt to translate the sentences on the left to English; that is, state succinctly in English what the verb defined by each sentence does. Use any available aids, including the dictionary and experimentation on the computer:

`f1=: <:` | Decrement (monad); Less or equal
`f2=: f1&9` | Less or equal 9
`f3=: f2 *. >:&2` | Interval test 2 to 9 (inclusive)
`f4=: f3 *. <. = ]` | In 2 to 9 and integer
`f5=: f3 +. <. = ]` | In 2 to 9 or integer
`g1=: %&1.8` | Divide by 1.8
`g2=: g1^:_1` | Multiply by 1.8
`g3=: -&32` | Subtract 32
`g4=: g3^:_1` | Add 32
`g5=: g1@g3` | Celsius from Fahrenheit
`g6=: g5^:_1` | Fahrenheit from Celsius
`h1=: >./` | Maximum over list (monad)
`h2=: h1-<./` | Spread. Try`h2 b` with the parabola:`b=:(-&2 * -&3) -:i.12`
`h3=: h1@]-i.@[*h2@]%<:@[` | Grid. Try`10 h3 b`
`h4=: h3 <:/ ]` | Barchart. Try`10 h4 b`
`h5=: {&' *' @ h4` | Barchart. Try`10 h5 b`

After entering the foregoing definitions, enter each verb name alone to display its definition, and learn to interpret the resulting displays. To see several forms of display, first enter`9!:3 (2 4 5)` .
Cover the left side of the page, and translate the English definitions on the right back into J.

Exercises

12.1

These exercises are grouped by topic and organized like the section, with programs that are first to be read and then to be rewritten. However, a reader already familiar with a given topic might begin by writing.

A. Properties of numbers

`pn=: >:@i.` | Positive numbers (e.g.`pn 9`)
`rt=: pn |/ pn` | Remainder table
`dt=: 0&=@rt` | Divisibility table
`nd=: +/@dt` | Number of divisors
`prt=: 2&=@nd` | Prime test
`prsel=: prt # pn` | Prime select
`N=: >:@pn` | Numbers greater than 1
`rtt=: ,@(N */ N)` | Ravelled times table
`aprt=: -.@(N e. rtt)` | Alternative test and selection (primes do not occur in the times table for`N`)
`apsel=: aprt # N` |
`pfac=: q:` | Prime factors
`first=: p:@i.` | First primes

B. Coordinate Geometry

Do experiments on the vector (or point)`p=: 3 4` and the triangle represented by the table`tri=: 3 2$ 3 4 6 5 7 2`

`L=: %:@:(+/)@:*:"1` | Length of vector (See rank in the dictionary or in Section 20 of the Introduction)
`LR=:L"1` | Length of rows in table

`disp=: ] - 1&|.`

Displacement between rows

`LS=: LR@disp`

Lengths of sides of figure

`sp=: -:@(+/)@LS`

Semiperimeter (try`sp tri`)

`H=: %:@(*/)@(sp,sp-LS)`

Heron's formula for area

`det=: -/ . *`

Determinant (See dictionary)

`SA=: det@(,.&0.5)`

Signed area. Try`SA@|.`

`sa=:det@(],.%@!@<:@#)`

General signed volume; try on the tetrahedron

`tet=:?4 3$9`

as well as on the triangle`tri` .

>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help Dictionary