| LLenguaje : Procedimientos y Control de Flujo |
| Bienvenida III Tipos de Datos |
|
Procedimientos
y Control de Flujo BASIC no tiene una biblioteca externa estándar como otros lenguajes como C. En cambio, el intérprete contiene una biblioteca incorporada de procedimientos intrínsecos. Estos procedimientos incluyen la mayoría de las herramientas que un programador necesita para aprender a programar y escribir aplicaciones sencillas, así como funciones para realizar cálculos matemáticos, manejar cadenas, entrada desde la consola, gráficos y manipulación de archivos.
Viejos dialectos de BASIC no permitían a los programadores escribir sus propios procedimientos. Los programadores en cambio debían escribir sus programas con un gran número de enunciados GOTO para hacer las derivaciones de flujo y retorno del programa. Esto podía producir un código fuente muy confuso, comúnmente conocido como Código espagueti; el cual era sumamente difícil de mantener, mucho menos por programadores ajenos al desarrollo del software. Con la inclusión posterior de enunciados GOSUB se ramificaba el programa a especies de subrutinas, sin parámetros o variables locales. Ellas proveen una forma de implementar una suerte de procedimientos y estructurar más el programa, evitando bastante la utilización de la dañina sentencia GOTO. La mayoría de las versiones de BASIC más modernas, como Microsoft QuickBASIC y BASIC PDS añadieron soporte completo para subrutinas, funciones y programación estructurada. Esta es otra área donde BASIC difiere de muchos lenguajes de programación. Sin embargo la primitiva GOSUB se ha mantenido hasta las versiones actuales, por razones compatibilidad. BASIC, como Pascal, hace una distinción entre un procedimiento que no devuelve un valor y un procedimiento que lo hace. Muchos otros lenguajes no hacen esa distinción y consideran todo como una función . Mientras que las funciones que devuelven un valor son una adición relativamente reciente a los dialectos de BASIC, muchos de los primeros sistemas soportaban la definición de funciones matemáticas en línea, con DEF FN. El Dartmouth BASIC original también soportaba funciones al estilo de Algol, así como subrutinas desde sus primeros tiempos. |