0% encontró este documento útil (0 votos)
21 vistas83 páginas

Fundamentos de Programación en Python

Este documento presenta el contenido programático de un ciclo de fundamentos de programación con Python. El ciclo abarca temas como introducción al pensamiento computacional, principios de programación, tipos de datos en Python, estructuras de control, funciones, manejo de excepciones, interfaz gráfica y persistencia de datos. El ciclo concluye con la implementación de estos conceptos y el fortalecimiento de los mismos a través de ejercicios.

Cargado por

pedro
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas83 páginas

Fundamentos de Programación en Python

Este documento presenta el contenido programático de un ciclo de fundamentos de programación con Python. El ciclo abarca temas como introducción al pensamiento computacional, principios de programación, tipos de datos en Python, estructuras de control, funciones, manejo de excepciones, interfaz gráfica y persistencia de datos. El ciclo concluye con la implementación de estos conceptos y el fortalecimiento de los mismos a través de ejercicios.

Cargado por

pedro
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ciclo 1: Fundamentos de programación con Python

Contenido programático

1. Introducción al pensamiento computacional


2. Principios de pensamiento computacional
3. Introducción al lenguaje de programación Python
4. Ciclo de vida del software
5. Realización de operaciones aritméticas en programación
6. Teoría de los lenguajes de programación I
7. Teoría de los lenguajes de programación II
8. Metodología para la solución de algoritmos
9. Guía de estilos para código Python
10. Fortalecimiento de conceptos vistos (6, 7, 8, 9)
11. Implementación de estructuras de control de secuencia (if-elif)
12. Implementación de estructuras de control de repetición (while)
13. Implementación de estructuras de control de repetición (for)
14. Uso de string
Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 1
Ciclo 1: Fundamentos de programación con Python
Contenido programático

15. Fortalecimiento de conceptos vistos (11, 12, 13, 14)


16. Uso de funciones en Python
17. Uso de listas y tuplas
18. Uso de diccionarios
19. Manejo de excepciones en Python
20. Fortalecimiento de conceptos vistos (16, 17, 18, 19)
21. Introducción a interfaz gráfica tkinter I
22. Introducción a interfaz gráfica tkinter II
23. Persistencia de datos con Python I
24. Persistencia de datos con Python II
25. Fortalecimiento de conceptos vistos (21, 22, 23, 24)

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 2
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 3
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional

● El pensamiento computacional implica resolver problemas, diseñar sistemas y comprender


el comportamiento humano, haciendo uso de los conceptos fundamentales de la
informática.

● El pensamiento computacional es el proceso que permite formular problemas de forma que


sus soluciones pueden ser representadas como secuencias de instrucciones y algoritmos.

● El pensamiento computacional es el proceso de reconocimiento de aspectos de la


informática en el mundo que nos rodea, y aplicar herramientas y técnicas de la informática
para comprender y razonar sobre los sistemas y procesos tanto naturales como artificiales.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 4
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional

● El pensamiento computacional es un proceso de resolución de problemas que incluye las


siguientes características:

○ Formular problemas de forma que se permita el uso de un ordenador y otras


herramientas para ayudar a resolverlos.
○ Organizar y analizar lógicamente la información.
○ Representar la información a través de abstracciones como los modelos y las
simulaciones.
○ Automatizar soluciones haciendo uso del pensamiento algorítmico (estableciendo una
serie de pasos ordenados para llegar a la solución).
○ Identificar, analizar e implementar posibles soluciones con el objetivo de lograr la
combinación más efectiva y eficiente de pasos y recursos.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 5
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional

● El pensamiento computacional es un proceso de resolución de problemas que incluye las


siguientes características (cont.):

○ Generalizar y transferir este proceso de resolución de problemas para ser capaz de


resolver una gran variedad de familias de problemas.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 6
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional

● Introducción al pensamiento computacional

○ El pensamiento computacional consiste en resolver problemas cotidianos mediante el


uso de los conceptos fundamentales de la programación informática cuyas soluciones
pueden ser representadas mediante una serie de pasos o instrucciones.

En otras palabras, se trata del proceso mental a través del cual una persona se plantea un
problema y para su posible solución utiliza una secuencias de instrucciones ejecutadas por
una computadora, un humano o ambos. Es decir, aplica habilidades propias de la
computación y del pensamiento crítico.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 7
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
● Pilares del pensamiento computacional
○ Pensamiento lógico
■ Sistema que se utiliza para distinguir entre argumentos correctos e incorrectos
■ Argumento: Cadena de razonamiento que termina en una conclusión

Deductivo Inductivo

1. Sócrates es un hombre. 1. Una bolsa contiene 99 pelotas rojas y una


2. Todos los hombres son mortales. pelota negra.
3. Luego Sócrates es un mortal 2. Hay 100 personas y cada una saca una pelota de
la bolsa.
3. Sara es una de esas 100 personas
4. Luego Sara probablemente sacará una pelota
roja.
Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 8
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
● Pilares del pensamiento computacional
○ Pensamiento lógico.

1. Lassie es un perro.
2. Todos los perros son cafés.
3. Luego Lassie es de color café.

1. El razonamiento es válido.
2. Le da a la máquina información confiable.
3. ¿Es posible interpretar que conclusión reporta
la computadora, es decir, el resultado es
incuestionablemente verdadero (el
razonamiento fué deductivo) o probablemente
el razonamiento fué inductivo ?.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 9
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
● Pilares del pensamiento computacional
○ Pensamiento algorítmico.
■ Se basa en pensamiento lógico
■ Forma de expresar una tarea de varios pasos para explicar a un tercero (ya sea
humano o máquina como realizarla con extrema precisión.

○ Propiedades:
■ Colección de pasos
■ Asertividad
■ Secuencialidad (continuidad)

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 10
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Conceptos fundamentales

● Descomposición: Divide y vencerás


● Generalización y reconocimiento de patrones: Problemas similares, soluciones similares.
● Abstracción: Lo que no sirve, que no estorbe.
● Modelado: Representación del problema a resolver.
● Evaluación: Mejor tarde que nunca.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 11
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Estrategias de aproximación

General a lo particular (Top-Down) Particular a lo general (Bottom-Up)

● Ciencia de la computación ● Desde el inicio se detalla cada parte del


● Resumen del sistema sin detalles (caja sistema.
negra). ● Al haber completado las especificaciones de
● Cada parte de la “caja negra” se redefine cada parte se vincula a un nivel superior.
con mayor nivel de detalle, generando ● Proceso sucesivo hasta definir todo el
nuevas cajas negras. sistema como una sola gran unidad.
● Proceso sucesivo hasta definir todo el
sistema detalladamente con cajas negras.
Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 12
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Estrategias de aproximación

Top-Down vs Bottom-Up

● Top-Down enfatiza en la planificación y


conocimiento completo del proceso,
minimizando errores o trabajo extra.
Retrasa el inicio de la implementación.

● Bottom-Up permite el inicio temprano de la


implementación pero es susceptible a
errores por omisión de información

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 13
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Estrategias para el desarrollo del pensamiento computacional

● Fillomino ([Link]
Es ideal para desarrollar el pensamiento lógico. Es un juego de rompecabezas de tamaño
libre formado por bloques de cuadros que delimitan sus diferentes áreas con líneas más
oscuras.

● Sudoku ([Link]
Este clásico juego matemático, es otro excelente juego para desarrollar el pensamiento
lógico. Su objetivo es llenar la cuadrícula 9×9 con los números del 1 al 9 sin que estos se
repitan ni horizontal ni verticalmente.

● Scratch ([Link]
Scratch es un lenguaje de programación el cual permite que cualquier persona se pueda
iniciar en el mundo de la programación.
Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 14
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Estrategias para el desarrollo del pensamiento computacional

● Microsoft MakeCode ([Link]


Microsoft MakeCode es un software gratuito de código abierto que ayuda a progresar
hacia la programación real a través de la creación de experiencias atractivas de
aprendizaje de la informática.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 15
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Estrategias para el resolución de problemas

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 16
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Estrategias para la resolución de problemas

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 17
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Cómo plantear un problema

Ver documento anexo ([Link]).

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 18
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Ejercicio - Población de hormigas

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 19
Ciclo 1: Fundamentos de programación con Python
Introducción al pensamiento computacional
Tarea - Población de hormigas

● ¿ Cuántas hormigas habrá en la isla del Edén después de cinco (5) meses, si la población inicial es
de 25,000 hormigas ?

● Escriba paso a paso los cálculos y condiciones que tuvo en cuenta al desarrollar el ejercicio.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 20
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 21
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional

El pensamiento computacional consiste en resolver problemas cotidianos mediante el uso de los


conceptos fundamentales de la programación informática cuyas soluciones pueden ser
representadas mediante una serie de pasos o instrucciones.

En otras palabras, se trata del proceso mental a través del cual una persona se plantea un
problema y para su posible solución utiliza una secuencias de instrucciones ejecutadas por una
computadora, un humano o ambos. Es decir, aplica habilidades propias de la computación y del
pensamiento crítico.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 22
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
¿Cuáles son los pilares del pensamiento computacional?

El pensamiento computacional cuenta con cuatro principios, los cuales son:

1. Descomposición de un problema en fases más pequeñas: Consiste en la ruptura de un sistema


o problema complejo en partes más pequeñas para que así sean más fáciles de solucionar.

Cada pequeño problema se irá resolviendo uno tras otro hasta solucionar el sistema
completo.

2. Reconocimiento de patrones repetitivos: Una vez que hayas descompuesto el problema


complejo en varios más pequeños, busca estándares de características comunes.

Encontrar estas semejanzas en los pequeños problemas descompuestos te ayudará a resolver


el sistema de forma más eficiente.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 23
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
¿Cuáles son los pilares del pensamiento computacional?

3. Abstracción de información irrelevante al problema propuesto: La abstracción se refiere a


centrarse en la información importante, dejando de lado aquellas características irrelevantes
e innecesarias.

Pero, ¿cuál es información importante? En la abstracción se trata principalmente de las


características generales que son comunes a cada en elemento, en lugar de detalles
específicos.

Luego de contar con estas características generales, se debe proceder a crear un «modelo»
del problema, el cual es la idea general del problema que se intenta resolver.

4. Algoritmos escritos presentados para la resolución del problema: Luego de dividir el gran
problema en varios más pequeños, identificar las similitudes entre estos, centrarte en los
detalles pertinentes y dejar atrás cualquier información irrelevante.
Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 24
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
¿Cuáles son los pilares del pensamiento computacional?

Entonces, ha llegado el momento de desarrollar instrucciones paso a paso o plantear las


reglas a seguir para resolver cada uno de estos problemas a través de la programación de una
computadora, es decir, crear los algoritmos.

Estos algoritmos pueden ser creados a través de diagramas de flujos o usando


pseudocódigos.

Sin embargo, ten en cuenta que un algoritmo es un plan, un conjunto de instrucciones paso a
paso para resolver un problema y no siempre implica hazañas complicadas de la
programación, sino que puede utilizarse en sistemas complejos externos.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 25
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Uso de diagramas de flujo

Diagramas de flujo ofrecen una manera perfecta para representar algoritmos.

"Un diagrama de flujo es un tipo de diagrama que representa un algoritmo, flujo de


trabajo o proceso, mostrando los pasos como cajas de diversos tipos y su orden
conectándolos con flechas. Esta representación esquemática ilustra un modelo de
solución para un problema dado."– Wikipedia

Diagramas de flujo son una manera fácil de trama de algoritmos, especialmente si necesitan
resultados diferentes en el camino de salida. Utiliza convenciones de estilo estándar.
Diagramas de flujo de flujo de arriba a abajo y de izquierda a derecha.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 26
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Uso de diagramas 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.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 27
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Solución de problemas

● Definición de problema
● Método para la solución de problemas

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 28
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Solución de problemas

● ¿ Qué es un problema ?

● Situación
○ Tarea / interrogante sin inmediata solución

● Cuestión / proposición dudosa


○ Averiguar/indagar por resultados bajo ciertos datos

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 29
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Problemas y estrategias

● Para lograr un objetivo/meta

● Lineamientos

● Para resolver problemas deben desarrollarse estrategias

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 30
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Método para resolver problemas

[Link]
resolver-problemas/

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 31
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Método para resolver problemas

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 32
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Ejercicio 1.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 33
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Ejercicio 1.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 34
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Ejercicio 2.

Dos empresas tienen ofertas de trabajo iguales en términos de las responsabilidades de los
mismos, con la diferencia de la forma de retribución económica, las ofertas son:

Empresa A: $100'000.000 pagaderos anualmente con aumento anual de $20'000.000


Empresa B: $50'000.000 pagaderos semestralmente con aumento semestral de $5'000.000

¿Cual trabajo escoge?

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 35
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Posible solución:

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 36
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Ejercicio 3.

El hotel PUJA Resort ha decidido implementar un sistema de automatización de edificios, que


cuente con seguridad biométrica, sistema de calefacción automático y apertura de puertas
autónomo. Usted hace parte del equipo de implementación de soluciones para puertas
automáticas de la empresa de seguridad “security in SAS”.

Su trabajo es desarrollar un algoritmo que controle los accesos en las puertas automáticas, y así
lograr la apertura de las mismas.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 37
Ciclo 1: Fundamentos de programación con Python
Introducción al lenguaje de programación Python

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 38
Ciclo 1: Fundamentos de programación con Python
Introducción al lenguaje de programación Python

Python es un lenguaje de programación de propósito general muy poderoso y flexible, a la vez que
sencillo y fácil de aprender.

Este lenguaje fue creado a principios de los noventa por Guido van Rossum en los Países Bajos.

Python se desarrolla bajo una licencia de Open source o código abierto aprobada por OSI, por lo que se
puede usar y distribuir libremente, incluso para uso comercial.

El Python Package Index (PyPI) o en español significa Índice de paquetes de Python alberga miles de
módulos de terceros para Python.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 39
Ciclo 1: Fundamentos de programación con Python
Introducción al lenguaje de programación Python

Tanto la biblioteca estándar de Python como los módulos aportados por la comunidad permiten infinitas
posibilidades.

● Desarrollo web e Internet.


● Acceso a la base de datos.
● GUIs de escritorio.
● Científico y numérico.
● Educación.
● Programación de red.
● Desarrollo de Software y Juegos.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 40
Ciclo 1: Fundamentos de programación con Python
Introducción al lenguaje de programación Python

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 41
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Programación orientada a objetos

La Programación Orientada a Objetos (POO) es un paradigma de programación, es decir, un


modelo o un estilo de programación que nos da unas guías sobre cómo trabajar con él. Se basa
en el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un
programa de software en piezas simples y reutilizables de planos de código (clases) para crear
instancias individuales de objetos.

Con el paradigma de Programación Orientado a Objetos lo que buscamos es dejar de centrarnos


en la lógica pura de los programas, para empezar a pensar en objetos, lo que constituye la base
de este paradigma. Esto nos ayuda muchísimo en sistemas grandes, ya que en vez de pensar en
funciones, pensamos en las relaciones o interacciones de los diferentes componentes del
sistema.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 42
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Programación orientada a objetos

¿Por qué POO?

La Programación Orientada a Objetos permite que el código sea reutilizable, organizado y fácil
de mantener. Sigue el principio de desarrollo de software utilizado por muchos programadores
DRY (Don’t Repeat Yourself), para evitar duplicar el código y crear de esta manera programas
eficientes. Además, evita el acceso no deseado a los datos o la exposición de código propietario
mediante la encapsulación y la abstracción.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 43
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Programación orientada a objetos

Clases, objetos e instancias

¿Cómo se crean los programas orientados a objetos? Resumiendo mucho, consistiría en hacer
clases y crear objetos a partir de estas clases. Las clases forman el modelo a partir del que se
estructuran los datos y los comportamientos.

El primer y más importante concepto de la POO es la distinción entre clase y objeto.

Una clase es una plantilla. Define de manera genérica cómo van a ser los objetos de un
determinado tipo. Por ejemplo, una clase para representar a animales puede llamarse ‘animal’ y
tener una serie de atributos, como ‘nombre’ o ‘edad’ (que normalmente son propiedades), y una
serie con los comportamientos que estos pueden tener, como caminar o comer, y que a su vez se
implementan como métodos de la clase (funciones).
Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 44
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Programación orientada a objetos

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 45
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 46
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Principios de la programación orientada a objetos

Encapsulación: La encapsulación contiene toda la información importante de un objeto dentro del


mismo y solo expone la información seleccionada al mundo exterior.

Esta propiedad permite asegurar que la información de un objeto esté oculta para el mundo
exterior, agrupando en una Clase las características o atributos que cuentan con un acceso privado,
y los comportamientos o métodos que presentan un acceso público.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 47
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Principios de la programación orientada a objetos

La abstracción

La abstracción es cuando el usuario interactúa solo con los atributos y métodos seleccionados de
un objeto, utilizando herramientas simplificadas de alto nivel para acceder a un objeto complejo.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 48
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Principios de la programación orientada a objetos

La herencia

La herencia define relaciones jerárquicas entre clases, de forma que atributos y métodos comunes
puedan ser reutilizados. Las clases principales extienden atributos y comportamientos a las clases
secundarias. A través de la definición en una clase de los atributos y comportamientos básicos, se
pueden crear clases secundarias, ampliando así la funcionalidad de la clase principal y agregando
atributos y comportamientos adicionales.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 49
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Principios de la programación orientada a objetos

La herencia

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 50
Ciclo 1: Fundamentos de programación con Python
Principios de pensamiento computacional
Beneficios de Programación Orientada a Objetos

● Reutilización del código.


● Convierte cosas complejas en estructuras simples reproducibles.
● Evita la duplicación de código.
● Permite trabajar en equipo gracias al encapsulamiento ya que minimiza la posibilidad de
duplicar funciones cuando varias personas trabajan sobre un mismo objeto al mismo
tiempo.
● Al estar la clase bien estructurada permite la corrección de errores en varios lugares del
código.
● Protege la información a través de la encapsulación, ya que solo se puede acceder a los
datos del objeto a través de propiedades y métodos privados.
● La abstracción nos permite construir sistemas más complejos y de una forma más
sencilla y organizada.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 51
Ciclo 2: Fundamentos de programación con Python
POO (Programación Orientada a Objetos)

La programación orientada a objetos (POO) es una forma especial de programar, más cercana a como
expresaríamos las cosas en la vida real que otros tipos de programación.

OBJETOS

Nelson Acero Fino


Email: [Link]@[Link] Pág. # 52
52
Ciclo 2: Fundamentos de programación con Python
POO (Programación Orientada a Objetos)

¿ Cómo pensar en objetos ?

Atributos (caracteristicas):

● color
● marca
● kmRecorridos

Métodos (Acciones)
● encender
● acelerar
● frenar

Nelson Acero Fino


Email: [Link]@[Link] Pág. # 53
53
Ciclo 2: Fundamentos de programación con Python
POO (Programación Orientada a Objetos)

¿ Cómo pensar en objetos ?

Atributos (Caracteristicas):

3 ●

numerador
denominador

Métodos (Acciones)

2
● simplificarse
● sumarse con otra fracción
● restarse con otra fracción

Nelson Acero Fino


Email: [Link]@[Link] Pág. # 54
54
Ciclo 2: Fundamentos de programación con Python
POO (Programación Orientada a Objetos)

Clases en POO

Son un conjunto de objetos con características similares

color: Blanco
marca: Audi
kmrecorridos: 0
coche1

color: Rojo
marca: Ferrari
kmrecorridos: 100

coche2
Nelson Acero Fino
Email: [Link]@[Link] Pág. # 55
55
Ciclo 2: Fundamentos de programación con Python
POO (Programación Orientada a Objetos)

Creación de clases y objetos


nombre de la clase

class Coche :
def __init__ (self,....):

nombre objeto nombre clase

constructores

coche1 = Coche()
coche2 = Coche();
Nelson Acero Fino
Email: [Link]@[Link] Pág. # 56
56
Ciclo 2: Fundamentos de programación con Python
POO (Programación Orientada a Objetos)

Ejemplo Visual Studio Code - clase Coche ([Link])

Nelson Acero Fino


Email: [Link]@[Link] Pág. # 57
57
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 58
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Ciclo de vida de desarrollo de Software

El ciclo de vida es el conjunto de fases por las que pasa el sistema que se está desarrollando desde que nace
la idea inicial hasta que el software es retirado o reemplazado (muere). También se denomina a veces
paradigma*.

Entre las funciones que debe tener un ciclo de vida se pueden destacar:

● Determinar el orden de las fases del proceso de software.


● Establecer los criterios de transición para pasar de una fase a la siguiente.
● Definir las entradas y salidas de cada fase.
● Describir los estados por los que pasa el producto.
● Describir las actividades a realizar para transformar el producto.
● Definir un esquema que sirve como base para planificar, organizar, coordinar, desarrollar…
* Como paradigma denominamos todo aquel modelo, patrón o ejemplo que debe seguirse en determinada situación.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 59
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 60
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Adopción e identificación del sistema

Es importante conocer el origen del sistema, así como las motivaciones que impulsaron el desarrollo del
sistema (¿por qué?, ¿para que?, etc, etc).

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 61
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Análisis de requerimientos

Identificación de necesidades del cliente y los usuarios que el sistema debe satisfacer.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 62
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Especificación

Los requerimientos se realizan en un lenguaje más formal, de manera que se pueda encontrar la función
de correspondencia entre las entradas del sistema y las salidas que se supone que genera. Al estar
completamente especificado el sistema, se pueden hacer estimaciones cuantitativas del valor, tiempos de
diseño y asignación de personal al sistema, así como la planificación general del proyecto.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 63
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Especificación de la arquitectura

Define las interfaces de conexión y recursos entre módulos del sistema de manera apropiada para su
diseño detallado y apropiación.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 64
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Diseño

En esta etapa, se divide el sistema en partes manejables (módulos) y se analizan los elementos que los
constituyen. Esto permite afrontar proyectos de muy alta complejidad.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 65
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Desarrollo e implementación

Codificación y depuración de la etapa de diseño e implementaciones de código fuente operacional.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 66
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Integración y prueba del software

Ensamble de los componentes de acuerdo a la arquitectura establecida y evaluación del comportamiento


de todo el sistema atendiendo a su funcionalidad y eficacia.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 67
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Documentación

Generación de documentos necesarios para el uso y mantenimiento.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 68
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Entrenamiento y uso

Instrucciones y guías para los usuarios detallando las posibilidades y limitaciones del sistema, para su uso
efectivo.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 69
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Mantenimiento del software

Actividades para el mantenimiento operativo del sistema. Se clasifican en evolución, conservación y


mantenimiento propiamente dicho.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 70
Ciclo 1: Fundamentos de programación con Python
Ciclo de vida del software

Existen diversos modelos de ciclo de vida, pero cada uno de ellos va asociado a unos métodos,
herramientas y procedimientos que debemos usar a lo largo de un proyecto. El orden y la presencia de
cada uno de éstos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de
ciclo de vida acordado entre el cliente y el equipo de desarrolladores.

● Modelo ciclo de vida lineal.


● Modelo de ciclo de vida en cascada.
● Modelo de ciclo de vida en iterativo.
● Modelo de ciclo de vida por prototipos.
● Modelo de ciclo de vida evolutivo.
● Modelo de ciclo de vida incremental.
● Modelo de ciclo de vida en espiral.
● Modelo de ciclo de vida orientado a objetos.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 71
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 72
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Instalación de Visual Studio Code

● [Link]

Instalación de extensiones para Visual Studio Code


● [Link]

Instalación de Python y su extensión para Visual Studio Code


● [Link]

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 73
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

¿Qué son los operadores aritméticos?

En programación y matemáticas, los operadores aritméticos son aquellos que manipulan los datos de tipo
numérico, es decir, permiten la realización de operaciones matemáticas (sumas, restas, multiplicaciones,
etc.).

El resultado de una operación aritmética es un dato aritmético, es decir, si ambos valores son números
enteros el resultado será de tipo entero; si alguno de ellos o ambos son números con decimales, el
resultado también lo será.

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 74
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Operación Operador Descripción Ejemplo Resultado

Suma + Obtiene el resultado de s=5+4 9


sumar los operandos

Resta - Obtiene la diferencia r=5-4 1


entre los operandos

Multiplicación * Obtiene el producto m=5*4 20


entre los operandos

División / Obtiene la división d=5/2 2


según el tipo de dato
entre los operandos.
Entero / entero: genera
un entero
Real / real; Entero /
real; real /entero:
genera un real

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 75
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Operación Operador Descripción Ejemplo Resultado

División modular % Obtiene el residuo de dm=5%2 1


una división entera.
Por lo tanto los
operadores
únicamente pueden
ser enteros

Potencia ** Obtiene la potencia p=5**2 25


de la base elevada al
exponente. La
radicación puede
obtenerse del inverso
de la potencia.

División parte // dpa=15//2 7


entera
Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 76
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Prioridad en operadores

Prioridad Operadores

Mayor ()

... ^

... */

Menor +-

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 77
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Prioridad en operadores

Ejercicio:

● 6/2*(2+1) ● 6/2*2+1

a=1, b=2, c=1

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 78
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Prioridad en operadores

a=1, b=2, c=1

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 79
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Operadores de asignaciones

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 80
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Operadores de asignaciones

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 81
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Operadores relacionales

Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 82
Ciclo 1: Fundamentos de programación con Python
Realización de operaciones aritméticas en programación

Ejercicios de algoritmos

● Realice un algoritmo para determinar si en la variable a existe un número múltiplo de 5. En caso


afirmativo asigne a la variable b el número 1, de lo contrario asigne a la variable b el número 0.

● Suponiendo que en la variable a existe un número entre 1 y 99 elabore un algoritmo que almacene
en la variable b la suma de los dígitos que componen el número almacenado en a. Por ejemplo si a
tiene el dato 82, en la variable b debe quedar el número 10 ya que 8 más 2 es 10.

● En las variables a, b, c existen 3 números en el rango de 0 a 9. Conforme un número en la variable x,


compuesto por los dígitos almacenados en a, b y c. Por ejemplo si en las variables a, b y c existen
los dìgitos 8, 5, 3, en la variable x debe quedar el número 853.

● Dados dos datos almacenados en las variables a y b, elabore un algoritmo que intercambie los
valores almacenados en a y b, sin necesidad de utilizar ningún tipo de variable auxiliar.
Nelson Acero Fino * email: [Link]@[Link] * Universidad Sergio Arboleda - Misión TIC 2022 Pág. 83

También podría gustarte