¿Cómo hacer un intérprete de ecuaciones matemáticas con QuickBASIC? Parte 1
¿Cómo hacer un intérprete de ecuaciones matemáticas con QuickBASIC? Parte 1

Imagen generada usando Bing Image Creator
Introducción
En nuestros días, las computadoras se usan para realizar un sinnúmero de tareas en las empresas y los hogares, sin embargo, en sus comienzos esto no fue así, en gran parte debido a su tamaño y limitaciones.
En esa época de los comienzos de la computación electrónica, esos sistemas estuvieron dedicados más bien a realizar con rapidez y precisión tediosos cálculos numéricos, como la elaboración de tablas de senos y cosenos o la creación de tablas de puntería para la artillería, para lo cual sí estaban especialmente bien dotados.
En este tutorial en varias partes, vamos a ver paso a paso y de un modo lo más resumido posible, cómo podemos hacer un intérprete o parser de ecuaciones matemáticas a partir de cero, y lo haremos utilizando uno de los lenguajes de programación más icónicos de la era de MS-DOS tal como QuickBASIC.
El intérprete de ecuaciones elaborado podría después ser usado para implementar una calculadora capaz de resolver las ecuaciones matemáticas introducidas por el usuario, o para desarrollar en QuickBASIC otros programas de la misma índole a ese comentado orientados a una actividad científica o técnica.
¿Por qué usar QuickBASIC?
El lenguaje de programación QuickBASIC, por ser una variante de BASIC, es un lenguaje de programación sencillo de comprender y utilizar hasta para las personas con poca experiencia en programación, y además de eso dispone de un editor bastante idóneo para la tarea demandada.
En adición a esto, como se ha dicho antes, QuickBASIC fue uno de los entornos de desarrollo de software más icónicos de la era de MS-DOS, uno de los lenguajes de programación más usados en su momento, en gran parte por la mencionada facilidad de uso en comparación con otras opciones de la época.
¿Qué necesitamos para llevar a cabo esta tarea?
En primer lugar, como es obvio, debemos tener por lo menos un conocimiento básico del lenguaje de programación a ser usado para abordar la actividad.
Por otro lado, vamos a necesitar de otras herramientas o software para llevar a cabo la implementación.
En mi caso particular usaré DOSBox para correr QuickBASIC 4.5 desde Windows como si estuviera corriendo en MS-DOS de antaño, no obstante, otro podría correr QuickBASIC 4.5 en una computadora real con FreeDOS o con un Windows más antiguo capaz de correr programas de 16 bits.
También es posible tener instalada una máquina virtual como VirtualBox, o utilizar QB64, si bien en este último caso no estaríamos usando un QuickBASIC clásico.
Los interesados pueden obtener QuickBASIC 4.5 usando este enlace: 🔗 QuickBASIC 4.5
Por último, también resulta obvio deberemos conocer un poco de teoría, porque si tenemos este conocimiento desde un primer momento, todo nos puede resultar mucho más sencillo a la hora de llevarlo a la práctica, y podremos conseguir los resultados esperados.
En este tutorial asumiré los lectores tienen los conocimientos básicos del lenguaje de programación QuickBASIC, y también poseen las habilidades necesarias para conseguir en Internet e instalar software como DOSBox u otros de su gusto, y por tanto me limitaré a abordar un poco de la teoría y a realizar la implementación del intérprete de ecuaciones basándonos en esta.
Un poco de teoría
Los lenguajes de programación son utilizados para escribir los programas a ser ejecutados por una computadora para la solución de un problema.
El programa como tal consiste en una serie de instrucciones precisas escritas con un lenguaje de programación determinado que permiten a una computadora resolver paso a paso un problema; a ese conjunto de pasos ordenados para llegar a la solución de un problema determinado se le suele denominar algoritmo.
En el caso de un parser para ecuaciones matemáticas podemos verlo también como un intérprete de un subconjunto de un lenguaje de programación de alto nivel más general, dado todo lenguaje de programación más general dispondrá también de esas mismas capacidades para representar y resolver ecuaciones matemáticas, pero en un intérprete de ecuaciones matemáticas no se necesita de una semántica complicada ni es necesario tampoco implementar estructuras de control, etc.
Por su parte, la ecuación matemática como tal vendría siendo el programa a ser interpretado, la representación simbólica del algoritmo capaz de encontrar la solución siguiendo los pasos descritos en ella con un conjunto de caracteres para representar los distintos términos de la ecuación y las operaciones a realizar sobre ellos.
Los lenguajes de programación de alto nivel están basados en una gramática específica del lenguaje la cual sirve para describirlo.
Por eso, para implementar un intérprete de ecuaciones, como para implementar un lenguaje de programación de propósito general, es conveniente establecer primero la gramática del respectivo lenguaje, si bien en el caso de un intérprete de ecuaciones esta gramática se limitará a la gramática para la definición de una expresión matemática válida, en lugar de ser la gramática para todo un lenguaje formal.
La representación de la gramática de un lenguaje de programación
La notación comúnmente utilizada para expresar o describir una gramática de un lenguaje de programación es conocida como BNF (Backus-Naur Form) y consiste en una serie de símbolos por medio de los cuales se denotan los símbolos válidos del lenguaje y se describen las reglas sintácticas válidas.
Esta notación es llamada de esa manera por haber sido inventada por John W. Backus y después modificada por Peter Naur, el primero de ellos creador del lenguaje de programación FORTRAN (primer lenguaje de alto nivel conocido) junto a un grupo de programadores.
Por tanto para desarrollar un intérprete de ecuaciones matemáticas es conveniente primeramente definir la gramática de una expresión matemática utilizando esta representación.
Pero esto lo haremos a partir de la siguiente entrega de este tutorial, donde llevaremos a cabo la exposición de la gramática de una expresión matemática, y a partir de ella comenzaremos a implementar el intérprete de ecuaciones matemáticas usando código de programación en QuickBASIC.
¿Qué te ha parecido esta primera parte?
Tú participación aportando ideas, dando sugerencias, o expresando tu crítica constructiva a través de tus comentarios, es importante y fundamental para permitirnos crecer y crear contenidos con cada vez más calidad.
También es importante tu voto si crees vale la pena concederlo.
¡Nos vemos en la siguiente parte de este artículo tutorial!