Calendar - for "REAL" programmers: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: re-did the section header comments, change output templete, removed extra blank lines. -- ~~~~) |
|||
Line 369: | Line 369: | ||
26 27 28 29 30 31 │ 23 24 25 26 27 28 29│ 28 29 30 31 |
26 27 28 29 30 31 │ 23 24 25 26 27 28 29│ 28 29 30 31 |
||
│ 30 │ </lang> |
│ 30 │ </lang> |
||
Alternatively, we could express the entire algorithm using only uppercase letters. |
|||
For added "real"ness, we also only use 1 character names: |
|||
<lang J>B=: + 4 100 400 -/@:<.@:%~ <: |
|||
M=: 28+ 3, (10$5$3 2),~ 0 ~:/@:= 4 100 400 | ] |
|||
R=: (7 -@| B+ 0, +/\@}:@M) |."0 1 (0,#\#~41) (]&:>: *"1 >/)~ M |
|||
H=. _3(_11&{.)\'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC' |
|||
H=. 'SU MO TU WE TH FR SA',:"1~H |
|||
C=: H <@,"(2) 12 6 21 }."1@($,) (' ',3 ":,.#\#~31) {~ R |
|||
D=: 0 ": <.@%&21@+&1@[ ]\ C@] |
|||
L=: |."0 1~ +/ .(*./\@:=)"1&' ' |
|||
E=: (|."0 1~ _2 <.@%~ +/ .(*./\.@:=)"1&' ')@:({."1) L |
|||
F=: 0 _1 }. 0 1 }. (2+[) E '[INSERT SNOOPY HERE]', ":@], D</lang> |
|||
Here's an example calendar: |
|||
<lang> 80 F 1969 |
|||
[INSERT SNOOPY HERE] |
|||
1969 |
|||
┌────────────────────┬────────────────────┬────────────────────┐ |
|||
│ JAN │ FEB │ MAR │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1 2 3 4│ 1│ 1│ |
|||
│ 5 6 7 8 9 10 11│ 2 3 4 5 6 7 8│ 2 3 4 5 6 7 8│ |
|||
│12 13 14 15 16 17 18│ 9 10 11 12 13 14 15│ 9 10 11 12 13 14 15│ |
|||
│19 20 21 22 23 24 25│16 17 18 19 20 21 22│16 17 18 19 20 21 22│ |
|||
│26 27 28 29 30 31 │23 24 25 26 27 28 │23 24 25 26 27 28 29│ |
|||
│ │ │30 31 │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ FEB │ MAR │ APR │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1│ 1│ 1 2 3 4 5│ |
|||
│ 2 3 4 5 6 7 8│ 2 3 4 5 6 7 8│ 6 7 8 9 10 11 12│ |
|||
│ 9 10 11 12 13 14 15│ 9 10 11 12 13 14 15│13 14 15 16 17 18 19│ |
|||
│16 17 18 19 20 21 22│16 17 18 19 20 21 22│20 21 22 23 24 25 26│ |
|||
│23 24 25 26 27 28 │23 24 25 26 27 28 29│27 28 29 30 │ |
|||
│ │30 31 │ │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ MAR │ APR │ MAY │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1│ 1 2 3 4 5│ 1 2 3│ |
|||
│ 2 3 4 5 6 7 8│ 6 7 8 9 10 11 12│ 4 5 6 7 8 9 10│ |
|||
│ 9 10 11 12 13 14 15│13 14 15 16 17 18 19│11 12 13 14 15 16 17│ |
|||
│16 17 18 19 20 21 22│20 21 22 23 24 25 26│18 19 20 21 22 23 24│ |
|||
│23 24 25 26 27 28 29│27 28 29 30 │25 26 27 28 29 30 31│ |
|||
│30 31 │ │ │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ APR │ MAY │ JUN │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1 2 3 4 5│ 1 2 3│ 1 2 3 4 5 6 7│ |
|||
│ 6 7 8 9 10 11 12│ 4 5 6 7 8 9 10│ 8 9 10 11 12 13 14│ |
|||
│13 14 15 16 17 18 19│11 12 13 14 15 16 17│15 16 17 18 19 20 21│ |
|||
│20 21 22 23 24 25 26│18 19 20 21 22 23 24│22 23 24 25 26 27 28│ |
|||
│27 28 29 30 │25 26 27 28 29 30 31│29 30 │ |
|||
│ │ │ │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ MAY │ JUN │ JUL │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1 2 3│ 1 2 3 4 5 6 7│ 1 2 3 4 5│ |
|||
│ 4 5 6 7 8 9 10│ 8 9 10 11 12 13 14│ 6 7 8 9 10 11 12│ |
|||
│11 12 13 14 15 16 17│15 16 17 18 19 20 21│13 14 15 16 17 18 19│ |
|||
│18 19 20 21 22 23 24│22 23 24 25 26 27 28│20 21 22 23 24 25 26│ |
|||
│25 26 27 28 29 30 31│29 30 │27 28 29 30 31 │ |
|||
│ │ │ │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ JUN │ JUL │ AUG │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1 2 3 4 5 6 7│ 1 2 3 4 5│ 1 2│ |
|||
│ 8 9 10 11 12 13 14│ 6 7 8 9 10 11 12│ 3 4 5 6 7 8 9│ |
|||
│15 16 17 18 19 20 21│13 14 15 16 17 18 19│10 11 12 13 14 15 16│ |
|||
│22 23 24 25 26 27 28│20 21 22 23 24 25 26│17 18 19 20 21 22 23│ |
|||
│29 30 │27 28 29 30 31 │24 25 26 27 28 29 30│ |
|||
│ │ │31 │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ JUL │ AUG │ SEP │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1 2 3 4 5│ 1 2│ 1 2 3 4 5 6│ |
|||
│ 6 7 8 9 10 11 12│ 3 4 5 6 7 8 9│ 7 8 9 10 11 12 13│ |
|||
│13 14 15 16 17 18 19│10 11 12 13 14 15 16│14 15 16 17 18 19 20│ |
|||
│20 21 22 23 24 25 26│17 18 19 20 21 22 23│21 22 23 24 25 26 27│ |
|||
│27 28 29 30 31 │24 25 26 27 28 29 30│28 29 30 │ |
|||
│ │31 │ │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ AUG │ SEP │ OCT │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1 2│ 1 2 3 4 5 6│ 1 2 3 4│ |
|||
│ 3 4 5 6 7 8 9│ 7 8 9 10 11 12 13│ 5 6 7 8 9 10 11│ |
|||
│10 11 12 13 14 15 16│14 15 16 17 18 19 20│12 13 14 15 16 17 18│ |
|||
│17 18 19 20 21 22 23│21 22 23 24 25 26 27│19 20 21 22 23 24 25│ |
|||
│24 25 26 27 28 29 30│28 29 30 │26 27 28 29 30 31 │ |
|||
│31 │ │ │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ SEP │ OCT │ NOV │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1 2 3 4 5 6│ 1 2 3 4│ 1│ |
|||
│ 7 8 9 10 11 12 13│ 5 6 7 8 9 10 11│ 2 3 4 5 6 7 8│ |
|||
│14 15 16 17 18 19 20│12 13 14 15 16 17 18│ 9 10 11 12 13 14 15│ |
|||
│21 22 23 24 25 26 27│19 20 21 22 23 24 25│16 17 18 19 20 21 22│ |
|||
│28 29 30 │26 27 28 29 30 31 │23 24 25 26 27 28 29│ |
|||
│ │ │30 │ |
|||
├────────────────────┼────────────────────┼────────────────────┤ |
|||
│ OCT │ NOV │ DEC │ |
|||
│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│SU MO TU WE TH FR SA│ |
|||
│ 1 2 3 4│ 1│ 1 2 3 4 5 6│ |
|||
│ 5 6 7 8 9 10 11│ 2 3 4 5 6 7 8│ 7 8 9 10 11 12 13│ |
|||
│12 13 14 15 16 17 18│ 9 10 11 12 13 14 15│14 15 16 17 18 19 20│ |
|||
│19 20 21 22 23 24 25│16 17 18 19 20 21 22│21 22 23 24 25 26 27│ |
|||
│26 27 28 29 30 31 │23 24 25 26 27 28 29│28 29 30 31 │ |
|||
│ │30 │ │ |
|||
└────────────────────┴────────────────────┴────────────────────┘ </lang> |
|||
Note that this version will display properly in a width of 20. |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |