#include #proto padzeros(_X_,_S_,_D_) #proto padmoney(_N_,_D_,_F_,_S_,_P_) algoritmo n={}, '125, 12.39802, 0.0003221, -0.0045, 457897.789' enlistar en 'n' fijar separador 'NL' imprimir( "Express a number in decimal as a fixed-length string with leading zeros:\n\n",\ #(pad zeros(n,19,5)), "\n\n",\ #(pad zeros(n,19,0)), "\n\n",\ #(pad zeros( (-9873000155.584),19,1)), "\n\n",\ "Bonus track:\n\n",\ #(lpad( " ",20,string(n))), "\n\n",\ #(lpad( " ",20,notation(n))),"\n\n",\ #(pad money(n,1,".",19,"$")),"\n\n",\ #(pad money(1980.67,1,"_",16,"USD$"),NL)) terminar subrutinas pad zeros(n, l, d) decimales 'd' s=0, sgn=0 #( s = string( n * sgn:=(sign(n)) ) ) #( sgn = string(sgn) ) si ( s, es matriz? ) mapear( #(sgn=="-1"), "-", sgn ) mapear( #(sgn=="1"), " ", sgn ) sino #(sgn=="-1"), entonces{ "-",mover a 'sgn' } #(sgn=="1"), entonces{ " ",mover a 'sgn' } fin si #(cat( sgn, lpad( "0",l,s))) decimales normales retornar pad money(num, dec, fill, size, prefix) #(cat(prefix,lpad(fill,size,money(dec,num)))) retornar