lenguajes de programacion

52
UNIVERSIDAD CATÓLICA SANTO TORIBIO DE MOGROVEJO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN Asignatura Metodología del Trabajo Intelectual Tema Lenguajes de Programación Chiclayo, 26 de Noviembre del 2008 Autor : Vargas Carrasco Luis Lizandro Profesor : Lic. Arrasco Alegre Jorge Luis Ciclo : I

Upload: luis-vargas

Post on 23-Jun-2015

845 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lenguajes de Programacion

UNIVERSIDAD CATÓLICA SANTO TORIBIO DE MOGROVEJO FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN

Asignatura

Metodología del Trabajo Intelectual

Tema

Lenguajes de Programación

Chiclayo, 26 de Noviembre del 2008

Autor : Vargas Carrasco Luis Lizandro

Profesor : Lic. Arrasco Alegre Jorge Luis

Ciclo : I

Page 2: Lenguajes de Programacion

DEDICATORIA

Esta monografía está dedicada especialmente a mis padres y familiares, que

siempre me brindan su apoyo, y a mi tío por brindarme su ayuda y darme la

oportunidad de sobresalir y ser una persona triunfadora en el futuro.

Page 3: Lenguajes de Programacion

AGRADECIMIENTO

Agradezco a:

• Liliana Mairena Fox, encargada de la hemeroteca, por ayudarme en la

búsqueda de mi material bibliográfico.

• Fernando Gonzáles Vásquez y amigos que me ayudaron en todo este

transcurso e hicieron de mi investigación la más divertida.

Page 4: Lenguajes de Programacion

SUMARIO

DEDICATORIA

AGRADECIMIENTO

SUMARIO

INTRODUCCIÓN

CAPITULO I: Teoría de los Lenguajes.

1.1.- Programa de computadora

1.1.1.- Objetivos

1.2.-Lenguaje de Programación

1.3.-Historia de Lenguaje de Programación.

1.4.- ¿Por qué estudiar Lenguaje de Programación?

1.5.- Desarrollo de los primeros Lenguajes

1.5.1.- Lenguajes bandos a los cálculos numéricos.

1.5.2.- Lenguaje par Negocios.

1.5.3.- Lenguaje para Inteligencia Artificial

1.5.4.-Lenguaje para Sistemas

1.6.- Implementación de un Lenguaje

1.7.- El software (programas).

1.8.-Traductores de lenguaje.

1.8.1.- Interpretes.

1.8.2.- Compradores.

1.8.3.- Ensambladores.

1.8.4.- Preprocesadores.

1.9.-Tipos de Lenguajes.

1.9.1.-Lenguaje Maquina.

1.9.2.-Lenguaje de Bajo Nivel.

1.9.3.-Lenguaje de Alto Nivel.

CAPITULO II: Los Lenguajes

2.1.- Lenguajes Simples de Procedimientos

2.1.1.- Fortran

2.1.1.1.- Historia

2.1.1.2.- Breve perspectiva del Lenguaje

2.1.2.- Lenguaje C

2.1.2.1.- Historia

2.1.2.2.- Breve perspectiva del Lenguaje

2.2.- Lenguajes de Procedimiento

2.2.1.- Pascal

Page 5: Lenguajes de Programacion

2.2.1.1.- Historia

2.2.1.2.- Breve perspectiva del Lenguaje

2.3.- Lenguajes con Base en Objetos

2.3.1.- ADA

2.3.1.1.- Historia

2.3.1.2.- Breve perspectiva del Lenguaje

2.3.2.- C++

2.3.2.1 Historia

2.3.2.2.- Breve perspectiva del Lenguaje

2.3.3.- Smalltalk

2.3.3.1 Historia

2.3.3.2.- Breve perspectiva del Lenguaje

2.4.- Lenguajes Funcionales

2.4.1.- LISP

2.4.1.1 Historia

2.4.1.2.- Breve perspectiva del Lenguaje

2.4.2.- ML

2.4.2.1 Historia

2.4.2.2.- Breve perspectiva del Lenguaje

2.5.- Lenguaje de Programación Lógica

2.5.1.- Prolog

2.3.2.1 Historia.

2.3.2.2.- Breve perspectiva del Lenguaje.

CAPÍTULO III: Generalidades de los Lenguajes

3.1.- Identificadores

3.2.- Variables y Constantes

3.2.1.- Variables

3.2.2.- Constantes

3.3. - Entrada y salida de valores

3.3.1.- Función printf

3.3.2.- Función scanf

3.4.- Expresiones

3.4.1.- Operadores de Asignación

3.4.2.- Operadores Aritméticos

3.4.3.- Operadores Relacionales

3.4.4.- Operadores Lógicos

3.4.5.- Prioridad de Operadores

Page 6: Lenguajes de Programacion

CAPITULO IV: Aplicación Práctica

4.2.- Explicación del programa

4.1.- Aplicación de un programa

CONCLUSIONES

BIBLIOGRAFÍA

ANEXOS

Anexos 01

Anexos 02

INDICE

Page 7: Lenguajes de Programacion

INTRODUCCIÓN

La presente monografía de contenido y distribución de los capítulos será de

gran utilidad para aquellas personas que por primera vez se sienten atraídos por la

tecnología y sus funciones, que conforme pasa los años va evolucionando, así como el

caso de las computadoras, sus programas y sus diferentes tipos de lenguajes de

programación, que hace posible la ejecución de diferentes tipos de tareas para un

usuario.

Estudiar los lenguajes de programación es importante porque nos

permite ejecutar o dar órdenes a una computadora para el desarrollo de un

problema en específico, el desarrollo de un programa es útil para el manejo de

una empresa ya que por medio de las computadoras facilita el desarrollo de un

trabajo específico.

En el Capítulo I: daremos a conocer sobre los programas de una

computadora y sus objetivos, también daremos a conocer sobre los lenguajes,

como se fueron desarrollando los primeros lenguajes y cómo podemos realizar

una buena implementación para el desarrollo de un buen lenguaje, también

daremos a conocer por qué medio se pueden traducir un programa.

En el Capítulo II: hablaremos sobre los diferentes lenguajes de

programación, como los lenguajes simples, estructurados, con base a objetos,

funcionales o de programación lógica, daremos a conocer un poco de ellos por

medio de unas breves historias sobre cada lenguaje que se desarrolla en cada

uno de esos ámbitos.

En el Capítulo III: aplicaremos el desarrollo de un programa en lenguaje

“C” como un ejemplo, y explicaremos paso a paso lo más entendible que se

pueda.

A continuación empezare con el desarrollo de la presente monografía

que está realizada para aquellas personas que les gusta la ingeniería de

sistemas y que por primera vez la van a conocer.

Page 8: Lenguajes de Programacion

Capitulo I

Teoría de los Lenguajes

Page 9: Lenguajes de Programacion

1.1.- Programa de Computadora

Se llama programa de computadora, a la elaboración de un conjunto concreto

de instrucciones que una computadora pueda ejecutar. Un programa es una secuencia

no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un

problema. Un programa de computadora se escribe en lenguaje de programación,

aunque también se puede escribir directamente en lenguaje maquina, pero en este

caso la dificultad es mayor. (Xhafa, et al 2005).

1.1.1.- Objetivos:

Según Xhafa, et al 2005, la programación de computadora debe seguir

tres objetivos fundamentales:

Corrección:

Un programa es correcto si hace lo que debe hacer. Cuando el código

del programa ya está escrito y probado se debe buscar errores, y si hay

corregirlos.

Eficiencia:

Normalmente al hablar de eficiencia se suele hacer referencia al

consumo de tiempo y/o memoria, debe consumirse la menor cantidad

de recursos posibles.

Claridad:

Es importante que el programa sea lo más claro y legible posible para

facilitar al máximo el mantenimiento posterior del software.

1.2.- Lenguaje de Programación

Un lenguaje de programación es una técnica estándar de comunicación que

permite expresar las instrucciones que han de ser ejecutadas en una computadora.

Consiste en un conjunto de reglas sintácticas y semánticas que definen un programa

informático. (wikipedia.org).

Un lenguaje de programación permite a un programador especificar de manera

precisa: sobre qué datos una computadora debe operar, cómo deben ser estos

almacenados y transmitidos. (Stroustrup Bjame 2002).

Page 10: Lenguajes de Programacion

Según Joyanes (2003), los Lenguajes de Programación sirven para escribir

programas que permitan la comunicación de usuario/maquina.

El propósito de lenguaje de computadora, también permite a las personas escribir un

lenguaje que sea mas a las características humanas que se puedan traducir al

lenguaje maquina.

Un lenguaje de programación sirve para dos propósitos relacionados:

Sirva como vínculo para que el programador especifique las oraciones a ejecutas, y

ofrece un conjunto de conceptos para que el programador utilice cuando piense en lo

que puede hacerse. (Stroustrup Bjame 2002).

1.3.- Historia de los Lenguajes de Programación.

Según Joyanes (2003). La Historia de la informática y la computación se ha

caracterizado fundamentalmente en la existencia de centenares de Lenguajes, solo

unas decenas escasas han tenido un impacto significativo y unos pocos son los

utilizados en la industria de los negocios y la ciencia.

Los Lenguajes de Programación nacieron a finales de los cincuenta y primeros años

de los sesenta, tales como COBOL, FORTRAN, BASIC, LOGO, llamados como

Lenguajes ensambladores, en la década de los setenta y primeros años de los

ochenta aparecieron nuevos lenguajes como PASCAL, C Y ADA desplazando a

ALGOL y BASIC. A principios de los ochenta apareció C++como lenguaje imperativo,

en 1995 se presentó oficialmente por el constructor Sum el lenguaje JAVA un lenguaje

orientado a objetos. En el año 2000 Microsoft presentó C#.

Los diseños y métodos de implementación han evolucionado de manera

continua desde que aparecieron los lenguajes de alto nivel en la década de 1950;

ADA, C, PASCAL, PROLOG y SMALTALK datan de los años setenta, y C++ y ML de

los ochenta. (Pratt y Zelkowitz 2004).

1.4.- ¿Porque Estudiar Lenguaje de Programación?

Muchos Ingenieros solo trabajan con un tipo de lenguaje de programación,

seria bueno aprender por lo menos dos lenguajes de programación, así le resultaría

mucho más fácil poder desarrollar los programas con mucha mejor facilidad y

entendimiento.

Page 11: Lenguajes de Programacion

1.5.- Desarrollo de los Primeros Lenguajes.

Según Pratt y Zelkowitz (2004). Los define así:

1.5.1.-Lenguajes basados en el cálculo numérico.

A principios de los años cincuenta comenzaron a aparecer notaciones

simbólicas. Grace Hopper encabezó un grupo en UNIVAC par desarrollar el

lenguaje A-0, y Jhon Backus desarrolló speedcoding para la IBM 701. Ambos

se proyectaron para compilar expresiones aritméticas sencillas en un lenguaje

maquina ejecutable.

El verdadero avance tuvo lugar de 1955 a 1957, cuando Backus encabezó un

equipo par desarrollar FORTRAN, los datos de FORTRAN se orientaban en

entorno a cálculos numéricos.

1.5.2.-Lenguajes para negocios.

Grace Hopper encabezó un grupo para desarrollar FLOWMATIC en

1955. La meta era desarrollar aplicaciones de negocios usando una forma de

texto parecido al inglés. En 1959 se desarrolló el GBL y en 1960 el COBOL.

1.5.3.-Lenguaje para Inteligencia Artificial.

Se inició en los años cincuenta con IPL de la Rand Corporation. El IPL-

V se conocía en forma bastante amplia pero su uso estaba limitado por su

diseño de bajo nivel.

El avance importante ocurrió cuando Jonh McCarthy, del MIT diseñó LISP

(procesamiento de lista) para la IBM donde los juegos era un campo de prueba.

1.5.4.-Lenguajes para Sistemas.

Se diseñaron muchos lenguajes de programación para sistemas, como

CPL y BCPL, pero nunca se usaron en forma amplia. El lenguaje C cambió

todo eso con el desarrollo de un entorno competitivo para UNIX escritos

principalmente en C durante los primeros años de la década de 1970, se a

demostrado la eficiencia de lenguaje de alto nivel en este entorno, así como en

otros

Page 12: Lenguajes de Programacion

1.6.- Implementación de un Lenguaje.

Según Pratt y Zelkowitz (2004). Hay 6 razones primordiales para la

implementación de lenguaje de programación:

1. Mejorar la habilidad para el desarrollo de algoritmos; para que nos permita

la implementación directa de algoritmos elegantes y eficientes.

2. Mejorar l uso del lenguaje de programación disponible; a través del

entendimiento de cómo se implementan las características del lenguaje que

uno usa.

3. Acrecentar el propio vocabulario con construcciones útiles sobre

programación; el programador debe aportar su propia implementación de la

construcción en términos de los elementos primitivos que efectivamente

proporciona el lenguaje

4. Hacer posible una mejor elección del lenguaje de programación; un

conocimiento de diversos lenguajes puede permitir la elección de un lenguaje

que sea el adecuado para el proyecto particular, con lo cual se reduce el

esfuerzo d codificación requerida.

5. Facilitar el aprendizaje de un nuevo lenguaje; un conocimiento de diversas

construcciones de lenguajes de programación y técnicas de ejecución permiten

al programador un nuevo lenguaje de programación con más facilidad cuando

ello es necesario.

6. Facilitar el diseño de un nuevo lenguaje; este aspecto del diseño de

programación se suele simplificar si el programador esta familiarizado con

diversas construcciones y métodos de implementación de lenguajes de

programación ordinarios

1.7.- El Software (Programas).

El Software del Sistema:

Según Joyanes (2003). Es el conjunto de programas indispensable

para que la maquina funcione, estos programas son el sistema operativo, los

editores de texto, los compiladores/interpretes y los programas de

utilidad.

Unos de los programas más importantes es el Sistema Operativo,

que sirve para facilitar la escritura y uso de sus propios programas.

Page 13: Lenguajes de Programacion

Un Sistema Operativo permite utilizar el hardware y comunicarse con el resto

del software del sistema

1.8.- Traductores de Lenguajes de Programación.

Según Joyanes (2003). Los traductores de Lenguajes son programas que

traducen a su vez los programas fuentes escritos en lenguaje de alto nivel a código

maquina, estos son:

� INTERPRETES.

� COMPILADORES.

� ENSAMBLADORES

� PREPROCESADORES

1.8.1.- INTERPRETES:

El objetivo de un intérprete es procesar una a una las

instrucciones de un programa escrito en un lenguaje de alto nivel. Para

cada instrucción se verifica la sintaxis, se traduce a código maquina y

finalmente se ejecuta. Es decir, que la traducción y la ejecución se

realizan como una sola operación. (Peña Basurto 2000)

El intérprete elimina la necesidad de realizar una corrida de

compilación después de cada modificación del programa cuando se

quiere agregar funciones o corregir errores. (Wikipedia.org).

Programas

Fuente

Interprete

Traducción y

Ejecución

línea a línea

Page 14: Lenguajes de Programacion

1.8.2.- COMPILADORES:

Según Joyanes (2003). Se encarga de traducir un programa de

alto nivel a lenguaje maquina y almacena el resultado en otro archivo

llamado código objeto.

Según Wikipedia. Los compiladores son aquellos cuya función

es traducir un programa escrito en un determinado lenguaje a un idioma

que la computadora entienda (lenguaje maquina con código binario).

Al usar un lenguaje compilado el programa nunca se ejecuta mientras

haya errores, sino hasta luego d haber compilado el programa, ya no

aparecen errores en el código.

1.8.3.- ENSAMBLADORES

Es un tipo de traductor que convierte programas escritos en lenguaje

ensamblador en programas escritos en código máquina.

(teleformacion. edu).

1.8.4.- PREPROCESADORES

Traduce un lenguaje de alto nivel a otro, cuando el primero no puede

pasar a lenguaje máquina directamente (teleformacion. edu)

1.9.- Tipos de Lenguaje

1.9.1.- Lenguaje Maquina:

Según Wikipedia. Están escritas en lenguajes inteligibles por la

maquina, ya que sus instrucciones son cadenas binarias (0 y 1). Da la

posibilidad de cargar sin necesidad de traducción posterior loa que supone una

Programas

Fuente. Compilador

Programa

Objeto.

Page 15: Lenguajes de Programacion

velocidad de ejecución superior, solo que con poca fiabilidad y dificultad de

verificar y poner a punto los programas.

Según Joyanes (2003). Conocido como código binario.

Las instrucciones del lenguaje maquina dependen del hardware de la

computadora y, por tanto difieren de una computadora a otra.

Sus inconvenientes son:

• Dificultad y lentitud en la codificación.

• Poca fiabilidad.

• Dificultad grande de verificar y poner a punto los programas.

1.9.2.- Lenguaje de Bajo Nivel

Son lenguajes de programación de se acercan al funcionamiento de una

computadora. (Wikipedia.org).

Son mas fáciles de utilizar que los lenguajes maquinas, pero al igual que

ellos dependen de la maquina en particular. El lenguaje de bajo nivel por

excelencia es el ensamblador. (Joyanes Luis 2004).

1.9.3.- Lenguaje de Alto Nivel

Según Wikipedia, son fáciles de aprender por que están formados por

elementos de lenguaje natural.

Según Joyanes (2004), son los más utilizados por los programadores.

Están diseñadas para que las personas escriban y entiendan los programas de

un modo mucho más fácil que los lenguajes maquinan y ensamblador,

presentan las siguientes ventajas:

• El tiempo de formación de los programadores es relativamente corto

comparado con otros lenguajes.

• La escritura d programas se basa en reglas sintácticas similares a

los lenguajes humanos.

• Las modificaciones y puestas a punto a los programas son más

fáciles.

• Reducción del costo de programas.

• Transportabilidad.

Page 16: Lenguajes de Programacion

Capitulo II

Los Lenguajes

Page 17: Lenguajes de Programacion

2.1.- Lenguajes Simples de Procedimientos

Estos lenguajes se componen de una serie de procedimientos (subprogramas,

funciones o subrutinas) que se ejecutan cuando se les llama. Cada procedimiento

consiste en una serie de enunciados, donde cada enunciado manipula datos que

pueden ser locales al procedimiento. Los datos locales par cada procedimiento se

guardan en un registro de activación asociado con este procedimiento, y los datos

guardados en estos registros de activación tienen de manera habitual tipos de datos

relativamente simples, como entro, reales, de caracteres o boléanos. Fortran y C

fueron proyectados para eficiencia en tiempo de ejecución. Aunque desempeñaron

papeles muy diferentes, tienen características similares en cuanto a computadora

virtual y ejecución. (Pratt y Zelkowitz 2004).

2.1.1.- Fortran

Fortran es el lenguaje más popular entre los científicos e ingenieros

(actualmente se perfilan a F90). Es un lenguaje diseñado para aplicaciones

matemáticas y de cómputo. Guilmer González (2008)

El Fortran es un lenguaje que se usa ampliamente para el cómputo

científico y de ingeniería. Anteriormente el Fortran se caracterizaba por

asignación estática de memoria sin necesidad de asignación de registros d

activación en tiempo de ejecución. Sin embargo, el Fortran 90 introduce

estructuras de control de enunciados múltiples, alcances anidados, tipos,

recursion, arreglos dinámicos y apuntadores. (Pratt y Zelkowitz 2004).

2.1.1.1.- Historia

Según Pratt y Zelkowitz (2004), el Fortran fue el primer lenguaje de

programación de alto nivel en alcanzar un uso amplio. Fue desarrollado

inicialmente en 1957 por la IBM para ejecutarse en la computadora IBM 704. El

diseño de las primeras versiones de Fortran estaba fuertemente orientado a

proporcionar eficiencia de ejecución. La primera definición estándar del

lenguaje fue adoptada en 1966, y se hizo una revisión importante de este

estándar en los años setenta, la cual condujo a Fortran 77, que continuo con la

tradición del patrón original al permitir que todos los datos se asignaran de

manera estática. La revisión la revisión actual del estándar, el Fortran 90,

Page 18: Lenguajes de Programacion

cambia radicalmente el foco de Fortran al permitir datos dinámicos. Además,

agrega los conceptos de obsolencia y desaprobado como indicaciones de

características que se puedan omitir en una futura revisión de este estándar.

FORTRAN es un acrónimo de FORmula TRANslator (Traductor de

Fórmulas), es el lenguaje de programación más antiguo que fue desarrollado

por John Backus para IBM a finales de los años 50. FORTRAN fue diseñado

para su uso por matemáticos, ingenieros y científicos en general y sigue siendo

de gran importancia en estos campos. A lo largo de estos 40 años han surgido

varias versiones de FORTRAN; las más comúnmente utilizadas son FORTRAN

77 y 90, (Cáceres Gonzáles 1986)

2.1.1.2.- Breve Perspectiva del Lenguaje

Al analizar Fortran podemos casi considerar que Fortran 77 y Fortran 90

son lenguajes distintos. El Fortran 90 incorporan casi todas las características

modernas de datos y control, de las que carece el Fortran clásico. Fortran 77

incorporó ciertas estructuras de control modernas (por ejemplo la condicional

IF…THEN…ELSE) y el Fortran 90 amplió este concepto al grado de que ahora

es posible escribir programas en Fortran sin enunciados GOTO. Un programa

en Fortran se compone de un programa principal y un conjunto de

subprogramas, cada uno de los cuales se compila por separado de todos los

demás. Cada subprograma se compila en un segmento de código y registros

de activación asignados en forma estadística. (Pratt y Zelkowitz 2004).

2.1.2.- Lenguaje C

Según Pratt y Zelkowitz (2004), C es un lenguaje desarrollado en 1972,

esta relacionado con ALGOL y PASCAL en cuanto a estilo y con la inclusión de

atributos de IP/L. Aunque es un lenguaje de programación de usos múltiples,

su sintaxis compacta y sus características de ejecución eficiente lo han vuelto

popular como lenguaje de programación de sistemas.

2.1.2.1.- Historia

El lenguaje de programación C fue desarrollado por Dennos Ritchie en

los laboratorios BELL de la empresa de comunicaciones AT&T, en 1972. C fue

creado inicialmente con un propósito muy concreto: el diseño del sistema

Page 19: Lenguajes de Programacion

operativo UNIX. Sin embargo pronto se reveló como un lenguaje muy potente y

flexible, lo que provocó que su uso se extendiese rápidamente, incluso fuera de

los laboratorios BELL. De esta forma, programadores de todo el mundo

empezaron a usar el lenguaje C para escribir programas de todo tipo. (Peña

Basurto y Cela Espín 2000).

2.1.2.2.- Breve perspectiva del lenguaje

Según Pratt y Zelkowitz (2004), el lenguaje C se trata de un lenguaje

relativamente pequeño con un número limitado de estructura de control y de

características. Puesto que casi todos los compiladores de C incluyen

enunciados de procesador #, la mayoría de los usuarios no se dan cuenta de

que en realidad estos no forman parte del lenguaje C. El lenguaje C tiene

apuntadores, y existe una equivalencia entre arreglos y apuntadores, lo que

permiten que los programas utilicen el método de acceso más rápido. C tiene

un conjunto grande de operadores aritméticos que dan origen a programas muy

eficientes y a veces muy conocidas.

2.2.- Lenguajes de Procedimientos Estructurado en Bloques

La programación estructurada, es un tipo de programación con el cual el

programador elabora un programa, cuya estructura es la más clara posible. La

programación estructurada ofrece muchas ventajas sobre la programación secuencial:

El código de programación estructurada es más fácil de leer y mas conversable; el

código procesal es más flexible. La programación estructurada permite la practica más

fácil del buen diseño de programa. (Wikipedia.org)

2.2.1.- Pascal

El lenguaje Pascal fue proyectado por Niklaus Wirth en el periodo que

va de 1968 a 1970 para superar muchas de las diferencias del lenguaje

ALGOL más antiguo. Se le dio ese nombre en honor de matemático francés

Blaise Pascal, quien desarrollo una calculadora digital en 1642. Desde finales

de la década de 1970 hasta los últimos años ochenta, fue el lenguaje

dominante en los cursos de iniciación a la ciencia de la computación. (Pratt y

Zelkowitz 2004).

Page 20: Lenguajes de Programacion

2.2.1.1.- Historia

El lenguaje Pascal se creó en la década de los 70 con el objetivo de

disponer de un lenguaje de programación de alto nivel y propósito general

orientado hacia los nuevos conceptos de programación, desarrollado por el

profesor suizo en ciencias de la computación Niklaus Wirth como un lenguaje

para la enseñanza de la programación de modo disciplinado, que fuese fácil de

aprender y con la complejidad suficiente para permitir una correcta

programación de los programadores futuros. Su nombre proviene en honor a

BLAISE PASCAL, matemático e inventor de la maquina analítica (primer

concepto de computador). Una versión preliminar del lenguaje apareció en

1968 y el primer compilador totalmente completo apareció a finales de 1970.

Desde entonces muchos compiladores han sido construidos y están

disponibles para diferentes maquinas. Turbo Pascal es el compilador

desarrollado más importante entre los existentes. (Trejo Patricia 2007).

2.2.1.2.- Breve perspectiva del lenguaje

Pascal es un lenguaje con una estructura en tiempo de ejecución muy

parecida a la de C, sin embargo, también tiene la capacidad para declarar

procedimientos locales internos y crear una jerarquía completa. Pascal tiene un

conjunto bastante grande de tipos de datos primitivos y estructurados: enteros,

reales, de caracteres, enunciados boleanos, arreglos, registro de archivo

secuencial y una forma limitada de conjuntos. (Pratt y Zelkowitz 2004).

Es un lenguaje estructurado compilado basado en ALGOL, al cual

añade tipos de datos y simplifica su sintaxis. (Trejo Patricia 2007).

2.3.- Lenguajes con base en objetos

La programación orientada a objetos permite organizar programas de forma

parecida, como los objetos del mundo real se organiza, es una forma de concebir un

programa de computadora. Modela una aplicación como una colección de objetos que

se comunican entre sí para alcanzar una meta común. Tiene sus orígenes en la

simulación, de hecho el primer lenguaje orientado a objetos fue SIMULA, esto se debe

a que en simulación generalmente se modela una aplicación como un conjunto de

entidades. (Trejo Patricia 2007).

Page 21: Lenguajes de Programacion

2.3.1.- ADA

Aunque originalmente fue diseñada para aplicaciones militares, ADA es

un lenguaje para usos generales aplicable a la solución de casi todos los

problemas de programación. Tiene una estructura en bloques y un mecanismo

de tipos de datos similares a PASCAL. Suministra una forma más segura de

encapsulamiento de datos que PASCAL. El lenguaje ADA es único en su

género, porque se convirtió en un estándar internacional antes de que

existieran traductores funcionales para lenguaje. (Pratt y Zelkowitz 2004).

ADA es un lenguaje de programación en cuyo diseño se complementa

la concurrencia desde su concepción. Durante el desarrollo de aplicaciones en

las que el control esta distribuido a lo largo de distintas entidades, se pueden

programar procesos independientes que se comunican y sincronizan, en forma

muy clara.

2.3.1.1.- Historia

La historia de ADA comienza en 1974 cuando el Ministerio de

Defensa de los Estados Unidos llevó a cabo un estudio de los lenguajes

de programación utilizados en sus proyectos y concluyó que COBOL

era un estándar para procesador de datos y FORTRAN para cálculos

científicos. sin embargo, la situación con respecto a los sistemas

empotrados era diferente: el número de lenguajes en uso era enorme.

ante esta falta de estandarización que provocaba gastos inútiles, se

propuso el uso de un único lenguaje para estos sistemas. el primer paso

del desarrollo fue la redacción el 1975 de un documento que perfilaba

los requisitos que debía satisfacer el lenguaje. Después de varias

modificaciones, en 1976 se produjo una versión de la que ningún

lenguaje existente cumplía todos sus requisitos, así pues, el paso

siguiente fue la aceptación de propuestas de diversos contratistas, de

los que se eligieron cuatro de ellos. El siguiente paso fue el refinamiento

de las propuestas elegidas y se revisaron las especificaciones para dar

la versión definitiva conocida como STEELMAN. La elección final del

lenguaje se hiso en 1979 cuando se declaró vencedor el desarrollo de

Honeywell Bull. se decidió que se llamaría ADA en honor a Augusta Ada

Byron, condesa de Lovelace (1815-1852), hija de Lord Byron, quien fue

Page 22: Lenguajes de Programacion

ayudante y patrocinadora de Charles Babbage trabajando en su

máquina analítica mecánica, de hecho, está considerada por muchos

como el primer programador de la historia. en 1983, se publicó el primer

estándar ISO de ADA, el conocido manual de referencia de ADA y ARM.

La revisión del lenguaje vino en 1995, marcando las don versiones que

existen hasta el momento. ADA 83 y ADA 95. Actualmente se está

trabajando en una próxima versión que se llamará ADA 2005. El

movimiento de defensa y los ministerios equivalentes de varios países

de la OTAN exigían el uso de éste lenguaje en los proyectos que

controlaban (el ADA mandate). La obligatoriedad en el caso de Estados

Unidos terminó en 1997 cuando el ministerio de defensa comenzó a

usar productos COTS (Commercial off the Shelf). (Wikipedia.org)

2.3.1.2.- Breve perspectiva del lenguaje

El ADA está pensado para permitir la construcción de programas

grandes por equipos de programadores. Un programa ADA se proyecta

ordinariamente como una colección de componentes muy grandes de

software llamadas paquetes, donde cada uno presenta un tipo de dato

abstracto o conjunto de objetos de datos que se comparten entre

subprogramas. Ada suministra una amplia gama de tipos de datos

integrados, entre ellos: enteros, reales, enumeraciones booleanos,

arreglos, registros, cadenas de caracteres y apuntadores, el mecanismo

de encapsulamiento permite volver invisible la estructura interna de

objetos de datos y subprogramas, con lo que se hace valer una

verdadera abstracción tanto de datos como de operaciones. (Pratt y

Zelkowitz 2004).

ADA es un lenguaje de programación estructurado y fuertemente

tipiado de forma estática. Es un lenguaje multipropósito, orientado a

objetos y concurrente, pudiendo llegar desde la facilidad de PASCAL

hasta la flexibilidad de C++.

2.3.2.- C++

C++ es un lenguaje para escribir aplicaciones paralelas distribuidas por

lo general se da crédito a una sola persona por el desarrollo de C++. A partir

del C, Bjame Stroustrup desarrolló un eficaz lenguaje que conservó la eficiencia

Page 23: Lenguajes de Programacion

del C pero incorporó el poder de la herencia de objetos. (Pratt y Zelkowitz

2004).

2.3.2.1.- Historia

el lenguaje de programación C++ fue creado en los años

ochenta por Bjame Stroustrup basado en el lenguaje C. el C++ es un

lenguaje orientado a objetos al que se le añadieron características y

cualidades de las que carecía el lenguaje C. El C++ depende mucho del

hardware, es uno de los lenguajes más potente porque nos permite

programar a alto y a bajo nivel, es complicado porque debemos hacerlo

nosotros mismos casi todo, el nombre fue propuesto por Rick Masciatti.

C++ es heredero directo del lenguaje C que a su vez deriva del lenguaje

B. C se mantiene como un subconjunto del lenguaje C++. otra fuente de

inspiración de C++, como señala su autor Bjame Stroustrup fue SIMULA

67, del que tomó el concepto de clase (con clases derivadas y funciones

virtuales). (Joyanes 2004).

2.3.2.2.-Breve perspectiva del lenguaje

Según Pratt y Zelkowitz (2004), el diseño de C++ tuvo como guía tres

principios:

o El uso de clases no daría por resultado que los programas se ejecutaran

más lentamente que los programas que no emplean clases.

o Para asegurar que la adición de clases no habría de ocasionar la

omisión de otras características necesarias, los programas de C

deberán ejecutarse como un subconjunto en C++.

o No se deberán incorporar al lenguaje ineficiencias en tiempo de

ejecución.

Los tres objetivos se cumplieron en gran medida casi todos los

programas en C pueden ser compilados por un compilador C++.

Page 24: Lenguajes de Programacion

2.3.3.- Smalltalk

Fue proyectado como un sistema total y no simplemente como una

notación para desarrollar programas; y la orientación a objetos fue un concepto

primitivo integrado, en oposición a la adición de herencia a los mecanismos de

tipos ya existentes en lenguajes como C++ y ADA. El uso estaba limitado

originalmente por la falta de implementaciones disponibles. (Pratt y Zelkowitz

2004).

2.3.3.1.-Historia

Según Pratt y Zelkowitz (2004), Smalltalk fue desarrollado por

Alan Kay en el Palo Alto Research Center (PARC) de los serosos

principios de los años setenta, Su proyecto, Dynabook, estaba

encaminado a un ambiente total de cómputo personal. Esto ocurría

durante la edad de oro de la computación en el PARC de Seros con el

desarrollo de las PC alto y Star. En 1972, Dan Ingaes desarrolló la

primera implementación de Smalltalk.-72, la primera Ingalls de la

primera publicación practica del lenguaje. El nombre Smalltalk se refiere

a un conjunto de lenguajes altamente relacionados entre sí y

compatibles en muy alto grado. Inicialmente, Smalltalk requerida el

almacenamiento total de cómputo de una computadora especial para

ejecutarse. Por esa razón su difusión ha sido más bien limitada. Sin

embargo, existen varias implementaciones del sistema para usos

generales, y es fácil instalarlo en muchas clases de máquinas, como las

estaciones de trabajo de UNIX y las PC.

2.3.3.2.-Breve perspectiva del lenguaje

El sistema fue diseñado como un sistema total: lenguaje,

computadora y ambiente de programación. Todo lo que se puede hacer

en Smalltalk es desarrollar una clase como subclase de otras clases y

anexar métodos a cada una de estas clases, los enunciados básicos de

Smalltalk definen asignación y ejecución secuencial. A través de uso de

mensajes, se pueden definir estructura de control muy similar a las

estructuras de if y while. Smalltalk se basa en un modelo de

Page 25: Lenguajes de Programacion

comunicación, los datos se componen de objetos, y los métodos se

consideran como mensajes que envían a objetos, los componentes en

Smalltalk se encierran entre comillas, como en “En esto es un

comentario”. (Pratt y Zelkowitz 2004).

2.4.-Lenguajes Funcionales

Los lenguajes funcionales de LISP y ML están destinados a programarse en

forma aplicativa. LISP, presenta uno de los primeros lenguajes de programación, fue

diseñado alrededor de 1960 en la misma época que el FORTRAN original, Sus objetos

básicos son átomos y lista se átomos, y la llamada irrecursión de funciones

constituyen los mecanismos básicos de recursión, que tienen el aspecto de C o de

PASCAL, para operar sobre datos numéricos y lista. La diferencia principal de LISP y

ML es que el concepto de tipo es fundamental para el diseño de ML. (Pratt y Zelkowitz

2004).

2.4.1.-LISP

Fue proyectado e implementado por John McCarthy y un grupo de

Massachusetts Institute of Technology alrededor de 1960, El lenguaje se ha llegado a

usar ampliamente en área de inteligencia artificial. Se han desarrollado muchas

versiones de LISP a lo largo de los últimos 30 años, LISP es el único que no esta

estandarizado y dominado por una implementación particular. LISP es diferente de

casi todos los demás lenguajes en varios aspectos. El más notable es la equivalencia

de forma entre programas y datos en el lenguaje la cual permite ejecutar estructuras

de daos como programas y modificar programas como datos. (Pratt y Zelkowitz 2004).

2.4.1.1.-Historia

Según Pratt y Zelkowitz (2004), en el año de 1958 el profesor

John McCarthy del M.I.T (Massachusetts Institute of Technology),

comenzó a desarrollar la teoría de un lenguaje de procesamiento de

lista. En 1959 aparece públicamente la primera implementación llamada

LISP 1.5. En 1960 McCarthy publica una historia acerca de los

fundamentos de LISP que hizo Euclides por la geometría, demostrar

como unos cuantos aportes y una notación para las funciones, es

posible construir un lenguaje de programación completo. Es importante

Page 26: Lenguajes de Programacion

hacer notar que McCarthy no solo marcó un hito en la historia de los

lenguajes de programación sino que creó un modelo de programación

que ha demostrado ser superior, tanto que podemos decir que en la

actualidad existe grandes modelos de programación el de C y el de

LISP, y podemos notar que los lenguajes de modelo de C trata de

parecerse cada vez mas de LISP.

2.4.1.2.-Breve perspectiva del lenguaje

Los programas de LISP se ejecutan en ambiente interactivo. El

sistema de LISP evalúa cada expresión conforme se introduce e

imprime el resultado en forma automática en la terminal, ordinariamente,

algunas de las expresiones introducidas son definiciones de función.

Las funciones en LISP se define enteramente como expresiones, cada

operador es una función que devuelve un valor y los subprogramas se

escriben como expresiones únicas . los datos en LISP son más bien

registrados y los átomos numéricos son de tipos elementales básicos. el

LISP suministra una amplia variedad de primitivas para la creación, la

destrucción de listas, y las estructuras de control en LISP, son

relativamente sencillas. (Pratt y Zelkowitz 2004).

2.4.2.- ML

Según Pratt y Zelkowitz (2004), es un lenguaje aplicativo con programas

escritos en el estilo de C o PASCAL. sin embargo, es un lenguaje aplicativo con

un concepto avanzado de tipos de datos. ML maneja polimorfismo y, a través

de sus sistemas de tipo maneja abstracciones de datos. El lenguaje es

relativamente compacto en especial si se compara con la definición de un

lenguaje como ADA, sin embargo la capacidad de ampliación de sus tipos le

confiere un gran poder para desarrollar programas complejos. ML a logrado

avances significativos en las comunidades educativas y de investigación en

ciencias de la computación.

Page 27: Lenguajes de Programacion

2.4.2.1.- Historia

ML por las siglas (Meta Lenguaje), que fue desarrollado por

Robin Miller, junto con otras personas, con un mecanismo como

pruebas formales asistidas por computadoras en el sistema de lógica

para funciones computables de Edimburgo desarrollado a mediado de

los años setenta. Sin embargo también se le encontró utilidad como

lenguaje general para manipulación de símbolos. En 1983 el lenguaje

se rediseñó y se amplió con conceptos de módulos para convertirse en

standard ML. Aunque por el común se implementa como un intérprete,

el ML se puede compilar con relativa facilidad. El uso de ML estándar se

extendió a través de las comunidades dedicadas a la investigación en el

lenguaje de programación durante los años finales de la década de los

años 1980. (Pratt y Zelkowitz 2004).

2.4.2.2.- Breve perspectiva del lenguaje

ML es un lenguaje de tipo estático, tipificación fuerte y ejecución

aplicativa de programas, sin embargo, difiere de otros lenguajes en

cuanto a que el programa no necesita especificar los tipos. al igual que

en LISP un programa en ML se componen de varias definiciones de

función, cada función se tipifica estáticamente y puede devolver valores

de cualquier tipo. ML inconcluye casi todas las características en cuanto

con las clausulas para registro, tipo de datos abstractos y excepciones,

la cual su capacidad de entrada y salida son bastantes limitadas debido

a que sus usuarios principales son investigadores que no necesitan la

capacidad para procesar múltiples bases de datos usando formatos

complejos. (Pratt y Zelkowitz 2004).

2.5.- Lenguaje de programación lógica

La programación lógica consiste en la aplicación del corpus de conocimiento

sobre lógica para el diseño de lenguajes de programación, no debe confundirse con la

disciplina de la lógica computacional. la programación lógica comprende dos

paradigmas de programación: la programación declarativa y la programación funcional.

Page 28: Lenguajes de Programacion

La programación declarativa, gira en torno al concepto de predicado, o relación entre

elementos. La programación funcional se basa en el concepto de función (que no es

más que la evolución de los predicados), de corte más matemático. (Wikipedia.org)

2.5.1.- PROLOG

Representa el lenguaje principal en la categoría de la programación

lógica. PROLOG no es un lenguaje de programación para uso general, sino

que esta orientado a resolver problemas usando el cálculo del predicado. El

objetivo para PROLOG era proporcionar las especificaciones de una solución y

permitir que la computadora dedujera la secuencia para esa solución, en ves

de especificar un algoritmo para solución de un problema. (Pratt y Zelkowitz

2004).

2.5.1.1.- Historia

El desarrollo de PROLOG se inició en 1970 con Alain

Coulmerauer y Philippe Rousel, quienes estaban interesados en

desarrollar un lenguaje para hacer deducciones a partir del texto. El

nombre corresponde a “PROgramming in LOGice” (Programación en

Lógica). PROLOG fue desarrollado en Marsella, Francia en 1972. La

primera implementación de PROLOG se completó en 1972 usando el

compilador de ALGOL, y los aspectos básicos de lenguaje actual se

concluyeron para 1973. El uso de PROLOG se extendía gradualmente

entre quienes se dedicaban a la programación lógica principalmente por

contacto personal y no a través de una comercialización del producto.

2.5.1.2.- Breve perspectiva del lenguaje

Un programa en PROLOG se compone en una serie de hechos,

relaciones concretas entre objetos de datos y conjunto de reglas, es

decir, un patrón de relaciones entre los objetos de base de datos, un

programa se ejecuta cuando el usuario introduce una pregunta, un

conjunto de términos que deben ser todos ciertos. los hechos y reglas

de la base de datos se usan para determinar cuáles sustituciones de

variables de la pregunta son congruentes con la información de la base

de datos. La ejecución de PROLOG, aunque se basa en la

Page 29: Lenguajes de Programacion

especificación de predicados operan la forma muy parecida al lenguaje

aplicativo como LISP o ML que el desarrollo de reglas en PROLOG

requiere el mismo “pensamiento recursivo” que se necesita para

desarrollar programas en estos otros lenguajes aplicativos. PROLOG

tiene una sintaxis y una semántica simple puesto que busca relaciones

entre una serie de objetos, la variable y la lista son las estructuras de

datos básicos que se usan. (Pratt y Zelkowitz 2004).

Page 30: Lenguajes de Programacion

CAPÍTULO III

Generalidades de los Lenguajes

Page 31: Lenguajes de Programacion

3.1.- Identificadores

Un identificador en un lenguaje de programación es utilizado para referir un

valor constante, una variable, una estructura de datos compleja, o una función dentro

de un programa. Todo identificador está formado por una secuencia de letras,

números y caracteres de subrayado, con la restricción de que siempre debe comenzar

por una letra o un subrayado y que no puede contener espacios en blanco. Cada

compilador fija un máximo para la longitud de los identificadores, siendo habitual un

máximo de 32 caracteres. (Trejo Patricia 2007)

auto double int struct

break else long switch

case enum register typedef

char extern return union

const float short unsigned

continue for signed void

default goto sizeof volatile

do if static while

3.2.- Variables y Constantes

3.2.1.- Variables:

Según Cáceres González (1996), toda variable debe declararse antes

de ser usada por primera vez en el programa. Las sentencias de declaración de

variables indican al compilador que debe reservar cierto espacio en la memoria

del ordenador con el fin de almacenar un dato de tipo elemental o estructurado.

La declaración consiste en dar un nombre significativo a la variable e indicar el

tipo de dato a que corresponden los valores que almacenara.

tipo datos nombre variable;

.

Además, en una sola sentencia pueden declararse varias variables de un

mismo tipo de datos, separando los nombres de las variables mediante comas:

tipo datos nombre variable1, ..., nombre variableN;

Page 32: Lenguajes de Programacion

Opcionalmente, es posible asignar un valor inicial a las variables en la propia

declaración.

tipo datos nombre variable = valor inicial;

3.2.2.- Constantes:

Constantes Literales:

Es todo valor que aparece directamente en el código fuente,

cada vez que es necesario para una operación, constituye una

constante literal, ejemplo:

int cont = 20;

cont = cont + 3;

Los valores 20 y 3 son constantes literales del tipo de datos entero.

(Xhafa et al 2006)

Constantes Simbólicas:

Según Trejo Patricia (2007), una constante simbólica es una

constante representada mediante un nombre (símbolo) en el programa.

Una constante simbólica se declara una sola vez, indicando el nombre y

el valor que representa.

perimetro = 2 * 3.14 * radio;

area = 3.14 * radio * radio;

#define PI 3.14159

3.3. - Entrada y salida de valores

3.3.1.- Función printf:

Según Peña y Cela (200), el símbolo de porcentaje (%) se usa

como carácter especial de formato. El carácter que sigue a este

símbolo define el formato de un valor (constante, variable o

expresión), por ejemplo;

Page 33: Lenguajes de Programacion

char ch;

int num;

. . .

printf( "Esto es un carácter: %cnn", ch );

printf( "Y esto un entero: %dnn", num );

%c para valores de tipo carácter o %d para valores de tipo

entero. El siguiente ejemplo muestra por pantalla el contenido de

una variable de tipo carácter (ch), y una variable entera (num).

3.3.2.- Función scanf:

Es una función para la entrada de valores a una estructura de

datos, y en particular a una variable. Su formato es similar al de

printf. Por ejemplo:

char ch;

int num;

. . .

scanf(“%c%d", &ch, &num);

Permite introducir desde el teclado un carácter en la variable (ch)

y seguidamente un valor entero en la variable (num).

3.4.- Expresiones:

Una expresión es una fórmula matemática cuya evaluación especifica

un valor. Los elementos que constituyen una expresión son: constantes,

variables y operadores. (Peña y Cela 2000)

3.4.1.- Operadores de Asignación

El operador de asignación permite asignar valores a las variables,

asigna a la variable que está a la izquierda del operador el valor que está a la

derecha, ejemplo:

x = 1; z = 1.35;

Page 34: Lenguajes de Programacion

Unarios Signo negativo - Incremento ++

Decremento -- Binarios Suma + Resta - Multiplicación * División / Modulo %

%

Igual (=)

Suma igual (+=)

Resta igual (-=)

Multiplicación igual (*=)

División igual (/=)

3.4.2.- Operadores Aritméticos

Son operadores de muy elevada prioridad y sirven para incrementar una

unidad el valor de la variable a la que afectan:

3.4.3.- Operadores Relacionales

Los operadores relacionales se utilizan principalmente para elaborar

condiciones en las sentencias condicionales e iterativas, estos establecen la

magnitud relativa de dos elementos y son los siguientes: (Trejo Patricia 2007)

Menor que <

Mayor que >

Menor o igual que <=

Mayor o igual que >=

Igual que ==

Distinto que !=

3.4.4.- Operadores Lógicos

Los operadores lógicos se utilizan principalmente en conjunción con los

relacionales para elaborar condiciones complejas en las sentencias

condicionales e iterativas. (Peña y Cela 2000).

Page 35: Lenguajes de Programacion

3.4.5.- Prioridad de Operadores

Conjunción ´o Y lógico &&

Disyunción u O lógico jj

Negación ´o NO lógico !

Page 36: Lenguajes de Programacion

CAPITULO IV

Aplicación Práctica

Page 37: Lenguajes de Programacion

4.1.- Aplicación de un Programa

En este cuarto capítulo realizaremos un programa basado en el Lenguaje C y

después terminado el programa pasaremos a explicar paso a paso lo mas entendible

posible.

Programa en C

Realizaremos un programa donde registre la talla, peso y edad de un

número determinado de personas, para luego determinar cuántas personas son

mayores a 1.70 m. y cuantas personas tienen sobrepeso, es decir mayores a

100 Kg.

Solución del Problema

1 #include<stdio.h>

2 #include<conio.h>

3 #define MAX 4

4 void main()

5 {

6 int i,edad[MAX];

7 float Talla[MAX],Peso[MAX];

8 int CT,CP;

9 clrscr();

10 for(i=0;i<MAX;i++)

11 {

12 printf("Persona %d\n",i+1);

13 printf("Ingrese Edad:\n");

14 scanf("%d",&edad[i]);

15 printf("Ingrese Talla:\n");

16 scanf("%f",&Talla[i]);

17 printf("Ingrese Peso:\n");

18 scanf("%f",&Peso[i]);

19 }

20 CT=0;

21 CP=0;

Page 38: Lenguajes de Programacion

22 for(i=0;i<MAX;i++)

23 {

24 if(Talla[i]>1.7)

25 CT++;

26 if(Peso[i]>100)

27 CP++;

28 }

29 clrscr();

30 printf("Los mayores a 1.7 m. son: %d\n",CT);

31 printf("La cantidad de personas con sobrepeso son:%d\n",CP);

32 getch();

33 }

4.2.- Explicación del programa

En el renglón 1 y 2, son bibliotecas que se deben usar en el programa.

Renglón 3, MAX, se define una constante entera con valor 4.

Renglón 4, la ejecución principal, con la función void main().

Renglón 5, esta llave inicializa el programa.

Renglón 6, el rango de entero edad se declara con subíndice que va del 0 a 4.

Renglón 7, los arreglos de reales: talla y peso, se declaran con subíndices que van de

0 a 4.

Renglón 8, CT y CO pertenecen a los enteros y son contadores.

Renglón 9, la función de clrscr(); es el de limpiar la pantalla después de haberse

ejecutado el programa.

Renglon10, el enunciado FOR lee e introduce valores sucesivos del arreglo.

Renglón 11, permite la inicialización de FOR.

Renglón 12,13,15,17, solicitan los datos de la persona a registrar.

Renglón 14,16,18, leen los datos registrados por el usuario.

Renglón 19, esta llave concluye el bloque que se inicia desde el Renglón 11.

Renglón 20,21, CT y CP, son acumuladores.

Renglón 22, el enunciado FOR lee e introduce valores sucesivos del arreglo.

Renglón 23, esta llave inicializa lo que se va a ejecutar desde el enunciado FOR.

Renglón 24,26, el enunciado IF se ejecuta siempre y cuando la premisa cumpla con lo

requerido, si no es así sale del bucle y finaliza.

Renglón 25,27, si las condiciones IF son verdaderas entonces CT y CP aumentan de 1

en 1.

Page 39: Lenguajes de Programacion

Renglón 28, esta llave concluye el bloque que se inicia desde el Renglón 23.

Renglón 29, clrscr(); limpia pantalla.

Renglón 30,31, después de haber concluido de ingresar los datos requeridos por el

programa este muestra los resultados.

Renglón 32, después de haber concluido todo el programa este salta de nuevo al inicio

gracias al getch();.

Renglón 33, fin del programa.

Page 40: Lenguajes de Programacion

CONCLUSIÓN:

De acuerdo con el estudio de la monografía hemos llegado a la conclusión que:

Los programas nos permiten darle un tipo de ordenes específico a la computadora y

que ellas puedan desarrollarlas, estos programas facilitan la vida laboral de un

trabajador.

El estudio de los lenguajes de programación nos permite relacionarnos con la

computadora y desarrollar programas que se puedan ejecutar en ellas, teniendo en

cuenta los tipos de lenguajes que uno haya estudiado para poder resolver un tipo de

problema específico.

Los diferentes tipos de lenguajes de programación nos facilitan el aprendizaje de otros

lenguajes y así podemos desarrollar un programa más elegante,

Page 41: Lenguajes de Programacion

BIBLIOGRAFÍA:

Stroustrup, Bjame. 2002. El Lenguaje de Programación C++: Edición Especial.

España, Madrid. Pearson Educación, S.A.

Pratt, Terrence W. y Zelkowitz Marvin, V. eds. 1998. Lenguaje de Programación:

Diseño o Implementación. 3º ed. México. Prentice Hall Hispanoamericana.

Joyanes Aguilar, Luis. 2003. Fundamentos de Programación: Algoritmos,

Estructura de datos y objetos. España, Madrid. McGraw-Hill/Interamericana de

España, S.A.U.

Xhafa, Fatos, Pere-Pau, Vázquez A. Jordi Marco G., Xavier Molinero A., y

Ángela Martín P. eds. 2006. Programación en C++ para ingenieros.

España, Madrid. Thomson Editores Spain Paraninfo. S.A.

Trejo, Patricia. 2007. Programación en Pascal. Valparaíso

Universidad Técnica Federico Santa María.

http//www.google.com.pe/lenguajesdeprogramación/programaciónenpascal.pdf

Cáceres Gonzáles. 1996. Lenguajes de Programación.

Instituto Tecnológico de Monterrey. México.

http//www.google.com.pe/lenguajesdeprogramación.pdf

Peña Basurto, Marco A. y José M, Cela Espín. 2000. Introducción a la programación

en C. España, Barcelona. Edicions UPC

http//www.google.com.pe/lenguajesdeprogramación/introduccionalaprogramaci

onenc.pdf

Page 42: Lenguajes de Programacion

Anexos:

Anexo 01:

Implementación del programa

Page 43: Lenguajes de Programacion

Comprobación del programa

Page 44: Lenguajes de Programacion

Anexo 02:

Vargas carrasco Luis

Historia de los Lenguajes de ProgramaciHistoria de los Lenguajes de ProgramaciHistoria de los Lenguajes de ProgramaciHistoria de los Lenguajes de Programacióóóón.n.n.n.

� Los Lenguajes de Programación nacieron a finales de los cincuenta y primeros años de los sesenta, tales como COBOL, FORTRAN, BASIC, LOGO, llamados como Lenguajes ensambladores, en la década de los setenta y primeros años de los ochenta aparecieron nuevos lenguajes como PASCAL, C Y ADA desplazando a ALGOL y BASIC. A principios de los ochenta apareció C++como lenguaje imperativo, en 1995 se presentó oficialmente por el constructor Sumel lenguaje JAVA un lenguaje orientado a objetos. En el año 2000 Microsoft presentó C#.

� Los diseños y métodos de implementación han evolucionado de manera continua desde que aparecieron los lenguajes de alto nivel en la década de 1950; ADA, C, PASCAL, PROLOG y SMALTALK datan de los años setenta, y C++ y ML de los ochenta

Page 45: Lenguajes de Programacion

CAPITULO I

¿¿¿¿QuQuQuQuéééé es un Programa?es un Programa?es un Programa?es un Programa?

Se llama programa de computadora, a la elaboración de un conjunto concreto de instrucciones que una

computadora pueda ejecutar

Objetivos

CorrecciCorrecciCorrecciCorreccióóóón:n:n:n:

Un programa es correcto si hace lo que debe hacer

Eficiencia:Eficiencia:Eficiencia:Eficiencia:

se suele hacer referencia al consumo de tiempo y/o memoria

Claridad:Claridad:Claridad:Claridad:

Es importante que el programa sea lo más claro y legible posible para facilitar al

máximo el mantenimiento posterior del software

Page 46: Lenguajes de Programacion

ImplementaciImplementaciImplementaciImplementacióóóón de un Lenguajen de un Lenguajen de un Lenguajen de un Lenguaje

1. Mejorar la habilidad para el desarrollo de algoritmos

2. Mejorar l uso del lenguaje de programación disponible

3. Acrecentar el propio vocabulario con construcciones útiles sobre programación

4. Hacer posible una mejor elección del lenguaje de programación

5. Facilitar el aprendizaje de un nuevo lenguaje

6. Facilitar el diseño de un nuevo lenguaje

Traductores de Lenguajes de ProgramaciTraductores de Lenguajes de ProgramaciTraductores de Lenguajes de ProgramaciTraductores de Lenguajes de Programacióóóónnnn

Interpretes:

El objetivo de un intérprete es procesar una

a una las instrucciones de un programa escrito en un lenguaje de alto nivel lo

traduce a código maquina y finalmente se ejecuta..

Compiladores:

Se encarga de traducir un programa de alto nivel a

lenguaje maquina y almacena el resultado en otro archivo llamado

ccccóóóódigo objeto.digo objeto.digo objeto.digo objeto.

Page 47: Lenguajes de Programacion

Ensambladores:

Es un tipo de traductor que convierte programas

escritos en lenguaje ensamblador en programas escritos en

código máquina.

Preprocesadores:

Traduce un lenguaje de alto nivel a otro, cuando

el primero no puede pasar a lenguaje máquina directamente.

Tipos de LenguajeTipos de LenguajeTipos de LenguajeTipos de Lenguaje

�Lenguaje Maquina:

Están escritas en lenguajes inteligibles por la maquina, ya que

sus instrucciones son cadenas binarias (0 y 1)

�Lenguaje de Bajo Nivel:

Son lenguajes de programación de se acercan al funcionamiento de

una computadora, son mas fáciles de utilizar.

�Lenguaje de Alto Nivel:

son los más utilizados por los programadores, son fáciles de aprender por que están formados por elementos de lenguaje natural.

Page 48: Lenguajes de Programacion

Identificadores:Identificadores:Identificadores:Identificadores:

Un identificadoridentificadoridentificadoridentificador en un lenguaje de programación es utilizado para referir un valor constante, una variable,

una estructura de datos compleja, o una función dentro de un programa.

Todo identificador está formado por una secuencia de letras, números y caracteres de subrayado, con la

restricción de que siempre debe comenzar por una letra o un subrayado y que no puede contener espacios en blanco

Variables y ConstantesVariables y ConstantesVariables y ConstantesVariables y Constantes

Variables:Variables:Variables:Variables:

Las sentencias de declaración de variables indican al compilador que debe reservar cierto espacio en la memoria del ordenador con el fin de almacenar un dato de tipo elemental o estructurado

Constantes:Constantes:Constantes:Constantes:

� Constantes Literales:Constantes Literales:Constantes Literales:Constantes Literales:

Todo valor que aparece directamente en el código fuente cada vez que es necesario para una operación constituye una constante literal

� Constantes SimbConstantes SimbConstantes SimbConstantes Simbóóóólicas:licas:licas:licas:

una constante simbólica es una constante representada mediante un nombre (símbolo) en el programa

Page 49: Lenguajes de Programacion

Entrada y salida de valoresEntrada y salida de valoresEntrada y salida de valoresEntrada y salida de valores

� FunciFunciFunciFuncióóóón printf:n printf:n printf:n printf:

se usa como carácter especial de formato el

símbolo de porcentaje (%). El carácter que sigue a este símbolo define el

formato de un valor (constante, variable o

expresión),

� FunciFunciFunciFuncióóóón scanfn scanfn scanfn scanf:

Es una función para

la entrada de valores a

una estructura de

datos, y en particular

a una variable. Su

formato es similar al

de printf

Page 50: Lenguajes de Programacion

INDICE

DEDICATORIA

AGRADECIMIENTO

SUMARIO

INTRODUCCIÓN

CAPITULO I: Teoría de los Lenguajes.

1.1.- Programa de computadora 1

1.1.1.- Objetivos 1

1.2.-Lenguaje de Programación 1

1.3.-Historia de Lenguaje de Programación. 2

1.4.- ¿Por qué estudiar Lenguaje de Programación? 2

1.5.- Desarrollo de los primeros Lenguajes 3

1.5.1.- Lenguajes bandos a los cálculos numéricos. 3

1.5.2.- Lenguaje par Negocios. 3

1.5.3.- Lenguaje para Inteligencia Artificial 3

1.5.4.-Lenguaje para Sistemas 3

1.6.- Implementación de un Lenguaje 4

1.7.- El software (programas). 4

1.8.-Traductores de lenguaje. 5

1.8.1.- Interpretes. 5

1.8.2.- Compiladores. 6

1.8.3.- Ensambladores. 6

1.8.4.- Preprocesadores. 6

1.9.-Tipos de Lenguajes. 6

1.9.1.-Lenguaje Maquina. 6

1.9.2.-Lenguaje de Bajo Nivel. 7

1.9.3.-Lenguaje de Alto Nivel. 7

CAPITULO II: Los Lenguajes

2.1.- Lenguajes Simples de Procedimientos 9

2.1.1.- Fortran 9

2.1.1.1.- Historia 9

2.1.1.2.- Breve perspectiva del Lenguaje 10

2.1.2.- Lenguaje C 10

2.1.2.1.- Historia 10

2.1.2.2.- Breve perspectiva del Lenguaje 11

2.2.- Lenguajes de Procedimiento Estructurado en Bloques 11

Page 51: Lenguajes de Programacion

2.2.1.- Pascal 11

2.2.1.1.- Historia 12

2.2.1.2.- Breve perspectiva del Lenguaje 12

2.3.- Lenguajes con Base en Objetos 12

2.3.1.- ADA 13

2.3.1.1.- Historia 13

2.3.1.2.- Breve perspectiva del Lenguaje 14

2.3.2.- C++ 14

2.3.2.1 Historia 15

2.3.2.2.- Breve perspectiva del Lenguaje 15

2.3.3.- Smalltalk 15

2.3.3.1 Historia 16

2.3.3.2.- Breve perspectiva del Lenguaje 16

2.4.- Lenguajes Funcionales 17

2.4.1.- LISP 17

2.4.1.1 Historia 17

2.4.1.2.- Breve perspectiva del Lenguaje 18

2.4.2.- ML 18

2.4.2.1 Historia 18

2.4.2.2.- Breve perspectiva del Lenguaje 19

2.5.- Lenguaje de Programación Lógica 19

2.5.1.- Prolog 19

2.3.2.1 Historia. 20

2.3.2.2.- Breve perspectiva del Lenguaje. 20

CAPÍTULO III: Generalidades de los Lenguajes

3.1.- Identificadores 22

3.2.- Variables y Constantes 22

3.2.1.- Variables 22

3.2.2.- Constantes 23

3.3. - Entrada y salida de valores 23

3.3.1.- Función printf 23

3.3.2.- Función scanf 24

3.4.- Expresiones 24

3.4.1.- Operadores de Asignación 24

3.4.2.- Operadores Aritméticos 25

3.4.3.- Operadores Relacionales 25

3.4.4.- Operadores Lógicos 25

Page 52: Lenguajes de Programacion

3.4.5.- Prioridad de Operadores 26

CAPITULO IV: Aplicación Práctica

4.1.- Aplicación de un programa 28

4.2.- Explicación del programa 29

CONCLUSIONES 31

BIBLIOGRAFÍA 32

ANEXOS

Anexos 01 34

Anexos 02 36

INDICE 43