jueves, 31 de marzo de 2011




UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
COLEGIO DE CIENCIAS Y HUMANIDADES  SUR



 NOMBRE DEL PROFESOR
RODRIGUEZ MALDONADO LUIS ENRIQUE


NOMBRE DE LA ALUMNA
JUAREZ HERNANDEZ ABIGAIL ANDREA



GRUPO
668



MATERIA
CIBERNETICA Y COMPUTACION II




TEMA
LENGUAJE DE PROGRAMACIÓN 










 


CICLO ESCOLAR 210-2011

INDICE

1. Introducción
1.1 Generaciones en los Lemguajes de Programación
2. Niveles en el Lenguaje de Programación
3. Pascal
3.1 Elementos basicos
4. Sentencias
4.1 Conjunto de caracteres
4.2 Palabras Reservadas
5. Identificadores
6. Estructura del programa
7. Reglas sintacticas
8. Declaraciones
9. Tipos de Rutinas
10. Tipos de Ordinales
11.Integer
11.1 Char
12. Boolean
12.1 Enumerativo
13. Conclusiones
14. Bibliografia

INTRODUCCIÓN


El lenguaje de programación, es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. 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.

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 el có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:
  • 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.
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. Era un profesor matemático de la universidad de Cambridge e inventor ingles, que la principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX.}

GENERACIONES EN LOS LENGUAJES DE PROGRAMACIÓN




Generación
Nombre
Particularidad
PrimeraDe máquinaEspecífico para cada microprocesador, uso de código binario
SegundaEnsambladorUso de nemotécnicos que abstraen del lenguaje máquina.
TerceraDe procedimientosLenguajes estructurados con comandos cercanos al lenguaje común.
CuartaOrientados a procesosProgramas orientados a problemas específicos.
QuintaNaturalIncluye inteligencia artificial y sistemas expertos.




 

NIVELES EN EL LENGUAJE DE PROGRAMACIÓN

El estudio de los lenguajes de programación agrupa tres intereses diferentes; el del programador profesional, el del diseñador del lenguaje y del Implementador del lenguaje.

El  "el programador" es un tanto amorfo, en el sentido de que camufla importantes diferencias entre distintos niveles y aplicaciones de la programación. Claramente el programador que ha realizado un curso de doce semanas en COBOL y luego entra en el campo del procesamiento de datos es diferente del programador que escribe un compilador en Pascal, o del programador que diseña un experimento de inteligencia artificial en LISP, o del programador que combina sus rutinas de FORTRAN para resolver un problema de ingeniería complejo, o del programador que desarrolla un sistema operativo multiprocesador en ADA.

El "diseñador del lenguaje" es también un termino algo nebuloso. Algunos lenguajes (como APL y LISP) fueron diseñados por una sola persona con un concepto único, mientras que otros (FORTRAN y COBOL) son el producto de desarrollo de varios años realizados por comités de diseño de lenguajes.

El "Implementador del lenguaje" es la persona o grupo que desarrolla un compilador o interprete para un lenguaje sobre una maquina particular o tipos de maquinas. Mas frecuentemente, el primer compilador para el lenguaje Y sobre la maquina X es desarrollada por la corporación que manufactura la maquina X

 Además, hay cuatro niveles distintos de lenguaje de programación.

Los "Lenguajes Declarativos" son los mas parecidos al castellano o ingles en su potencia expresiva y funcionalidad están en el nivel mas alto respecto a los otros. Son fundamentalmente lenguajes de ordenes, dominados por sentencias que expresan "Lo que hay que hacer" en ves de "Como hacerlo". Ejemplos de estos lenguajes son los lenguajes estadísticos como SAS y SPSS y los lenguajes de búsqueda en base de datos, como NATURAL e IMS. Estos lenguajes se desarrollaron con la idea de que los profesionales pudieran asimilar mas rápidamente el lenguaje y usarlo en su trabajo, sin necesidad de programadores o practicas de programación.

Los lenguajes de " Alto Nivel" son los más utilizados como lenguaje de programación. Aunque no son fundamentalmente declarativos, estos lenguajes permiten que los algoritmos se expresen en un nivel y estilo de escritura fácilmente legible y comprensible por otros programadores. Además, los lenguajes de alto nivel tienen normalmente las características de " Transportabilidad".

Es decir, están implementadas sobre varias maquinas de forma que un programa puede ser fácilmente " Transportado " (Transferido) de una maquina a otra sin una revisión sustancial. En ese sentido se llama "Independientes de la maquina". Ejemplos de estos lenguajes de alto nivel son PASCAL, APL y FORTRAN (para aplicaciones científicas), COBOL (para aplicaciones de procesamiento de datos), SNOBOL( para aplicaciones de procesamiento de textos), LISP y PROLOG (para aplicaciones de inteligencia artificial), C y ADA (para aplicaciones de programación de sistemas) y PL/I (para aplicaciones de propósitos generales).


Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado. El lenguaje Ensamblador es simplemente una representación simbólica del lenguaje maquina asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es necesario un conocimiento de la arquitectura mecánica subyacente para realizar una programación efectiva en cualquiera de estos niveles lenguajes.

Los siguientes tres segmentos del programa equivalentes exponen las distinciones básicas entre lenguajes maquina, ensambladores de alto nivel:


Como muestra este ejemplo, a mas bajo nivel de lenguaje mas cerca esta de las características de un tipo e maquina particular y más alejado de ser comprendido por un humano ordinario. Hay también una estrecha relación ( correspondencia 1:1) entre las sentencias en lenguaje ensamblador y sus formas en lenguaje maquina codificada. La principal diferencia aquí es que los lenguajes ensambladores se utilizan símbolos (X, Y, Z, A para " sumar", M para "multiplicar"), mientras que se requieren códigos numéricos (OC1A4, etc.) para que lo comprenda la maquina.

La programación de un lenguaje de alto nivel o en un lenguaje ensamblador requiere, por tanto, algún tipo de interfaz con el lenguaje maquina para que el programa pueda ejecutarse. Las tres interfaces más comunes: un "ensamblador”, un "compilador" y un "interprete". El ensamblador y el compilador traducen el programa a otro equivalente en el lenguaje X de la maquina "residente" como un paso separado antes de la ejecución. Por otra parte, el interprete ejecuta directamente las instrucciones en un lenguaje Y de alto nivel, sin un paso de procesamiento previo.

La compilación es, en general, un proceso más eficiente que la interpretación para la mayoría de los tipos de maquina. Esto se debe principalmente a que las sentencias dentro de un "bucle" deben ser reinterpretadas cada vez que se ejecutan por un interprete. Con un compilador. Cada sentencia es interpretada y luego traducida a lenguaje maquina solo una vez.

Algunos lenguajes son lenguajes principalmente interpretados, como APL, PROLOG y LISP. El resto de los lenguajes -- Pascal, FORTRAN, COBOL, PL/I, SNOBOL, C, Ada y Modula-2 - son normalmente lenguajes compilados. En algunos casos, un compilador estará utilizable alternativamente para un lenguaje interpretado (tal como LISP) e inversamente (tal como el interprete SNOBOL4 de los laboratorios Bell).

Existen cinco estilos de programación y son los siguientes:

 °Orientados a Objetos.
°Imperativa : Entrada, procesamiento y salidas de Datos.
°Funcional : "Funciones", los datos son funciones, los resultados pueden ser un valor o una función.
°Lógico : {T, F} + operaciones lógicas (Inteligencia Artificial).
°Concurrente : Aún esta en proceso de investigación.

PASCAL

Fue creado por el matemático suizo Nicklaus Wirth en 1970, basándose en el lenguaje ALGOL, en cuyo diseño había participado en los años sesenta. Su nombre proviene del filosofo y matemático francés del siglo XVII, Blaise Pascal, que invento la primera maquina tipo mecánico para sumar.

Fue el primer gran lenguaje creado después de haber sido ampliamente diseminados los conceptos asociados con la programación estructurada.

Aunque en principio la idea del diseñador era proporcionar un lenguaje adecuado para la enseñanza de los conceptos y técnicas de programación, con el tiempo ha llegado a ser un lenguaje ampliamente utilizado en todo tipo de aplicaciones, que posee grandes facilidades para la programación de sistemas y diseño grafico.

Aporta los conceptos de tipo de datos, programación estructurada y diseño descendente, entre otros, además de haberse convertido en predecesor de otros lenguajes más modernos, como MODULA-2 y ADA




 






ELEMENTOS BASICOS

 
Un programa en PASCAL es un conjunto de instrucciones o sentencias, escritas según ciertas reglas, para realizar operaciones sobre entidades de datos conocidas como constantes, variables y resultados de funciones. La constante es una entidad cuyo valor no puede ser modificado durante la ejecución. La variable es una entidad cuyo valor puede modificarse durante la ejecución. Una función es un conjunto de operaciones asociadas a un nombre y que devuelve un valor.
 
En PASCAL, todo dato está asociado a un TIPO de datos y debe ser declarado antes de utilizarse. Un TIPO de datos está representado por un identificador y determina el rango de valores que un elemento de datos puede tomar, así como las operaciones a que puede ser sometido. Además, el TIPO determina el espacio en memoria necesario para almacenar cualquiera de los valores posibles que puede tomar esa entidad.

El compilador de PASCAL proporciona identificadores para algunos tipos que están predefinidos : números enteros y reales, valores lógicos, caracteres alfanuméricos, registros,tablas, cadenas de caracteres, conjuntos, ficheros y punteros a estructuras dinámicas. Pero, además, el PASCAL permite al usuario crear sus propios tipos definiendo identificadores de su elección para representar rangos de valores. Estos también llevan asociados un conjunto de operadores admisibles y unas necesidades determinadas de espacio en memoria.

El tipo de una constante es el tipo de su valor correspondiente. El tipo de una variable es el tipo establecido cuando se declaró y no puede modificarse en general. El tipo de una función es el del valor que devuelve. Los valores de las variables y de las funciones pueden cambiar tantas veces como se desee durante la ejecución de un programa, pero esos valores deben permanecer siempre dentro del rango establecido por su tipo. Una variable no adopta un valor hasta que el programa le asigna uno. El valor de una función se calcula durante la ejecución de dicha función.
 
En PASCAL también existen las EXPRESIONES que, igualmente, corresponden a algun tipo siempre. Una expresión representa al valor resultante de operar alguna combinación de constantes, variables, funciones, con ciertos operadores. Se pueden usar operadores aritméticos, relacionales, lógicos, de manejo de cadenas de caracteres, y de conjuntos. Las operaciones aritméticas producen valores enteros o reales. Las operaciones relacionales y lógicas producen valores booleanos. Las operaciones entre conjuntos permiten obtener la unión, la intersección y las diferencias entre conjuntos.


Las características del concepto de TIPO que están incorporadas al PASCAL son las
siguientes :

1. Un tipo de datos determina el conjunto de valores al que pertenece unaconstante,o que puede tomar una variable o expresión, o que pueden ser generados por un operador o función.

2. El tipo de valor identificado por una constante, variable o expresión puede deducirse de su forma o de su declaración sin necesidad de ejecutar el proceso de cálculo.

3. Cada operador o función presupone argumentos de un tipo determinado y produce un resultado también de un tipo determinado. Si un operador admite argumentos de varios tipos ( por ejemplo, se utiliza el símbolo "+" igualmente para sumar enteros y reales ) el tipo del resultado puede determinarse a partir de reglas específicas del lenguaje.

SENTENCIAS


Las sentencias de un programa en PASCAL se forman con elementos que pueden ser :

- símbolos individuales, tales como los operadores aritméticos.
- palabras con un significado especial en PASCAL y palabras definidas por el usuario.

Los elementos gramaticales se construyen con caracteres. Un carácter es cualquier elemento de la tabla de codificación ASCII ( Tabla 2.1 ). Algunos caracteres son SIMBOLOS ESPECIALES que se usan en PASCAL como delimitadores de sentencias, como operadores y como elementos sintácticos del lenguaje. Ejemplo : " ; " , " > ", " < > " , " = " .

Las PALABRAS usadas en un programa en PASCAL son combinaciones de caracteres alfabéticos y numéricos. Ocasionalmente pueden incluirse el signo del dólar ($), el de subrayar ( _ ) y el del tanto por ciento (%) en algunas implementaciones. Algunas PALABRAS están RESERVADAS para nombres de sentencias ejecutables, de operaciones y de estructuras de datos predefinidas.

Otras PALABRAS usadas en los programas son los IDENTIFICADORES. Algunos están PREDEFINIDOS y representan rutinas y tipos de datos que proporciona el PASCAL. Otros identificadores usados son los DEFINIDOS POR EL USUARIO para poner nombre a programas, constantes simbólicas, variables y cualquier elemento del programa que no haya sido denominado.


EL CONJUNTO DE CARACTERES

El PASCAL estandar usa el conjunto de la tabla de codificación ASCII ( AmericanStandard Code for  Information Interchange ) que contiene 128 caracteres puestos en orden.

Hay varias clases de caracteres :

. Las letras mayúsculas y las minúsculas desde la " A " a la " Z " y desde la " a " a la " z ".
. los números del " 0 " al " 9 ".
. Caracteres especiales, tales como el "ampersand" (&), el signo de interrogación (?), el signo de igualdad (=).

. Caracteres no imprimibles, tales como el espacio en blanco, el tabulador, el salto de linea, el retorno de carro, el pitido. En general, los compiladores de PASCAL no distinguen entre letras mayúsculas y minúsculas excepto cuando se escriben entre apóstrofos.

Ejemplo : PROGRAM Uno y PROGRAM UNO son equivalentes.
' Pepe Pérez ' y ' PEPE PEREZ ' son diferentes.

 Cada elemento es un valor constante del tipo predefinido CHAR. El número decimal que lleva asociado cada elemento es el ordinal que devuelve la función ORD de PASCAL aplicada a ese carácter.



PALABRAS RESERVADAS

En la definición del lenguaje PASCAL, algunas palabras están reservadas. Se usan como nombres de sentencia, de tipos de datos y de operadores. Suelen escribirse con mayúsculas, aunque no es necesario.
Las palabras reservadas sólo se pueden usar, dentro de un programa, en el contexto para el que han sido definidas. No se pueden redefinir para usarlas como identificadores.