Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
46
Task/Sierpinski-carpet/NetRexx/sierpinski-carpet.netrexx
Normal file
46
Task/Sierpinski-carpet/NetRexx/sierpinski-carpet.netrexx
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/* NetRexx */
|
||||
options replace format comments java crossref symbols nobinary
|
||||
|
||||
numeric digits 1000
|
||||
runSample(arg)
|
||||
return
|
||||
|
||||
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
method runSample(arg) public static
|
||||
DARK_SHADE = '\u2593'
|
||||
parse arg ordr filr .
|
||||
if ordr = '' | ordr = '.' then ordr = 3
|
||||
if filr = '' | filr = '.' then filler = DARK_SHADE
|
||||
else filler = filr
|
||||
drawSierpinskiCarpet(ordr, filler)
|
||||
return
|
||||
|
||||
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
method drawSierpinskiCarpet(ordr, filler = Rexx '@') public static binary
|
||||
x = long
|
||||
y = long
|
||||
powr = 3 ** ordr
|
||||
loop x = 0 to powr - 1
|
||||
loop y = 0 to powr - 1
|
||||
if isSierpinskiCarpetCellFilled(x, y) then cell = filler
|
||||
else cell = ' '
|
||||
say cell'\-'
|
||||
end y
|
||||
say
|
||||
end x
|
||||
return
|
||||
|
||||
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
method isSierpinskiCarpetCellFilled(x = long, y = long) public static binary returns boolean
|
||||
isTrue = boolean (1 == 1)
|
||||
isFalse = \isTrue
|
||||
isFilled = isTrue
|
||||
loop label edge while x \= 0 & y \= 0
|
||||
if x // 3 = 1 & y // 3 = 1 then do
|
||||
isFilled = isFalse
|
||||
leave edge
|
||||
end
|
||||
x = x % 3
|
||||
y = y % 3
|
||||
end edge
|
||||
return isFilled
|
||||
Loading…
Add table
Add a link
Reference in a new issue