-----Original Message-----
From: Linda Alvord [mailto:[email protected]]
Sent: Sunday, December 11, 2011 10:27 AM
To: 'Linda Alvord'
Subject: RE: Turkey Roll - Challenge 2
Time to wrap up the turkey roll.
Lots to think about. Here's a summary of much of it.
I was struck by Don Guinn's comment:
"Why is it that we have all kinds of courses teaching how to write programs
but none for reading?"
So here is long story without the results cut out. Another e-mail will
follow this one that you can copy and paste in a file and then experiment
further. Feel free to continue to ask questions or simplify these ideas.
I'm almost finished with Challenge 3 and wills post it soon.
d=:7#"1 ,.2#4 6 8 12 20 NB. Create array
d
4 4 4 4 4 4 4
4 4 4 4 4 4 4
6 6 6 6 6 6 6
6 6 6 6 6 6 6
8 8 8 8 8 8 8
8 8 8 8 8 8 8
12 12 12 12 12 12 12
12 12 12 12 12 12 12
20 20 20 20 20 20 20
20 20 20 20 20 20 20
r=: 13 :'1+?y'
r
1 + ?
r d
3 4 3 2 3 1 4
2 4 2 3 3 1 2
2 5 5 5 5 1 4
5 2 6 5 3 2 1
6 6 8 5 8 1 8
4 8 6 5 2 1 5
4 3 6 4 2 4 12
11 6 10 9 3 6 3
1 8 10 9 12 2 8
3 4 6 16 1 4 8
r d
2 3 4 1 2 4 1
2 4 1 2 1 1 3
4 3 6 5 4 2 6
1 2 6 4 6 6 2
2 7 2 3 8 3 1
2 1 3 1 1 1 8
5 5 4 3 1 4 4
10 8 7 9 6 8 1
8 1 15 7 3 8 7
2 18 8 12 14 18 18
4!:0 ;:'d r'
0 3
toss=: 13 :'+/1+?y'
toss
[: +/ 1 + ?
toss d
56 67 39 62 67 63 59
c=:toss d
c
0 32 56 48 51 45 60
NB.fdkm =: [: /:~ ~. ,. [: +/"1 ~. =/ ]
NB.fdkm c
NB.fdla=: 13 :'/:~(~.y),.+/"1 (~.y)=/y'
NB.fdla c
NB.fdkm
NB.fdla
fd=:[: /:~ ~. ,. [: +/"1 ~. =/ ]
fd
[: /:~ ~. ,. [: +/"1 ~. =/ ]
fd c=:toss d
29 1
37 1
48 1
52 1
56 1
58 1
62 1
c
56 48 37 52 58 62 29
fd c=:toss d
45 1
48 1
55 1
59 1
61 1
63 1
69 1
c
55 59 63 69 61 48 45
purr=:13 :'(0{"1 y) ,.100*(1{"1 y)%+/1{"1 y'
purr
(0 {"1 ]) ,. 100 * (1 {"1 ]) % [: +/ 1 {"1 ]
purr c
55 100
purr fd toss d
35 14.2857
40 28.5714
44 28.5714
45 14.2857
49 14.2857
cc=:4 2$7 1 9 2 10 1 11 3
cc
7 1
9 2
10 1
11 3
purr cc
7 14.2857
9 28.5714
10 14.2857
11 42.8571
assert 100=+/1{"1 purr cc
d=:500000#"1 ,.2#4 6 8 12 20
fd toss d
17 1
18 6
19 12
20 18
21 36
22 46
23 85
24 131
25 205
26 280
27 448
28 621
29 792
30 1065
31 1409
32 1719
33 2186
34 2744
35 3213
36 3932
37 4697
38 5449
39 6490
40 7141
41 8184
42 9199
43 10073
44 11069
45 12296
46 13226
47 14485
48 15216
49 16156
50 16526
51 17457
52 17610
53 18036
54 18279
55 18309
56 18339
57 17948
58 17943
59 17195
60 16743
61 16060
62 15126
63 14310
64 13349
65 12090
66 11344
67 10235
68 9316
69 8574
70 7333
71 6452
72 5468
73 4681
74 3974
75 3274
76 2610
77 2125
78 1709
79 1346
80 1046
81 748
82 557
83 417
84 294
85 182
86 148
87 85
88 71
89 34
90 17
91 2
92 5
93 1
94 1
95 1
]cc=:fd toss d
16 2
17 1
18 8
19 9
20 21
21 35
22 63
23 95
24 127
25 216
26 311
27 425
28 584
29 782
30 1086
31 1386
32 1779
33 2183
34 2687
35 3324
36 3868
37 4724
38 5379
39 6450
40 7369
41 8094
42 9254
43 10243
44 11167
45 12272
46 13279
47 14223
48 14823
49 15821
50 16745
51 17310
52 17843
53 18205
54 18135
55 18532
56 18327
57 18196
58 17897
59 17257
60 16857
61 15731
62 15221
63 14352
64 13261
65 12251
66 11295
67 10223
68 9345
69 8147
70 7247
71 6352
72 5411
73 4713
74 4005
75 3357
76 2723
77 2176
78 1736
79 1346
80 1066
81 784
82 634
83 396
84 308
85 196
86 141
87 79
88 51
89 27
90 17
91 8
92 3
93 2
94 1
95 1
purr cc
16 0.0004
17 0.0002
18 0.0016
19 0.0018
20 0.0042
21 0.007
22 0.0126
23 0.019
24 0.0254
25 0.0432
26 0.0622
27 0.085
28 0.1168
29 0.1564
30 0.2172
31 0.2772
32 0.3558
33 0.4366
34 0.5374
35 0.6648
36 0.7736
37 0.9448
38 1.0758
39 1.29
40 1.4738
41 1.6188
42 1.8508
43 2.0486
44 2.2334
45 2.4544
46 2.6558
47 2.8446
48 2.9646
49 3.1642
50 3.349
51 3.462
52 3.5686
53 3.641
54 3.627
55 3.7064
56 3.6654
57 3.6392
58 3.5794
59 3.4514
60 3.3714
61 3.1462
62 3.0442
63 2.8704
64 2.6522
65 2.4502
66 2.259
67 2.0446
68 1.869
69 1.6294
70 1.4494
71 1.2704
72 1.0822
73 0.9426
74 0.801
75 0.6714
76 0.5446
77 0.4352
78 0.3472
79 0.2692
80 0.2132
81 0.1568
82 0.1268
83 0.0792
84 0.0616
85 0.0392
86 0.0282
87 0.0158
88 0.0102
89 0.0054
90 0.0034
91 0.0016
92 0.0006
93 0.0004
94 0.0002
95 0.0002
assert 100=+/1{"1 purr fd toss d
assert 100=+/1{"1 purr cc
4!:0 ;:'c cc d r toss fd purr'
0 0 0 3 3 3 3
Happy Thanksgiving.
Linda
-----Original Message-----
From: Linda Alvord [mailto:[email protected]]
Sent: Saturday, November 26, 2011 3:14 AM
To: 'Linda Alvord'
Subject: Turkey Roll - Challenge 2
PLEASE DO NOT REPLY BEFORE December I, 2011 at 12:00 am EST !
The turkey roll challenge, named in honor of the Thanksgiving Day
holiday, focuses on the verb roll or ? with one argument.
Create two nouns and a verb that will generate the following results.
dice
----T---T---T---T---T---┐
│ │o │o │o o│o o│o o│
│ o │ │ o │ │ o │o o│
│ │ o│ o│o o│o o│o o│
L---+---+---+---+---+----
toss
----T-T---T-T---T-T---T-T---T-T---T-T---T-T---T-T---T-T---┐
│o │ │o o│ │o o│ │o o│ │o │ │o o│ │o │ │o o│ │o │ │o o│
│ │ │ │ │ o │ │o o│ │ o │ │ │ │ o │ │ o │ │ o │ │o o│
│ o│ │o o│ │o o│ │o o│ │ o│ │o o│ │ o│ │o o│ │ o│ │o o│
+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+
│ │ │o o│ │o │ │o o│ │o o│ │o o│ │o o│ │o │ │ │ │o o│
│ o │ │ │ │ │ │o o│ │o o│ │ │ │o o│ │ │ │ o │ │o o│
│ │ │o o│ │ o│ │o o│ │o o│ │o o│ │o o│ │ o│ │ │ │o o│
L---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+----
toss
----T-T---T-T---T-T---T-T---T-T---T-T---T-T---T-T---T-T---┐
│o │ │o o│ │o o│ │o o│ │o │ │o o│ │o │ │o o│ │o │ │o o│
│ │ │ │ │ o │ │o o│ │ o │ │ │ │ o │ │ o │ │ o │ │o o│
│ o│ │o o│ │o o│ │o o│ │ o│ │o o│ │ o│ │o o│ │ o│ │o o│
+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+
│ │ │o o│ │o │ │o o│ │o o│ │o o│ │o o│ │o │ │ │ │o o│
│ o │ │ │ │ │ │o o│ │o o│ │ │ │o o│ │ │ │ o │ │o o│
│ │ │o o│ │ o│ │o o│ │o o│ │o o│ │o o│ │ o│ │ │ │o o│
L---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+----
c=:3 8 7 12 9 8 9 7 4 12 NB. The list c is the sums of the
second toss of
NB. ten dice
fd c
3 1 NB. A frequency
distribution of the ten tosses
4 1
7 2
8 2
9 2
12 2
4!:0 'dice';'toss';'c';'fd'
0 0 0 3 NB. 0 for
nouns, 3 for verbs
Some rules and hints:
Write all verbs and nouns without @ . You can use several nouns and
verbs to make a final noun or verb. Here are some things about roll.
r=: 13 :'?y'
r
?
r 4
3
r 4
2
s=: 13 :'r 3 4$y'
s
[: r 3 4 $ ]
s 5
3 3 3 2
3 2 3 4
2 4 0 4
s 5
1 3 1 0
3 1 4 1
4 2 1 3
t=: 13 :'(r s y)*3 4$100*i.4'
5 t 5
1003 1000.69 1000.5 1001.49
1001 1000.55 1000 1001
1000.89 1001.03 1002 1000
5 t 5
1001 1002 1000 1001.37
1003 1000.04 1000.23 1002
1000.01 1001 1000.3 1001.16
Be sure to get unique results as you go. Notice how to build a complex
result with several shorter functions.
Linda
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm