Lenguaje Estructurado

19
Haga clic para modificar el estilo de subtítulo del patrón 15/02/10 Lenguajes de programacion Licenciatura en Sistema Computacionales Universidad Autónoma del Estado de Hidalgo Introducción a las Ciencias de la Computación

description

Introduccion a los lenguajes de programacion

Transcript of Lenguaje Estructurado

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Lenguajes de programacion

Licenciatura en Sistemas Computacionales

Universidad Autónoma del Estado de Hidalgo

Introducción a las Ciencias de la Computación

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Definición

Un lenguaje de programación es una notación para escribir programas, a través de los cuales podemos comunicarnos con el hardware y dar así las ordenes adecuadas para la realización de un determinado proceso.Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecuteDeben tener instrucciones que pertenecen a las categorías ya familiares de entrada/salida, calculo/manipulación, de textos, logica/comparación, y almacenamiento/recuperación.

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Breve historia Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a

este hombre a mediados del siglo XIX. Consistía en lo que él denominaba la maquina analítica ,Con él colaboro Ada Lovedby, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquélla supuesta maquina de Babagge, en tarjetas perforadas En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto de la máquina analítica, abandonando la maquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés) Este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. Charles Babbage, conocido como el "padre de la informática" no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron los primeros computadores.

Cuando surgió el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator And Calculator), su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la maquina, exactamente lo que sé hacia era cambiar cables de sitio para conseguir así la programación de la maquina. La entrada y salida de datos se realizaba mediante tarjetas perforadas.

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Lenguaje ensamblador

• El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Lenguaje ensamblador

• Fue usado principalmente en los inicios del desarrollo de software, cuando aun no se contaba con los potentes lenguajes de alto nivel. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, se pretenden altos rendimientos o un uso de recursos controlado y reducido.

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Lenguaje ensamblador

• Muchos dispositivos programables (como los microcontroladores) aun cuentan con el ensamblador como la única manera de ser manipulados.

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Lenguaje ensamblador

• Características

• El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido directamente por un ser humano ya que su estructura se acerca mas bien al lenguaje máquina.

• El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder ser usado en otro microprocesador.

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Lenguaje ensamblador

• Los programas hechos en lenguaje ensamblador son generalmente más rápidos y consumen menos recursos del sistema (memoria RAM y ROM). Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio.

• Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles de programar en un lenguaje de alto nivel.

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Lenguaje ensamblador

• Ejemplos de lenguaje ensamblador

• El siguiente es un ejemplo del programa clásico Hola mundo escrito para la arquitectura de procesador x86 (bajo el sistema operativo DOS).

• .model small

• .stack

• .data Cadena1 DB 'Hola Mundo.$'

• .code programa:

• mov ax, @data

• mov ds, ax

• mov dx, offset Cadena1

• mov ah, 9

• int 21h

• end programa

Haga clic para modificar el estilo de subtítulo del patrón

15/02/10

Lenguaje ensamblador

• Código en lenguaje ensamblador para µC Intel 80C51:

• ORG 8030H T05SEG:

• SETB TR0

• JNB uSEG,T05SEG ;esta subrutina es utilizada CLR TR0 ;para realizar una cuenta de

• CPL uSEG ;0,5 segundos mediante la

• MOV R1,DPL ;interrupción del timer 0.

• MOV R2,DPH

• CJNE R2,#07H,T05SEG

• CJNE R1,#78H,T05SEG

• MOV DPTR,#0000H

• RET

15/02/10

Lenguaje Estructurado

• El lenguaje estructurado es un lenguaje natural limitado en palabras y construcciones, lo que le da más precisión y claridad, evitando ambigüedades (el lenguaje natural humano carece de precisión y es muy ambiguo).

• El lenguaje estructurado es una herramienta que puede utilizarse en la especificación de procesos, en el desarrollo de sistemas.

15/02/10

• La programación estructurada es una forma de escribir programas de ordenador de manera clara. Para ello se utiliza únicamente tres estructuras: secuencia, selección e iteración :).

• Hoy en día las aplicaciones informáticas son mucho más ambiciosas, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes.

• Se basa en una metodología llamada refinamiento sucesivo: en la cual se plantea una operación como un todo y se divide en segmentos más sencillos o de menor complejidad.

15/02/10

• Una vez terminado todos los segmentos del programa, se procede a unificar las aplicaciones realizadas.

• Si se ha utilizado adecuadamente la programación estructurada, la integración debe ser sencilla y no presentar problemas, y de presentar algún problema, será rápidamente detectable para su corrección.

15/02/10

Orígenes de la programación estructurada

• A finales de 1960 surgió como una forma de programar que daba lugar a programas fiables y eficientes, además estaban escritos de manera que facilitaba su comprensión posterior.

• El teorema del programa estructurado, comprobado por Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:

• Secuencia• Instrucción condicional.• Iteración (bucle de instrucciones) con condición al principio.

15/02/10

• Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Los lenguajes de programación tienen un mayor repertorio de estructuras de control, pero éstas pueden ser construidas mediante las tres básicas.

15/02/10

• Una estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instrucción no se ejecuta hasta que finaliza la anterior.

• Una estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instrucción no se ejecuta hasta que finaliza la anterior.

Estructura selectiva o de selección

La estructura selectiva permite la realización de una instrucción u otra según un criterio, solo una de estas instrucciones se ejecutara.

15/02/10

Estructura iterativa • Un bucle iterativo o iteración de una secuencia de

instrucciones, hace que se repitan mientras se cumpla una condición, en un principio el número de iteraciones no tiene porque estar determinado.

• al principio.

Anidamiento

El cuerpo de cualquier estructura puede ser una instrucción simple u otra estructura, que a su vez puede anidar a otra.

15/02/10

• 1. Los programas son más fáciles de entender, ya que pueden ser leídos de forma secuencial.

• 2. La estructura del programa es clara.• 3. Reducción en las pruebas. El seguimiento de

los fallos o errores del programa ("debugging"), se facilita debido a la estructura más visible.

• 4. Reducción de los costos de mantenimiento de los programas.

• 5. Programas más sencillos y más rápidos (ya que es más fácil su optimización).

• 1. Los programas son más fáciles de entender, ya que pueden ser leídos de forma secuencial.• 2. La estructura del programa es clara.• 3. Reducción en las pruebas. El seguimiento de los fallos o errores del programa ("debugging"), se facilita debido a la estructura más visible.• 4. Reducción de los costos de mantenimiento de los programas.• 5. Programas más sencillos y más rápidos (ya que es más fácil su optimización).

15/02/10

Inconvenientes de la programación estructurada

• Cuando se obtienen bloques de programa demasiado grandes, puede resultar problemático su manejo; esto se resuelve empleando la programación modular, definiendo módulos y compilados por separado (en realidad esto no es necesario, pero es recomendable para su mantenimiento y funcionalidad).

• Hoy en día se suelen utilizar, tanto las técnicas de programación estructurada como las de programación modular.