1. TRABAJO PRACTICO
1) Describa brevemente los inicios de la programación y como fueron evolucionando los
lenguajes
2) ¿ Cuál es el lenguaje con el que la maquina (P.C)trabaja?¿que es el un interprete?
3) ¿que es el lenguaje ensamblador?
4) Defina lenguaje de alto nivel, lenguaje de bajo nivel, lenguaje declarativo
5) En el lenguaje de programación ¿que es la sintaxis, la semántica y la gramatica?¿como
esta compuesto un lenguaje de programación?
6) Describa que es un sistema de tipos
7) ¿ que es la programación estructurada?¿cuales son los pasos a seguir?
Desarrollo
1) La primera programadora de computadoras reconocida fue Ada Lovelace (1815-1852 ). A
principios del siglo XIX conoció a Charles Babbage un inventor y profesor matemático
quien diseño pero nunca construyo la máquina analítica para ejecutar programas de
tabulación, por lo que se lo considera como el “PADRE” de la computación. Ada Lovelace
fue quien predijo muchas teorías al traducir y ampliar una descripción analítica de la
maquina analítica de Babbage; pero como la maquina nunca llego a construirse los
programas de Ada nunca legaron a ejecutarse, pero si fueron el punto de partida de la
programación. Casi 100 años después el informático estadounidense John Backus se
encargo de un proyecto de investigación en IBM para el desarrollo de un lenguaje de
programación más cercano a la notación matemática normal; de ese proyecto surgió el
Fortan; lego en 1960 se creó el Cobol. A medida que las complejidades de las tareas que
se realizaban las computadoras aumentaban, se hizo necesario de un método más
eficiente para programarlas. Entonces se crearon los lenguajes de alto nivel como Basic y
otras versiones introducidas en las computadoras que se utilizaron a partir de la década de
1980.
2) El único lenguaje que la maquina interprera es el código binario también llamado codigo
maquina, estos códigos son deificiles de leer y escribir por lo que debe utilizar un lenguaje
intermedio que luego será traducido al binario, lo que traduce nuestro lenguaje
intermediario a binario se denomona interprete
3) El lenguaje ensamblador es un lenguaje de bajo nivel que sirve para escribir programas
informaticos específicos para cada arquitectura de computadoras
4) * Lenguaje de alto nivel: son los mas usados en programación actualmente, estos
lenguajes permiten que los algoritmos se expresen en un nivel y estilo de escritura legible y
comprensible lo que facilita el trabajo del programador, además tienen la característica de
trasportabilidad que le permite que un programa pueda ser transferído de una maquina a
2. otra sin tener que sufrir una revisión sustancial. Ejemplos de lenguaje de alto nivel:
PASCAL, AVL, FORTRAN(para aplicaciones cientificas); COBOL,SNOBOL(para
aplicaciones de procesamiento de datos); C, ADA(para aplicaciones de programación de
sistemas); ETC.
*Lenguaje de bajo nivel: Son Utilizados para escribir programas informáticos para cada
arquitectura de computadoras; originalmente era un sistema muy primitivo, pues le decía a
la computadora que tenía que hacer en el nivel de hardware. Lograr un objeto sencillo era
todavía bastante difícil e implicaba un gran esfuerzo de programación
*Lenguaje declarativo: son los que mas se parecen al castellano o al ingles en su
funcionalidad y expresión. Son lenguajes de ordenes que denominan por sentencias lo
que hay que hacer. Ejemplos de lenguajes declarativos son: SAS Y SPSS; NATURAL e
IMS (lenguajes de búsqueda en base de datos); desarrollados con la idea de que los
programadores pudieran asimilar más rápidamente el lenguaje y usarlo e su trabajo.
5) Sintaxis: es la parte visible de un lenguaje de programación, es un conjunto de reglas que
deben seguirse para escribir el código fuente de los programas para que puedan
considerarse correctos para ese lenguaje de programación. La sintaxis de un lenguaje de
programación describe las posibles combinaciones de símbolos que forman
sintácticamente un programa correcto.
Semántica: las reglas que determinan el significado de los programas constituye la
semántica de los lenguajes de programación, es muy importante saber que no todos los
programas sintácticamente correctos son semánticamente correctos.
Gramatica: es la que especifica lo siguiente:
*una expresión puede ser un atomo o una lista
*un atomo puede ser un numero o un símbolo
*Un número es una secuencia continua de uno o más dígitos decimales, precedido
opcionalmente por un signo más o menos.
*Un símbolo es una letra seguida de un cero o más caracteres (excluyendo espacios).
*Una lista es un par de características que abren y cierran, con cero o mas expresiones en
medio
todo lenguaje de programación esta formado por un conjunto de simbolos y reglas validas para
componerlos, para que conformen un mensaje con significado para la computadora. El lenguaje de
programación esta formado por:
Un conjunto finito de símbolos; a partir del cual se define el léxico o vocabulario del
lenguaje.
Un conjunto finito de reglas, la gramática del lenguaje, para la construcción de las
sentencias correctas del lenguaje (sintaxis).
Semántica, que asocia un significado-la acción que debe llevarse a cabo-a cada posible
construcción del lenguaje
3. 6) El sistema de tipos es el que dota a los lenguajes de la capacidad de restringir los datos
que pueden ser asignados a las variables. Esto permite una cierta potencia a la hora de
detectar errores y mejora la compresión del código. Cualquier sistema de tipos tiene sus
ventajas y desventajas: mientras por un lado rechaza muchos programas incorrectos,
también prohíbe algunos programas correctos que por alguna razón le resultan
desconocidos. Para minimizar esta desventaja algunos lenguajes incluyen lagunas de
tipos, que son convenciones explicitas no chequeadas que pueden ser usadas por el
programador para permitir explícitamente una operación normalmente no permitida entre
diferentes tipos.
Para sintetizar el sistema de tipos realiza las siguientes funciones:
Establece un marco de trabajo que ayuda a permitir la integración entre lenguajes, la
seguridad de tipos y la ejecución de código con alto rendimiento.
Proporciona un modelo orientado a objetos que admite la implementación completa de
muchos lenguajes de programación.
Define reglas que deben seguir los lenguajes, lo que ayuda a garantizar que los objetos
escritos en distintos lenguajes puedan interactuar unos con otros.
La programación estructurada fue desarrollada por el holandés Edsger Dijkstra y consiste en
los siguientes pasos:
Secuencia de instrucciones: una estructura de programa es secuencial si
se ejecuta una tras otra a modo de secuencia, es decir que una instrucción no
se ejecuta hasta que no finaliza la anterior.
Instrucción condicional: la estructura selectiva permite la realización de una
instrucción una u otra según un criterio: solo una de estas instrucciones se
ejecutara.
Iteración (bucle de instrucciones): un bucle iterativo o iteración de una
secuencia de instrucciones hace que se repitan mientras se cumpla una
condición: en un principio el N° de iteraciones no tiene por que estar
determinado.