Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 49

Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

FICHA DE IDENTIFICACIÓN

Programa al que pertenece Especialización en Inteligencia artificial

Nombre de la asignatura Fundamentos de Programación para Inteligencia Artificial

Nombre de la unidad temática Módulo 1: Introducción

Nombre del (los) autor(es) Luis Carlos Díaz – Andrés Felipe Rodríguez

Fecha 14 de mayo del 2021

Idioma Español

Palabras clave Programación, Inteligencia Artificial, Python

Resumen (150 max.)

Contexto sociocultural del OA

Versión 0.1

Tiempo de estudio
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

# COMPONENTE DESARROLLO DEL CONTENIDO DESCRIPCIÓN / REFERENCIA RECURSO

Contextualización (LMS)

1 Presentación Presentación: Recurso HTML


En este módulo se tratará algunos principios de Sistema de pestañas en HTML en el que a
computación, algoritmos y programación; se dará cada componente le corresponde una
una breve introducción a el lenguaje de pestaña, parecido a la referencia:
programación Python y el uso de colecciones y
estructuras de control.

El módulo se desarrollará en tres semanas de clase


a lo largo de las cuales se tendrán diferentes
actividades de aprendizaje interactivo, basadas
en la resolución de problemas sencillos y apoyadas
en el aprendizaje colaborativo para que al final se
logre la construcción de algoritmos capaces de
atacar problemas de baja y mediana complejidad.

RAE:
En el botón ‘presentación’ se debe poner la
Los resultados de aprendizaje esperados información que está en el título
específicos para este módulo son: “Presentación”
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

1. SubRAE-FPIA-1.1: Reconocer la relación En el botón ‘RAE’ se debe poner la


entre algoritmos y programación. información que está en el título “RAE”

2. SubRAE-FPIA-1.2: Reconocer la En el botón ‘Estrategias’ se debe poner la


importancia de las matemáticas y el información que está en el título
formalismo en programación. “Estrategias pedagógicas”

3. SubRAE-FPIA-1.3: Identificar las En el botón “Evaluación” se debe poner la


propiedades de un algoritmo. información que está en el título
“Evaluación”
4. SubRAE-FPIA-2.1: Aplicar la técnica de
divide y vencerás para solución de En el botón “Actividades” se debe poner
problema. la información que está en el título
“Actividades”
5. SubRAE-FPIA-2.2: Utilizar precondiciones y
poscondiciones de un programa. Nota: La última pestaña (Actividades) aún
no tiene contenido, por lo pronto se puede
6. SubRAE-FPIA-2.3: Usar un ambiente de dejar vacío.
programación (Python).

7. SubRAE-FPIA-3.1: Utilizar estructuras de


programación y colecciones de datos.

8. SubRAE-FPIA-3.2: Comprender el principio


de caja negra.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

RRAE- RAE- RAE- RAE-FPIA-


FPIA-1 FPIA-2 FPIA-3 4

SubRAE- X
FPIA-
1.1

SubRAE- X
FPIA-
1.2

SubRAE- X
FPIA-
1.3

SubRAE- X
FPIA-
2.1

SubRAE- X
FPIA-
2.2
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

SubRAE- X
FPIA-
2.3

SubRAE- X
FPIA-
3.1

SubRAE- X
FPIA-
3.2

Estrategias pedagógicas

En este módulo se tendrán 8 actividades de


aprendizaje, diseñadas para fortalecer y aplicar los
conceptos aprendidos durante el desarrollo de las
temáticas que tiene en cuenta las tres estrategias
pedagógicas propias del curso:

• Aprendizaje mediado por actividades


interactivas de tipo asincrónico o sincrónico
sobre los conceptos de programación y su
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

aplicación en la construcción de algoritmos


para brindar una solución a un problema

• Aprendizaje basado en problemas mediante


ejercicios individuales o grupales
correspondientes al avance temático del
curso

• Aprendizaje colaborativo, en el cual, a


través de equipos de trabajo, se busca un
intercambio de conocimientos por pares
para reforzar el aprendizaje significativo.
Evaluación:
Para este módulo se realizarán actividades de
evaluación formativa asociadas con el estudio y
práctica de los temas centrales sintetizados en los
Notebooks (ver la forma de evaluación completa en
la presentación del curso), actividades de
evaluación sumativa asociadas con el desarrollo de
ejercicios de programación durante las tres
semanas que componen el módulo y una evaluación
sumativa intermedia en la tercera semana de la
siguiente manera:

Evaluación sumativa:
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

• Durante la primera semana otorgará 20


puntos del trabajo de clase.
• En la segunda semana se otorgará 50 puntos
del trabajo de clase. Se evalúa el uso de
precondiciones y poscondiciones, el uso de
la plantilla de programas y finalmente el
correcto funcionamiento de los programas.
• En la tercera semana se otorgará 50
puntos del trabajo de clase.
Prueba Intermedia:
• Prueba evaluativa intermedia: 25% de la
nota final del curso. Se realizará una
actividad de evaluación intermedia que
comprende una actividad asincrónica
asociada a la parte teórica del tema que el
estudiante responde de manera individual
(50%) y un ejercicio práctico que pueden
resolver de manera asincrónica en grupo
(50%).
• Feedback de la prueba intermedia. Se
realizará una actividad sincrónica asociado
con una retroalimentación para los
estudiantes sobre el tema de la evaluación
intermedia.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Actividades:
En este espacio se presenta el cronograma general
semana a semana de las actividades que debe
desarrollar el estudiante. Aquí podrá consultar el
cronograma detallado.

Fundamentación conceptual (OA)

Presentación VIDEO DE PRESENTACIÓN Video se ubicará en RISE al inicio del OVA.


Script de posible video de presentación del
módulo ¿Es posible crear dicho video? ¡revisar
script!

Texto 1. Hoy en día es posible resolver casi


cualquier problema usando un computador, sin
embargo, detrás de esta capacidad existen
desarrollos matemáticos y científicos que permiten
que esto sea posible.

Texto 2. Entender y reflexionar acerca de estos


formalismos brinda un contexto amplio acerca de
las potencialidades y limitaciones de las máquinas
como las conocemos actualmente.

Texto 3. Por esta razón, esta unidad tiene como


objetivo la introducción a los conceptos básicos
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

sobre computación, computabilidad, algoritmos y


programación.

Texto 4. Y así, proporcionar una base conceptual


para entender que es “computable” o posible de
computar mediante el uso de un lenguaje de
programación o pensamiento algorítmico.

2 Principios de Lección 1: Principios de computación.


Tema 1: La Máquina de Turing
Computación
Texto 1: En 1928 David Hilbert propuso una Tema 1: La máquina de Turing
cuestión fundamental en matemáticas: ¿dado un
conjunto de axiomas, una proposición
Parametrizar con bloque de texto el texto 1
matemática es demostrable?
Ante esta cuestión hay dos elementos para tener en
Parametrizar por medio de bloque de
cuenta. En primer lugar, no existe una descripción
gráfico con etiquetas en la que la imagen
completa razonable de algunas estructuras
base sea:
matemáticas (problema de completitud), y en
segundo lugar, hay problemas que no pueden ser
resueltos por ningún algoritmo.
Teniendo en cuenta esto, Alan Turing propone en
1937 un modelo matemático de computación que
busca abstraer o modelar la forma en que una
máquina podría realizar cálculos.
Todo esto con el objetivo de investigar el alcance y
las limitaciones de lo que puede ser computado e Figura 1: Partes de la máquina de Turing
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

ideado para la computación de números reales


(Turing, 1937).
Y en la que a cada etiqueta le corresponda
Dicha investigación sentó las bases de la uno de los textos de las etiquetas 1.1, 1.2,
computación moderna, ya que, a pesar de la 1.3, 1.4, 1.5
capacidad de procesamiento de las máquinas
actuales, estas aún funcionan bajo el mismo
modelo: son máquinas capaces de procesar
símbolos y están limitadas por lo que es o no
computable.
Es por esta razón que, en el mundo de la
computación moderna, todo aquello que se pueda
representar en la máquina de Turing será
computable.

Etiqueta 1.1. - Cinta: Es una cinta divida en


celdas, una junto a la otra. Cada celda contiene
un símbolo que pertenece a algún alfabeto
finito. Dentro de este alfabeto finito debe existir
un símbolo para indicar “vacío”.

Etiqueta 1.2. - Símbolos: Son los símbolos que


componen el alfabeto finito representado en la
cinta de estados.

Etiqueta 1.3. - Estado: Es un registro secuencial


del estado actual de la máquina, se empieza con
un estado inicial que va cambiando a medida que
se lee la cinta de estados y se realiza una acción.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Etiqueta 1.4. - Tablas de transición: Es una


tabla finita de instrucciones que permite a la
máquina tomar una decisión respecto a cómo
actuar dado el estado actual de la máquina y el
símbolo presente en la cinta.

Etiqueta 1.5. - Diagrama de estado: Es una


representación gráfica de la tabla de transición,
cuando el modelo computacional es corto y
repetitivo puede ser más útil verlo como un
grafo.
Practiquemos
Ahora que ya hemos visto qué es la máquina de
Turing, vamos a realizar una actividad:

Actividades

Herramienta de asignaciones
Actividad n.° Actividad n.° 1: Taller didáctico de Máquina de
1: Taller Turing
didáctico de
En esta primera actividad se realizará un taller
Máquina de
didáctico sobre los principios de la computación, se
Turing
llevará a cabo de forma presencial y en equipos de
trabajo.
Se hará uso de materiales que representan los
elementos básicos de la máquina de Turing y su
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

funcionamiento para entender cómo este modelo


computacional puede representar un algoritmo a
través de su capacidad de interpretar símbolos y
ejecutar acciones.
Las instrucciones detalladas de la actividad, los
materiales a usar y la dinámica se encuentran
descritos en el recurso
actividad_máquina_de_turing.pdf

Herramienta de asignaciones
Actividad n.° 2: Actividad n.° 2: Configuración de ambiente de
Configuración trabajo
de ambiente de
Para el entendimiento de los fundamentos de
trabajo
programación para inteligencia artificial se usará el
lenguaje de programación Python.
Este lenguaje puede ser ejecutado en la nube de
forma gratuita en servidores de Google, o de forma
local instalando los intérpretes, ambientes y
editores de texto requeridos para poder trabajar
los contenidos de la asignatura.
En esta actividad se dará una breve explicación de
cómo usar este lenguaje de programación en la
aplicación Google Colaboratory y además se dará
una guía de cómo instalar la distribución de Python
proporcionada por Anaconda Inc.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Para el uso de Python en un ambiente local se


requerirá de la instalación de la aplicación Jupyter
Notebooks y el editor PyCharm. El uso de este
editor no es obligatorio, y si se tiene conocimiento
preliminar de otras herramientas para proyectos de
programación como Visual Studio Code, Sublime
Text o Spyder podrá hacer uso de estas sin ninguna
restricción ya que las entregas relacionadas con
programación se materializarán en Informes,
scripts de Python (.py) y Notebooks de Jupyter
(.ipynb)

3 Algoritmos Lección 2: Algoritmos Lección 2: Algoritmos.


Título 1: ¿Qué es un algoritmo?
Tema 1: ¿Qué es un Algoritmo?
Texto 1: Según la Real Academia Española un
algoritmo es un conjunto ordenado y finito de
Parametrizar con bloque de texto el texto 1
operaciones que permite hallar la solución de un
problema.
Tema 2: Propiedades de un algoritmo
Sin embargo, en la computación este no se reduce
a una simple secuencia de pasos; en términos más
Parametrizar con bloque de texto el texto 2
formales, representa una serie finita de pasos u
y un bloque de gráfico con etiquetas en la
operaciones básicas computables que controlan
que la imagen base sea:
algún modelo computacional que no requiere
ninguna interpretación o intervención humana
para su ejecución.
Título 2: Propiedades de un algoritmo
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Texto 1: Una secuencia ordenada y finita de


operaciones computables para llevar a cabo una
tarea, se considera un algoritmo si tiene las
siguientes propiedades:

Etiqueta 1. - Entradas: Entradas en términos


cuantitativos (Ej. números, strings, imágenes,
vectores)
Etiqueta 2. - Salidas: Salidas en términos
cuantitativos (Ej. números, strings, imágenes,
vectores)
Etiqueta 3. - Finito: Terminación en un número Figura 2: Propiedades de un algoritmo
finito de pasos.
Etiqueta 4. - Definido: Definido
apropiadamente, con rigor de precisión, claridad
y mínima ambigüedad. Y en la que a cada etiqueta le corresponda
Etiqueta 5. - Efectivo: Cada operación debe ser uno de los textos de las etiquetas 2.1, 2.2,
lo suficientemente básica para ser ejecutada por 2.3, 2.4, 2.5
la máquina.
Título 3: Algoritmos y computabilidad Tema 3: Algoritmos y computabilidad.
Texto 1: Gracias a la máquina de Turing se puede
establecer una formalización teórica del concepto Parametrizar con bloque de texto el texto 1
de algoritmo, ya que un algoritmo es computable si
puede ser realizado por una máquina de Turing. Tema 4: Partes de un algoritmo.
“Una máquina de Turing determina el valor de un
procedimiento computable, dado un valor de
entrada” Turing determina el valor de un Parametrizar con bloque de texto el texto 1
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

procedimiento computable, dado un valor de


Parametrizar por medio de bloque de
entrada". (Barbin et al., 2012; Fernández, 2009).
gráfico con etiquetas en la que la imagen
Es así como el concepto de computabilidad base sea:
establece un vínculo entre el algoritmo y la
computación, ya que un cómputo debe describirse
en forma de algoritmo, es decir, en términos de
funciones computables.
Título 4: Partes de un algoritmo
Texto 1: Un algoritmo, se compone básicamente de
entradas, un conjunto de procesos computables y
salidas.
Al interior de cada componente deben surtir
procesos de validación y refinamiento de lo que Figura 3: Partes de un algoritmo
debe ingresar, cómo debe ser procesada esta
información y cuál es el resultado esperado. Y en la que a cada etiqueta le corresponda
uno de los textos de las etiquetas 1, 2, 3.
Es necesario ser formales a la hora de definir los
datos de entrada (rango, tipo, restricciones), datos
de salida (rango, tipo, restricciones) y el proceso Tema 5: Definición de un algoritmo.
que va a permitir tomar las entradas para obtener
las salidas definidas.
Parametrizar con bloque de texto el texto 1

Etiqueta 1. - Entradas: Si se deseara crear un Parametrizar por medio de bloque de


algoritmo para resolver una ecuación cuadrática gráfico estático en la que la imagen base
de la forma. sea:

𝑎𝑥 2 + 𝑏𝑥 + 𝑐 = 0
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Acotando a coeficientes enteros, las entradas


deberían cumplir las condiciones:

𝑎, 𝑏, 𝑐 ∈ ℤ
𝑎≠0
𝑏 2 ≥ 4𝑎𝑐

Etiqueta 2. - Proceso: Para encontrar los ceros


de la función dados los coeficientes 𝑎, 𝑏, 𝑐 se
debe establecer la serie de pasos que permitirán
aplicar la fórmula:

−𝑏 ± √𝑏2 − 4𝑎𝑐 Figura 4: Proceso de definición de un


𝑥= algoritmo
2𝑎

Etiqueta 3. - Salidas: Serán los ceros de la


función dados los coeficientes de entrada. Parametrizar con bloque de texto el texto 2
Título 5: Definición de un algoritmo
Texto 1: Dicha formalidad hace parte de la etapa Tema 6: Algoritmos y lenguajes de
inicial de la definición de un algoritmo, en la que, programación.
luego de un análisis preliminar del problema se
deben definir las precondiciones (condiciones de Parametrizar con bloque de texto el texto 1
los parámetros de entrada) y postcondiciones
(condiciones de los parámetros de salida) del Parametrizar por medio de bloque de
algoritmo. gráfico estático en la que la imagen base
sea:
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Texto 2: Como se ha venido mencionando, un


algoritmo es una serie de pasos u operaciones
computables que, en conjunto, permiten resolver
un problema específico. Es por esto que una vez
finalizada la primera etapa se procede a construir
el núcleo del algoritmo, buscando en la medida de
lo posible dividir el problema principal en una serie
de pasos o problemas más pequeños (divide y
vencerás).
Con un diseño claro de lo que debe contender el
algoritmo, el último paso a seguir es la codificación
de este, usando un lenguaje de programación o un
software diseñado para tal fin.
Es importante tener en cuenta que la construcción
de un algoritmo, a pesar de verse como un proceso,
es iterativa. Durante su diseño se pueden concebir
diferentes formas de solucionar el mismo
problema, por lo que siempre se podrán ejecutar Figura 5: Flujo de compilación de un
refinamientos que permitan por ejemplo mejorar la programa escrito en C
velocidad de ejecución o simplificar los procesos
internos del mismo.
Parametrizar con bloque de texto el texto 2
Título 6: Algoritmos y lenguajes de programación
Texto 1: Un lenguaje de programación es en Parametrizar por medio de bloque de
esencia una herramienta para describir y construir gráfico estático en la que la imagen base
un algoritmo de una forma que pueda ser sea:
interpretado y ejecutado por una máquina.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Las máquinas actuales entienden los lenguajes de


programación de dos maneras: de forma compilada
y de forma interpretada. De estas formas de
“entender” se desprenden dos tipos de lenguajes
de programación: los lenguajes compilados y los
interpretados.
Un lenguaje compilado requiere de un
“compilador” que se encarga de traducir el código Figura 6: Flujo de interpretación de un
fuente a código máquina (binario). El resultado es programa escrito en Python
un “programa” o ejecutable que se encuentra 100%
en lenguaje de máquina y puede ser ejecutado para
realizar la tarea para la que fue construido.

Texto 2: Un lenguaje interpretado no requiere de


dicho paso intermedio. A diferencia del anterior,
depende de un intérprete o interpretador que se
encarga de traducir en tiempo real cada una de las
instrucciones escritas en el código fuente a código
de máquina.

4 Introducción a Lección 3: Introducción a Python.


Tema 1: ¿Qué es Python?
Python
Texto 1: Python es un lenguaje de programación de
Tema 1: ¿Qué es Python?
alto nivel y enfocado en brindar legibilidad del
código. Está estructurado bajo diferentes
paradigmas de programación, entre ellos Parametrizar con bloque de texto el texto 1
Tema 2: Elementos Importantes
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

programación estructurada, orientada a objetos y


funcional.
Parametrizar con bloque de texto el texto 2
Gracias a esa filosofía es un lenguaje en el que es
acompañado por la imagen:
muy sencillo construir programas para resolver
problemas específicos. Lo anterior, sumado a que
es de código abierto permitió que se desarrollaran
una amplia gama de módulos para resolver
cualquier tipo de tarea, por lo que la construcción
de una visualización avanzada o la conexión a una
base de datos usando este lenguaje ya están
implementadas y pueden ser usadas por cualquiera.
Actualmente existen dos versiones del lenguaje,
Python 2.x y Python 3.x. La diferencia entre ellas
es la sintaxis de escritura de código en algunos
apartados, sin embargo, Python 2 dejó de recibir Figura 7: Consola de Python 3.7
soporte en 2020 por lo que el más usado
actualmente es Python 3.
Parametrizar con bloque de texto el texto 3
Tema 2: Elementos importantes
Parametrizar por medio de bloque de
Texto 2: Dado que es un lenguaje interpretado,
gráfico estático en la que la imagen base
para trabajar con el existen tres elementos
sea:
fundamentales: los scripts, el intérprete y la
consola.
La consola es una interfaz a través de la cual el
usuario interactúa con el intérprete de Python
enviando instrucciones para que este las ejecute.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Cuando una consola de Python está activa, se


mantiene en ejecución una máquina virtual que
está encendida y lista para recibir instrucciones y
ejecutarlas.
Texto 3: Un Script es un archivo de texto con la
extensión “.py”, que contiene una serie de
instrucciones que pueden ser guardadas o
modificadas para ser ejecutadas luego.
Texto 4: El intérprete es el encargado de traducir
en tiempo real (línea a línea) los comandos escritos
en Python a lenguaje de máquina, enviar de vuelta
los resultados a la consola y almacenar en memoria
las asignaciones definidas en cada una de las líneas Figura 8: Script de Python
de código. Parametrizar con bloque de texto el texto 4

5 Principios de Lección 5: Principios de programación Lección 5: Principios de Programación


Programación
Tema 1: Tipos de datos y estructuras de
programación Tema 1: Tipos de Datos y Estructuras de
Programación
Texto 1: Como se vio en el tema anterior, un
lenguaje de programación es una herramienta que Parametrizar con bloque de texto el texto 1
permite al usuario describir un algoritmo de tal
Tema 2: Variables
forma que este pueda ser entendido por una
máquina. Parametrizar con bloque de texto el texto 2
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Para lograr dicha tarea, un lenguaje de Parametrizar por medio de bloque de


programación se compone de “bloques” gráfico con etiquetas en la que la imagen
fundamentales que le permiten al usuario abstraer base sea:
elementos, estructuras y datos del mundo real a un
lenguaje que pueda ser entendido por el
computador.
Tema 2: Variables
Texto 2: El primero de estos es la variable. Una
variable es una forma usual de referirse a algún
valor almacenado en la máquina. Esta forma de
usar una identificación simbólica permite guardar Figura 9: Componentes de una variable
información para luego ser usada, reemplazada o
eliminada en otro momento de la ejecución del
programa.
Y en la que a cada etiqueta le corresponda
Una variable se compone de 4 elementos: las etiquetas: 2.1,2.2, 2.3
Identificación simbólica o nombre, valor o datos
almacenados, tipo de dato almacenado y Tema 3: Tipos de Datos
localización en memoria. Parametrizar con bloque de texto el texto 3
Etiqueta 2.1. - La identificación simbólica Parametrizar por medio de bloque de
(nombre) es el identificador único que se le da a gráfico con etiquetas en la que la imagen
la variable para su uso posterior. base sea:
Etiqueta 2.2. - El valor hace referencia a la
información que se encuentra almacenada o ligada
a el nombre de la variable, este puede ser fijo o
variable, dependiendo de la lógica de ejecución
que se le dé al programa.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Etiqueta 2.3. - El tipo de dato es como su nombre


lo indica, el tipo de información que se está
almacenando en la variable, lo que le permite a la
máquina identificar que operaciones son válidas de
ejecutar con la información almacenada en la
variable y la localización es el espacio físico que
reserva la máquina en su memoria para almacenar Figura 10: Tipos de datos en un lenguaje
todas las características de la variable. Esta de programación
propiedad es la que permite a la máquina “saber
dónde buscar” estas características cuando se
requiera usar los datos almacenados durante la Y en la que a cada etiqueta le corresponda
ejecución de un programa. las etiquetas: 3.1, 3.2, 3.3, 3.4, 3.5
Tema 3: Tipos de datos
Texto 3: Ahora bien, es de vital importancia que la Parametrizar con bloque de texto el texto 4
máquina conozca qué tipo de información será
almacenada en una variable, para que durante el Tema 4: Expresiones y asignaciones
tiempo de ejecución del programa pueda operar
dichos datos de forma adecuada. Parametrizar con bloque de texto el texto 5
A pesar de que en un lenguaje de programación Parametrizar por medio de bloque de
existen diferentes formas o “estructuras” de gráfico estático en la que la imagen base
almacenamiento de datos que como se verá más sea:
adelante, también pueden ser asignadas a una
variable; al final estas estructuras van a contener
datos de características específicas. Figura 11: Estructura de una asignación
Según sus características existen 5 tipos de datos
en un lenguaje de programación: booleanos, reales,
enteros, caracteres y cadenas.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Parametrizar con bloque de texto el texto 6


Etiqueta 3.1. - Entero: valores numéricos sin
Parametrizar por medio de bloque de
parte decimal.
gráfico con etiquetas en la que la imagen
Etiqueta 3.2. - Real: valores numéricos con
base sea:
decimales.
Etiqueta 3.3. - Carácter: Todos los caracteres
conocidos, letras (mayúsculas y minúsculas),
dígitos (0-9), especiales (“,”;”*”;”%”;”@”,”+”...)
Etiqueta 3.4. - Cadena: union de varios
caracteres.
Etiqueta 3.5. - Booleano: tipo de dato lógico,
solo toma valor de falso o verdadero. Figura 12: Tipos de expresiones

Texto 4: Dependiendo del lenguaje de Y en la que a cada etiqueta le corresponda


programación, el usuario deberá hacer explicito el las etiquetas: 4.1, 4.2, 4.3
tipo de dato que se almacenará en esa variable
Tema 5: Asignaciones en Python
(lenguaje tipeado, C, C++) o, por el contrario, el
nivel de abstracción bajo el que fue diseñado Parametrizar con bloque de texto el texto 7
permitirá al intérprete identificar en tiempo real
cuál es el tipo de dato que está asignando el usuario Parametrizar por medio de bloque de
a una variable (lenguaje no tipeado, Python). gráfico con etiquetas en la que la imagen
base sea:
Tema 4: Expresiones y asignaciones
Texto 5: En esencia, un computador lee las
instrucciones de un programa de forma secuencial
como una serie de pasos. Dichas instrucciones se
construyen a partir de dos bloques, las asignaciones Figura 13: Asignación en Python
y las expresiones.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Una asignación es el procedimiento por el cual se Y en la que a cada etiqueta le corresponda


“asigna” un valor, expresión o dato a una variable las etiquetas: 5.1, 5.2.
y tiene esta estructura:
Parametrizar con bloque de texto el texto 8
Texto 6: En el proceso de asignación, una
expresión puede ser una de las siguientes
opciones:
Etiqueta 4.1. - Un literal es una notación para
representar un valor fijo en forma de código, es
decir, 𝑎 = 1 es una forma de asignar a la variable 𝑎
un literal que hace referencia a un entero con el
valor de 1 y 𝑏 = "𝑔𝑎𝑡𝑜" es la asignación de un literal
de tipo cadena con a la variable b.
Etiqueta 4.2. - En el proceso de asignación es
posible “asignar” una variable a otra variable.
Dependiendo de la forma en que se realice este
proceso, el sistema le asignará un espacio
compartido en memoria a ambas etiquetas o en su
defecto hará una copia de la información y la
almacenará en diferentes partes de la memoria.
Etiqueta 4.3. - Finalmente, un Operador puede ser
aritmético (+,-,*,/,%) relacional (<,>,<=,>=,!=,==,!)
o lógico (and, or, not).
Tema 5: Asignaciones en Python
Texto 7: La secuencia y estructura de la asignación
en Python, sigue el estándar mencionado
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

anteriormente. Basta con poner en la parte


izquierda la etiqueta o notación simbólica de la
variable, el signo igual y luego el valor que esta va
a almacenar.

Etiqueta 5.1. - Foo: asignación de un entero a la


variable foo
Etiqueta 5.2. - Bar: asignación de una cadena a la
variable bar.
Texto 8: El proceso sucede en varias etapas:
Primero, se escribe en código fuente la asignación
que se vaya a realizar.
Segundo, se envía la línea de código a la consola.
Tercero, el intérprete de python traduce la
instrucción a lenguaje de máquina y ejecuta la
instrucción.
Cuarto, si el proceso transcurrió correctamente el
intérprete finaliza el proceso y queda pendiente a
una nueva solicitud, la variable queda “declarada”
y su información en se aloja en memoria.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Practiquemos
Ahora que se ha abordado lo relacionado a
principios de programación, variables, expresiones
y asignaciones será interesante verlo en la práctica.

Actividades

Actividad n.°
Actividad n.° 3. Variables y asignaciones Texto en plataforma
3. Variables y
asignaciones Para esta actividad, tendrá acceso al recurso
variables_y_asignaciones.ipnb el cual es un
notebook con líneas de código y texto que buscan
dar un mayor entendimiento de la aplicación
práctica de estos conceptos usando Python.
Siéntase libre de modificar las líneas de código,
crear nuevas y explorar posibles aplicaciones.
Link al notebook:
https://colab.research.google.com/drive/1z8DSso
LSapxlH8WE6KroHq-Qid_egmG0

Actividad n.° Herramienta asignación


Actividad n.° 4. Mi primer programa
4. Mi primer
programa
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Utilizando los conceptos ya aprendidos, el objetivo


de esta actividad es crear un script en Python que
permita solucionar la ecuación cuadrática con
coeficientes enteros.
Esta actividad busca además dar una línea de
referencia para la estructuración de programas en
Python basándose en sus requerimientos, pre
condiciones y post condiciones. Para esto
encontrará un script en Python llamado
Plantilla.py con una estructura sugerida para el
desarrollo de programas. Siéntase libre de usarla
como guía para estructurar esta y las demás
actividades del curso, ya que hace parte de una de
las buenas prácticas en programación.

Colecciones Lección 6: Colecciones Lección 6: Colecciones


Texto 1: Las colecciones son elementos diseñados Parametrizar con bloque de texto el texto 1
para agrupar varios objetos bajo una misma
variable, es decir, si se deseara almacenar un Tema 1: Listas
listado de nombres se podría valer de una colección
Parametrizar con bloque de texto el texto 2
en vez de asignar cada nombre a una variable
distinta.
Parametrizar por medio de bloque de
En python existen tres tipos de colecciones
gráfico con etiquetas en la que la imagen
fundamentales: las listas, las tuplas y los
base sea:
diccionarios.
Tema 1: Listas
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Texto 2: Son conjuntos ordenados de objetos,


donde cada objeto puede ser de diferente tipo,
Figura 23: Lista con 4 elementos (cadenas)
permitiendo almacenar diferentes tipos de datos en
en su interior
un solo conjunto.
Y en la que a cada etiqueta le corresponda
Etiqueta 1.1.1 - lenguajes: nombre de la las etiquetas: 1.1.1, 1.1.2, 1.1.3, 1.1.4.
variable en la que se almacenará la lista.
Parametrizar con bloque de texto el texto 3
Etiqueta 1.1.2. - Signo igual: asignación.
Parametrizar por medio de bloque de
gráfico con etiquetas en la que la imagen
Etiqueta 1.1.3. - Corchetes cuadrados: la lista
base sea:
se declara usando corchetes cuadrados, puede
declarase vacía o con los objetos que contendrá
inicialmente separados con comas al interior de
los corchetes.

Etiqueta 1.1.4. - Comillas: si los elementos son Figura 24: Acceso a elementos de la lista a
cadenas o caracteres deben delimitarse entre través del índice.
comillas dobles o comillas sencillas (ambas son
válidas para declarar una cadena). Y en la que a cada etiqueta le corresponda
las etiquetas: 1.2.1, 1.2.2, 1.2.3.

Texto 3: Su naturaleza ordenada, implica que cada


uno de los objetos toman un “espacio” u orden Parametrizar con bloque de texto el texto 4
asignado dentro del conjunto conocido como Parametrizar por medio de bloque de
índice, el cual empieza a enumerar desde cero. gráfico con etiquetas en la que la imagen
Esto permite acceder a cada uno de los elementos base sea:
almacenados en la lista al conocer el índice o
posición en el que se encuentra almacenado.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Figura 25: Subconjunto de la lista original.


Figura 14: Acceso a elementos de la lista a través
Y en la que a cada etiqueta le corresponda
del índice.
las etiquetas: 1.3.1, 1.3.2, 1.3.3
Etiqueta 1.2.1 - lenguajes: nombre de la
variable que almacena la lista. Debe haberse Parametrizar con bloque de texto el texto 5
declarado previamente, si no existe la consola
retornará un error.
Parametrizar por medio de bloque de
Etiqueta 1.2.2 - Corchete cuadrado izquierdo: gráfico con etiquetas en la que la imagen
dentro de corchetes cuadrados, se incluye la base sea:
posición del elemento que se desea consultar.

Etiqueta 1.2.3 - ‘Python’: al ejecutar la


instrucción el intérprete retornara el objeto que Figura 26: Reemplazar elemento asignando
se encuentra almacenado en dicha posición. al índice de la lista.
Texto 4: Por ejemplo, si se deseara revisar que Y en la que a cada etiqueta le corresponda
elemento se encuentra alojado en la posición 0 de las etiquetas: 1.4.1, 1.4.2, 1.4.3
la lista se usan corchetes cuadrados luego de la
clave o nombre asignado al objeto y al interior de
los corchetes se incluye el índice a consultar. El Parametrizar con bloque de texto el texto 6
resultado es el objeto almacenado en dicho índice,
el cual se visualiza en la consola. Parametrizar por medio de bloque de
gráfico con etiquetas en la que la imagen
base sea:
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Figura 15: Subconjunto de la lista original Figura 27: Eliminar un elemento de la lista

Etiqueta 1.3.1. - a [2:5]: para obtener un Y en la que a cada etiqueta le corresponda


subconjunto de la lista se usa la misma técnica de las etiquetas: 1.5.1, 1.5.2
consulta de un elemento, solo que se incluyen los
índices de los elementos que se desea obtener. Parametrizar con bloque de texto el texto 7
Etiqueta 1.3.2. - Número 5: el indexado es
excluyente en el límite superior, por lo que se
debe colocar 5 para obtener los elementos hasta Parametrizar por medio de bloque de
la posición 4. gráfico con etiquetas en la que la imagen
Etiqueta 1.3.3. - [‘Python’,’Perl’,’PHP’]: base sea:
resultado de la ejecución, el interprete retorna
otra lista que contiene el subconjunto solicitado.
Texto 5: La anterior no es la única forma de Figura 28: Insertar elemento a la lista
acceder a los elementos de la lista. Si se deseara
obtener una partición de la lista, por ejemplo, los Y en la que a cada etiqueta le corresponda
objetos ubicados entre la posición 1 y la 4 de la lista las etiquetas: 1.6.1
de la figura 16, se incluye el índice inicial y el índice
final siguiente, separado de dos puntos. El
resultado es otra lista con los elementos 1 al 4 de Parametrizar con bloque de texto el texto 8
la lista original.
A este método se le conoce como “slicing” y Parametrizar por medio de bloque de
permite acceder a subconjuntos de los elementos gráfico con etiquetas en la que la imagen
de una colección. Es importante tener en cuenta base sea:
que la indexación por intervalos en Python es
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

excluyente en el límite superior, es decir, el límite


inferior es tenido en cuenta, pero el superior no.
Por esta razón, para obtener los elementos 2 a 4 de Figura 29: Insertar elemento al final de la
la lista se usa la expresión 2:5. lista
Ahora, la propiedad de indexación ordenada de las
listas permite también reemplazar elementos Y en la que a cada etiqueta le corresponda
alojados en cierto índice por otros y añadir más las etiquetas: 1.7.1
elementos al final de la lista en caso de que alguno
se haya quedado por fuera. Parametrizar con bloque de texto el texto 9

Tema 2: Tuplas

Parametrizar con bloque de texto el texto


Figura 16: Reemplazar elemento asignando al 10
índice de la lista

Etiqueta 1.4.1. - Lenguajes [1]: de la misma Parametrizar por medio de bloque de


forma en que se accede a un elemento de la lista, gráfico con etiquetas en la que la imagen
se realiza el reemplazo por una cadena nueva. base sea:

Etiqueta 1.4.2. - “Rust”: cadena que se desea


incluir en la posición 1.

Etiqueta 1.4.3. - Lenguajes: al ejecutar una Figura 30: Creación y consulta de los
instrucción que contiene solo el nombre de la elementos de una tupla
lista, el intérprete retornará lo que está
almacenado en la lista, allí se observa el resultado Y en la que a cada etiqueta le corresponda
las etiquetas: 2.1.1, 2.1.2
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

del reemplazo realizado en la instrucción


Parametrizar con bloque de texto el texto
anterior.
11
Texto 6: Para reemplazar un elemento de la lista
se asigna el nuevo elemento a la posición que se Tema 3: Diccionarios
desee. Por ejemplo, si se desea reemplazar la
cadena “Java” por “Rust” en la posición 1, se
Parametrizar con bloque de texto el texto
asigna la nueva cadena a la posición como se indica
12
en la figura 17.
Para remover un elemento de la lista, se usa la
palabra reservada «del» y luego se indica la Parametrizar por medio de bloque de
posición del elemento que se desea eliminar. gráfico con etiquetas en la que la imagen
base sea:

Figura 17: Eliminar un elemento de la lista Figura 31: Creación de un diccionario.

Y en la que a cada etiqueta le corresponda


Etiqueta 1.5.1. - Del: la palabra reservada del,
las etiquetas: 3.1.1, 3.1.2
cumple un propósito más general. Permite
eliminar de la memoria de ejecución cualquier Parametrizar con bloque de texto el texto
objeto declarado. Por ende, elimina el objeto 13
almacenado en la posición 1 de la lista lenguajes.

Etiqueta 1.5.2. - Lenguajes: al consultar los Parametrizar por medio de bloque de


datos almacenados en la lista se observa el gráfico con etiquetas en la que la imagen
resultado de la instrucción de eliminación. base sea:

Texto 7: Al usar el método del sobre el elemento


de la posición 1 de la lista se elimina la cadena
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

“Rust” de la lista y los elementos siguientes pasan


a ocupar una nueva posición.

Figura 18: Insertar elemento a la lista Figura 32: Operaciones de reemplazo,


inclusión y eliminación de datos en un
Etiqueta 1.6.1. - lenguajes.insert (1,”Elixir”):
diccionario.
el método insert requiere 2 argumentos. El
primero es la posición que se desea afectar y el Y en la que a cada etiqueta le corresponda
segundo es el elemento que se desea incluir en la las etiquetas: 3.2.1, 3.2.2, 3.2.3
lista.

Texto 8: Ahora, para efectuar una inserción y Parametrizar con bloque de texto el texto
mover los elementos siguientes una posición a la 14
derecha, se usa el método “insert”. Para aplicar el
método a la lista e insertar la cadena “Elixir” en la Tema 4: Profundicemos
posición 1 y desplazar las demás cadenas una
posición adelante se especifica en el método la
posición de inserción y el elemento a insertar tal y Parametrizar con bloque de texto el texto
como se observa en la figura 19. 15

Tema 5: Practiquemos

Figura 19: Insertar elemento al final de la lista Parametrizar con bloque de texto el texto
16
Actividad 5
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Etiqueta 1.7.1 - lenguajes.append (“Haskell”):


el método append solo requiere de un parámetro
ya que el elemento se insertará al final de la lista.

Texto 9: Finalmente, para insertar un elemento al


final de la lista, se usa el método append.
Tema 2: Tuplas
Texto 10: Al igual que las listas, las tuplas son
colecciones ordenadas de objetos, sin embargo,
estas son inmutables. Esto significa que no es
posible reasignar el objeto o dato almacenado en
cualquiera de las posiciones de la tupla.

Figura 20: Creación y consulta de los elementos


de una tupla

Etiqueta 2.1.1 - (“Python”,”Java”,”C,”C++"):


una tupla se declara usando paréntesis, al igual
que la lista se puede declarar vacía o con los
elementos que contendrá.

Etiqueta 2.1.2 - Lenguajes[0]: debido a que es


inmutable solo permite la consulta de los objetos
que contiene mediante índices o slices.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Texto 11: Esta propiedad de inmutabilidad, hace a


la tupla un objeto más liviano y fácil de crear en
memoria, por lo que en el caso adecuado su uso
podrá favorecer el tiempo de ejecución de un
programa.
Tema 3: Diccionarios
Texto 12: Los diccionarios por otro lado, son
colecciones no ordenadas de objetos los cuales
siempre conforman un par clave valor. Esta
característica es la que le permite a esta colección
carecer de un orden indexado, por lo que el acceso
a los elementos del diccionario se realiza a través
de sus llaves.

Figura 21: Creación de un diccionario.

Etiqueta 3.1.1 - d =: el diccionario se crea entre


corchetes, se puede crear vacío o con contenido a
ser almacenado.

Etiqueta 3.1.2 - “Python”:1991: Cada elemento


del diccionario es almacenado mediante una
combinación llave valor. En este caso la llave es
“Python” y el valor es el entero 1991.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Texto 13: Al igual que en una lista, es posible


reemplazar objetos alojados en una llave
específica, incluir nuevos objetos y eliminarlos.

Figura 22: Operaciones de reemplazo, inclusión y


eliminación de datos en un diccionario.

Etiqueta 3.2.1. - d[‘Elixir’]: De esta manera se


añade el año de creación del lenguaje elixir al
diccionario.

Etiqueta 3.2.1. - d[‘Python’]: Así se reemplaza


el año de creación de Python de 1991 a 3000.

Etiqueta 3.2.3. - del d[‘C’]: usando la palabra


reservada del se elimina el objeto almacenado en
la llave “C”.

Texto 14: Las claves que identifican los objetos


almacenados dentro del diccionario son
inmutables, pueden ser enteros y cadenas. Ninguna
puede estar duplicada ya que cada una hace
referencia a un único valor.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Tema 4: Profundicemos

Texto 15: Como la mayoría de los lenguajes de


programación, Python tiene una muy buena
documentación acerca de los objetos y métodos
que lo componen. Para profundizar acerca de
colecciones en Python pueden consultar la página
docs.python.org para más información.

https://docs.python.org/3/tutorial/datastructure
s.html

Tema 5: Practiquemos

Texto 16: Con un contexto general de lo que tiene


que ver con colecciones en Python ahora hay que
poner en práctica lo aprendido.

Actividades

Actividad 5: Actividad 5: En esta actividad tendrá acceso al


Texto en plataforma
recurso Secuencias_Colecciones.ipynb en donde
tendrá una guía práctica del uso y propiedades de
las colecciones en Python. Además, tendrá acceso
a ejercicios prácticos a lo largo del recurso, no
dude en hacer modificaciones, anotaciones y
adiciones a las líneas de código y bloque de texto
para mejorar su experiencia.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Link al notebook:

https://colab.research.google.com/drive/15YMGI
DzWRcUzKLuNc0ckCD61pL_OUrzF

Condicionales y Lección 7: Condicionales y ciclos Lección 7: Condicionales y ciclos


ciclos.
Tema 1: Condicionales (control de flujo) Tema 1: Condicionales (Control de flujo)
Texto 1: Dado que un programa de Python es un Parametrizar con bloque de texto el texto 1
conjunto secuencial de asignaciones y operaciones
Parametrizar por medio de bloque de
entre colecciones, algunas veces es necesario
gráfico con etiquetas en la que la imagen
controlar la ejecución de estas bajo condiciones
base sea:
específicas, para poder lograr este control existen
las estructuras de control de flujo.
Estas estructuras se componen de tres palabras
reservadas: if, else y elif. Estas se pueden usar de
diferentes maneras para validar ejecuciones del
Figura 38: Estructura de control if
tipo “si esto es verdad ejecute esta instrucción, de
lo contrario ejecute lo siguiente”. Y en la que a cada etiqueta le corresponda
las etiquetas: 1.1.1, 1.1.2, 1.1.3
Parametrizar con bloque de texto el texto 2

Parametrizar por medio de bloque de


gráfico con etiquetas en la que la imagen
Figura 33: Estructura de control if base sea:
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Etiqueta 1.1.1 – edad = 30: Se asigna el entero 30


a la variable edad.
Etiqueta 1.1.2 – if edad >= 18: se usa la palabra
reservada if, seguida de la condición lógica a
validar y se finaliza con dos puntos. En este caso se Figura 39: Estructura de control if else
pregunta al sistema si la variable edad es mayor o
Y en la que a cada etiqueta le corresponda
igual a 30.
las etiquetas: 1.2.1
Etiqueta 1.1.3 – print (“Eres un adulto.”):
Parametrizar con bloque de texto el texto 3
Instrucción que se ejecuta si y solo si se cumple la
condición lógica establecida. El bloque de código Parametrizar por medio de bloque de
debe ir identado para hacer entender al intérprete gráfico con etiquetas en la que la imagen
que se ejecutará luego de validar la condición base sea:
establecida. Si las líneas de código siguientes no se
encuentran identadas, el sistema entenderá que no
hacen parte de la validación establecida en la
condición y se ejecutarán sin restricción.
Texto 2: Por ejemplo, si se tiene una variable edad
que contiene el entero 30 y se desea validar Figura 40: Estructura de control if elif else
únicamente que el valor almacenado en la variable
es mayor o igual a 18, se usa la palabra reservada
if seguida de la condición. En caso de que esta sea
verdadera (True), Python ejecutará la línea Y en la que a cada etiqueta le corresponda
siguiente, de lo contrario el programa finalizará. las etiquetas: 1.3.1
Parametrizar con bloque de texto el texto 4
Tema 2: Ciclos
Parametrizar con bloque de texto el texto 1
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Parametrizar por medio de bloque de


gráfico con etiquetas en la que la imagen
base sea:

Figura 34: Estructura de control if else

Etiqueta 1.2.1 – else: luego del bloque indentado


de la palabra reservada if, se puede incluir un
bloque que se ejecutará en caso de que no se Figura 41: Ciclo for en python
cumpla la condición establecida. Para esto se usa
Y en la que a cada etiqueta le corresponda
la palabra reservada else, la cual no lleva
las etiquetas: 2.1.1
condición lógica a validar y va seguida de dos
puntos. Al igual que en el bloque if, el código a
ejecutar luego de la palabra reservada else va
indentada.
Parametrizar con bloque de texto el texto 2
Texto 3: Para incluir otro bloque de instrucciones,
en el caso de que no se cumpla la condición inicial,
se usa la palabra reservada else. Dado que ya se Parametrizar por medio de bloque de
validó la condición inicialmente, la palabra gráfico con etiquetas en la que la imagen
reservada else no requiere una declaración de una base sea:
condición lógica.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Figura 42: ciclo while en python

Y en la que a cada etiqueta le corresponda


Figura 35: Estructura de control if elif else
las etiquetas: 2.2.1, 2.2.2, 2.2.3
Etiqueta 1.3.1 – elif edad >= 65: Si se desea añadir
otra condición a validar en el control de flujo, se Tema 3: Profundicemos
usa la palabra reservada elif. Esta siempre debe ir
precedida por la palabra reservada if, y al igual que
esta debe llevar la condición a validar en caso de Parametrizar con bloque de texto el texto 1
que no se cumpla la primera establecida.

Texto 4: Finalmente, si se desea validar alguna


condición adicional a la declarada en el bloque if,
se usa la palabra reservada elif, que hace
referencia a “else if” y es muy útil para realizar
bloques condicionales encadenados.

Es importante tener en cuenta que la única palabra


obligatoria al momento de definir un bloque
condicional es la palabra reservada if, si no se
construye el bloque usándola se generará un error
de ejecución.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Cuando se construye un bloque condicional usando


las tres palabras reservadas if, elif, else, el
programa validará secuencialmente cada una de las
condiciones, cuando se cumpla alguna de ellas se
ignorarán las demás instrucciones del bloque
condicional.
Tema 2: Ciclos
Texto 1: Un ciclo es una secuencia de instrucciones
de código que se ejecutan en repetidas ocasiones
hasta que se cumple alguna condición que indique
que el bucle debe terminar.
En Python, existen dos tipos de ciclos: el ciclo for y
el ciclo while.
El ciclo for permite iterar a lo largo de los
elementos de una colección para aplicar
instrucciones de código de manera secuencial a
cada uno de estos objetos.
Por ejemplo, si se desea imprimir uno a uno las
cadenas de caracteres almacenadas en la lista
lenguajes, usando el ciclo for la sintaxis sería la
siguiente:
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Figura 36: Ciclo for en python

Etiqueta 2.1.1. – for lenguaje in lenguajes: El


ciclo for se estructura de la forma «for»
variable_temporal «in» iterable, seguido de dos
puntos. La variable lenguaje se almacenará
sistemáticamente y durante cada una de las
ejecuciones cada uno de los objetos contenidos en
la lista lenguajes. Es decir, en la primera iteración
la cadena “Pyhton” se almacena en la variable
lenguaje, se ejecuta la línea de código indentada y
se pasa al siguiente elemento de la lista.
Texto 2: En esencia, el ciclo for permite iterar a lo
largo de los elementos de cualquier objeto de
Python que se considere como un “iterable”. En
este caso, una lista es un iterable, así como lo es
una tupla o un diccionario.
El ciclo while tiene el mismo objetivo, sin embargo,
su funcionamiento y ejecución dependen de la
validación de una condición establecida por el
usuario.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

Por ejemplo, si deseo que se imprima la cadena


“¡Hola, mundo!” 8 veces; puedo usar un ciclo while
para que esta instrucción se ejecute hasta que la
variable a tome el valor de 9.

Figura 37: ciclo while en python

Etiqueta 2.2.1 – a=1: variable sobe la cual se


validará la condición del ciclo while.
Etiqueta 2.2.2 – while a<10: Palabra reservada
while, seguida de la condición a validar luego de
cada ejecución para decidir si se continúa iterando
y ejecutando las instrucciones definidas abajo.
Etiqueta 2.2.3 – a = a + 1: En cada ejecución, se
suma el entero 1 a la variable a, por lo que irá
aumentando cada vez que se cumpla un ciclo.
Cuando esta tome el valor de 9 se dejará de
imprimir la cadena incluida en la instrucción print.

Tema 3: Profundicemos

Texto 1: Como la mayoría de los lenguajes de


programación, Python tiene una muy buena
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

documentación acerca de los objetos y métodos


que lo componen. Para profundizar acerca de
colecciones en Python pueden consultar la página
docs.python.org para más información.
• https://docs.python.org/3/tutorial/control
flow.html
• https://docs.python.org/3/glossary.html#t
erm-iterable

Tema 4: Practiquemos

Con un contexto general de lo que tiene que ver


con control de flujo y ciclos en Python ahora hay
que poner en práctica lo aprendido.

Actividades

Actividad 6: Actividad 6: En esta actividad tendrá acceso al


Texto en plataforma
recurso Condiciones_Ciclos.ipynb en donde tendrá
una guía práctica de controles de flujo y ciclos en
Python. Además, tendrá acceso a ejercicios
prácticos a lo largo del recurso, no dude en hacer
modificaciones, anotaciones y adiciones a las líneas
de código y bloque de texto para mejorar su
experiencia.
Link al notebook:
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

https://colab.research.google.com/drive/1sw_Qiz
J17Ht2O8nDjekwl0qs3w7Xik5_?usp=sharing#scrollT
o=0D2jPPjsy-Qg

Actividad No 8. Actividad No 8. Herramienta Asignaciones


Ejercicios de programación sobre asignaciones, Archivos en carpeta Recursos /
condicionales y ciclos. Actividades_30_03_2022
Diagramar y adjuntar PDF
El estudiante deberá entregar un par de ejercicios asociados
con la actividad No. 8. sobre el uso de condicionales y
ciclos.

Evaluación: Esta semana se otorgará 50 puntos del trabajo


de clase. [evaluación sumativa].

Actividades y evaluación (LMS)

Actividad Texto en plataforma Esta actividad es


Al inicio o en la página de entrada a la actividad
Evaluativa n.° 1 del módulo 0
poner el siguiente texto:
Fechas para la realización de la actividad: XX de XX
de XXXX a las XX:XX am/pm

Evaluación: Esta primera semana otorgará 20 puntos


del trabajo de clase. [evaluación formativa].
Producto: Se pedirá a los estudiantes entregar un
pequeño ejercicio asociado a la actividad n.° 1, sobre
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

una tabla de transiciones o autómata (máquina de


estados).

Actividad Texto en plataforma


Al inicio o en la página de entrada a la actividad
Evaluativa n.° 2
poner el siguiente texto:
Fechas para la realización de la actividad: XX de XX
de XXXX a las XX:XX am/pm

Evaluación: Esta semana otorgará 50 puntos del


trabajo de clase. [evaluación formativa].
Producto: El estudiante debe hacer tres programas
en los cuales use los conceptos aprendidos hasta este
punto en la unidad. Usando la plantilla de definición
de un programa (pre y post condiciones), construya
algoritmos capaces de resolver los siguientes
programas.
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

1. Hallar el máximo común divisor entre dos


números.
2. Imprimir la serie de Fibonacci para un
número n.
3. Imprimir los dígitos de un número de hasta 6
dígitos de izquierda a derecha.
4. Resolver el problema de los tres marineros.
El enunciado del problema se encuentra en el
recurso TresMarineros.pdf
Se evalúa el uso de precondiciones y post
condiciones, el uso de la plantilla de programas y
finalmente el correcto funcionamiento de los
programas.
La actividad puede ser trabajada en el transcurso de
las primeras tres semanas, sin embargo, debe ser
entregada al finalizar la semana 3.

Prueba Al inicio o en la página de entrada a la actividad Texto en plataforma


Evaluativa poner el siguiente texto:
Intermedia 1
Fechas para la realización del taller: XX de XX de
XXXX a las XX:XX am/pm

Prueba evaluativa intermedia


Se realizará una actividad de evaluación intermedia
que comprende una actividad asincrónica asociada a
la parte teórica del tema que el estudiante responde
Versión 2 FOR-CAEV-IDENTIFICACIÓN EVA_OA 19 de noviembre 2020

de manera individual (50%) y un ejercicio práctico


que pueden resolver de manera asincrónica en grupo
(50%).
Las condiciones del ejercicio práctico se encuentran
definidas en el archivo PrimeraEvaluacion.pdf, el
cual será publicado el día de inicio de plazo de
realización de la prueba, el plazo para la entrega del
ejercicio práctico será de 4 días a partir del inicio de
dicho plazo.
Las preguntas del componente teórico se habilitarán
el día dd/mm/yyyy (el banco de preguntas se
encuentra en el archivo
PrimeraEvaluacionParteTeorica.docx)
Recuerde que el ejercicio teórico y el práctico de
esta prueba evaluativa tiene un peso del 25% sobre el
50% del total de la calificación del curso.
Feedback de la prueba intermedia
Se realizará una actividad sincrónica asociado con
una retroalimentación para los estudiantes sobre el
tema de la evaluación intermedia.

También podría gustarte