Lenguajes de programación

Informática. Sistemas. Inteligencia artificial. Empresas. Cálculo numérico. Signos

  • Enviado por: Mercedes Trujillo
  • Idioma: castellano
  • País: Colombia Colombia
  • 10 páginas

publicidad
cursos destacados
Aprende PHP+MySQL sin dolor
Aprende PHP+MySQL sin dolor
Con PHP se han hecho poderosos imperios, como Yahoo y Facebook. Comenzaremos desde lo básico, conociendo la...
Ver más información

Programación Android 04 Ciclo de vida de una actividad
Programación Android 04 Ciclo de vida de una actividad
Este curso trata sobre cómo el sistema operativo avisa del cambio de estado a las actividades en el sistema...
Ver más información


MATEMÁTICAS Y

SISTEMAS

BOGOTA, febrero de 2001

INTRODUCCIÓN.

En este trabajo nos podemos dar cuenta de la importancia que tiene la programación y la creación de estos lenguajes para sintetizar la información y agilizar así los procesos sistemáticos de los sistemas que trabajan por medio de computadoras así como la importancia de que estos lenguajes nos permiten cada día mas cosas debido a su desarrollo al paso de los años como nos podemos dar cuenta en este trabajo al igual hace mas fácil el trabajo para el programador y mas fácil para nosotros los consumistas de tecnología.

HISTORIA DE LOS LENGUAJES

DE PROGRAMACION

Basado en el cálculo numérico:

 

Lenguaje

Época de creación

Creador

 

FORTRAN

1955-1957

Backus

 

IAL , ALGOL

1960-1962

Naur

 

NPL, MPPL, PL/I

1963

IBM

Orientado a negocios:

 

Lenguaje

Época de creación

Creador

 

COBOL

1959-1962

Depto. de defensa (EE. UU. AA.)

Para Inteligencia Artificial:

 

Lenguaje

Época de creación

Creador

 

LISP

1950 -1959

McCarthy

 

COMIT

Yngve

 

SNOBOL

Laboratorios Bell

 

Prolog

 

Para sistemas:

 

Lenguaje

Época de creación

Creador

 

C

1970

Ritchie

periodo

Influencias

Lenguajes

1950 - 55

Ordenadores primitivos

Lenguajes ensamblador

 

 

Lenguajes experimentales

 

 

de alto nivel

1956 - 60

Ordenadores pequeños,

FORTRAN

 

caros y lentos

ALGOL 58 y 60

 

Cintas magnéticas

COBOL

 

Compiladores e interpretes

LISP

 

Optimización del código

 

1961 - 65

Ord. grandes y caros

FORTRAN IV

 

Discos Magnéticos

COBOL 61 Extendido

 

Sistemas operativos

ALGOL 60 Revisado

 

Leng. de propósito general

SNOBOL

 

 

APL ( como notación sólo)

1966 - 70

Ordenadores de diferentes

PL/I

 

tamaños, velocidades, costes

FORTRAN 66 (estandard)

 

Sistemas de almacenamiento

COBOL 65 (estandard)

 

masivo de datos (caros)

ALGOL 68

 

S.O. multitarea e

SNOBOL4

 

interactivos

SIMULA 67

 

Compil. con optimización

BASIC

 

Leng. estandard ,

APL/360

 

flexibles y generales

 

1971 - 75

Micro ordenadores

 

 

Sistemas de almacenamiento

PASCAL

 

masivo de datos pequeños

COBOL 74

 

y baratos

PL /I

 

Progr. estructurada

 

 

Ingeniería del software

 

 

Leng. sencillos

 

1976 - 80

Ord. baratos y potentes

ADA

 

Sistemas distribuidos

FORTRAN 77

 

Prog. tiempo-real

PROLOG

 

Prog. interactiva

C

 

Abstracción de datos

 

 

Prog. con fiabilidad

 

 

y fácil mantenimiento

Los primeros lenguajes de programación surgieron de la idea de George Babagga, lo cual se le ocurrió a este hombre a mediados del siglo XIX.  Consistía en lo que él denominaba la máquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colabora Ada Lovedby, la cual es considerada como la primera programadora de la historia, pues realizó programas para aquella supuesta máquina de Babagge, en tarjetas perforadas.  Como la máquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación mediante tarjetas perforadas.  Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la inteligencia de la que se hallaban dotados. Cuando surgió el primer ordenador, el famoso Eniac, su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la máquina, exactamente lo que sé hacia era cambiar cables de sitio para conseguir así la programación de la máquina.

Los primeros lenguajes trataban en primera instancia poder resolver problemas del tipo numérico, ya que en los años 30's y 40's se trataba de resolver este tipo de problemas debido a su complejidad en muchos casos.
Para los años 50's se empezaban a dar los lenguajes con notaciones ya definidas tal como el lenguaje A-0 creado por Grace Hopper junto con grupo en la Univac y el lenguaje Speedcoding creado para la IBM 701 por John Backus. Unos años después en 1955 a 1957 Backus junto con su equipo empezó a crear FORTRAN ( FORmula TRANslator  ) que era para problemas numéricos, el cual fueron perfeccionado con el tiempo , ya que después le introducieron las primeras instrucciones tal como READ INPUT  TAPE ( lectura de cinta ). Esto le permitió la rápida aceptación de los programadores e incluso en 1966 era implementado en la mayoría de las computadoras IBM. E incluso muchos lenguajes subsecuentes nacieron del FORTRAN. En los 50's es también cuando se usa el bulbo para las computadoras empezando así con la 1era Generación ( 1950-1959).

Pero el temor a la expansión de un monopolio de la IBM, hizo que el lenguaje se  hiciera universal, creándose el ALGOL 58 ( ALGOrithmic Language ). El cual permitía una notación mas próxima a la real en las matemáticas, utilidad en la descripción de algoritmos, compilación a lenguaje maquina y poder usado en cualquier ordenador. Todo esto permitió la realización de nuevos lenguajes y nuevo hardware según los fines , tal como el creado por Jules Schwarz, el  JOVIAL , usado para la Fuerza Aérea de EUA.

En 1955 surge la necesidad de crear lenguajes para negocios y con ello que se crea FLOWMATIC que era el primer lenguaje para este tipo. En 1959 el Departamento de Defensa de EUA , desarrolla el CBL ( Common Business Language ). Pero el lenguaje ya totalmente dedicado a los negocios surge en 1960 con el COBOL ( Common Business Oriented ).

Pero Backus seguía creando nuevos conceptos, junto con Naur empezaron a crear la gramática formal de los lenguajes de programación a lo que hoy llamamos Notación de Backus-Naur ( BNF ).

Es en los 50's también que surgen los lenguajes de inteligencia artificial como el IPL ( Information Processing Language ), el LISP ( LISt Processing ) creado por John McCarthy para la IBM 704 y fue el que mas evoluciono y mas aceptado por los científicos, ya que manejaba la estructura de árboles. 

Con el tiempo las ideas iban surgiendo y fue Burroughs en base a la idea de un polaco llamado Lukasiewiez creo el hardware B550 que permitía usar pilas lo que hacia que ALGOL corriera más rápido. También se  empiezan a usar los transistores para los aparatos electrónicos y con ello da inicio la 2nda Generación ( 1960-1965 ).

Fue en 1967 cuando surge el SIMULA 67 creado por Nygaard y Dahl de Noruega que era un lenguaje de clases de ALGOL , que permitía usar los nuevos conceptos que iban surgiendo y que el FORTRAN y ALGOL original no tenían. En base a esto Stroustrup crea C y después en los 80`s haría las clases de C : C++. Para los años de 1966 a 1973 se empiezan a crear sistemas más avanzados, como los chips ( circuitos integrados ) que consistían en dispositivos que podian tener varios transistores en espacio reducido. Con esto inicia la 3era Generación.

En 1963 IBM con los avances de su hardware introduce el NPL ( New Programming Language ) y que después se llamaría MPPL ( Milti-Purpose Programming Language ) y más tarde sería el PL/1 que maneja características numéricas de FORTRAN y de negocios como de COBOL. Mas adelante sale la versión para estudiantes, el PL/C.

BASIC otro lenguaje surgido en los 60's surge por la necesidad de cálculos numéricos no científicos.

Otro campo en la creación de los lenguajes de programación fue el de sistemas, al principio de los lenguajes el de maquina y se había mantenido este como el de sistemas. Pero el avance del tiempo y del hardware permitieron la creación de CPL y BCPL. Después C quien compitió con UNIX en los 70's. Es aquí de 1974 a 1984 cuando se empiezan a desarrollar circuitos integrados más complejos que permitían reducir muchas cosas en espacios más pequeños. Esto permitió la 4ta generación.

En los 80's el hardware iba avanzando permitiendo crear lenguajes de mas alto nivel. En los 90's es cuando empiezan a surgir los visuales que eran adaptaciones y mejoras de los lenguajes de DOS a formato gráfico.

Otros lenguajes como FORTRAN, COBOL  y LISP solo han tenido que irse adaptando a las nuevas tecnologías de hardware que permitieron de 1985 hasta nuestros días el inicio de la 5ta Generación.

Los lenguajes visuales y actuales tales como VISUAL BASIC, C, FOX PRO  y otros han tomado en cuenta las capacidades de las computadoras, aplicaciones que muchas veces son en modo gráfico ( lo cual puede ser un  inconveniente por el uso de mucha memoria y espacio en disco ), hacer la simplificación de algoritmos y procesos así como su implementación y la estandarización o portabilidad hacia otros lenguajes. 

 

SIGNOS DE PROGRAMACIÓN C++.

  • ELEMENTOS SINTACTICOS.

  • Laspalabras claves son aquellas que tienen un significado especial como:

    BREAK, DOUBLE, IF, STUCT , CASE, ELSE, INT, SWITCH. CHAR, ENUM, LONG, TYPEDEF, CONST, FLOAT, RETURN, VOID, DEFAULT, FOR, SIZE OF, WJHILE,

    Los identificadores son nombres que permiten hacer referencia a los diferentes objetos tratados en el programa y que no son palabras clave. Un identificador debe comenzar por una letra o el carácter ( ) y puede ir seguido por dígitos, letras. Se distingue entre mayúsculas y minúsculas.

    Los delimitadores son signos especiales que permiten separar y reconocer las diferentes unidades sintácticas del lenguaje. Los principales signos delimitadores son:

    ; se considera el terminador, que es necesario cuando finaliza cada una de las sentencias o declaraciones.

    , separa dos elementos consecutivos de la lista.

    () enmarca una lista de parámetros.

    [ ] enmarca la dimensión o el subíndice de una tabla.

    {} enmarca un bloque de instrucciones o una lista de valores iniciales.

  • OPERADORES ARITMÉTICOS:

  • Operan sobre datos numericos y son :

      • Resta * producto % modulo

    + suma / división -- decremento.

    ++ incremento

  • OPRADORES RELACIONALES.

  • Operan sobre elementos de diferentes tipos y evluan un tipologico. Son los siguientes:

        • mayor que

    < menor que

    >= mayor o igual que

    <= menor igual que

    ==igual que

    != distinto que

  • OPERADORES LÓGICOS.

  • Operan sobre tipos lógicos. Pueden ser los siguientes:

    “ Y

    O

    !! NO

  • FUNCIONES.

  • También podemos encontrar las funciones matemáticas:

    Sin (x)

    Cos (x)

    Tan (x)

    Exp (x)

    Log (x)

    Pow(x,y)

    Sqrt (x)

    Los ángulos para las funciones trigonometrícas están dados en radianes.

    El C se encuentra en la jerarquía de lenguajes en un nivel intermedio entre Pascal y el Ensamblador. Pretende ser un lenguaje de alto nivel con la versatilidad del bajo nivel.

    Se diseñó junto con el sistema operativo UNIX y está muy orientado a trabajar en su entorno.

    En su desarrollo se siguieron una serie de líneas generales tales como:

    El compilador debe ser lo más pequeño y eficiente posible. Pocas palabras reservadas, esto es, un conjunto reducido de sentencias. No existe anidamiento de procedimientos.

    La entrada/salida no se considera parte del lenguaje en sí, sino que se suministra a través de funciones de librería. La misma política se sigue con cualquier otro tipo complejo de instrucciones.

    Para escribir un programa se debe poder escribir poco texto. Para lograr esto se reduce el número de palabras claves.

    Con ello se llegó a un compilador con un poderoso juego de instrucciones, que permite aumentar la productividad/día de los programadores.

    A pesar de ello el C es un lenguaje rápido de aprender, que deriva en compiladores sencillos de diseñar, robustos, y que generan objetos pequeños y eficientes.

    Una de las características más apreciadas de C es su gran portabilidad, gracias a que deja en manos de librerías las funciones dependientes de la máquina, ¡y todo ello sin restringir el acceso a dicha máquina!

    Estas y otras características lo hacen adecuado para la programación en areas tales como:

    - programación de sistemas

    - estructuras de datos y sistemas de bases de datos

    - aplicaciones científicas

    - software gráfico

    • análisis numérico