Mayan numerals: Difference between revisions

Content added Content deleted
(New post.)
Line 430: Line 430:
|....|----|----|----|----|----|....|----|----|----|----|----|....|
|....|----|----|----|----|----|....|----|----|----|----|----|....|
+----+----+----+----+----+----+----+----+----+----+----+----+----+</pre>
+----+----+----+----+----+----+----+----+----+----+----+----+----+</pre>

=={{header|Amazing Hopper}}==
{{Trans|BASIC}}
<syntaxhighlight lang="c">
#include <basico.h>

algoritmo
muestra=""
obtener total argumentos
cuando ' sea distinto a( 2 ) '{ terminar }
obtener parámetro alfanumérico (2), guardar en 'muestra'

lsimb={}, '" "," . "," .. ","... ","...."'#(utf8("────")), enlistar en 'lsimb'

largo=0, #( largo = len(muestra))
sdígitos={}, separar( muestra, sdígitos, "")
ndígitos=0, #( ndígitos = number(sdígitos) )

m=0, t=0
#( m = largo-1)

// convertir dígitos a base 20,la base de los mayas:
iterar para( j=m, #(j>=1), --j )
iterar para( i=1, #(i<=j), ++i )
bit.and( #(ndígitos[i]), 1 ), por '10',
guardar en 't'
#( ndígitos[i+1] += t )
#( ndígitos[i] = int(ndígitos[i]/2) )
siguiente
siguiente

s=1
iterar mientras ( #( ndígitos[s]==0 && s<largo) )
++s
reiterar
// armar los cartuchos:
imprimir ( #(utf8("╔═════")),#(replicate( utf8("═════"), largo-s) ), #(utf8("═╗")), NL,\
#(utf8("║┌────")),#(replicate( utf8("┬────"), largo-s) ), #(utf8("┐║")), NL )
n=0
iterar para ( l=3, #(l>=0), --l )

imprimir (#(utf8("║")))
iterar para ( i=s, #(i<=largo), ++i )
si ( bit.or ( #(ndígitos[i]), l ), es igual a '0' )
imprimir ( #(utf8("│ Θ ")) )
sino
guardar ' #(ndígitos[i]-5*l) ' en 'n'
si ( #(n>5) )
n=5
sino si ( n, es negativo? )
n=0
fin si
imprimir( #(utf8("│")), #(lsimb[n+1]) )
fin si
siguiente
imprimir (#(utf8("│║")),NL)
siguiente

imprimir ( #(utf8("║└────")),#(replicate( utf8("┴────"), largo-s) ), #(utf8("┘║")), NL,\
#(utf8("╚═════")),#(replicate( utf8("═════"), largo-s) ), #(utf8("═╝")), NL )
saltar

terminar
</syntaxhighlight>
{{out}}
<pre>
$ hopper3 basica/nummaya.bas 4005
╔════════════════╗
║┌────┬────┬────┐║
║│ │ │ │║
║│ │ │ │║
║│────│ │ │║
║│────│ Θ │────│║
║└────┴────┴────┘║
╚════════════════╝

$ hopper3 basica/nummaya.bas 8017
╔═════════════════════╗
║┌────┬────┬────┬────┐║
║│ │ │ │ .. │║
║│ │ │ │────│║
║│ │ │ │────│║
║│ . │ Θ │ Θ │────│║
║└────┴────┴────┴────┘║
╚═════════════════════╝

$ hopper3 basica/nummaya.bas 326205
╔══════════════════════════╗
║┌────┬────┬────┬────┬────┐║
║│ │ │ │ │ │║
║│ │ │────│ │ │║
║│ │ │────│────│ │║
║│ .. │ Θ │────│────│────│║
║└────┴────┴────┴────┴────┘║
╚══════════════════════════╝

$ hopper3 basica/nummaya.bas 886205
╔══════════════════════════╗
║┌────┬────┬────┬────┬────┐║
║│ │ │ │ │ │║
║│ │ │────│ │ │║
║│ │────│────│────│ │║
║│────│────│────│────│────│║
║└────┴────┴────┴────┴────┘║
╚══════════════════════════╝

$ hopper3 basica/nummaya.bas 98380658201233422
╔═══════════════════════════════════════════════════════════════════════╗
║┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐║
║│ │ │ │ │ │ │ │ │ │ .. │ │ │ │ │║
║│ │ │ │ │ │....│ │ │ │────│....│ │ . │ │║
║│ │ │ │ .. │....│────│....│ │ .. │────│────│ │────│ │║
║│ . │....│ Θ │────│────│────│────│....│────│────│────│... │────│ .. │║
║└────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘║
╚═══════════════════════════════════════════════════════════════════════╝

</pre>


=={{header|APL}}==
=={{header|APL}}==