Gráfica de funciones de EDU Universaldata

EDU Universaldata es el programa que genera todo el proyecto Universaldata.

Esta gráfica muestra las 1140 funciones y subrutinas del programa EDU y sus mutuas invocaciones.
Estan agrupadas en 84 modulos y totalizan unas 3600 curvas de llamadas a funciones.
El codigo SVG se genera automaticamente desde el mismo programa leyendo sus propios archivos fuente en tiempo real.
El archivo SVG generado (Download) contine en las etiquetas de los links la info que indica que funciones están relacionadas. Abajo las dos rutinas que la generan.

Una ves bajado puede usar un navegador y aumentar con el zoom (Ctrl+ruedita del mouse)



Function leer_archivos_bas_y_frm()
lis = lista_de_archivos(rr & "programa", "*.frm")
lis = lis & enter & lista_de_archivos(rr & "programa", "*.bas")
sep = chr(9)

'PRIMERA PASADA para determinar sub y functions
Call renglon(lis, ren, resto)
Do While ren <> "" Or resto <> "" 'recorre los archivos
        codigo = archivo_a_texto(rr & "programa\" & ren) 'obtiene su codigo
       
        clave = "Function"
        clave_ini = clave & " "
        clave_fin = "End " & clave
        rutina = extrae(codigo, clave_ini, clave_fin, p1, p2, prev, remanente)
        Do While rutina <> ""
        nombre = extrae(rutina, clave & " ", "(")
        If nombre <> "" Then nombre = Mid(nombre, Len(clave_ini) + 1, Len(nombre) - Len(clave_ini))
            lista = lista & IIf(lista <> "", enter, "") & " " & nombre
            planilla = planilla & enter & ren & chr(9) & clave & chr(9) & nombre & chr(9) '& """" & rutina & """"
            'planilla = planilla & enter & ren & ";" & clave & ";" & nombre '& ";" '& """" & rutina & """"
        rutina = extrae(remanente, clave_ini, clave_fin, p1, , , remanente2)
        list_rut = list_rut & enter & nombre & chr(9) & """" & rutina & """"
        remanente = remanente2
        Loop
       
        clave = "Sub"
        clave_ini = clave & " "
        clave_fin = "End " & clave
        rutina = extrae(codigo, clave_ini, clave_fin, p1, p2, prev, remanente)
        Do While rutina <> ""
        nombre = extrae(rutina, clave & " ", "(")
        If nombre <> "" Then nombre = Mid(nombre, Len(clave_ini) + 1, Len(nombre) - Len(clave_ini) - 1)
            If nombre <> "" Then
                lista = lista & IIf(lista <> "", enter, "") & "call " & nombre
                planilla = planilla & enter & ren & chr(9) & clave & chr(9) & nombre & chr(9)
                'planilla = planilla & enter & ren & ";" & clave & ";" & nombre
            End If
        rutina = extrae(remanente, clave_ini, clave_fin, p1, , , remanente2)
        list_rut = list_rut & enter & nombre & chr(9) & """" & rutina & """"
        remanente = remanente2
        Loop
       
    Call renglon(resto, ren, resto)
Loop
'Call texto_a_archivo(rr & "programa\programa.csv", planilla)
'Call texto_a_archivo(rr & "programa\subyfunc.csv", lista)
lista = texto_a_expreg(lista)
exp_lista = Replace(lista, enter, "|")

planilla = ""
'SEGUNDA PASADA ya sabiendo cuales sub y funciones existen
Call renglon(lis, ren, resto)
planilla = ""
Do While ren <> "" Or resto <> "" 'recorre los archivos
        codigo = archivo_a_texto(rr & "programa\" & ren) 'obtiene su codigo
       
        clave = "Function"
        clave_ini = clave & " "
        clave_fin = "End " & clave
        rutina = extrae(codigo, clave_ini, clave_fin, p1, p2, prev, remanente)
        Do While rutina <> ""
        pri = InStr(1, rutina, ")")
        rut2 = Mid(rutina, pri + 1, Len(rutina) - (pri + 1 + Len(clave_fin)))
        largo = Len(rut2)
        res = ""
        Call exp_reg(rutina, exp_lista, res)
        nombre = extrae(rutina, clave & " ", "(")
        If nombre <> "" Then nombre = Mid(nombre, Len(clave_ini) + 1, Len(nombre) - Len(clave_ini) - 1)
        res2 = Replace(res, enter & nombre & enter, "")
        'If res2 <> res Then Stop
        res = unicos(res2)
        res = Replace(res, nombre & "(" & chr(9), "")
        res = Replace(res, chr(9) & enter, chr(9))
        res = Replace(res, enter, chr(9))
        res = Replace(res, "(", "")
        res = Replace(res, " ", "")
        If InStr(1, nombre, enter) = 0 Then
            planilla = planilla & enter & ren & chr(9) & clave & chr(9) & nombre & chr(9) & largo & chr(9) & res
            'planilla = planilla & enter & ren & ";" & clave & ";" & nombre '& ";" '& """" & rutina & """"
        End If
        rutina = extrae(remanente, clave_ini, clave_fin, p1, , , remanente2)
       
        remanente = remanente2
        Loop
       
        clave = "Sub"
        clave_ini = clave & " "
        clave_fin = "End " & clave
        rutina = extrae(codigo, clave_ini, clave_fin, p1, p2, prev, remanente)
        Do While rutina <> ""
        pri = InStr(1, rutina, ")")
        rut2 = Mid(rutina, pri + 1, Len(rutina) - (pri + 1 + Len(clave_fin)))
        largo = Len(rut2)
        res = ""
        Call exp_reg(rutina, exp_lista, res)
        nombre = extrae(rutina, clave & " ", "(")
        If nombre <> "" Then nombre = Mid(nombre, Len(clave_ini) + 1, Len(nombre) - Len(clave_ini) - 1)
        res2 = Replace(res, "Call " & nombre & chr(9), "")
        'If res2 <> res Then Stop
        res = unicos(res2)
        res = Replace(res, chr(9) & enter, chr(9))
        res = Replace(res, enter, chr(9))
        res = Replace(res, "(", "")
        res = Replace(res, "Call ", "")
        If InStr(1, nombre, enter) = 0 Then
            planilla = planilla & enter & ren & chr(9) & clave & chr(9) & nombre & chr(9) & largo & chr(9) & res
            'planilla = planilla & enter & ren & ";" & clave & ";" & nombre
        End If
        rutina = extrae(remanente, clave_ini, clave_fin, p1, , , remanente2)
        remanente = remanente2
        Loop
    Call renglon(resto, ren, resto)
Loop
abc = planilla
'Call texto_a_archivo(rr & "programa\programa.csv", planilla)
Call texto_a_archivo(rr & "programa\list_rut.csv", list_rut)
End Function




Function graficar_planilla_vb()
planilla = archivo_a_texto(rr & "programa\programa.csv")
list_rut = archivo_a_texto(rr & "programa\list_rut.csv")

nr = cantidad_de_renglones(planilla)
cfa = nr * 10
Dim r(2000, 4) As String
ra = cfa / 6.28
Pi = 3.141592
ma = 360 / cfa
codigo2 = ""
codigo = ""
archant = ""

For i = 0 To nr - 1
    If i = 0 Then Call renglon(planilla, ren, resto) Else Call renglon(resto, ren, resto)
    If i = 0 Then Call renglon(list_rut, ren_rut, restolist_rut) Else Call renglon(restolist_rut, ren_rut, restolist_rut)
    If ren <> "" Then
    nom_rutina = campoi(ren, 2)
    arch = campoi(ren, 0):
    If arch <> archant Then
    n = n + 1
    If n = 15 Then n = 1
        nn = color_cvg(n)
    End If
    archant = arch
    angulo = Int(90 - i * ma * 10)
    alfa = i * ma * Pi / 18
    X = Int(ra * Sin(alfa))
    Y = Int(ra * Cos(alfa))
    r(i, 1) = nom_rutina
    r(i, 2) = str(X)
    r(i, 3) = str(Y)
    r(i, 4) = nn
    tipo = campoi(ren, 1):
    ruti = campoi(ren_rut, 1)
    ruti = Replace(ruti, "'", " ")
    ruti = Replace(ruti, enter, " ")
    ruti = Replace(ruti, """", " ")
    ruti = ""
    If InStr(1, ruti, "'") > 0 Then Stop
    codigo = codigo & enter & ""
    If angulo > -270 And angulo < -90 Then alin = "text-anchor='end'": corr = 180: dx = -20 Else alin = "": corr = 0: dx = 0
    Texto = "" & sacar_tildes(nom_rutina, True) & ""
    'Texto = link_svg(Texto, "#", sacar_tildes(nom_rutina & ":  " & ruti, True))
    codigo2 = codigo2 & enter & Texto
   
   
    End If
Next i

codigo3 = ""
codigo4 = ""
archant = ""

For i = 0 To nr - 1
    If i = 1 Then Call renglon(planilla, ren, resto) Else Call renglon(resto, ren, resto)
        If ren <> "" Then
            nom_rutina = campoi(ren, 2)
            arch = campoi(ren, 0)
            list_rut = list_rut & " | " & nom_rutina
            Call coord(r, nom_rutina, x1, y1)
                If arch <> archant Then
                    If archant <> "" Then
                        angulo = Int(90 - i * ma * 10)
                        If angulo > -270 And angulo < -90 Then alin = "text-anchor='end'": corr = 180: dx = -20 Else alin = "text-anchor='start'": corr = 0: dx = 0
                            textoarch = "" & sacar_tildes(arch, True) & ""
                            textoarch = link_svg(textoarch, "#", sacar_tildes(arch & list_rut, True)): list_rut = ""
                            codigo4 = codigo4 & enter & textoarch
                            xarch = Val(x1)
                            yarch = Val(y1)
                    Else
                        xarch = Val(x1)
                        yarch = Val(y1)
                    End If
                Else
                        xarch = Val((xarch + x1) / 2)
                        yarch = Val((yarch + y1) / 2)
                End If
            archant = arch

            If x1 <> "" Then
                For j = 5 To cant_camp(ren) - 1
                nom_rutina2 = campoi(ren, j)
                Call coord(r, nom_rutina2, x2, y2)
                If x2 <> "" Then
                    angulo = Int(90 - i * ma * 10)
                    dist = Sqr(Abs((x2 - x1) ^ 2 + (y2 - y1) ^ 2))
                    factor = 1 - (dist / ra * 2) / 4
                    x21 = Int(x1 * factor)
                    y21 = Int(y1 * factor)
                    x22 = Int(x2 * factor)
                    y22 = Int(y2 * factor)
                    curva = ""
                    curva = link_svg(curva, "#", sacar_tildes(nom_rutina & "-> " & nom_rutina2, True))
                    codigo3 = codigo3 & enter & curva
                    textoarch = link_svg(textoarch, "#", arch)
                    nl = nl + 1
                End If
                Next j
            End If
            'End If
        End If
Next i

codigo2 = codigo2 & enter & "
"
codigo = codigo & enter & codigo4 & enter & codigo2 & codigo3
v = Int(ra * 1.5)
graficar_planilla_vb = encabezado_svg(codigo, 1600, 1600, -v, 2 * v, -v, 2 * v)
Call texto_a_archivo(rr & "programa\grafica.svg", graficar_planilla_vb)
End Function

Exodo del Pueblo Israelita y su calendario y Resumen de Libros (Génesis, Exodo, Levítico, Números)






Testigos de Jehová


El siguiente gráfico muestra el lugar del cumplimiento de los últimos versículos del capitulo 11 del libro bíblico de Daniel (ver gráfica de todos los versículos). 
Note que ya se han cumplido todos desde el siglo XX y faltan cumplirse solo los versículos 44 y 45 (que corresponden al Armagedón).




En el siguiente gráfico se pueden ver los principales sucesos de la historia de los Testigos de Jehová: cuando se cumplen las profesías de Daniel que les aplican a ellos (versículos 32 al 35) y Daniel capítulo 12 (debajo del eje de los años). La curva dorada muestra la cantidad de los hermanos ungidos de cristo que reinaran desde el cielo. Su recolección tuvo un máximo en 1935 y luego se juntó, a "la gran muchedumbre" (curva gris) que vivirá en la Tierra después del Armagedón. Ver Revelación (Apocalipsis) capítulo 7. Esta curva muestra la misma escala que la de los ungidos hasta poco antes del 60 y luego se la comprime unas 100 veces. Aparecen dos curvas más: El numero de países donde se predica y el numero de bautismos anuales que gira en el entorno de los 300.000 (Los bautismos no están a escala con las otras pero si consigo misma respecto a su cero).


En la siguiente gráfica aparecen curvas adicionales: horas anuales (1700 millones en naranja), asistencia a la Conmemoracion de la muerte de Cristo (19 millones en rojo), estudios bíblicos (8,4 millones en gris claro) y predicadores de tiempo completo (800 mil en negro)




Gráfica detallada y con profecías de Daniel 11, 12 y Revelación y anuarios y libro: Los Testigos de Jehová, proclamadores del Reino de Dio"
(no incluye Daniel capítulo 2, ni Mateo 24, Marcos 13 o Lucas 21)


Apocalipsis (Revelación) se acerca su magnifica culminación

Las siguientes gráficas muestran en que momento se cumplen los textos bíblicos del libro de revelación o apocalipsis. Es un resumen para tener una visión global según aparecen las explicaciones en el libro "Apocalipsis, se acerca su magnífica culminación" editado por los "Testigos de Jehová". A partir del Capitulo 6 se encuentran las visiones de los acontecimientos que estamos viviendo actualmente.



Estructura del Libro "Apocalipsis, se acerca su magnífica culminación" editado por los "Testigos de Jehová"

Estructura del Libro de Revelación o Apocalipsis https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ72NJdJ9eoPQBB01syqu22-FIXQ6gOP4vzdYdrrQJPGwGBbVYtgHFa1729vpUcxOUcGqxEvWp0f6NFdGB4kw_HuN8Mne_MkcSTAV0N6Yozb0z8c1qBsgVWfpexVjPz3C4u7jKfw5v6fE/s640/Estructura+del+Libro+de+Revelaci%25C3%25B3n.jpg










Gráfica de los Periodos de tiempo abarcados por el libro biblico Revelación (Apocalipsis). Este último libro es Basicamente la descripción de un proceso judicial, el juicio de Jehová Dios desde el capítulo 6 en adelante: 
Mas abajo aparecen los capítulos más detallados 

 

Periodos del libro de Revelacion o Apocalipsis  https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVRLa29NkvJST-x8EugEKc7f4aWQr40kqXWZyMlIEQSCqMSnu5zpDQCoNF-YszOlOlTGS5jJpnYRi1sWUAMknaNW3FW0oFR-hkQSDuWOWJZAwNhjSmsIKum5_eG1hLE2F2_r6uYuZO9ng/s640/Periodos.jpg


Apocalipsis o Revelación Capítulo 6
Para ver de donde sale la curva roja de la guerra asociada al caballo rojo ver la página Guerras





Apocalipsis o Revelación Capítulo 7





Apocalipsis o Revelación Capítulo 8 y 9






Apocalipsis o Revelación Capítulo 10 y 11 


Se seguirá completando...