UNIDAD 1 – Daniel Sepúlveda
Conceptos básicos de programación
1. ¿Alrededor de que año surgen los primeros lenguajes de programación?
2. ¿Qué aporte realizó Joseph-Marie Jacquard lo cual le valió el reconocimiento en el área de la
programación?
3. ¿Cómo se llama la máquina programable desarrolló Charles Babbage?
4. ¿Con qué objetivo fue desarrollada la máquina que creó Charles Babbage?
5. ¿Quién fue y qué hizo Lady Ada Lovelace?
6. ¿Cómo está compuesta la máquina analítica?
7. ¿A quién se considera cómo la primera programadora y por qué?
8. ¿Cuál es considerado como el primer lenguaje de programación y en qué año se genera?
9. ¿Cuáles fueron los lenguajes más importantes en la década de 1950?
10. ¿Cuáles fueron los lenguajes más importantes en la década de 1960?
11. ¿Cuáles fueron los lenguajes más importantes en la década de 1970?
12. ¿Qué aspectos de la programación se afianzaron en la década de 1980?
13. ¿Cuál fue el gran hito en la década de 1990 que favoreció la programación a nivel mundial?
14. ¿Cuáles fueron los lenguajes más importantes en la década de 1990?
15. ¿Cuáles son los lenguajes de programación, las tendencias actuales y las tecnológicas
relacionadas en lo que se refiere a los lenguajes de programación?
16. ¿Cómo se clasifican los tipos de lenguajes de programación?
17. ¿Cómo se clasifican los lenguajes de programación de acuerdo al nivel de abstracción del
procesador?
18. Enumere las ventajas y desventajas de los lenguajes de programación considerando la
clasificación propuesta de acuerdo al nivel de abstracción del procesador.
19. ¿Cuáles son las fases en la resolución de problemas?
20. ¿A qué se llama ensambladores?
21. ¿A qué se llama compiladores?
22. ¿A qué se llama intérpretes?
23. ¿Qué similitudes y diferencias existen entre los compiladores e intérpretes?
24. Enumere las fases para desarrollar un programa.
25. Explique brevemente que actividades se desarrollan en la fase de Análisis.
26. ¿Qué es un algoritmo?
27. ¿Qué características posee un algoritmo?
28. Explique qué significa cada una de las características de un algoritmo.
29. ¿Qué diferencia hay entre un algoritmo y un programa?
30. ¿Qué tipos de mantenimiento existen y en que se diferencian?
31. ¿Por qué es importante la documentación de un sistema?
32. ¿Cuáles son los tres principios que manifiesta el teorema de la programación estructurada?
33. ¿Qué es un diagrama de flujo?
34. ¿Cuál es la diferencia entre dato e información?
35. ¿Qué es lo que transforma a un dato en información?
36. ¿Cuáles son los tipos de diagrama de flujo con los que nos podemos encontrar de acuerdo a la
forma en que se utiliza la simbología propuesta para representar el diagrama?
37. ¿Cuál es el símbolo de inicio/fin?
38. ¿Cuál es el símbolo de entrada/lectura?
39. ¿Cuál es el símbolo de salida/impresión?
40. ¿Cuál es el símbolo de proceso?
41. ¿Cuál es el símbolo condicional?
1. En 1801 se inicia los primeros lenguajes que eran simples códigos y se observan en las tarjetas
perforadas de las máquinas de tejer, conocida como máquina de Jacquard.
2. Creo un archivo adjunto al telar que jugó un papel importante en la industria textil y en el desarrollo
de máquinas programables.
3. Maquina analítica, desarrollada entre 1833 y 1842.
4. Para poder hacer cualquier tipo de cálculo, no solo los referentes al cálculo de tablas logarítmicas o
funciones polinómicas.
5. Fue una matemática y escritora británica, conocida como la primera programadora de la historia,
debido a su algoritmo creado y usado en la maquina analítica de Charles Babbage. Dedujo y previo
la capacidad de los ordenadores para ir más allá de los simples cálculos de números.
6. Está compuesta por un mecanismo de entrada, memoria, unidad de control, UAL y mecanismo de
salida.
7. Augusta Ada King, condesa de Lovelance, como la primera programadora de la historia, debido a su
algoritmo creado y usado en la máquina analítica de Charles Babbage.
8. En 1943 el sistema de codificación ENIAC. En 1949-1954 una serie de conjuntos de instrucciones
nemotécnicas, como la de ENIAC, comenzando en 1949 con C-10 para BINAC. Cada conjunto de
instrucciones estaba destinado a un fabricante especifico.
9. Fortran (1955) - Lisp (1958) - Cobol (1959)
10. APL (1962) - Simula (1962) - Snobol (1962) - CPL (precursor de C) (1963) - Basic (1964) - PL/I (1964) -
BCPL (precursor de C) (1967).
11. Pascal (1970) - Forth (1970) - C (1972) - Smalltalk (1972) - Prolog (1972) - ML (1973) - Scheme (1975)
- SQL (1978).
12. Fueron años de consolidación relativa en los lenguajes imperativos. En vez de inventar nuevos
paradigmas, se comenzó a trabajar a partir de las ideas inventadas en la década anterior.
Una nueva tendencia importante en el diseño de lenguajes era un mayor enfoque en la
programación de sistemas a gran escala a través del uso de módulos, una organización a gran escala
de unidades de código.
13. El rápido crecimiento y popularización de Internet y la creación de las World Wide Web por Tim
Berners-Lee, abrieron nuevas oportunidades y acceso a la tecnología a más personas.
14. C++, Java, Python, HTML, y JavaScript.
15. Los lenguajes de programación más populares actualmente son Python, JavaScript, Java, C++, C#, y
Rust. Las tendencias actuales incluyen la creciente importancia de la inteligencia artificial y la
ciencia de datos, lo que ha impulsado la popularidad de lenguajes como Python y R. También hay
una creciente demanda de lenguajes que puedan aprovechar el hardware moderno y la
computación distribuida, como Go y Scala.
16. Según el nivel de abstracción del procesador (de máquina, de bajo nivel, de nivel medio, y de alto
nivel). Según el paradigma de programación (Imperativo, declarativo, estructurado, orientado a
objetos, funcional y lógico). Según la forma de ejecución (lenguajes interpretados, lenguaje
compilados).
17. De alto nivel - Medio nivel - Bajo nivel - De máquina.
a. Bajo Nivel: Lenguaje máquina (código binario), lenguaje ensamblador.
b. Alto Nivel: Java, Go, Ruby on Rails, Python, C, C++, C#, SQL, PHP, Swift.
18. Los lenguajes de bajo nivel, como el lenguaje ensamblador, son más eficientes pero difíciles de usar,
mientras que los lenguajes de alto nivel, como Python, son más fáciles de aprender pero menos
eficientes.
19. Análisis del problema -> diseño del algoritmo -> codificación -> ejecución -> pruebas.
Estas fases se pueden resumir en entender el problema, planificar la solución, construir el código,
probar y depurar.
20. A los programas informáticos que traducen un código escrito en lenguaje ensamblador a lenguaje
máquina, que es el código binario que entiende y ejecuta directamente el procesador de una
computadora. Es de bajo nivel.
21. Son lenguajes que primero compila todas las líneas y después las ejecuta todas juntas.
22. Son aquellos lenguajes que leen y ejecutan instrucciones escritas en un lenguaje de programación
de alto nivel directamente, sin necesidad de compilarlas previamente a Código máquina. Es decir,
que ejecuta línea a línea cada una de las instrucciones escritas en el código fuente.
23. Las similitudes es que ambos procesan código fuente y traducen a un código maquina y a su vez
permiten ejecutar programas escritos en un lenguaje de programación de alto nivel.
24.
a. Análisis de requisitos y del problema.
b. Diseño del algoritmo.
c. Codificación, verificación y depuración.
d. Mantenimiento y pruebas.
e. Documentación.
25. El problema se analiza teniendo presente la especificaciones de los requisitos dados por el cliente
de la empresa o por otra persona que encarga el programa.
26. Son técnicas para resolver problemas de forma gráfica.
27. Debe ser: Definido, preciso y finito.
28. Definido: Deben conocerse todos los pasos para resolver el problema.
Preciso: Debe ser claro y puntual.
Finito: Debe tener un comienzo y un final.
29. El algoritmo es la representación gráfica de la solución de un problema y el programa es la
resolución de problema con seudocódigo que permite transforma el algoritmo a un lenguaje
cercano a los lenguajes de programación pero que no esté acoplado a ningún lenguaje de
programación en particular. Es decir, el algoritmo existe para que alguien lo siga, el programa es ese
alguien que lo realiza, en este caso: tu computadora.
30. El mantenimiento de un algoritmo se centra en la optimización, la mejora y la documentación del
proceso lógico para resolver un problema. El mantenimiento de un programa, en cambio, se enfoca
en la corrección de errores, la actualización de funcionalidades y la adaptación a nuevos entornos
de ejecución.
31. Es importante para la transparencia, la eficiencia y la sostenibilidad. Permite una comprensión clara
de su arquitectura, funcionamiento y propósito, facilitando el mantenimiento, la colaboración y la
adaptación a nuevas necesidades.
32. Estructuras secuenciales - Estructuras de selección - Estructuras de repetición
33. Es una herramienta más para representar la lógica de la programación. Estos nos permiten modelar
un algoritmo, de manera independiente a cualquier lenguaje de programación, y se utilizan en la
etapa de análisis y diseño.
34. Los datos son elementos individuales que carecen de contexto o significado específico, mientras
que la información es el resultado de procesar y dar sentido a esos datos.
35. Es el proceso de interpretación y contextualización que se aplica sobre ese dato.
36. Algunos tipos comunes incluyen diagramas de flujo de decisiones, lógicos, de sistemas, de
productos y de procesos. También existen diagramas de flujo de documentos, de datos, de
programa y de flujo de trabajo.
37. A 41.