ALGORITMOS y PROGRAMAS Haz clic aquí si quieres ver el tema completo
El lenguaje máquina
El lenguaje ensamblador
Lenguajes de alto nivel
Lenguajes de cuarta generación
Lenguajes orientados a objetos
CREACIÓN DE UN PROGRAMA
Análisis del problema
Búsqueda del algoritmo
Representación gráfica de los algoritmos
Codificación del programa
Compilación del programa
Montaje o linkado
Fase de pruebas
Fase de explotación y mantenimiento
ENTORNO DE PROGRAMACIÓN DE BORLAND TURBO C++
Escritura del programa
Obtención del programa ejecutable
1º Compilación del fichero
2º Montaje del fichero.
3º Ejecución del programa
Corrección de errores
CÓDIGO FUENTE y CÓDIGO OBJETO
ALGORITMOS Y PROGRAMAS
La palabra programa resulta muy cercana y familiar; se puede relacionar con un programa de televisión, con un programa político electoral, con la programación de películas en un cine, con una programación de horas de estudio, etc.
Al fijarnos en los ejemplos anteriores, vemos que todos ellos tienen algo en común: intentan realizar una determinada actividad de un modo ordenado. Cuando se especifican y determinan los pasos que se deben dar, así como el orden en que han de realizarse para poder llevar a cabo cualquier actividad, estamos especificando lo que se define, desde el punto de vista informático, como algoritmo.
Supongamos que queremos preparar la cena y decidimos hacer una tortilla a la francesa. Para elaborarla, necesitamos una serie de ingredientes o utensilios (datos): una sartén, un plato hondo, un tenedor, una cuchara sopera í de aceite de oliva, dos huevos y una pizca de sal.
Los pasos que se deben seguir para prepararla constituirían su algoritmo:
1.- Cascar los dos huevos en el plato hondo.
2.- Añadirles la sal a gusto.
3.- Remover los huevos enérgicamente con el tenedor hasta que queden perfectamente batidos
4.-. Encender el fuego de la cocina. :
5.- Echar el aceite de oliva en la sartén.
5.- Poner la sartén con el aceite a calentar.
7. Verter, cuando el aceite esté caliente, el contenido del plato hondo en la sartén.
8.- Esperar unos segundos mientras se fríe la base de los huevos batidos.
9.- Doblar al centro la base de los huevos batidos.
10.- Esperar unos segundos y volver a doblarla sobre sí misma.
11.- Aplastar ligeramente con el tenedor para compactar la tortilla.
12.-. Esperar unos segundos hasta que se termine de freír.
13.- Sacar la tortilla de la sartén y servir.
Se puede definir un algoritmo como la sucesión de pasos que se deben realizar desde que se plantea un problema hasta que éste queda perfecta- mente resuelto.
Un programa es similar aun algoritmo; la gran diferencia es que los pasos t que permiten resolver el problema deben escribirse en un determinado lenguaje de programación para que el ordenador pueda ejecutarlos y encontrar así la solución.
LENGUAJES DE PROGRAMACIÓN
La programación es la rama de la informática que permite crear programas , propios para resolver distintos problemas. Para ello es necesario utilizar un F software especial, denominado, genéricamente, lenguajes de programación. .
Existen distintos criterios para clasificar los lenguajes de programación; uno de ellos permite dividirlos en cuatro grandes grupos:
Lenguajes de bajo nivel.
Lenguajes de alto nivel.
Lenguajes de cuarta generación.
Lenguajes orientados a objetos
Lenguajes de bajo nivel
Los principales lenguajes de bajo nivel son el lenguaje máquina y el lenguaje ensamblador.
El lenguaje máquina
Este es el único lenguaje que entiende el ordenador, ya que utiliza el alfabeto binario, es decir, O y 1.Fue el primer lenguaje que se empleó en la programación de ordenadores, pero dejó de utilizarse, ya que era muy frecuente cometer errores y resultaba difícil memorizar las distintas instrucciones.
Hay que resaltar que el lenguaje máquina no es portable; es decir, un mismo programa no puede ser utilizado en ordenadores de características diferentes.
El lenguaje ensamblador
El lenguaje ensamblador fue el primer intento de sustituir el lenguaje máquina por otro más parecido a los que utilizan las personas. En este lenguaje, cada instrucción está formada por un conjunto de hasta cuatro caracteres más los operadores, lo cual resulta más sencillo de recordar que una cadena de ceros y unos (bits); además, se disminuye la probabilidad de cometer errores durante su escritura.
Debido a que utiliza instrucciones, el lenguaje ensamblador necesita un compilador, es decir, un programa que traduzca las instrucciones escritas al lenguaje máquina, único lenguaje que el ordenador puede entender.
Lenguajes de alto nivel
Estos lenguajes son posteriores a los de bajo nivel, y se crearon con los siguientes objetivos:
- Lograr la independencia del ordenador, ya que estos lenguajes sí son portables.
- Aproximar aún más sus instrucciones al lenguaje humano, de modo que los programas se puedan leer y escribir más fácilmente. Para ello utilizan palabras en lugar de cadenas de símbolos sin aparente significado, reduciendo así las posibilidades de cometer errores.
- Suministrar librerías de rutinas, con las funciones de uso frecuente: entrada/salida, manejo de tablas, manejo de ficheros, etc. de este modo se evita tener que crearlas cada vez que se necesiten. .
Los lenguajes de alto nivel no son inteligibles directamente para el ordenador, sino que necesitan ser compilados para obtener el programa en código máquina.
Algunos lenguajes de alto nivel, por ejemplo, BASIC, no compilan sus programas, sino que utilizan un intérprete que va traduciendo el programa para que el ordenador pueda ejecutarlo. Las diferencias entre un compilador y un intérprete se pueden resumir en:
- El intérprete traduce y ejecuta cada línea del programa siguiendo la secuencia del mismo; por el contrario, el compilador traduce el programa completo, creando uno nuevo ya inteligible para el ordenador, llamado programa objeto. Posteriormente, éste debe ser montado (linkado), operación que consiste en enlazarlo con las librerías de rutinas, para crear así un nuevo fichero ejecutable por el ordenador, denominado programa ejecutable.
- Otra diferencia entre un compilador y un intérprete es que este último ejecuta el programa, paso a paso, hasta el final o hasta encontrar un error, en cuyo caso se detendría la ejecución. Por el contrario, el compilador traduce el programa completo antes de que se pueda ejecutar, y si durante dicha traducción se producen errores, informará de su posición para que puedan ser corregidos.
El principal problema que presentan los lenguajes de alto nivel es la gran variedad existente en la actualidad (algunos cientos), además de las diferentes versiones de algunos de ellos, por lo que dominarlos todos en profundidad resulta casi imposible. ,
Lenguajes de cuarta generación
Los lenguajes de cuarta generación nacieron para solucionar problemas muy concretos. Hasta ese momento, se habían creado únicamente lenguajes específicos; por ello se comenzaron a crear lenguajes más especializados.
Para el usuario, estos lenguajes son muy intuitivos, ya que se centran en necesidades muy específicas. En la mayoría de los casos suelen estar formados por una serie de precompiladores, llamados así porque traducen previa- 1 mente su código aun lenguaje de alto nivel (normalmente lenguaje C) y posteriormente a lenguaje máquina para obtener el fichero ejecutable.
Entre los lenguajes de cuarta generación podemos destacar:
SQL
Se trata de un lenguaje que permite realizar consultas en una base de datos.
4GL
Permite generar aplicaciones con ayuda de una gran cantidad de módulos
preprogramados en lenguaje C. .
Lenguajes orientados a objetos
Los lenguajes de alto nivel se basaban principalmente en la programación estructurada; sin embargo, los lenguajes orientados a objetos se centran en los datos, objetos, indicando cómo han de ser y definiendo las operaciones a las que se les va a someter.
Existen varios lenguajes que soportan programación orientada a objetos: Visual Basic, Object Pascal, Smalltalk, C++, Visual C++, Visual, etc.