Introducción
Los problemas que se plantean en la vida diaria suelen ser
resueltos mediante el uso de la capacidad intelectual y la habilidad manual del
ser humano. La utilización de la computadora en la resolución de problemas aporta
grandes ventajas, como son la rapidez de ejecución y la confiabilidad de los
resultados obtenidos.
En la actualidad los sistemas de computadoras consisten en un
enorme conjunto de elementos de circuitos (hardware) y programación (software),
que se han diseñado para proporcionar a la computación un ambiente productivo y
agradable.
Muchos de los problemas acarrean complicados cálculos, así como la
utilización de grandes cantidades de datos; esto nos causa muchos problemas ya
que el riesgo de equivocarse es muy grande, y también con la utilización de
grandes cantidades de datos el trabajo se convierte en pesado y rutinario.
Mediante la computadora se eliminan estos problemas, pues su capacidad se basa
en la rapidez, la precisión y memoria.
Sin embargo la computadora no puede hacer todo por si sola. Es
preciso que se le describa con detalle y en su lenguaje, todos los pasos que
tiene que realizar para la resolución del problema.
Esta descripción es lo que se conoce como programa de computadora,
este dirigirá el funcionamiento de la máquina en la resolución del problema.
La primera decisión que hay que tomar cuando se crea un programa,
es contestar a las preguntas:
¿Qué es lo que el programa se supone que va a hacer?, ¿Cuál es el
problema que se va a resolver?,¿Qué tarea va a realizar nuestro programa?.
Cuanto más se detalle la descripción, más fácil será lograr
resultados.
Definición de lenguaje
Es un idioma artificial diseñado para expresar procesos que pueden
ser llevados a cabo por maquinas como la computadora. Puede usarse para crear
programas que controlen el comportamiento físico y lógico de una máquina para
expresar algoritmos con precisión o como modo de comunicación humana.
Estos lenguajes se clasifican en tres grandes categorías:
Lenguaje Máquina.
Lenguaje de Bajo Nivel (Ensamblador)
Lenguaje de Alto Nivel.
Definición de algoritmo
Un algoritmo es una secuencia finita de instrucciones; cada una de
estas instrucciones tiene un significado preciso y se puede ejecutar con una
cantidad finita de esfuerzo en un tiempo finito.
Un algoritmo se define como un método que se realiza paso a paso
para la solución de un problema que termina en un número finito de pasos.
Las características fundamentales que debe cumplir un algoritmo
son:
Debe ser preciso e indicar el orden. Diseño del algoritmo que
describe la secuencia ordenada de pasos, sin ambigüedades, que conducen a la
solución de un problema dado (Análisis del problema y desarrollo del
algoritmo).
Debe ser definido. Si se sigue un algoritmo dos veces se debe
obtener el mismo resultado cada vez. Expresar el algoritmo como un programa en
un lenguaje de programación adecuado (Fase de codificación).
Debe ser finito. Si se sigue un algoritmo, se debe
terminar en algún momento; osea debe tener un número finito de pasos. Ejecución
y validación del programa por la computadora.
Algoritmos cotidianos
Se refiere a todos aquellos algoritmos que nos ayudan a resolver
problemas diarios, y que hacemos casi sin darnos cuenta que estamos siguiendo
una metodología para resolverlos.
Algunos ejemplos son:
Ù Diseñar
un algoritmo para cambiar una llanta de un coche:
1.- Inicio.
2.- Traer gato.
3.- Levantar el coche con el gato.
4.- Aflojar tornillos de las llantas.
5.- Sacar los tornillos de las
llantas.
6.- Quitar la llanta.
7.- Poner la llanta de repuesto.
8.- Poner los tornillos.
9.- Apretar tornillos.
10.- Bajar el gato.
11.- Fin.
Definición de lenguajes algorítmicos
Los algoritmos pueden describirse utilizando muchos lenguajes.
Cada lenguaje permite describir los pasos con mayor o menor detalle.
La clasificación de los lenguajes algorítmicos es la siguiente:
Ù Lenguaje
Natural.
Ù Lenguaje
de Diagrama de Flujo.
Ù Lenguaje
Natural de Programación.
Ù Lenguaje
de Programación de Algoritmos.
Lenguaje Natural:Es
aquel que describe lospasos a seguir utilizando un vocabulario cotidiano. Se le
conoce como lenguaje jerga cuando se utiliza en términos especializados de una
determinada ciencia, profesión o grupo.
Lenguaje
de Diagrama de Flujo: Es aquel que sevale de diversos
símbolos para representar las ideas o acciones a desarrollar. Es útil para
organizar las acciones o pasos de un algoritmo pero requiere de etapas
posteriores para implementarse en un sistema de cómputo.
Lenguaje
Natural de Programación: Son aquellosque están orientados a la
solución de problemas que se definen de una manera precisa. Generalmente son
aplicados para la elaboración de fórmulas o métodos científicos.
Tienen las siguientes características:
Ù Evita
la ambigüedad (algo confuso que se puede interpretar de varias maneras).
Ù Son
precisos y bien definidos.
Ù Utilizan
términos familiares al sentido común.
Ù Elimina
instrucciones innecesarias.
Lenguaje
de programación:Es un conjunto depalabras, símbolos y reglas sintéticas
mediante los cuales puede indicarse a la computadora los pasos a seguir para
resolver un problema.
Los principales tipos de lenguajes utilizados son tres:
Ù Lenguaje Máquina: Este
lenguaje es el que entiende directamente a la computadora, utiliza el alfabeto
binario que consta de dos únicos símbolos 0 y 1, denominados “bits”
(abreviatura inglesa de números binarios). El lenguaje máquina fue el primer
lenguaje utilizado para programar computadoras, pero éste fue sustituido por su
dificultad y complicación.
Ù Lenguaje de bajo nivel (Ensamblador): En
este lenguaje cada instrucción equivale a una instrucción en lenguaje máquina,
utilizando para su escritura palabras nemotécnicas en lugar de cadenas de bits.
Las
instrucciones en lenguaje ensamblador son instrucciones conocidas como
“nemotécnicas”, 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.
Ù Lenguaje de Alto nivel: Estos
lenguajes son los más utilizados por los programadores. Un programa escrito en
un 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.
Historia y aplicación de los lenguajes
algorítmicos
Los lenguajes permiten expresar los programas o el conjunto de
instrucciones que el operador humano desea que la computadora ejecute. Los
lenguajes de las primeras computadoras como la ENAC y la EDSAC se componían en
el lenguaje real de las máquinas mismas; de esta manera limitaba drásticamente
la utilidad de las mismas.
Los primeros lenguajes de programación se conocieron como
lenguajes ensambladores. En los lenguajes ensambladores se define un
código especial llamado mnemónico para cada una de las operaciones de
la máquina y se introduce una notación especial para especificar el dato con el
cual debe realizarse la operación.
En los años 60's aparecieron los primeros lenguajes de propósito
general como COBOL, PASCAL, C, C++, etc., pero el desarrollo de nuevas
tecnologías, tanto en la arquitectura de computadoras, como en lenguajes de
programación continúa a paso acelerado. Los lenguajes de programación actuales
son conocidos como lenguajes visuales, como por ejemplo: Visual Fox,
Visual Basic, Visual C, etc.