ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

INTRODUCCION A LA PROGRAMACION BÁSICA

Osisantiago24 de Febrero de 2015

2.791 Palabras (12 Páginas)289 Visitas

Página 1 de 12

1. Compilador y Traductor.

1.1. Compilador.

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio, o simplemente texto.

La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad. Estas fases se agrupan en dos tareas: el análisis del programa fuente y la síntesis del programa objeto.

 Análisis: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis Léxico , Análisis Sintáctico y Análisis Semántico .

 Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de Generación de Código y de Optimización de Código.

Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar en Front-end y Back-end:

 Front-end: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas entre el Análisis Léxico y la Generación de Código Intermedio.

 Back-end: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.

Esta división permite que el mismo Back End se utilice para generar el código máquina de varios lenguajes de programación distintos y que el mismo Front End que sirve para analizar el código fuente de un lenguaje de programación concreto sirva para generar código máquina en varias plataformas distintas. Suele incluir la generación y optimización del código dependiente de la máquina.

1.1.1. Tipos de compiladores.

 Compiladores cruzados: generan código para un sistema distinto del que están funcionando.

 Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original.

 Compiladores de una sola pasada: generan el código máquina a partir de una única lectura del código fuente.

 Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código máquina.

 Compiladores JIT:forman parte de un intérprete y compilan partes del código según se necesitan.

1.2. Interpretes.

Un intérprete traduce un código fuente en lenguaje máquina también. El intérprete difiere del compilador en que ejecuta cada orden una vez que se traduce. Este proceso puede hacer más lenta la ejecución del programa, así que los intérpretes se utilizan menos que los compiladores. Un intérprete es otra manera de implementar un lenguaje de programación. La interpretación comparte muchos aspectos con el compilador. Los análisis léxico, sintáctico y verificación de tipos son exactamente los mismos que en un compilador.

Pero en lugar de generar código del árbol sintáctico, el árbol sintáctico se procesa directamente para evaluar expresiones y ejecutar sentencias, y así hasta terminar. Un intérprete puede necesitar evaluar la misma parte del árbol sintáctico varias veces, por eso la interpretación puede ser más lenta que la ejecución de un programa compilado. Pero escribir un intérprete es más fácil de mover a una máquina diferente, así que para aplicaciones donde la velocidad no importa, lo mejor es utilizar un intérprete.

Para mejorar el desempeño, algunas implementaciones de programación de lenguajes de programación pueden interpretar o compilar el código fuente original en una más compacta forma intermedia y después traducir eso al código de máquina (ej. Perl, Python, MATLAB, y Ruby). Algunos aceptan los archivos fuente guardados en esta representación intermedia (ej. Python, UCSD Pascal y Java).

2. Programación Estructurada.

La programación estructurada es un estilo con el cual él se busca que el programador elabore programas sencillos y fáciles de entender. Para ello, la programación estructurada hace uso de tres estructuras básicas de control.

Éstas son:

• Estructura Secuencial

• Estructura Selectiva

• Estructura Repetitiva (ó Iterativa)

La programación estructurada se basa un teorema fundamental, el cual afirma que cualquier programa, no importa el tipo de trabajo que ejecute, puede ser elaborado utilizando únicamente las tres estructuras básicas (secuencia, selección, iteración).

2.1. Definición de las tres estructuras básicas.

Estructura Secuencial: Indica que las instrucciones de un programa se ejecutan una después de la otra, en el mismo orden en el cual aparecen en el programa. Se representa gráficamente como una caja después de otra, ambas con una sola entrada y una única salida.

Las cajas A y B pueden ser definidas para ejecutar desde una simple instrucción hasta un módulo o programa completo, siempre y cuando éstos también sean programas apropiados.

Las cajas A y B pueden ser definidas para ejecutar desde una simple instrucción hasta un módulo o programa completo, siempre y cuando éstos también sean programas apropiados.

Estructura Selectiva: También conocida como la estructura SI-VERDADERO-FALSO, plantea la selección entre dos alternativas con base en el resultado de la evaluación de una condición; equivale a la instrucción IF de todos los lenguajes de programación y se representa gráficamente de la siguiente manera:

En el diagrama de flujo anterior, C es una condición que se evalúa; A es la acción que se ejecuta cuando la evaluación de esta condición resulta verdadera y B es la acción ejecutada cuando el resultado de la evaluación indica falso. La estructura también tiene una sola entrada y una sola salida; y las funciones A y B también pueden ser cualquier estructura básica o conjunto de estructuras.

Estructura Repetitiva (Iterativa): También llamada la estructura HACER-MIENTRAS-QUE, corresponde a la ejecución repetida de una instrucción mientras que se cumple una determinada condición. El diagrama de flujo para esta estructura es el siguiente:

Aquí el bloque A se ejecuta repetidamente mientras que la condición C se cumpla o sea cierta. También tiene una sola entrada y una sola salida; igualmente A puede ser cualquier estructura básica o conjunto de estructuras.

2.2. Ventajas de la Programación Estructurada

Con la programación estructurada, elaborar programas de computadora sigue siendo una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas:

1. Los programas son más fáciles de entender. Un programa estructurado puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación.

2. Se logra una reducción del esfuerzo en las pruebas. El seguimiento de las fallas o depuración (debugging) se facilita debido a la lógica más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente.

3. Se crean programas más sencillos y más rápidos.

3. Programación Orientada a Objetos.

La orientación a objetos proporciona un nuevo paradigma para la creación del software. En este nuevo paradigma, los objetos y las clases son los pilare, mientras que los método, los mensajes y la herencia producen los mecanismos primarios. Históricamente, la creación de un programa implicaba la definición de procesos que actuaban sobre un conjunto independiente de datos.

3.1. Objeto.

Es una definición abstracta de algo identificado por dos sub- partes inexorablemente unidas entre si. Un objeto tiene atributos en ocasiones llamados estados o propiedades que lo describen. En segundo lugar vienen comportamientos denominados funciones o métodos, los cuales describen lo que puede hacer.

Objeto Posibles atributos Posibles comportamientos

Un gato Nombre, tamaño, color, raza Comer, maullar, dormir, cazar, ratones, ronronear.

Un objeto no es más que un conjunto de variables (o datos) y métodos (o funciones) relacionados entre sí. Los objetos en programación se usan para modelar objetos o entidades del mundo real (el objeto hijo, madre, o farmacéutica, por ejemplo). Un objeto es, por tanto, la representación en un programa de un concepto, y contiene toda la información necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden realizarse sobre los mismos.

Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad:

 El estado está compuesto de datos o informaciones, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).

 El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él.

 La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto

...

Descargar como (para miembros actualizados) txt (19 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com