Conceptos Básicos
Conceptos Básicos
Software: Parte lógica del sistema informático que dota al equipo físico de la
capacidad para realizar cualquier tipo de tareas. De acuerdo a esta definición, el
software integraría el conjunto de programas ejecutables sobre el hardware junto
con los documentos y datos asociados a los mismos.
Software de sistemas.
Software de aplicación.
1.2 Algoritmo.
Tipos de Algoritmos
Son más fáciles de utilizar que los lenguajes máquina, pero al igual que ellos,
dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es
el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones
conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de
operaciones aritméticas son: en inglés: ADD, SUB, DIV, etc.; en español: SUM,
RES, DIV, etc.
Una instrucción típica de suma sería:
ADD M, N, P
Esta instrucción significa "sumar el contenido en la posición de memoria M al
número almacenado en la posición de memoria N y situar el resultado en la
posición de memoria P”. Evidentemente es más sencillo recordar la instrucción
anterior con un nemotécnico que su equivalente en código máquina.
0110 1001 1010 1011
Estos lenguajes son los más utilizados por los programadores. Están diseñados
para que las personas escriban y entiendan los programas de un modo mucho
más fácil que los lenguajes máquina y ensambladores. Un programa escrito en
lenguaje de alto nivel es independiente de la máquina (las instrucciones no
dependen del diseño del hardware o de una computadora en particular), por lo que
estos programas son portables o transportables. Los programas escritos en
lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificación en
diferentes tipos de computadoras.
Ventajas de los lenguajes de alto nivel
- El tiempo de formación de los programadores es relativamente corto
comparado con otros lenguajes.
- La escritura de programas se basa en reglas sintácticas similares a los
lenguajes humanos. Nombres de las instrucciones tales como READ,
WRITE, PRINT, OPEN, etc.
- Las modificaciones y puestas a punto de los programas son más fáciles.
- Reducción del coste de los programas.
- Transportabilidad.
Desventajas de los lenguajes de alto nivel
- Incremento del tiempo de puesta a punto al necesitarse diferentes
traducciones del programa fuente para conseguir el programa definitivo.
- No se aprovechan los recursos internos de la máquina que se explotan
mucho mejor en lenguajes máquina y ensambladores.
- Aumento de la ocupación de memoria.
- El tiempo de ejecución de los programas es mucho mayor.
1.4 Programa.
1.5 Programación.
La programación es un arte en que se ejercita la mente para cumplir unos
objetivos, en los cuales, aparte de nosotros -los humanos- también lo interpretan
las máquinas. La programación se basa en códigos. Un código es una serie de
instrucciones que aprovecharemos para hacer nuestros programas.
PROGRAMACIÓN MODULAR
Los lenguajes como ADA y C++ permiten que un usuario defina tipos que se
comporten casi de la misma manera que los tipos definidos por el lenguaje. Tales
tipos de datos reciben a menudo el nombre de tipos abstractos o tipos definidos
por el usuario. El paradigma de programación sobre este tipo de datos consiste
en:
El problema con la abstracción de datos es que no hay ninguna distinción entre las
propiedades generales y las particulares de un conjunto de objetos. Expresar esta
distinción y aprovecharla es lo que define a la OOP a través del concepto de
herencia. El paradigma de la programación orientada a objetos es, entonces,
En algunas áreas las posibilidades de la OOP son enormes. Sin embargo, en otras
aplicaciones, como las que usan los tipos aritméticos básicos y los cálculos
basados en ellos, se requiere únicamente la abstracción de datos y/o
programación por procedimientos, por lo que los recursos necesarios para apoyar
la OOP podrían salir sobrando.
Ejemplos
1.9 Ejecutables.
Un ejemplo de archivo ejecutable en Windows son los .EXE, o los .COM en MS-
DOS.