How to resolve the algorithm Box the compass step by step in the J programming language

Published on 12 May 2024 09:40 PM
#J

How to resolve the algorithm Box the compass step by step in the J programming language

Table of Contents

Problem Statement

There be many a land lubber that knows naught of the pirate ways and gives direction by degree! They know not how to box the compass!

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Box the compass step by step in the J programming language

Source code in the j programming language

require'strings'
subs=: 'N,north,S,south,E,east,W,west,b, by ,'
dirs=: subs (toupper@{., }.)@rplc~L:1 0&(<;._2) 0 :0 -. ' ',LF
  N,NbE,N-NE,NEbN,NE,NEbE,E-NE,EbN,E,EbS,E-SE,SEbE,SE,SEbS,S-SE,SbE,
  S,SbW,S-SW,SWbS,SW,SWbW,W-SW,WbS,W,WbN,W-NW,NWbW,NW,NWbN,N-NW,NbW,
)
indice=: 32 | 0.5 <.@+ %&11.25
deg2pnt=: dirs {~ indice


   i.10
0 1 2 3 4 5 6 7 8 9
   deg2pnt i.10
┌─────┬─────┬─────┬─────┬─────┬─────┬─────────────┬─────────────┬─────────────┬─────────────┐
│North│North│North│North│North│North│North by east│North by east│North by east│North by east│
└─────┴─────┴─────┴─────┴─────┴─────┴─────────────┴─────────────┴─────────────┴─────────────┘


   (":@>:@indice,.' ',.>@deg2pnt,.' ',.":@,.)(*&11.25 + 5.62 * 0 1 _1 {~ 3&|) i.33
1  North                   0
2  North by east       16.87
3  North-northeast     16.88
4  Northeast by north  33.75
5  Northeast           50.62
6  Northeast by east   50.63
7  East-northeast       67.5
8  East by north       84.37
9  East                84.38
10 East by south      101.25
11 East-southeast     118.12
12 Southeast by east  118.13
13 Southeast             135
14 Southeast by south 151.87
15 South-southeast    151.88
16 South by east      168.75
17 South              185.62
18 South by west      185.63
19 South-southwest     202.5
20 Southwest by south 219.37
21 Southwest          219.38
22 Southwest by west  236.25
23 West-southwest     253.12
24 West by south      253.13
25 West                  270
26 West by north      286.87
27 West-northwest     286.88
28 Northwest by west  303.75
29 Northwest          320.62
30 Northwest by north 320.63
31 North-northwest     337.5
32 North by west      354.37
1  North              354.38


  

You may also check:How to resolve the algorithm Strip control codes and extended characters from a string step by step in the Haskell programming language
You may also check:How to resolve the algorithm Ackermann function step by step in the MiniScript programming language
You may also check:How to resolve the algorithm Rosetta Code/Find bare lang tags step by step in the Groovy programming language
You may also check:How to resolve the algorithm Metronome step by step in the PicoLisp programming language
You may also check:How to resolve the algorithm Continued fraction step by step in the Ruby programming language