Data update
This commit is contained in:
parent
35bcdeebf8
commit
74c69a0df6
2427 changed files with 31826 additions and 3468 deletions
66
Task/Mayan-numerals/Amazing-Hopper/mayan-numerals.hopper
Normal file
66
Task/Mayan-numerals/Amazing-Hopper/mayan-numerals.hopper
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
#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
|
||||
Loading…
Add table
Add a link
Reference in a new issue