Download “CUESTIONARIO”

Document related concepts

Lisp wikipedia , lookup

Programación funcional wikipedia , lookup

Dylan (lenguaje de programación) wikipedia , lookup

Haxe wikipedia , lookup

J (lenguaje de programación) wikipedia , lookup

Transcript
“CUESTIONARIO 2”
1.- Define programa, algoritmo y diagrama de flujo
Algoritmo
Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema. La
palabra "algoritmo" deriva del nombre latinizado del gran matemático árabe Mohamed Ibn Moussa Al Kow Rizmi, el
cual escribió sobre entre los años 800 y 825 su obra Quitab Al Jabr Al Mugabala, donde se recogía el sistema de
numeración hindú y el concepto del cero. Fue Fibonacci, el que tradujo su obra al latín y la inició con las palabras:
Algoritmi dicit.
Diagrama de Flujo
Un Diagrama de Flujo representa la esquematización gráfica de un algoritmo, el cual muestra gráficamente los pasos
o procesos a seguir para alcanzar la solución de un problema. Su correcta construcción es sumamente importante
porque, a partir del mismo se escribe un programa en algún Lenguaje de Programación. Si el Diagrama de Flujo está
completo y correcto, el paso del mismo a un Lenguaje de Programación es relativamente simple y directo.
2.- ¿Qué es un lenguaje de programación?
El lenguaje de programación es la manera con que el programador crea una visión fácil de aceptar para el usuario.
Por medio de códigos en el sistema operativo, es decir, La compañía que crea el programa por medio de comandos
dados al S.O y este a su vez llevándolo a modo usuario y a un programa de fácil acceso con imágenes y
explicaciones cortas y precisas.
3.- ¿Como se dividen los lenguajes de programación?
LENGUAJES DE BAJO NIVEL:
Utilizan códigos muy cercanos a los de la máquina, lo que hace posible la elaboración de programas muy potentes y
rápidos, pero son de difícil aprendizaje.
LENGUAJES DE ALTO NIVEL:
Por el contrario, son de uso mucho más fácil, ya que en ellos un solo comando o instrucción puede equivaler a
millares es código máquina. El programador escribe su programa en alguno de estos lenguajes mediante secuencias
de instrucciones. Antes de ejecutar el programa la computadora lo traduce a código máquina de una sola vez
(lenguajes compiladores) o interpretándolo instrucción por instrucción (lenguajes intérpretes). Ejemplos de lenguajes
de alto nivel: Pascal, Cobol, Basic, Fortran, C++ Un Programa de computadora, es una colección de instrucciones
que, al ser ejecutadas por el CPU de una máquina, llevan a cabo una tarea ó función específica. Este conjunto de
instrucciones que forman los programas son almacenados en archivos denomina dos archivos ejecutables puesto
que, al teclear su nombre (o hacer clic sobre el icono que los identifica) logras que la computadora los cargue y
corra, o ejecute las instrucciones del archivo. El contenido de un archivo ejecutable no puede ser entendido por el
usuario, ya que no está hecho para que la gente lo lea, sino para que la computadora sea quien lo lea.
Los archivos de programas ejecutables contienen el código máquina, que la CPU identifica como sus instrucciones.
Son lo que conocemos como Programas Objeto. Dado que sería muy difícil que los programadores crearan
programas directamente en código de máquina, usan lenguajes más fáciles de leer, escribir y entender para la gente.
El programador teclea instrucciones en un editor, que es un programa parecido a un simple procesador de palabras,
estas instrucciones son almacenadas en archivos denominados programas fuentes (código fuente). Si los
programadores necesitan hacer cambios al programa posteriormente vuelven a correr el editor y cargan el programa
fuente para modificarlo.
El proceso de conversión de programas fuente a programas objeto se realiza mediante un programa denominado
compilador. El compilador toma un programa fuente y lo traduce a programa objeto y almacena este último en otro
archivo.
4.- ¿Cómo se clasifican los lenguajes de programación?
Lenguajes basados en el cálculo numérico, lenguajes para negocios, lenguajes para sistemas y lenguajes para
inteligencia artificial.
5.- ¿Cuál es el objetivo de estudiar lenguajes de programación?
Existen seis razones primordiales:
1.- Mejorar la habilidad para desarrollar algoritmos eficaces.
2.- Mejorar el 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.
6.- ¿Cómo se clasifican los lenguajes de programación de acuerdo a su desarrollo?
Se clasifican en:
- Lenguajes basados en el cálculo Numérico
- Lenguajes para Negocio
- Lenguajes para Inteligencia Artificial
- Lenguajes para Sistemas
7.- Explica brevemente la evolución de los lenguajes de programación, bajo tres criterios: Hardware,
métodos y lenguajes?
8.- ¿Qué influye en la evolución de los lenguajes?
Algunas influencias son:
1.- Capacidades de las computadoras, éstas han evolucionado, por tanto las instrucciones nativas, la rapidez son
factores que han influido tanto sobre la estructura como sobre el costo de utilizar las capacidades de los lenguajes de
alto nivel.
2.- Aplicaciones. Hoy en día existen infinidad de aplicaciones.
3.- Métodos de programación. Los diseños de los lenguajes han evolucionado, reflejando nuestra cambiante
comprensión, para desarrollar programas grandes y complejos.
4.- Métodos de Implementación. Ha influido en la selección de características que se habrán de incluir en los nuevos
diseños.
5.- Estudios Teóricos.
6.- Estandarización Creación de lenguajes estándar que se pueden implementar con facilidad en una inmensa
variedad de computadoras que además permiten la transportación de programas.
9.- ¿Cuáles son los atributos a considerar para diseñar un lenguaje de programación?
Datos.- Una computadora debe suministrar diversas clases de datos y estructuras.
Operaciones Primitivas.- Una computadora debe proveer estas para la manipulación de datos.
Control de secuencia.- Una computadora debe aportar mecanismos para controlar el orden en el que se ejecutan las
operaciones primitivas.
Acceso a datos.- Una computadora debe proveer mecanismos para controlar los datos que se suministran a cada
ejecución de una operación.
Gestión de almacenamiento.- Una computadora debe proveer mecanismos para controlar la asignación de
almacenamiento para programas y datos.
Entorno de operación.- Una computadora debe suministrar mecanismos para la comunicación con un entorno
externo que contiene programas y datos que se van a procesar.
10.- ¿Cuáles son las aplicaciones de los lenguajes de programación en los 90’s?
De procesamiento de negocios, científicas, de sistemas, de IA, edición, de proceso y nuevos paradigmas.
11.- ¿Cómo y porque se realiza la estandarización de los lenguajes de programación?
12.- ¿Cuáles son los tipos de estandarización de los lenguajes de programación?
Estándares patentados y estándares por consenso.
13.- Explica los entornos de diseño de los Lenguajes de Programación.
14.- ¿Qué influencias afectan el diseño de los Lenguajes de Programación?
15.- Explica cada uno de los componentes de una computadora relacionados con los Lenguajes de
Programación.
16.- Cual es la influencia de la arquitectura de Von Neuman en el diseño de un lenguaje de programación.
17.- Explica las formas de implementar un lenguaje de programación.
18.- Cual es la diferencia entre un compilador, ensamblador, intérprete y cargador.
19.- Ejemplifica la estructura de la implementación de un lenguaje de programación.
20.- A que se refiere la sintaxis y la semántica de un lenguaje de programación.
21.- Como se realiza la implementación de un lenguaje en una computadora virtual.
22.- ¿Qué elementos se deben considerar para la implementación de un lenguaje de programación?
23.- Para llevar acabo un programa en un lenguaje de programación, que debe considerar el programador.
24.- ¿Que es un enlace y explica los tipos de enlaces?
25.- ¿Cuál es la importancia de los tiempos de enlace en la implementación?
26.- Explica los modelos básicos para el desarrollo de los lenguajes de programación.
27.- ¿Qué criterios generales de sintaxis existen en los LP y cuales consideras de mas importancia?
28.- Menciona los elementos sintácticos y describe que elementos , contiene el desarrollo de tu lenguaje(
programa de tarea)
29.- Explica las etapas de traducción que realiza el compilador.
30.- Investiga como esta implementado el lenguaje c y que diferencias existen con Prolog.
31.- ¿Cuáles son los modelos formales de traducción?
32.- Explica la diferencia entre gramática BNF y autómatas de estados finitos.
33.- ¿Cuales son los tipos de gramática BNF?
34.- ¿Cuáles son los algoritmos de análisis sintáctico?
35.- ¿Cuáles son los tipos de modelos semánticos y explica uno de ellos?
36.- ¿A que se le llama gramática de atributos?
37.- ¿Define un lenguaje visual y sus características?
38.- ¿Describe las características de Lisp y Prolog?
39.- Define que es la semántica formal.
40.- ¿Cual es la diferencia entre arquitectura RISC, SICS e Híbridas?