Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguajes de máquina.
Los lenguajes de máquina son los que entiende una computadora sin la
necesidad de realizar ninguna traducción. Escribirlos resulta
extremadamente difícil para un programador convencional. hoy en día,
nadie programa en este lenguaje, pero como es necesario para que la
computadora entienda lo que tiene que hacer, existen programas que se
encargan de transformar el código comprensible por un programador, en
código comprensible por una computadora.
Para facilitar la tarea del programador, se han diseñado otros tipos de lenguajes,
que son más comprensibles que el de máquina. Éstos son el de bajo nivel y el de
alto nivel.
Lenguajes de bajo nivel.
Los lenguajes de bajo nivel, también
llamados ensambladores, son aquellos cuyas
sentencias están formadas por códigos
nemotécnicos (abreviaturas de palabras en
inglés).
Son lenguajes que, por más complejos que
sean, resultan mucho más comprensibles que
los lenguajes de máquina. A continuación se
ilustra un ejemplo de código para este tipo de
lenguaje:
Estos lenguajes son, además, dependientes de
la arquitectura de cada procesador, ya que
cada procesador ofrece un conjunto de
instrucciones distinto para trabajar en este
nivel de programación. Una vez escrito el
programa en este lenguaje, se necesita otro Ejemplo de instrucciones en
llamado programa ensamblador, para que lenguaje de nivel bajo
traduzca las sentencias en instrucciones
comprensibles por la máquina.
Envió de Flores.
Si mando flores a una dama tengo las siguientes alternativas.
Alternativas:
1. Lo hago directamente enviándole un mensaje a Margarita la florista.
2. Usando otro objeto intermedio, por ejemplo Gertrudis, la secretaria.
Pseudocódigo
El pseudocódigo es otra forma de diagramar algoritmos o, mejor dicho,
especificar las acciones que debe ejecutar un programa. La forma de hacerlo es
mediante un lenguaje muy sencillo y similar al nuestro. La idea es ir escribiendo
con palabras sencillas las acciones que debe seguir el programa para alcanzar
los objetivos. Por ejemplo, si se escribe el pseudocódigo del programa que se
muestra en la imagen anterior.
Algoritmo “sin título”
Numero 1, Numero 2 y Promedio = 0
Igualar a Numero 1
Igualar a Numero 2
Promedio = (Numero1+Numero2/2)
SI Promedio >=6
Fin del Si
Programación No Estructurada
El código completo del programa opera directamente sobre datos globales.
Muchos lenguajes de programación no ofrecen mecanismos para el diseño
estructurado de
programas y la única forma posible de desarrollo de software es haciendo uso de
las instrucciones
de salto (p. ej. Ensamblador, COBOL y BASIC).
Por otro lado, los lenguajes modernos que proveen instrucciones de salto como
herramientas alternativas o por compatibilidad con versiones previas tienen una
amplia base de usuarios que continua creando código espagueti, aun cuando, el
lenguaje ofrece mecanismos para la programación estructurada. En particular
usuarios del popular Visual Basic, en su mayoría ex usuarios de COBOL y
Clipper, abusan de las instrucciones de salto en las aplicaciones puesto que ese
fue el modo en que aprendieron a programar, lo que incide directamente en la
lectura, prueba, depuración y mantenimiento del código.
Con el advenimiento de las modernas técnicas de programación este método de
programación se volvió obsoleto, y en la actualidad apenas es utilizado en la
programación de drivers (manejadores de dispositivos) y chips de ROM, el
llamado firmware.
Esta técnica de programación ofrece tremendas desventajas una vez que el
programa se hace suficientemente grande. Por ejemplo, si la misma secuencia
de instrucciones se necesita en diferentes situaciones dentro del programa, la
secuencia debe ser repetida. Esto ha conducido a la idea de extraer estas
secuencias, darles un nombre y ofrecer una técnica para llamarlas y regresar
desde estos procedimientos.
Programación Procedimental (Estructurada).
Es una de las más importantes técnicas de programación jamás inventada. Es
uno de los métodos de diseño más flexibles y potentes para mejorar la
productividad en la programación.
Se fundamenta en una serie de descomposiciones sucesivas del problema inicial,
y está inspirado en la técnica "Divide y Vencerás" que usaba el conquistador
Alejandro Magno para derrotar a sus enemigos.
Su utilización tiene muchos beneficios, entre los que se encuentran la facilidad
en la escritura, lectura y comprensión de los programas y el permitir ahorrar
espacio que de otro modo estaría ocupado por código duplicado.
Con la programación procedimental se pueden combinar las secuencias de
instrucciones repetibles en un solo lugar. Una llamada de procedimiento se
utiliza para invocar al procedimiento. Después de que la secuencia es procesada,
el flujo de control regresa al punto de llamada para proseguir con la ejecución
de la instrucción ubicada inmediatamente después de la que hizo la llamada.
El código completo del programa opera directamente sobre datos globales.
Al introducir parámetros así como procedimientos de procedimientos (sub-
procedimientos) los programas ahora pueden ser escritos en forma más
estructurada y libre de errores. Por ejemplo, si un procedimiento ya es correcto,
cada vez que es usado produce resultados correctos. Por consecuencia, en caso
de errores, se puede reducir la búsqueda a aquellos lugares que todavía no han
sido revisados.
De este modo, un programa puede ser visto como una secuencia de llamadas a
procedimientos. El programa principal es responsable de pasar los datos a las
llamadas individuales y actúa como un director, los datos son procesados por los
procedimientos y, una vez que el programa ha terminado, los datos resultantes
son presentados. Así, el flujo de datos puede ser ilustrado como una gráfica
jerárquica, un árbol, como se muestra en la siguiente Figura para un programa
sin sub-procedimientos.