Las operaciones que debe realizar el hardware son especificadas por una lista de instrucciones, llamadas programas o software.
EL software se divide en dos grandes grupos:
- software del sistema y
- software de aplicaciones.
El software del sistema es el conjunto de programas indispensables para que la máquina funcione; se denominan también programas del sistema. Estos programas son básicamente:
- Sistema operativo : DOS y WINDOWS
- Editores de texto: EDIT , PADWORD
- Compiladores / interpretes (lenguajes de programación) y
- Programas de utilitarios.
Uno de los programas mas importantes es el sistema operativo, que sirve, esencialmente, para facilitar la escritura y uso de sus propios programas.
El sistema operativo: dirige las operaciones globales de la computadora, instruye a la computadora para ejecutar otros programas y controla el almacenamiento y resuperación de archivos (programas y datos) de cintas y discos.
Gracias al sistema operativo es posible que el programador pueda introducir y grabar nuevos programas, así como instruir a la computadora para que los ejecute.
Los sistemas operativos pueden ser:
monousuarios (un solo usuario ) y
multiusuarios, o de tiempo compartido (diferentes usuarios), atendiendo al numero de usuarios, y mono tarea (una sola tarea) o multitarea (múltiples tareas) según las tareas (procesos) que puede realizar simultáneamente.
QuickBASIC corre (funciona) en el sistema operativo de disco DOS – monousuario, mono tarea – que soportan las computadoras personales PC . Ya se usan los sistemas operativos OS/2 que soportan las computadoras personales PS/2 (multitarea), y en UNIX.
Los lenguajes de programación sirven para escribir programas que permitan la comunicación usuario / máquina. Los programas especiales llamados traductores (compiladores e intérpretes) convierten las instrucciones escritas en lenguaje de programación, en instrucciones escritas en lenguaje máquina (0 y 1 bits), para que esta pueda entender.
Los programas de utilidad, facilitan el uso de la computadora.
Ejemplo: Un editor de textos permite la escritura y edición de documentos. Estos apuntes fueron escritos en un editor de textos o procesador de palabras WORD ("word proccesor").
Los programas pueden realizar tareas concretas:
Nominas de pagos
Contabilidad
Análisis estadístico,
Cálculos de producción, bases de datos, etc, etc.,
es decir, los programas que se pueden escribir en QuickBASIC se denominan programas de aplicación. A lo largo del libro se verán pequeños programas de aplicación que muestran los principios de una buena programación de computadora.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Figura 1.9. Relación entre programas de aplicación y programas del sistema,
Se debe diferenciar entre el acto de crear un programa y la acción de la computadora cuando ejecuta las instrucciones del programa.
La creación de un programa se hace inicialmente en papel y a continuación se introduce en la computadora y se convierte en lenguaje entendible por la computadora.
La Figura 1.10 muestra el proceso general de ejecución de un programa:
- Aplicación de una entrada (datos) al programa y
- Obtención de una salida (resultados).
La entrada puede tener una variedad de formas, tales como números o caracteres alfabéticos.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Figura 1,10. Acción de un programador
La salida puede también tener formas:
- datos numéricos o caracteres
- señales pare controlar equipos o robots, etc.
La ejecución de un programa requiere –generalmente– unos datos como entrada, además del propio programa, para poder producir una salida. ( Fig 1.11 )
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Figura 1.1 1. Ejecución de un programa.
1.4. LOS LENGUAJES DE PROGRAMACION
Los lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas se denominan lenguajes de programación.
Los lenguajes de programación se clasifican en tres grandes categorías:
- Maquina
- Bajo nivel
- Alto nivel.
1.4.1. Lenguaje máquina
Los !lenguajes máquina, son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la UCP, pueda entender y ejecutar el programa.
Las instrucciones en lenguaje maquina, se expresan en términos de la unidad de memoria mas pequeña, el bit (digito binario 0 o 1 ), en esencia una secuencia de bits que especifican la operación y las celdas implicadas en una operación. Una serie de instrucciones en lenguaje maquina son
0010 0000 0000 1001
1001 0001 1001 1110
Como se puede observar, estas instrucciones serán fáciles de leer por la computadora y difíciles por un programador, y viceversa. Esta razón hace difícil escribir programas en código o lenguaje a maquina y requiere buscar otro lenguaje pare comunicarse con la computadora, pero que sea mas fácil de escribir y leer por el programador.
Para evitar la tediosa tarea de escribir programas en lenguaje maquina, se han diseñado otros lenguajes de programación que facilitan la escritura y posterior ejecución de los programas.
Estos lenguajes son los de bajo y alto nivel.
1.4.2. Lenguajes de bajo nivel (ensambladores)
La programación en lenguaje maquina es difícil, por ello se necesitan lenguajes que permitan simplificar este proceso. Los lenguajes de bajo nivel han sido diseñados para ese fin.
Estos lenguajes dependen de la maquina, es decir, dependen de un conjunto de instrucciones especificas de la computadora.
Un lenguaje típico de bajo nivel es el lenguaje ensamblador. En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como nemotécnicos (abreviaturas de palabras inglesas o españolas). Así, por ejemplo, nemotécnicos típicos son:
ADD suma
MPY multiplicar
LDA cargar acumulador
SUB resta
DIV dividir
STO almacenar
Las palabras nemotécnicas son mucho más fáciles de recordar que las secuencias de dígitos 0 y 1. Una instrucción típica en ensamblador puede ser:
ADD X, Y, Z
Esta instrucción significa que se deben sumar los números almacenados
en las direcciones x, y y almacenar el resultado en la dirección z.
El programa ensamblador traducirá la instrucción a código de maquina.
Por ejemplo:
ADD se puede traducir a 1110
x se puede traducir por 1001,
y 1010,
z por 1011.
La instrucción traducida sería:
1110 1001 1010 1011
Después que un programa ha sido escrito en lenguaje ensamblador, se necesita un programa –llamado ensamblador– que lo traduzca a código máquina:
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Figura 1.12. Programa ensamblador.
1.4.3. Lenguajes de alto nivel
Los lenguajes de programación de alto nivel (Ada, BASIC, COBOL, FORTRAN, Modula-2, Pascal, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos –en general lenguaje inglés, como es el caso de QuickBASIC–, lo que facilita la escritura y la fácil compresión por el programador.
Por ejemplo, la línea siguiente es una línea de un programa QuickBASIC:
IF (x=y) AND (z=w) THEN PRINT "Esto es una prueba"
Que simbólicamente quiere decir :
si (x=y) y (z=w) entonces escribir "Esto es una prueba"
Esta línea se puede comprender fácilmente conociendo la traducción de las palabras inglesas IF (si), THEN (entonces), PRINT (escribir / imprimir), AND (y) y sin necesidad de mucha explicación.
Se pueden escribir también operaciones como: z=x+y
significa que un programa escrito en un lenguaje de alto nivel se puede escribir con poca o ninguna modificación en diferentes tipos de computadoras.
- Otra propiedad de estos lenguajes es que son independientes de la máquina, es decir , las sentencias del programa no dependen del diseño o hardware de una computadora especifica.
Los programas escritos en lenguaje de alto nivel no son entendibles directamente la máquina. Necesitan ser traducidos a instrucciones en lenguaje máquina que entiendan las computadoras.
Los programas que realizan esta traducción se llaman compiladores, y los programas escritos en un lenguaje de alto nivel se llaman programas fuentes,
El compilador traduce el programa fuente en un programa llamado programa objeto. Este programa objeto se utiliza en la fase de ejecución del programa.
Algunas computadoras especialmente microcomputadoras, utilizan unos programas similares llamados interpretes que traducen los programas.
El proceso de traducción de un programa fuente denomina interpretación o compilación, según sea el programa.
Un intérprete traduce y ejecuta una instrucción (sentencia) en código fuente, cada vez. Los programas interpretados generalmente se ejecutan mucho mas lentamente que los programas compilados; sin embargo, los intérpretes son mas fáciles de utilizar y la depuración de errores es mucho mas cómoda.
BASICA y GW-BASIC son intérpretes y QuickBASIC es un compilador. El lenguaje QuickBASIC realiza la traducción y ejecución cada vez que se ejecuta una línea.
- QuickBASIC reúne características de intérprete en cuanto facilidad de edición, ejecución y puesta a punto de programas, y de compilador por su estructura y velocidad de ejecución.
- QuickBASIC no es transportable a las versiones clásicas de BASIC como BASICA / GW-BASIC,:
–en gran reedita– a versiones estructuradas como Turbo BASIC, HP BASIC, VAX BASIC, etc.
Documento cedido por:
JORGE LUIS CASTILLO TEJEDA