Cantor set: Difference between revisions

Content deleted Content added
Mr Dalien (talk | contribs)
Mr Dalien (talk | contribs)
Line 232: Line 232:
cantor(inicio, largo, índice)
cantor(inicio, largo, índice)
seg=0
seg=0
#( seg:=(int(largo/3)))
#( seg:=(int(largo/3))), no es cero?, entonces{
no es cero?, entonces{
#basic{
#(líneas[índice:HEIGHT, (inicio+seg):((inicio+seg*2)-1)] = " ")
líneas[índice:HEIGHT, (inicio+seg):((inicio+seg*2)-1)] = " ")
#( cantor( inicio, seg, índice+1 ) )
cantor( inicio, seg, índice+1 ) )
#( cantor( (inicio+(seg*2)), seg, índice+1 ) )
cantor( (inicio+(seg*2)), seg, índice+1 ) )
}
}
}
retornar
retornar
Line 252: Line 253:
<syntaxhighlight lang="c">
<syntaxhighlight lang="c">
#include <basico.h>
#include <basico.h>

#define HEIGHT 5


algoritmo
algoritmo


decimales '0'
decimales '0'
seg_size = 0, lines=5, l=0
cantor="", j=0
iterar para (j=0, #(j<=lines), ++j)
iterar
#(seg_size = 3^(lines-j-1))
i=0
c="", i=0
cadenas 'c,s,v'
iterar grupo ( ++i, #(i< (3^j)),\
iterar grupo ( ++i, #(i< (3^j)),\
#( c = cat( c, occurs("1", dectobase(i,3)) ? " " : "#";)))
#( c = c $ v:=(occurs("1", dectobase(i,3)) ? " " : "#";))\
#(l=len(c)), s=""
#( s = s $ replicate(v, 3^(HEIGHT-j-1) )) )
para cada caracter(v, c, l)
#(cantor = cantor $ s $ NL)
mientras ' #(j<=HEIGHT); ++j '
#( s = cat(s, replicate( v, seg_size )))
imprimir(cantor)
siguiente
imprimir (s, NL)
siguiente


terminar
terminar