UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
LICENCIATURA EN
CIBERSEGURIDAD
PROGRAMACIÓN II
INVESTIGACIÓN No. 1
PROFESORA: DRA. DENIS CEDEÑO FECHA DE ENTREGA:
25/03/2024
Estudiante: Roberto Gordonez Cedula: 8-1026-1660
Deberá desarrollar cada pregunta y realizar un documento en
Word o PDF.
Colóquele de nombre INV2-APELLIDO-NOMBRE.
Las preguntas serán debatidas en clase. Súbalo a la plataforma.
1. ¿Que son paradigmas de programación?
2. ¿Explique los distintos paradigmas de programación?
3. ¿Qué son lenguajes de Programación?
4. Tipos de Lenguajes de Programación (Niveles)
5. ¿Qué es un programa de computadora?
6. Cuáles son los tipos de programas de computadoras que Ud. conoce
7. ¿Qué son Procesadores de Lenguajes?
8. Explique que es Compilador
9. Explique que es un interprete
10. Cuáles son las etapas para la solución de un problema por
computadoras.
11. Introducción al lenguaje Python
12. Acerca de Python
13. Características de Python
14. Ventajas y desventajas de Python
15. Entornos para desarrollar en Python
Respuestas
1. Un paradigma de programación es una manera o estilo de programación de
software. Existen diferentes formas de diseñar un lenguaje de programación y
varios modos de trabajar para obtener los resultados que necesitan los
programadores. Se trata de un conjunto de métodos sistemáticos aplicables en
todos los niveles del diseño de programas para resolver problemas
computacionales.
Los lenguajes de programación adoptan uno o varios paradigmas en función del
tipo de órdenes que permiten implementar como, por ejemplo, Python o
JavaScript, que son multiparadigmas.
2. Los dos paradigmas principales son imperativo y declarativo. Los paradigmas de
programación más populares son: Programación estructurada, Programación
orientada a objetos, Programación funcional.
Los paradigmas de programación imperativos incluyen: Programación
procedimental, Programación orientada a objetos.
Los paradigmas de programación declarativos incluyen: Programación funcional,
Programación lógica.
Los paradigmas de programación son diferentes estilos documentados para
programar. Cada estilo es diferente, tienen sus ventajas y desventajas pero todos
obtienen el mismo resultado.
3. Un lenguaje de programación es un lenguaje formal que proporciona a una
persona, en este caso el programador, la capacidad y habilidad de escribir serie de
instrucciones o secuencias de órdenes en forma de algoritmos con el fin de
controlar el comportamiento físico o lógico de un sistema informático, para que de
esa manera se puedan obtener diversas clases de datos o ejecutar determinadas
tareas. A todo este conjunto de órdenes escritas mediante un lenguaje de
programación se le denomina programa informático.
4. Hay tres tipos de lenguajes de programación: Lenguaje de máquina (lenguaje de
bajo nivel), Lenguaje ensamblador (lenguaje de bajo nivel), Lenguaje de alto
nivel.
Los lenguajes de programación de alto nivel se pueden clasificar en cuatro
generaciones:
Primera generación: El lenguaje máquina y el ensamblador
Segunda generación: Los primeros lenguajes de programación de alto nivel, como
FORTRAN y COBOL
Tercera generación: Los lenguajes de programación de alto nivel imperativo,
como ALGOL 8, PL/I, PASCAL y MODULA
Cuarta generación: Los lenguajes más cercanos a la actualidad, como NATURAL
y SQL, que se utilizan en aplicaciones de gestión y manejo de bases de datos.
Algunos de los lenguajes de programación más usados son:
JavaScript, HTML, Python, SQL, Java, C#, NoSQL, Rust.
Algunos de los lenguajes de programación de alto nivel más conocidos son: Java,
Go, Ruby on Rails, Python, C.
5. Un programa de computadora es un conjunto de instrucciones escritas en un
lenguaje de programación para realizar una tarea específica. Es una secuencia de
órdenes que le indican a una computadora qué hacer.
6. Algunos tipos de programas de computadora que conozco
Navegadores web, Mensajería, Word, Excel, PowerPoint, Etc.
7. Los procesadores de lenguajes o compiladores son programas que transforman
programas escritos en un lenguaje a otro. Para ello, es necesario conocer "cómo se
ha generado" la palabra.
Los procesadores de lenguajes son aplicaciones informáticas en las que uno de los
datos fundamentales de entrada es un lenguaje. Estos programas pueden
manipular herramientas de software y hardware de un computador.
8. Un intérprete es un programa informático que procesa el código fuente de un
proyecto de software durante su tiempo de ejecución, es decir, mientras el
software se está ejecutando, y actúa como una interfaz entre ese proyecto y el
procesador. Un intérprete siempre procesa el código línea por línea, de modo que
lee, analiza y prepara cada secuencia de forma consecutiva para el procesador.
Este principio también se aplica a las secuencias recurrentes, que se ejecutan de
nuevo cada vez que vuelven a aparecer en el código. Para procesar el código
fuente del software, el intérprete recurre a sus propias bibliotecas internas: en
cuanto una línea de código fuente se ha traducido a los correspondientes
comandos legibles por máquina, esta se envía directamente al procesador.
9. Un compilador es un programa informático que traduce todo el código fuente de
un proyecto de software a código máquina antes de ejecutarlo. Solo entonces el
procesador ejecuta el software, obteniendo todas las instrucciones en código
máquina antes de comenzar. De esta manera, el procesador cuenta con todos los
componentes necesarios para ejecutar el software, procesar las entradas y generar
los resultados. No obstante, en muchos casos, durante el proceso de compilación
tiene lugar un paso intermedio fundamental: antes de generar la traducción final
en código máquina, la mayoría de los compiladores suelen convertir el código
fuente en un código intermedio (también llamado código objeto) que, a menudo,
es compatible con diversas plataformas y que, además, también puede ser
utilizado por un intérprete.
10. Para resolver un problema con una computadora, se deben seguir una serie de
pasos:
Definir el problema
Analizar los datos
Diseñar la solución
Codificar
Probar y depurar
Documentar
Mantener
11. Python es un lenguaje de programación ampliamente utilizado en las aplicaciones
web, el desarrollo de software, la ciencia de datos y el machine learning (ML).
Los desarrolladores utilizan Python porque es eficiente y fácil de aprender,
además de que se puede ejecutar en muchas plataformas diferentes.
12. Algunas cosas acerca de Python que tienes que tener en cuenta son:
Lenguaje de Programación de Alto Nivel
Interpretado y Multipropósito
Filosofía de Diseño
Tipado Dinámico y Fuertemente Tipado
Amplia Biblioteca Estándar
Comunidad Activa y Soporte
Frameworks y Bibliotecas Populares
13. Las características siguientes del lenguaje de programación Python lo hacen
único:
Un lenguaje interpretado
Un lenguaje fácil de utilizar
Un lenguaje tipeado dinámicamente
Un lenguaje de alto nivel
Un lenguaje orientado a los objetos
14.
Ventajas de Python:
Sintaxis clara y legible: Facilita la lectura y escritura de código, acelerando el
desarrollo y la colaboración entre equipos.
Gran comunidad y soporte: La activa comunidad ofrece bibliotecas, tutoriales y
resuelve dudas en foros, facilitando el aprendizaje y la resolución de problemas.
Amplia biblioteca estándar: Cubre diversas áreas, permitiendo a los
desarrolladores aprovechar herramientas existentes sin necesidad de reinventar la
rueda.
Versatilidad y portabilidad: El código Python es multiplataforma, lo que facilita su
ejecución en diferentes sistemas operativos sin modificaciones significativas.
Desarrollo rápido de prototipos: Ideal para probar y experimentar con ideas antes
de comprometerse con implementaciones más extensas debido a su facilidad de
escritura y sintaxis concisa.
Integración fácil con otros lenguajes: Python puede integrarse fácilmente con
otros lenguajes como C y C++, lo que permite aprovechar código existente y
obtener un rendimiento óptimo cuando sea necesario.
Desventajas de Python:
Velocidad de ejecución: Al ser interpretado, Python puede ser más lento que
lenguajes compilados como C++ o Java, lo que puede ser una limitación en
aplicaciones que requieren un rendimiento extremadamente rápido.
Gestión de memoria automática: Aunque la gestión automática de memoria es
conveniente, puede ser una desventaja en aplicaciones que requieren un control
preciso de los recursos de memoria, ya que Python no proporciona la misma
flexibilidad que lenguajes de bajo nivel.
No es ideal para desarrollo móvil: Aunque existen frameworks para desarrollo
móvil en Python, como Kivy o BeeWare, otros lenguajes como Swift o Kotlin son
preferidos en este contexto.
Problemas de comprensión asíncrona: Aunque Python ha mejorado en la gestión
de operaciones asíncronas, algunos desarrolladores aún encuentran desafíos al
trabajar con código asincrónico, especialmente en comparación con lenguajes
diseñados específicamente para manejar tareas concurrentes.
Interpretación y ejecución: La naturaleza interpretada de Python puede ser una
desventaja en términos de velocidad de ejecución en comparación con lenguajes
compilados. Sin embargo, esta desventaja puede ser mitigada por
implementaciones Just-In-Time (JIT) como PyPy.
Problemas de integración con C/C++: Aunque Python se puede integrar con C y
C++, puede haber desafíos y complejidades asociadas con la interacción entre
estos lenguajes, especialmente en proyectos más grandes.
15. Hay muchos entornos de desarrollo para Python, entre ellos:
Python.org: La página oficial de Python, un buen punto de partida para
principiantes
Jupyter Notebook: Una plataforma popular para desarrollar y compartir
código Python
PyCharm: Un IDE completo para trabajar con Python, desarrollado por
JetBrains
Visual Studio Code: Un IDE popular entre los desarrolladores de Python
Spyder: Un IDE diseñado para científicos y analistas de datos
IDLE: El entorno de desarrollo integrado (IDE) oficial de Python
VS Code: Un editor de código de Microsoft que es muy popular para
programar en Python