algoritmo y programas

22
algoritmo y programas: concepto de algoritmo y programas, lenguaje algoritmico y de programacion, partes de algoritmo, caracteristica y elementos para construir un algoritmo, lenguaje natural, pseucodigo y diagrama de flujo, traza de un algoritmo (corrida de frio), estas son las preguntas de la unidad uno estas son de la unidad dos: estandares de calidad en el diseño de algoritmo y construccion de programas, introduccion a los estandares de calidad, forma de trazabilizar un algoritmo, formas y tecnicas de documentar algoritmos y programas, introduccion a la elaboracion del manual del sistema, usuario y programas, tecnicas de escritura y pruebas de algoritmos y programas QUE ES UN ALGORITMO Un algoritmo es una secuencia de pasos lógicos y ordenados con las cuales le damos solución a un problema determinado. En la vida diaria cada uno de nosotros diseña y realiza algoritmos para solucionar los problemas cotidianos, es así que al levantarnos de la cama ya tenemos en la mente una serie de pasos que debemos seguir para llegar al sitio de estudio o al sitio de trabajo. Una vez en el sitio de estudio,

Upload: yhonny-cuffaro

Post on 01-Jul-2015

5.979 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: algoritmo y programas

algoritmo y programas: concepto de algoritmo y programas, lenguaje algoritmico y de programacion, partes de algoritmo, caracteristica y elementos para construir un algoritmo, lenguaje natural, pseucodigo y diagrama de flujo, traza de un algoritmo (corrida de frio), estas son las preguntas de la unidad uno

estas son de la unidad dos: estandares de calidad en el diseño de algoritmo y construccion de programas, introduccion a los estandares de calidad, forma de trazabilizar un algoritmo, formas y tecnicas de documentar algoritmos y programas, introduccion a la elaboracion del manual del sistema, usuario y programas, tecnicas de escritura y pruebas de algoritmos y programas 

QUE ES UN ALGORITMO

Un algoritmo es una secuencia de pasos lógicos y ordenados con las cuales le damos solución a un problema determinado. 

En la vida diaria cada uno de nosotros diseña y realiza algoritmos para solucionar los problemas cotidianos, es así que al levantarnos de la cama ya tenemos en la mente una serie de pasos que debemos seguir para llegar al sitio de estudio o al sitio de trabajo. Una vez en el sitio de estudio, tenemos en nuestra mente una serie de tareas que debemos realizar en unos horarios ya definidos.

Si quisiéramos realizar una comida especial, en nuestra mente construimos un algoritmo o serie de pasos que debemos seguir en un orden específico para que todo nos salga como queremos. Si quisiéramos transcribir estos pasos en una hoja de papel, para que otra persona realizará las mismas tareas y obtenga el mismo resultado que nosotros, debemos seguir una serie de normas para

Page 2: algoritmo y programas

que esta otra persona nos entienda. Por ejemplo debe estar esctrito en el idioma que ella comprende, se deben enumerar los pasos etc. Las normas que se deben seguir al momento de transcribir el algoritmo depende de quien será el encargado de ejecutarlo, por ejemplo si quisieramos escribir la receta para que la ejecute una persona adulta las normas serán diferentes a las que debemos seguir si quisieramos escribir la receta para que le ejecute una niña.

Un programa informático es un conjunto de instrucciones que una vez ejecutadas

realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no

pueden funcionar.1 2 Al conjunto general de programas, se le denomina software, que más

genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora

digital.

En informática, se los denomina comúnmente binarios, (propio en sistemas unix, donde

debido a la estructura de este último, los ficheros no necesitan hacer uso de extensiones.

Posteriormente, los presentaron como ficheros ejecutables, con extensión .exe, en

los sistemas operativos de la familia Windows) debido a que una vez que han pasado por

el proceso de compilación y han sido creados, las instrucciones que se escribieron en

un lenguaje de programación que los humanos usan para escribirlos con mayor facilidad,

se han traducido al único idioma que la máquina comprende, combinaciones de ceros y

unos llamada código máquina. El mismo término, puede referirse tanto a un programa

ejecutable, como a su código fuente, el cual es transformado en un binario cuando

es compilado.

efinición de Lenguajes Algorítmicos.

Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle.

La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera :

Lenguaje Natural.

Lenguaje de Diagrama de Flujo.

Page 3: algoritmo y programas

Lenguaje Natural de Programación.

Lenguaje de Programación de Algoritmos.

Lenguaje Natural.

Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan términos especializados de una determinada ciencia,

profesión o grupo.

Lenguaje de Diagrama de Flujo.

Es aquél que se vale 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 aquéllos que 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.

El lenguaje natural tiene 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 de Algoritmos.

Es aquél que se utiliza para introducir en la computadora un algoritmo específico. Se les conoce también comoLenguaje de Programación.

Lenguaje de Programación :

Es un conjunto de palabras, símbolos y reglas sintácticas mediante los cuales puede indicarse a la computadora los pasos a seguir para resolver un problema.

Los lenguajes de programación pueden clasificarse por diversos criterios, siendo el más común su nivel de semejanza con el lenguaje natural, y su capacidad de manejo de niveles internos de la máquina.

Los principales tipos de lenguajes utilizados son tres :

Lenguaje Máquina.

Page 4: algoritmo y programas

Lenguaje de bajo Nivel (ensamblador).

Lenguajes de Alto Nivel.

Lenguaje Máquina.

Son aquéllos que están escritos en lenguajes directamente inteligibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que especifican una operación y las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código máquina. El código máquina es el conocido código binario.

Ventajas del Lenguaje Máquina

Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.

Desventajas del Lenguaje Máquina

Dificultad y lentitud en la codificación.

Poca fiabilidad.

Gran dificultad para verificar y poner a punto los programas.

Los programas solo son ejecutables en el mismo procesador (CPU).

En la actualidad, las desventajas superan a las ventajas, lo que hace prácticamente no recomendables a los lenguajes máquinas.

Lenguajes de Bajo Nivel.

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

Un programa escrito en lenguaje ensamblador, requiere de una fase de traducción al lenguaje máquina para poder ser ejecutado directamente por la computadora.

Page 5: algoritmo y programas

El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, el cual ya es directamente entendible por la computadora.

Ventajas del lenguaje ensamblador frente al lenguaje máquina.

Mayor facilidad de codificación y, en general, su velocidad de cálculo.

Desventajas del lenguaje ensamblador.

Dependencia total de la máquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes máquinas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh.

La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las técnicas de programación, sino también el conocimiento del interior de la máquina.

Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos.

Lenguajes de Alto Nivel.

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 costo 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.

Page 6: algoritmo y programas

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.

Para una mejor compresión de este tema se definirá el concepto de programa, por ser este un término muy utilizado en el diseño estructurado de algoritmos.

Programa : Es un conjunto de instrucciones escritas en un lenguaje de programación que indican a la computadora la secuencia de pasos para resolver un problema.

Historia y apliacacion de los lenguajes algoritmicos.

Al igual que los idiomas sirven de vehículo de comunicación entre los seres humanos, existen lenguajes que realizan la comunicación entre los seres humanos y las computadoras. Estos lenguajes permiten expresar los programas o el conjunto de instrucciones que el operador humano desea que la computadora ejecute.

Los lenguajes de computadoras toman diferentes formas; los de las primeras computadoras, como la ENIAC y la EDSAC, se componían en el lenguaje real de las máquinas mismas. La dificultad de programar las máquinas de esta manera limitaba drásticamente su utilidad y proporcionaba un fuerte incentivo para que se desarrollaran lenguajes de programación más orientados hacia la expresión de soluciones con la notación de los problemas mismos.

Los primeros lenguajes de programación se conocieron como Lenguajes Ensambladores, un ejemplo es: TRANSCODE, desarrollado para la computadora FERUT. 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.

A mediados de los años 60's aparecieron los primeros lenguajes de propósito general como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C,C++, PASCAL, etc. pero el desarrollo de nuevas tecnologías, tanto en arquitectura de computadoras como en lenguajes de programación, continúa a paso acelerado, cada vez con mayor velocidad, el panorama está cambiando de una etapa de sistemas y lenguajes especialmente desarrollados para aplicaciones individuales. Los lenguajes de programación actuales son los conocidos como Lenguajes visuales, como por ejemplo Visual Fox, Visual Basic, Visual C .

efinición de Lenguajes Algorítmicos.

Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle.

La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera :

Lenguaje Natural.

Lenguaje de Diagrama de Flujo.

Lenguaje Natural de Programación.

Lenguaje de Programación de Algoritmos.

Page 7: algoritmo y programas

Lenguaje Natural.

Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan términos especializados de una determinada ciencia,

profesión o grupo.

Lenguaje de Diagrama de Flujo.

Es aquél que se vale 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 aquéllos que 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.

El lenguaje natural tiene 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 de Algoritmos.

Es aquél que se utiliza para introducir en la computadora un algoritmo específico. Se les conoce también comoLenguaje de Programación.

Lenguaje de Programación :

Es un conjunto de palabras, símbolos y reglas sintácticas mediante los cuales puede indicarse a la computadora los pasos a seguir para resolver un problema.

Los lenguajes de programación pueden clasificarse por diversos criterios, siendo el más común su nivel de semejanza con el lenguaje natural, y su capacidad de manejo de niveles internos de la máquina.

Los principales tipos de lenguajes utilizados son tres :

Lenguaje Máquina.

Lenguaje de bajo Nivel (ensamblador).

Lenguajes de Alto Nivel.

Page 8: algoritmo y programas

Lenguaje Máquina.

Son aquéllos que están escritos en lenguajes directamente inteligibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que especifican una operación y las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código máquina. El código máquina es el conocido código binario.

Ventajas del Lenguaje Máquina

Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.

Desventajas del Lenguaje Máquina

Dificultad y lentitud en la codificación.

Poca fiabilidad.

Gran dificultad para verificar y poner a punto los programas.

Los programas solo son ejecutables en el mismo procesador (CPU).

En la actualidad, las desventajas superan a las ventajas, lo que hace prácticamente no recomendables a los lenguajes máquinas.

Lenguajes de Bajo Nivel.

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

Un programa escrito en lenguaje ensamblador, requiere de una fase de traducción al lenguaje máquina para poder ser ejecutado directamente por la computadora.

El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, el cual ya es directamente entendible por la computadora.

Page 9: algoritmo y programas

Ventajas del lenguaje ensamblador frente al lenguaje máquina.

Mayor facilidad de codificación y, en general, su velocidad de cálculo.

Desventajas del lenguaje ensamblador.

Dependencia total de la máquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes máquinas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh.

La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las técnicas de programación, sino también el conocimiento del interior de la máquina.

Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos.

Lenguajes de Alto Nivel.

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 costo 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.

Page 10: algoritmo y programas

El tiempo de ejecución de los programas es mucho mayor.

Para una mejor compresión de este tema se definirá el concepto de programa, por ser este un término muy utilizado en el diseño estructurado de algoritmos.

Programa : Es un conjunto de instrucciones escritas en un lenguaje de programación que indican a la computadora la secuencia de pasos para resolver un problema.

Historia y apliacacion de los lenguajes algoritmicos.

Al igual que los idiomas sirven de vehículo de comunicación entre los seres humanos, existen lenguajes que realizan la comunicación entre los seres humanos y las computadoras. Estos lenguajes permiten expresar los programas o el conjunto de instrucciones que el operador humano desea que la computadora ejecute.

Los lenguajes de computadoras toman diferentes formas; los de las primeras computadoras, como la ENIAC y la EDSAC, se componían en el lenguaje real de las máquinas mismas. La dificultad de programar las máquinas de esta manera limitaba drásticamente su utilidad y proporcionaba un fuerte incentivo para que se desarrollaran lenguajes de programación más orientados hacia la expresión de soluciones con la notación de los problemas mismos.

Los primeros lenguajes de programación se conocieron como Lenguajes Ensambladores, un ejemplo es: TRANSCODE, desarrollado para la computadora FERUT. 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.

A mediados de los años 60's aparecieron los primeros lenguajes de propósito general como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C,C++, PASCAL, etc. pero el desarrollo de nuevas tecnologías, tanto en arquitectura de computadoras como en lenguajes de programación, continúa a paso acelerado, cada vez con mayor velocidad, el panorama está cambiando de una etapa de sistemas y lenguajes especialmente desarrollados para aplicaciones individuales. Los lenguajes de programación actuales son los conocidos como Lenguajes visuales, como por ejemplo Visual Fox, Visual Basic, Visual C .

efinición de Lenguajes Algorítmicos.

Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle.

La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera :

Lenguaje Natural.

Lenguaje de Diagrama de Flujo.

Lenguaje Natural de Programación.

Lenguaje de Programación de Algoritmos.

Lenguaje Natural.

Page 11: algoritmo y programas

Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan términos especializados de una determinada ciencia,

profesión o grupo.

Lenguaje de Diagrama de Flujo.

Es aquél que se vale 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 aquéllos que 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.

El lenguaje natural tiene 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 de Algoritmos.

Es aquél que se utiliza para introducir en la computadora un algoritmo específico. Se les conoce también comoLenguaje de Programación.

Lenguaje de Programación :

Es un conjunto de palabras, símbolos y reglas sintácticas mediante los cuales puede indicarse a la computadora los pasos a seguir para resolver un problema.

Los lenguajes de programación pueden clasificarse por diversos criterios, siendo el más común su nivel de semejanza con el lenguaje natural, y su capacidad de manejo de niveles internos de la máquina.

Los principales tipos de lenguajes utilizados son tres :

Lenguaje Máquina.

Lenguaje de bajo Nivel (ensamblador).

Lenguajes de Alto Nivel.

Lenguaje Máquina.

Page 12: algoritmo y programas

Son aquéllos que están escritos en lenguajes directamente inteligibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que especifican una operación y las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código máquina. El código máquina es el conocido código binario.

Ventajas del Lenguaje Máquina

Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.

Desventajas del Lenguaje Máquina

Dificultad y lentitud en la codificación.

Poca fiabilidad.

Gran dificultad para verificar y poner a punto los programas.

Los programas solo son ejecutables en el mismo procesador (CPU).

En la actualidad, las desventajas superan a las ventajas, lo que hace prácticamente no recomendables a los lenguajes máquinas.

Lenguajes de Bajo Nivel.

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

Un programa escrito en lenguaje ensamblador, requiere de una fase de traducción al lenguaje máquina para poder ser ejecutado directamente por la computadora.

El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, el cual ya es directamente entendible por la computadora.

Ventajas del lenguaje ensamblador frente al lenguaje máquina.

Page 13: algoritmo y programas

Mayor facilidad de codificación y, en general, su velocidad de cálculo.

Desventajas del lenguaje ensamblador.

Dependencia total de la máquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes máquinas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh.

La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las técnicas de programación, sino también el conocimiento del interior de la máquina.

Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos.

Lenguajes de Alto Nivel.

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 costo 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.

Page 14: algoritmo y programas

Para una mejor compresión de este tema se definirá el concepto de programa, por ser este un término muy utilizado en el diseño estructurado de algoritmos.

Programa : Es un conjunto de instrucciones escritas en un lenguaje de programación que indican a la computadora la secuencia de pasos para resolver un problema.

Historia y apliacacion de los lenguajes algoritmicos.

Al igual que los idiomas sirven de vehículo de comunicación entre los seres humanos, existen lenguajes que realizan la comunicación entre los seres humanos y las computadoras. Estos lenguajes permiten expresar los programas o el conjunto de instrucciones que el operador humano desea que la computadora ejecute.

Los lenguajes de computadoras toman diferentes formas; los de las primeras computadoras, como la ENIAC y la EDSAC, se componían en el lenguaje real de las máquinas mismas. La dificultad de programar las máquinas de esta manera limitaba drásticamente su utilidad y proporcionaba un fuerte incentivo para que se desarrollaran lenguajes de programación más orientados hacia la expresión de soluciones con la notación de los problemas mismos.

Los primeros lenguajes de programación se conocieron como Lenguajes Ensambladores, un ejemplo es: TRANSCODE, desarrollado para la computadora FERUT. 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.

A mediados de los años 60's aparecieron los primeros lenguajes de propósito general como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C,C++, PASCAL, etc. pero el desarrollo de nuevas tecnologías, tanto en arquitectura de computadoras como en lenguajes de programación, continúa a paso acelerado, cada vez con mayor velocidad, el panorama está cambiando de una etapa de sistemas y lenguajes especialmente desarrollados para aplicaciones individuales. Los lenguajes de programación actuales son los conocidos como Lenguajes visuales, como por ejemplo Visual Fox, Visual Basic, Visual C .

Un lenguaje de programación es un idioma artificial diseñado para

expresar computaciones que pueden ser llevadas a cabo por máquinas como

lascomputadoras. Pueden 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.1 Está formado por un conjunto de símbolos y

reglas sintácticas y semánticas que definen su estructura y el significado de sus

elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se

compila y se mantiene elcódigo fuente de un programa informático se le llama

programación.

También la palabra programación se define como el proceso de creación de

un programa de computadora, mediante la aplicación de procedimientos lógicos, a través

de los siguientes pasos:

Page 15: algoritmo y programas

El desarrollo lógico del programa para resolver un problema en particular.

Escritura de la lógica del programa empleando un lenguaje de programación

específico (codificación del programa).

Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.

Prueba y depuración del programa.

Desarrollo de la documentación.

Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y

'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de

programación y a otros más, como por ejemplo HTML (lenguaje para el

marcado de páginas web que no es propiamente un lenguaje de programación, sino un

conjunto de instrucciones que permiten diseñar el contenido de los documentos).

Permite especificar de manera precisa sobre qué datos debe operar una computadora,

cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada

gama de circunstancias. Todo esto, a través de un lenguaje que intenta

estar relativamente próximo al lenguaje humano o natural. Una característica relevante de

los lenguajes de programación es precisamente que más de un programador pueda usar

un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la

construcción de un programa de forma colaborativ

En pseudocódigo

se describen los algoritmos utilizando una mezcla de lenguaje común, con instrucciones de programación, palabras claves, etc. El objetivo es que el programador se centre en la solución lógica del algoritmo y no en la implementación en un lenguaje de programación concreto (con las posibles complicaciones en las reglas sintácticas), o en otras palabras, sólo ayudan a "pensar" unprograma antes de escribirlo en un lenguaje de programación formal.

Diagrama de flujo

Page 16: algoritmo y programas

Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.

Un diagrama de flujo es una representación gráfica de un algoritmo o proceso. Se utiliza

en disciplinas como la programación, la economía, los procesos industriales y

la psicología cognitiva. Estos diagramas utilizan símbolos con significados bien definidos

que representan los pasos del algoritmo, y representan el flujo de ejecución mediante

flechas que conectan los puntos de inicio y de término.

Elementos para construir algoritmosElementos( Permiten representar datos, resultados y soluciones intermedias)

variablesconstantes

Expresiones aritméticas

( Expresan las operaciones a realizar con los elementos variables y constantes)

relacionales

lógicas

Page 17: algoritmo y programas

Instruccion de asignación

( Permite asignar un valor a un elemento variable)

Operaciones de entrada/salida Leer

Escribir

Estructuras selectivas

repetitivas

Otros elementos Contador, Acumulador, Centinela, Ba

Page 18: algoritmo y programas