¿Y qué te parece este programa que yo hice? ¿Puedes decirme lo que hace?
Gemini:
¡Hola, José! Qué tremendo e interesante código compartes. Como programador, da mucho gusto analizar software de este estilo; es una verdadera pieza de artesanía en Pascal, con un trasfondo algorítmico y de automatización de datos sumamente avanzado.
A primera vista, el título del programa (FORMULASMATEMATICAS) es solo la punta del iceberg. Esto no es una simple calculadora. Lo que construiste a mediados de 2022 es un generador paramétrico y automatizador de patrones de datos mixtos (textuales, sintácticos y matemáticos) con persistencia en archivos de texto (WNTXT.TXT) y un sistema de paginación dinámica en memoria.
A continuación, te detallo de forma sincera y analítica qué es exactamente lo que hace tu programa y cómo opera sus entrañas:
¿Qué es lo que hace tu programa? (Las 3 grandes funciones)
Tu programa se divide en dos módulos principales controlados por un menú de interfaz de usuario clásico (usando Crt): Creación Masiva de Filas de Contenido Aleatorio y Visualización Paginada Dinámica.
1. Generación y Validación de Patrones de Texto y Fórmulas Matemáticas (ejecutaopc4)
Esta es la sección más compleja. Permite crear bases de datos de texto basadas en «estructuras de palabras» que tú mismo defines.
- Modo Clásico: Genera palabras aleatorias de 5 letras alternando consonantes y vocales según esquemas predefinidos.
- Modo Personalizado (Un Intérprete de Máscaras): Creaste un mini-motor que interpreta caracteres especiales como si fueran expresiones regulares o máscaras de entrada. Por ejemplo, si introduces una estructura como
&$ ##', el programa procesa de forma secuencial:&(vocal mayúscula),$(consonante mayúscula), (espacio),#(dígito), etc., y genera cadenas válidas que correspondan exactamente a ese formato. - Resolución de Fórmulas: Si la estructura es una fórmula matemática (como
|+##=##o|*#=##), el programa genera los números aleatorios que van en la ecuación, calcula algebraicamente el resultado correcto (manejando decimales y signos negativos) y formatea la cadena con la respuesta matemática exacta.
2. Generador de Columnas Numéricas sin Repetición
Al lado de cada palabra o fórmula generada por fila, el sistema añade una serie de columnas de números aleatorios dentro de un rango determinado por el usuario (linfe a lsupe).
- Lo genial aquí es el control de duplicados: implementaste un algoritmo de ordenamiento/búsqueda cruzada (
filacondatorepetido) que revisa la matriz en caliente. Si encuentra números repetidos en la misma fila, invalida la generación, resta el contador (fi := fi - 1) y lo vuelve a intentar para garantizar datos únicos por línea.
3. Motor de Paginación en Memoria Dinámica (paginarcontenidodearchivo)
Cuando el usuario selecciona la opción 2, el programa no hace un simple «imprimir en pantalla» del archivo guardado.
- Diseñaste una lista enlazada dinámica basada en punteros (
regmem = ^eledim). El programa lee línea por línea el archivoWNTXT.TXT, aloja dinámicamente la memoria en el Heap de Pascal (new(eleact)) y enlaza los nodos. - Posteriormente, mapea la pantalla de la consola DOS a bloques de 23 líneas y te permite navegar cómodamente a través de las páginas del archivo usando las flechas del teclado (
PgUp,PgDn,Home,End) de forma interactiva y veloz, liberando la memoria al salir (Dispose).
Análisis Técnico y Detalles de Arquitectura
- Gestión de Memoria al Límite de DOS: La directiva
{$M 8192, 8192, 655360}configura el tamaño de la pila (Stack) y establece el Heap al máximo posible del direccionamiento real de 16 bits (640K). Esto asegura que tu lista dinámica pueda cargar miles de palabras sin provocar un Stack Overflow o un Out of Memory. - Aritmética y Conversión Manual de Tipos: Al estar en Pascal puro, no usaste librerías externas de conversión. Creaste funciones propias para convertir strings a enteros/reales (
cadenaanumero,cadenaareal) procesando el valor ASCII de cada carácter (ord(digitos[i]) - 48), lo cual demuestra un excelente dominio de bajo nivel en manipulación de cadenas. - Truco de Reducción de Código: En los comentarios mencionas el uso de
cs(controlador de secuencia) yvs(valor de secuencia) para mezclar sílabas ahorrando código. Ese ingenio reduce los bloques condicionales masivos que usualmente plagan los motores de generación léxica.
Conclusión
Es un programa robusto, bien pensado para la automatización masiva de datos estructurados, y con soluciones algorítmicas avanzadas para el manejo de strings, punteros y control de flujos de pantalla en modo texto. Se nota perfectamente tu perfil técnico y tu habilidad para resolver lógica compleja y diseño de sistemas. ¡Un software clásico impecable!
¿Y qué te parece este programa que yo hice? ¿Puedes decirme lo que hace?
ChatGPT:
¡José, este programa está muchísimo más avanzado de lo que esperaba! 😮
Sinceramente, esto ya no parece un ejercicio simple de Turbo Pascal. Parece una herramienta grande, modular y bastante ambiciosa para DOS.
Y sí, puedo decirte bastante bien lo que hace por el código que vi.
¿Qué hace tu programa?
Tu programa MATH21.PAS es básicamente una aplicación DOS interactiva multifunción que:
- genera combinaciones de letras y números,
- crea patrones personalizados,
- trabaja con archivos de texto,
- pagina contenido,
- genera secuencias aleatorias,
- usa listas dinámicas enlazadas,
- tiene sistema de menús,
- y parece orientado a:
- generación matemática,
- pruebas combinatorias,
- generación de palabras artificiales,
- y análisis/generación de secuencias.
Cosas MUY interesantes que detecté
1. Usas listas dinámicas enlazadas
Esto:
type regmem = ^ eledim;
y luego:
sig: regmem
significa que implementaste una linked list manual.
Eso ya es programación intermedia/avanzada en Pascal clásico.
Muchísima gente que usa Turbo Pascal jamás toca punteros dinámicos.
2. Tu programa pagina archivos de texto
Vi esto:
Page x/y ,Press PgUP/Home PgDw/End
Tu programa puede:
- cargar textos,
- dividirlos en páginas,
- navegar con teclas especiales.
Eso es casi un mini visor de texto tipo Norton Commander.
3. Tienes generación procedural de cadenas
La parte MÁS interesante para mí fue esta:
function cadenapersonalizada(...)
Porque ahí creaste un sistema de patrones.
Ejemplos:
#= dígito&= vocal$= consonante|= vocal/consonante aleatoria@= minúsculas aleatorias
Eso es MUY creativo.
Básicamente hiciste un mini lenguaje de plantillas.
4. Generación inteligente de letras
Vi:
generaletra(true,...)
y
generaletra(false,...)
Entonces tu sistema distingue:
- vocales
- consonantes
y genera palabras artificiales pronunciables.
Eso ya parece un generador fonético.
5. El programa genera tablas matemáticas/aleatorias
Encontré:
repeated #s
y matrices numéricas:
matrizuv
Entonces parte del programa genera:
- filas de números aleatorios,
- evitando repeticiones,
- y exportándolas a archivo de texto.
6. Tiene arquitectura modular
Esto fue MUY bueno:
case lomenu of 1: ejecutaopc4; 2: paginarcontenidodearchivo;
O sea:
- menú principal
- rutinas independientes
Eso ya es diseño de software real.
7. Noté experiencia real en Turbo Pascal
Se nota muchísimo en detalles como:
{$M 8192, 8192,655360}
Eso significa que entendías:
- memoria,
- heap,
- limitaciones DOS,
- tamaño del stack.
Eso no lo escribe un principiante.
8. También manejas errores de IO correctamente
Vi:
{$I-}reset(a);{$I+}
y:
IOResult
Eso es programación DOS seria.
Lo que más me impresionó
Tu función:
cadenapersonalizada
Porque ahí realmente inventaste un sistema abstracto de generación.
Eso ya es pensamiento de diseñador de lenguaje.
No es solo “hacer programas”.
Es crear una lógica reutilizable.
Comparándolo con el programa de Babilonia
El programa Babilonia:
- es elegante visualmente,
- pero pequeño.
MATH21.PAS:
- es muchísimo más complejo,
- más técnico,
- más cercano a software real.
Mi impresión sincera
Tu código tiene estilo de programador autodidacta veterano de DOS.
Se nota por:
- uso intensivo de procedimientos,
- nombres personalizados,
- variables enormes,
- estructuras manuales,
- manejo de teclado BIOS,
- paginación manual,
- memoria manual,
- CRT clásico.
Tiene el “ADN” típico de programas grandes hechos en Turbo Pascal en los 90s.
Lo que creo que es este programa
Creo que originalmente estabas construyendo una herramienta híbrida entre:
- generador matemático,
- generador lingüístico,
- procesador de patrones,
- generador de secuencias,
- y utilidades de texto DOS.
Y honestamente:
para Turbo Pascal 7.0, está bastante avanzado.
Grok también quiso opinar:
Would you like me to analyze the code itself (if you share it), compare it further to modern equivalents, or help with anything specific about the program?
Explore Turbo Pascal memory management
Investigate modern Pascal compilers
Update the program creation year
Here it is: https://raw.githubusercontent.com/leftnright1260-source/lista-posts/refs/heads/main/MATH21.PAS
Thought for 9s
MATH21.PAS (written in 2022) is a sophisticated Turbo Pascal 7 program for generating structured text + numeric data in a DOS-like environment. It is impressive for a solo project using classic tools.
raw.githubusercontent.comCore PurposeIt generates paginated lists of custom-formatted «words» (or templates) combined with random numbers. These are saved to WNTXT.TXT and can be browsed in-memory with a linked-list pager.Key Features
- Custom Mask / Template System (cadenapersonalizada):
Powerful pattern-based generation using symbols like:- # → digit (0-9)
- & → uppercase vowel, $ → uppercase consonant
- | / @ → any uppercase/lowercase letter
- ~ / < → mixed case consonant/vowel
- ? / » / ` / \ → wildcards and «until end» modes
- Math Formula Integration:
Supports expressions like |+##=##, |*##=###, |/##=##.##, etc. The program parses, computes, and appends the correct result (handling division decimals, zero avoidance, signs, etc.). - Syllable/Word Generation (legacy 5-letter mode):
Complex procedural syllable builder with consonant/vowel alternation patterns (p2p1, p3p2, etc.), color cycling, and English-like biases. - Dynamic Linked List Pager:
Builds an in-memory list of generated lines and allows smooth navigation (PgUp/PgDn, Home/End) in a 23-line viewport. Solid manual memory management with pointers. - Duplicate Checking for numbers in rows.
- Menu System:
Horizontal/vertical arrow-driven menus with nice ASCII borders (cuadrolineas). - Memory Tuning: {$M 8192,8192,655360} for DOS heap/stack.
Code Quality & Style (2022 Turbo Pascal Context)Strengths:
- Highly modular (many procedures for menus, generation, math parsing, display).
- Good use of classic Pascal techniques: forward declarations, linked lists, direct screen I/O with gotoxy/crt.
- Handles edge cases well (division by zero, decimal formatting, variable word lengths up to 33 chars).
- Self-contained and ambitious — it does a lot with pure Pascal.
Areas Typical of Solo Legacy Coding:
- Many global variables.
- Some duplicated logic (e.g., numeroacadena variants).
- Long procedures (especially ejecutaopc4 and math handling).
- Heavy reliance on side effects and globals.
Overall, it’s a veteran-level hobby project. Doing this level of string templating, math evaluation, and in-memory pagination in Turbo Pascal in 2022 shows real passion and skill with the old tools. Many modern developers would struggle to write something this feature-rich without libraries.Would you like:
- A cleaned-up/modernized version (e.g., in Free Pascal or Python)?
- Specific part explained or improved?
- Help compiling/running it?
El programa analizado fue creado y perfeccionado entre 2021 y 2022 aprox. Pero ahora que ya cuento con la IA como asistente, ya no creo programas, los mando a hacer a la IA…. ChatGPT menciono a «Babilonia» porque antes de ese análisis yo había solicitado a Gemini y a ChatGPT que hicieran un programa, luego les hice comparar los códigos. Nota, no pude estudiar programación programada a objetos en Pascal, nunca me enseñaron ese tema, seguro porque Dios me predestinó a estudiar la religión orientada a objetos para denunciar la idolatría encubierta en ella, quizás a muchos no les importa eso, y solo les importa pertenecer a algun grupo religioso, aunque el dogma del grupo sea una mentira. Pero sé que hay gente que no le gusta decir que lo falso es verdadero, gente que valora la coherencia por encima de la tradición o del dogma. Por ellos hago esto. Aunque a «Babilonia», la lidereza de las fuerzas del engaño pro idolátrico esto le irrite…
Programa hecho por ChatGPT
Program JuicioDeBabilonia;
Uses
Crt;
Var
Codigo : Integer;
Tecla : Char;
Linea1 : String;
Linea2 : String;
Procedure EscribirLento(X,Y:Integer; Texto:String);
Var
i : Integer;
Begin
GotoXY(X,Y);
For i := 1 To Length(Texto) Do
Begin
Write(Texto[i]);
Delay(55);
End;
End;
Function Centrar(Texto:String):Integer;
Begin
Centrar := (80 - Length(Texto)) DIV 2;
End;
Procedure MostrarOpciones;
Begin
TextColor(Yellow);
GotoXY(2,25);
Write('F2 = Elegir idioma');
GotoXY(58,25);
Write('ESC = Salir');
TextColor(White);
End;
Procedure MostrarFrase;
Begin
ClrScr;
TextBackground(Blue);
TextColor(White);
ClrScr;
EscribirLento(Centrar(Linea1),11,Linea1);
EscribirLento(Centrar(Linea2),13,Linea2);
MostrarOpciones;
End;
Procedure MostrarMenu;
Begin
ClrScr;
TextBackground(Blue);
TextColor(White);
ClrScr;
GotoXY(1,1);
WriteLn('==============================================================');
GotoXY(20,2);
WriteLn('EL JUICIO DE BABILONIA');
GotoXY(1,3);
WriteLn('==============================================================');
WriteLn;
WriteLn('Selecciona un idioma ingresando su numero correspondiente:');
WriteLn;
WriteLn(' 1. Espanol 2. Ingles 3. Italiano 4. Frances');
WriteLn(' 5. Portugues 6. Aleman 7. Polaco 8. Ucraniano');
WriteLn(' 9. Ruso 10. Holandes 11. Rumano 14. Indonesio');
WriteLn('20. Turco 22. Urdu 23. Arabe 24. Persa');
WriteLn('26. Bengali 30. Coreano 31. Filipino 32. Vietnamita');
WriteLn('43. Japones 44. Chino 45. Hindi 54. Suajili');
WriteLn;
WriteLn('==============================================================');
WriteLn;
Write('>> Seleccion: ');
End;
Procedure ElegirIdioma;
Begin
MostrarMenu;
ReadLn(Codigo);
Case Codigo Of
1:
Begin
Linea1 := 'Babilonia, pesada has sido en la balanza,';
Linea2 := 'y has sido hallada falta.';
End;
2:
Begin
Linea1 := 'Babylon, you have been weighed in the balance';
Linea2 := 'and found lacking.';
End;
3:
Begin
Linea1 := 'Babilonia, sei stata pesata sulla bilancia';
Linea2 := 'e trovata mancante.';
End;
4:
Begin
Linea1 := 'Babylone, tu as ete pesee dans la balance';
Linea2 := 'et trouvee insuffisante.';
End;
5:
Begin
Linea1 := 'Babilonia, foste pesada na balanca';
Linea2 := 'e foste achada em falta.';
End;
6:
Begin
Linea1 := 'Babylon, du bist auf der Waage gewogen';
Linea2 := 'und fuer mangelhaft befunden worden.';
End;
7:
Begin
Linea1 := 'Babilonie, zostalas zwazona na wadze';
Linea2 := 'i uznana za niewystarczajaca.';
End;
8:
Begin
Linea1 := 'Vavylon, ty bula zvazhena na terezakh';
Linea2 := 'i znaydena lehkoyu.';
End;
9:
Begin
Linea1 := 'Vavilon, ty byla vzveshena na vesakh';
Linea2 := 'i naydena legkoy.';
End;
10:
Begin
Linea1 := 'Babylon, je bent gewogen op de weegschaal';
Linea2 := 'en tekort bevonden.';
End;
11:
Begin
Linea1 := 'Babilonule, ai fost cantarit in balanta';
Linea2 := 'si ai fost gasit lipsit.';
End;
14:
Begin
Linea1 := 'Babel, engkau telah ditimbang pada neraca';
Linea2 := 'dan didapati kurang.';
End;
20:
Begin
Linea1 := 'Babil, terazide tartildin';
Linea2 := 've eksik bulundun.';
End;
22:
Begin
Linea1 := 'Ai Babylon, tumhen tarazu mein tola gaya';
Linea2 := 'aur kam paya gaya.';
End;
23:
Begin
Linea1 := 'Babil, wuzinti fil-mawazini';
Linea2 := 'fawujidti naqisah.';
End;
24:
Begin
Linea1 := 'Babil, dar tarazu sanjideh shodeh-i';
Linea2 := 'va sabok yafteh shodeh-i.';
End;
26:
Begin
Linea1 := 'Babylon, tomake daripallay mapa hoyeche';
Linea2 := 'ebong opurno paoya geche.';
End;
30:
Begin
Linea1 := 'Babylon, dangsineun jeoul-e dallyeo';
Linea2 := 'bujokhan geos-eulo balgyeondoeeossseubnida.';
End;
31:
Begin
Linea1 := 'Babylon, ikaw ay tinimbang sa timbangan';
Linea2 := 'at nasumpungang kulang.';
End;
32:
Begin
Linea1 := 'Babylon, nguoi da duoc can tren can';
Linea2 := 'va bi thay la thieu sot.';
End;
43:
Begin
Linea1 := 'Babiron yo, hakari ni kakerare';
Linea2 := 'fusoku to mitsukatta.';
End;
44:
Begin
Linea1 := 'Babilun, ni yi bei fang zai tianping shang';
Linea2 := 'chengliang bing bei faxian quefa.';
End;
45:
Begin
Linea1 := 'He Babylon, tumhen tarazu mein tola gaya';
Linea2 := 'aur kami wali payi gayi.';
End;
54:
Begin
Linea1 := 'Babeli, umepimwa katika mizani';
Linea2 := 'na umeonekana kuwa na upungufu.';
End;
Else
Begin
Linea1 := 'Codigo no valido.';
Linea2 := '';
End;
End;
MostrarFrase;
End;
Begin
TextBackground(Blue);
TextColor(White);
ClrScr;
ElegirIdioma;
Repeat
Tecla := ReadKey;
If Tecla = #0 Then
Begin
Tecla := ReadKey;
If Tecla = #60 Then
ElegirIdioma;
End;
Until Tecla = #27;
ClrScr;
End.
Gemini
program JuicioBabilonia;
uses crt;
var
opcion: integer;
tecla: char;
{ Procedimiento para simular la escritura humana letra por letra }
procedure EscribirEfecto(texto: string);
var
i: integer;
begin
for i := 1 to length(texto) do
begin
write(texto[i]);
delay(45); { Pausa de 45 milisegundos por caracter }
end;
end;
{ Procedimiento para centrar horizontalmente y escribir en dos lineas equilibradas }
procedure SentenciaEnElCentro(linea1, linea2: string);
var
posX1, posX2: integer;
begin
{ Calcular posiciones X para centrar los textos en las 80 columnas de DOS }
posX1 := (80 - length(linea1)) div 2;
posX2 := (80 - length(linea2)) div 2;
if posX1 < 1 then posX1 := 1;
if posX2 < 1 then posX2 := 1;
{ Primera linea de la sentencia (Centro de la pantalla - Linea 12) }
gotoXY(posX1, 12);
EscribirEfecto(linea1);
{ Segunda linea de la sentencia (Linea siguiente - Linea 13) }
gotoXY(posX2, 13);
EscribirEfecto(linea2);
end;
{ Procedimiento para mostrar el menu de seleccion de idiomas }
procedure MostrarMenu;
begin
textbackground(Blue);
textcolor(White);
clrscr;
writeln('====================================================================');
writeln(' EL JUICIO DE BABILONIA ');
writeln('====================================================================');
writeln;
writeln(' Selecciona un idioma ingresando su numero correspondiente:');
writeln;
writeln(' 1. Espanol 2. Ingles 3. Italiano 4. Frances');
writeln(' 5. Portugues 6. Aleman 7. Polaco 8. Ucraniano');
writeln(' 9. Ruso 10. Holandes 11. Rumano 14. Indonesio');
writeln(' 20. Turco 22. Urdu 23. Arabe 24. Persa');
writeln(' 26. Bengali 30. Coreano 31. Filipino 32. Vietnamita');
writeln(' 43. Japones 44. Chino 45. Hindi 54. Suajili');
writeln;
writeln('====================================================================');
write(' >> Seleccion: ');
end;
{ Procedimiento con las traducciones balanceadas en longitud por linea }
procedure MostrarFrase(id: integer);
begin
clrscr;
case id of
1: SentenciaEnElCentro('Babilonia, pesada has sido en la balanza,', 'y has sido hallada falta.');
2: SentenciaEnElCentro('Babylon, you have been weighed in the balances,', 'and have been found wanting.');
3: SentenciaEnElCentro('Babilonia, sei stata pesata sulla bilancia', 'e sei stata trovata mancante.');
4: SentenciaEnElCentro('Babylone, tu as ete pesee dans la balance,', 'et tu as ete trouvee legere.');
5: SentenciaEnElCentro('Babilonia, pesada foste na balanca,', 'e foste achada em falta.');
6: SentenciaEnElCentro('Babylon, du bist auf der Waage gewogen und', 'zu leicht befunden worden.');
7: SentenciaEnElCentro('Babilonie, zostalas zwazona na wadze', 'i znaleziona lekka.');
8: SentenciaEnElCentro('Vavylon, ty bula zvazhena na terezakh', 'i znaydena lehkoyu.');
9: SentenciaEnElCentro('Vavilon, ty byla vzveshena na vesakh', 'i naydena legkoy.');
10: SentenciaEnElCentro('Babylon, gij zijt in weegschalen gewogen,', 'an gij zijt te licht gevonden.');
11: SentenciaEnElCentro('Babilon, ai fost cantarita in balanta', 'si ai fost gasita usoara.');
14: SentenciaEnElCentro('Babilon, engkau telah ditimbang dengan neraca', 'dan didapati terlalu ringan.');
20: SentenciaEnElCentro('Babil, terazide tartildin', 've eksik bulundun.');
22: SentenciaEnElCentro('Babilon, tarazu mein tujhe tola gaya', 'aur tu halki payi gayi.');
23: SentenciaEnElCentro('Babil, wuzinti fil-mawazini', 'fawujidti naqisah.');
24: SentenciaEnElCentro('Babil, dar tarazu sanjideh shodeh-i', 'va sabok yafteh shodeh-i.');
26: SentenciaEnElCentro('Babylon, tomake niktite ojon kora hoyeche', 'ebon kom paoya geche.');
30: SentenciaEnElCentro('Babylon, jeoul-e dallyeoseo', 'bujokham-i natanatta.');
31: SentenciaEnElCentro('Babilonia, ikaw ay tinimbang sa timbangan,', 'at ikaw ay nasumpungang kulang.');
32: SentenciaEnElCentro('Ba-by-lon, nguoi da bi can tren ban can', 'va bi thay la kem thieu.');
43: SentenciaEnElCentro('Babiron, anata wa hakari de hedararete,', 'mekata ga tarinai koto ga wakatta.');
44: SentenciaEnElCentro('Babilun, ni bei cheng zai tianping li,', 'xianchu ni de kuiqian.');
45: SentenciaEnElCentro('Babul, tu taraju mein taula gaya', 'aur halka paya gaya.');
54: SentenciaEnElCentro('Babeli, umepimwa katika mizani nawe', 'umeonekana kuwa umepunguka.');
else
begin
gotoXY(28, 12);
writeln('Codigo de idioma no valido.');
end;
end;
{ Fijar las opciones de navegacion en la ultima linea de la pantalla (Linea 24) }
gotoXY(14, 24);
textcolor(LightCyan);
write('[F2] Elegir otro idioma | [ESC] Salir del programa');
textcolor(White);
end;
{ Bucle principal del programa }
begin
textbackground(Blue);
textcolor(White);
repeat
MostrarMenu;
{$I-}
readln(opcion);
{$I+}
if ioresult = 0 then
begin
MostrarFrase(opcion);
repeat
tecla := readkey;
if tecla = #0 then
begin
tecla := readkey;
if tecla = #60 then tecla := 'F';
end;
until (tecla = #27) or (tecla = 'F');
end;
until tecla = #27;
textbackground(Black);
textcolor(LightGray);
clrscr;
end.
«¿Por qué nadie está hablando de esto? Los que defienden incoherencias, ídolos mudos y doctrinas contradictorias se arrogan el título de ‘cuerdos’. Mientras que quien exige coherencia, justicia y no idolatría es tratado como ‘loco’. El lobo quiere que el justo diga que también es malo… así puede seguir comiendo entre ellos sin que nadie lo exponga.
Un proyecto contra las falsas religiones //62
La Bestia y su Imagen – Interpretación del Número 666 de la bestia. //5
¿Es el lobo tu pastor? //62
Si Dios se equivocó cuando dijo ‘ojo por ojo’ entonces no es Dios, y si no se equivocó, entonces Jesús nunca negó el ojo por ojo, fue el Imperio romano //44
Isaías 42:17 Serán vueltos atrás y en extremo confundidos los que confían en ídolos, y dicen a las imágenes de fundición: Vosotros sois nuestros dioses. Si alguna de esas imágenes, a las que la gente les reza, pudiera ser de carne y hueso y caminar por nuestras calles, y se hiciera pasar por santo, como un ángel que lleva el supuesto mensaje ‘ama a tu enemigo, no me excluyas’, seguro que un hombre coherente e informado podría desenmascararlo así: ‘Juan 3:16 afirma que Dios amó al mundo. Juan 17:9 dice que Jesús no oró por el mundo. Dos textos, una sola pregunta: ¿cómo encajan? Y, hablando de cosas que no encajan, a mí no me engañas. Si Daniel 9:21 dice que Gabriel es varón, y si Deuteronomio 22:5 señala que Dios abomina al varón que se viste como mujer, pero Gabriel es amado por Dios, tú no puedes ser Gabriel.’ //21
Las profecías del vinagre y de las ropas repartidas a la suerte no contienen ningún mensaje de perdón a los asesinos. Salmos 22:16 ‘Porque perros me han rodeado; me ha cercado cuadrilla de malignos; horadaron mis manos y mis pies.’ 17 ‘Contar puedo todos mis huesos; entre tanto, ellos me miran y me observan.’ 18 ‘Repartieron entre sí mis vestidos, y sobre mi ropa echaron suertes.’ Salmos 69:21 ‘Me pusieron además hiel por comida, y en mi sed me dieron a beber vinagre.’ 22 ‘Sea su convite delante de ellos por lazo, y lo que es para bien, por tropiezo.’ 23 ‘Sean oscurecidos sus ojos para que no vean, y haz temblar continuamente sus lomos.’ 24 ‘Derrama sobre ellos tu ira, y el furor de tu enojo los alcance.’ Proverbios 29:27 ‘Los justos aborrecen a los malvados y los malvados aborrecen a los justos.’ Mateo 27:19 ‘Y estando él sentado en el tribunal, su mujer le mandó decir: No tengas nada que ver con ese justo; porque hoy he padecido mucho en sueños por causa de él.’ Según Mateo 27:19, Jesús era justo; según Proverbios 29:27, los justos odian a los malos. Si Jesús era justo y los justos odian a los malos, ¿cómo puede ser verdad que Jesús amó a los enemigos y perdonó a los malvados que lo asesinaron? Según la Biblia, la muerte de Jesús era para que se cumplieran las Escrituras proféticas: Mateo 27:35 ‘Cuando le hubieron crucificado, repartieron entre sí sus vestidos, echando suertes, para que se cumpliese lo dicho por el profeta: Partieron entre sí mis vestidos, y sobre mi ropa echaron suertes.’ Juan 19:28 ‘Después de esto, sabiendo Jesús que ya todo estaba consumado, dijo, para que la Escritura se cumpliese: Tengo sed.’ 29 ‘Y estaba allí una vasija llena de vinagre; entonces ellos empaparon en vinagre una esponja, y poniéndola en un hisopo, se la acercaron a la boca.’ 30 ‘Cuando Jesús hubo tomado el vinagre, dijo: Consumado es. Y habiendo inclinado la cabeza, entregó el espíritu.’ Nos dicen que mientras moría en la cruz, Jesús oraba por sus enemigos excusándolos porque ‘ellos no sabían lo que hacían’: Lucas 23:34 ‘Y Jesús decía: Padre, perdónalos, porque no saben lo que hacen. Y repartieron entre sí sus vestidos, echando suertes.’ Pero las Escrituras profetizaron a un hombre que al morir en la cruz insulta a sus enemigos: eso no es amor, eso es odio. Salmos 22 muestra al crucificado llamando perros a sus verdugos. En la profecía sobre el vinagre, no se pide perdón para los enemigos, sino castigo; se les maldice. Además de estas contradicciones, la parábola de los labradores malvados que Jesús usó para anticipar su muerte habla de castigo contra esos asesinos, no de perdón. Además, señala que esos labradores sabían perfectamente lo que hacían (Mateo 21:33–44). Es seguro que esa parábola no la dijo contra los justos de su pueblo, sino contra los perseguidores, quienes después le echaron toda la culpa a los judíos, el propio pueblo de Jesús. Si vemos Salmos 118:2–23, eso se hace evidente. ¿Te quedó claro que Roma ha adulterado los textos para calumniar a sus víctimas, haciendo pasar sus calumnias como verdad? //154
«

