MATEMÁTICAS Y SISTEMAS BOGOTA, febrero de 2001 INTRODUCCIÓN.

Anuncio
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
IAL , ALGOL
NPL, MPPL, PL/I
1955−1957
1960−1962
1963
Backus
Naur
IBM
Lenguaje
Época de creación
Creador
COBOL
1959−1962
Depto. de defensa (EE. UU.
AA.)
Época de creación
Creador
Orientado a negocios:
Para Inteligencia Artificial:
Lenguaje
LISP
COMIT
SNOBOL
Prolog
McCarthy
Yngve
Laboratorios Bell
1950 −1959
Para sistemas:
Lenguaje
Época de creación
Creador
C
1970
Ritchie
1
periodo
1950 − 55
Influencias
Ordenadores primitivos
1956 − 60
Ordenadores pequeños,
caros y lentos
Cintas magnéticas
Compiladores e interpretes
Optimización del código
Ord. grandes y caros
Discos Magnéticos
Sistemas operativos
Leng. de propósito general
1961 − 65
1966 − 70
1971 − 75
1976 − 80
Ordenadores de diferentes
tamaños, velocidades, costes
Sistemas de almacenamiento
masivo de datos (caros)
S.O. multitarea e
interactivos
Compil. con optimización
Leng. estandard ,
flexibles y generales
Micro ordenadores
Sistemas de almacenamiento
masivo de datos pequeños
y baratos
Progr. estructurada
Ingeniería del software
Leng. sencillos
Ord. baratos y potentes
Sistemas distribuidos
Prog. tiempo−real
Prog. interactiva
Abstracción de datos
Prog. con fiabilidad
y fácil mantenimiento
Lenguajes
Lenguajes ensamblador
Lenguajes experimentales
de alto nivel
FORTRAN
ALGOL 58 y 60
COBOL
LISP
FORTRAN IV
COBOL 61 Extendido
ALGOL 60 Revisado
SNOBOL
APL ( como notación sólo)
PL/I
FORTRAN 66 (estandard)
COBOL 65 (estandard)
ALGOL 68
SNOBOL4
SIMULA 67
BASIC
APL/360
PASCAL
COBOL 74
PL /I
ADA
FORTRAN 77
PROLOG
C
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,
2
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
3
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 :
4
♦ 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.
5
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
6
Descargar