0% encontró este documento útil (0 votos)
5 vistas98 páginas

Introducción a la Programación en Python

Cargado por

Alex Villegas
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)
5 vistas98 páginas

Introducción a la Programación en Python

Cargado por

Alex Villegas
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

UVA 1

INTRODUCCIÓN A LA PROGRAMACIÓN

OBJETIVOS
❖ Familiarizarse con los conceptos y términos básicos que se utilizaran en el contexto de esta
disciplina y de la programación en particular.
❖ Comprender la estructura de un programa informático básico.
❖ Instalar y reconocer el entorno de programación.
❖ Conocer las instrucciones y operaciones básicas de un programa en Python.
❖ Conocer otros lenguajes de programación.
❖ Aplicar conceptos básicos de programación de Python.

EXPOSICIÓN DE EXPERTO 1

TEMAS A DESARROLLAR
1. TERMINOLOGÍA BÁSICA
2. ESTRUCTURA BÁSICA DE UN PROGRAMA
3. ENTORNO DE PROGRAMACIÓN
4. SÍNTESIS

OBJETIVOS
Objetivos de aprendizaje de esta unidad:
● Familiarizarse con los conceptos y términos básicos que se utilizarán en el contexto de esta
disciplina y de la programación en particular.
● Comprender la estructura de un programa informático básico.
● Instalar y reconocer el entorno de programación.
● Conocer las instrucciones y operaciones básicas de un programa en Python.
● Conocer otros lenguajes de programación.
● Aplicar conceptos básicos de programación en Python.
1. TERMINOLOGÍA BÁSICA

Computadora: dispositivo electrónico para procesar información y obtener resultados. Se compone de:
● Hardware: equipo físico.
● Software: programas.

Tipos de dispositivos:
● Dispositivos de entrada: permiten introducir datos en la computadora para su proceso.
○ Ejemplo: ratón (mouse), teclado.
● Dispositivos de procesamiento: controlan el procesamiento de la computadora.
○ Ejemplo: CPU (Unidad Central de Procesamiento).
● Dispositivos de salida: permiten visualizar los datos y resultados de la computadora.
○ Ejemplo: impresora, monitor.

Memoria: dispositivo que retiene, memoriza o almacena datos informáticos durante algún periodo de
tiempo.

Software: “Conjunto de instrucciones que indican a la computadora que deben hacer”. Tipos de
software/programas:
● Sistema operativo: coordina las diferentes partes de un sistema de computadora.
● Programas aplicativos: su función principal es asistir y ayudar a un usuario.
Utilidad de los programas: resultan fundamentales para el funcionamiento de una computadora.
Sin una lista de instrucciones a seguir, la computadora es virtualmente inútil. Su objetivo es
resolver problemas.

2. ESTRUCTURA BÁSICA DE UN PROGRAMA

¿Cómo creamos programas? Hay 3 pasos para crear un programa:


1. Analizar: análisis del problema. Identificar entradas, salidas y proceso que se ejecuta. ¿Qué?
2. Diseñar un algoritmo: secuencia de instrucciones que representan un modelo de solución a un
problema. ¿Cómo?
3. Programar: es la representación del algoritmo en un lenguaje de programación determinado.
Para nosotros: Python.
3. ENTORNO DE PROGRAMACIÓN

INSTALACIÓN DEL ENTORNO DE PROGRAMACIÓN.


● Thonny, es un IDE (Entorno de Desarrollo Integrado) para principiantes y estudiantes de
programación.
- Link de descarga: [Link]

ENTORNO DE PROGRAMACIÓN ON-LINE


Colab, también conocido como “Colaboratory”, permite programar y ejecutar Python en un
navegador con las siguientes ventajas:
● No requiere configuración
● Permite compartir contenido fácilmente
Colab puede facilitar el trabajo, ya seas estudiante, científico de datos o investigador de Inteligencia
Artificial. No te pierdas el vídeo de Introducción a Colab para obtener más información.

INSTRUCCIONES BÁSICAS
PRINT: instrucción que posibilita mostrar información por pantalla (texto, números y más).
Permite mostrar mensajes por pantalla. Entre comillas, se escribe el mensaje que se espera ver por
pantalla.
También podemos pasarle una variable y la instrucción mostrará dicho contenido, pero esto lo veremos
más adelante

Ejemplo:
PARA PENSAR
Luis Joyanes Aguilar Catedrático de la UPSA e investigador, autor de varios libros sobre
programación:
“En la ciencia de la computación y en la programación, los algoritmos son más importantes que los
lenguajes de programación o las computadoras”.

SOBRE PYTHON
● Página web oficial: [Link]
● Creado por Guido Van Rossum a comienzos de la década de 1990.
● Es un lenguaje de alto nivel (sintaxis sencilla, claro, muy legible).
● Tipado dinámico y fuerte.
● Orientado a objetos.
● Open source, es completamente libre para ser utilizado y redistribuido.
● Fácil de aprender.
● Librería estándar muy amplia.
● Lenguaje interpretado.
● Versátil: permite desarrollar aplicaciones de escritorio, aplicaciones de servidor y aplicaciones
web.

OTROS LENGUAJES DE PROGRAMACIÓN


A diferencia de otros lenguajes de programación como C, C++ o Java, Python es interpretado y
dinámicamente tipado. Esto quiere decir que no es necesario compilar el código fuente para poder
ejecutarlo (interpretado) y que sus variables pueden tomar distintos tipos de objetos (dinámicamente
tipado).
Python es fácil y sencillo de aprender. A través de su comprensión, se puede entender más fácilmente
otros lenguajes de programación. Esto quiere decir que es una excelente opción comenzar a programar.

Python es uno de los lenguajes más utilizados en la actualidad.

4. SÍNTESIS

❖ Reconocimos los componentes básicos de una computadora.


❖ Nos familiarizamos con conceptos y términos que utilizaremos a lo largo de la materia.
❖ Conocimos los distintos tipos de dispositivos y la memoria haciendo referencia al Hardware.
❖ Identificamos tipos de software y la utilidad de los programas para luego enumerar los 3 pasos a
la hora de programar (analizar, diseñar, programar
❖ Mapa mental: [Link]

MATERIAL MULTIMEDIA

Cómo funciona una computadora: [Link]


- Se envía un mensaje a la computadora
- El CPU (Unidad Central de Procesamiento) se encarga de todo como un cerebro
- Busca instrucciones en la memoria y las ejecuta
- Cada programa fue en principio escrito por un humano en un lenguaje de programación legible,
como Java, C++ o Python pero contenían mucha información innecesaria para una computadora
- Estos programas se compilan y se reducen y se almacenan y busca la dirección del programa
solicitado
- Cada instrucción se busca y se ejecuta, la CPU busca en la memoria
- Hay muchos programas que intervienen y el CPU visita toda la arquitectura de la computadora,
periféricos, sistema básico de entrada-salida, programas, memoria, etc.
Cómo descargar e instalar Thonny: [Link]
- instalar!!

Cómo usar Google Colab: [Link]


- Se utiliza para practicar mis programaciones
- Se guarda en Google Drive (gmail)

Curso Python: [Link]

Qué es un algoritmo: [Link]


- Los algoritmos se hacen en computadoras y lo tenemos las personas
- Forma de interpretar un pseudocódigo
- Secuencia de pasos
- Optimización del pseudocódigo
- Lo importante fue la idea de crear ramificaciones para solucionar problemas
- Los algoritmos son una serie de instrucciones que solucionan problemas, ya sean ejecutadas por
computadoras o humanos.
ENCUENTRO SINCRÓNICO UVA 1 07-ago

Ejercicio similar a lo que se hace en clase


Parcial con compu
1er parcial: 02-octubre
2do parcial:
Final adelantado/recu:
Final regular:

Bloque introductorio:

Python: Inicio > Python 3.12 > IDLE

// = usar solo numeros enteros

resto de la división:
Syntax Error:

Variable: algo que varía dentro de un programa.

“print”

no puede contener un espacio en el medio


no puede empezar con numero, sale Invalid syntax
puedo poner valor_1=10
(print_1)
Una variable no puede contener un símbolo como “+” “-”

“” = para mensajes

imprimi la variable, pero mensaje no se pone entre doble comilla

variable de tipo print:


la variable depende de lo que contiene.

promedio = “a”/3 (a= a un print hecho anteriormente)


Constante
UVA 2
ALGORITMOS Y ESTRUCTURA BÁSICA DE UN PROGRAMA

OBJETIVOS
❖ Conocer la estructura de un programa simple
❖ Familiarizarse con los conceptos de la algoritmia
❖ Reconocer las estructuras secuenciales
❖ Aplicar un algoritmo y estructura básica de un programa en Python

EXPOSICIÓN DE EXPERTO 1

TEMAS A DESARROLLAR
1. CÓMO CREAR UN PROGRAMA
2. ALGORITMOS
3. PSEUDOCÓDIGOS Y DIAGRAMAS DE FLUJO
4. PROGRAMAR
5. SÍNTESIS

1. CÓMO CREAR UN PROGRAMA

Comenzaremos repasando los 3 pasos para crear un programa, y así entender la relación entre un
algoritmo y un programa:
1. Analizar el problema.
2. Diseñar un algoritmo.
3. Programar.

ANÁLISIS:
● Analizar el problema en cuestión.
● Definir un objetivo.
● Identificar entradas del problema (lo conocido) y la salida (lo esperado)
2. ALGORITMOS

DISEÑAR UN ALGORITMO:
● Algoritmo: secuencia de instrucciones que representa un modelo de solución a un problema
determinado.
● Es una secuencia finita, repetible (definida) y correcta de pasos (precisa).
● Tipos de algoritmos:
- Pseudocódigo
- Diagramas de flujo

3. PSEUDOCÓDIGOS Y DIAGRAMAS DE FLUJO

PSEUDOCÓDIGO: el pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una


descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas
convenciones sintácticas propias de lenguajes de programación. Está pensado para facilitar a las
personas el entendimiento de un algoritmo y, por lo tanto, puede omitir detalles irrelevantes.

DIAGRAMA DE FLUJO: los diagramas de flujo son descripciones gráficas de algoritmos; usan
símbolos conectados con flechas para indicar una secuencia de instrucciones.

EJEMPLO: PSEUDOCÓDIGO Y DIAGRAMA DE FLUJO:


Problema: determinar la necesidad de comprar o no una nueva lámpara.

Pseudocódigo:
1) Verificar si la lámpara está enchufada.
a) Si no está enchufada, enchufarla.
b) Si está enchufada, continúe en el paso 2.
2) Verifique si el foco está quemado.
a) Si está quemado, reemplace el foco.
b) Si no está quemado, compre una nueva lámpara.

Diagrama de flujo:
4. PROGRAMAR

Analizar el problema → Diseñar un algoritmo → PROGRAMAR

Un programa es la representación de un algoritmo en un lenguaje de programación determinado, para


nosotros Python.
Un programa es un conjunto de palabras, símbolos y reglas sintácticas.
Un programa informático es una pieza de software, es decir, una secuencia compleja de instrucciones y
procesos para cumplir una tarea específica en un computador.

STEVE JOBS:
"Todo el mundo debería aprender a programar, porque te enseña a pensar".

ACTIVIDAD PRÁCTICA:
Problema: describir los pasos necesarios para lavarse las manos.
¿Cómo hay que lavarse las manos?
1) Mojarse las manos con agua de red o potabilizada.
2) Usar jabón (cualquiera sirve para eliminar gérmenes).
3) Frotarse bien las manos durante 40-60 segundos, incluidas las muñecas.
4) Enjuagarse con abundante agua.
5) Secarse con una toalla limpia, papel descartable o agitar las manos.

5. SÍNTESIS

❖ En este apartado pudimos reconocer la estructura básica de un programa. Identificamos entradas


y salidas, conceptos necesarios para analizar un problema.
❖ Conocimos la relación entre un algoritmo y un programa.
❖ Representamos un algoritmo con pseudocódigo y gráficamente mediante diagramas de flujo
para finalmente poder llevar esa lógica a código.
EXPOSICIÓN DE EXPERTO 2

TEMAS A DESARROLLAR
1. ESTRUCTURA DE CONTROL DE FLUJO
2. ESTRUCTURA DE CONTROL SECUENCIAL
3. ELEMENTOS DEL LENGUAJE
4. INGRESO DE DATOS POR TECLADO
5. ACTIVIDAD PRÁCTICA
6. SÍNTESIS

1. ESTRUCTURA DE CONTROL DE FLUJO

Una estructura de control es un bloque de código que permite agrupar instrucciones de manera
controlada.
En programación, las estructuras de control permiten modificar el flujo de ejecución de las
instrucciones de un programa.
Con las estructuras de control se puede:
- De acuerdo a si se cumple con una condición, ejecutar un grupo u otro de sentencias (if).
- Ejecutar un grupo de sentencias mientras se cumpla una condición (while).
- Repetir un grupo de sentencias un número determinado de veces (for).
Todos los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo
que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis (como se invoca la
instrucción).

TIPOS DE ESTRUCTURAS DE CONTROL


2. ESTRUCTURA DE CONTROL SECUENCIAL

Todas las instrucciones se ejecutan una sola vez y finaliza el programa.


La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia.
Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente
hasta el fin del proceso.

EJEMPLO:

3. ELEMENTOS DEL LENGUAJE

Si bien ya nos adentraremos más en los elementos propios del lenguaje, a continuación,
mencionaremos algunos necesarios para comenzar a programar.

VARIABLE: Es un espacio para almacenar datos modificables, en la memoria de un ordenador. Cada


variable tiene un nombre y un valor, que a la vez define el tipo de dato de la variable.
En Python, una variable se define con la sintaxis:
nombre_de_la_variable = valor_de_la_variable

DATO: Valor que queremos recordar, comparar, procesar. Existen distintos tipos de datos.
Ejemplos:
edad = 25
promedio = 10.5
num = -102
nombre = “Lionel”
existe = True
OPERADOR DE ASIGNACIÓN: El operador de asignación asigna un valor a su operando izquierdo
basándose en el valor de su operando derecho. El operador de asignación simple es el signo igual ( = ).
Ejemplo: nota = 10

COMENTARIO: Son líneas de código que NO son interpretadas por python. Son notas útiles para el
programador.
Ejemplo: # Comentario. Todo lo que está a la derecha del numeral es ignorado.

INGRESO DE DATOS POR TECLADO


Ejemplo pseudocódigo: variable = ingresar(“Texto a mostrar”)
Forma diagrama de flujo:
nombreVariable

❖ El valor no es conocido al momento de crear el algoritmo.


❖ El valor lo sabe el usuario del programa.
❖ Ese valor se ingresa por teclado.

4. INGRESO DE DATOS POR TECLADO

Instrucción en Python: input


Guarda un dato de tipo texto en la variable de la izquierda. La asignación del valor se realiza de
derecha a izquierda.

Sintaxis:
CÓMO GUARDAR UN NÚMERO

Para guardar un número necesitamos convertir el tipo de dato.

Existen varias instrucciones para convertir a distintos tipos de dato:


● int(valor o expresión): convierte el valor/expresión a un número entero.
● float(valor o expresión): convierte el valor/expresión a un número real.

Ejemplo: guardar un tipo de dato entero ingresado por teclado en una variable.

SALIDA DE DATOS POR PANTALLA

Permite mostrar información por pantalla:


● Texto.
● Números.
● Valores de variables.
● Resultados de cálculos aritméticos.
● Salida de datos por pantalla

EJEMPLO pseudocódigo:
- mostrar(“Texto a mostrar”)
- mostrar(“Texto a mostrar”, nombreVariable)

Forma diagrama de flujo:


Instrucción en Python: print
Permite mostrar mensajes por pantalla. Entre comillas se escribe el mensaje que se espera ver por
pantalla. También podemos pasarle una variable y la instrucción mostrará su contenido:

Sintaxis:

ESTRUCTURA DE UN PROGRAMA EN PYTHON


Código Fuente
Posee un nombre de archivo asociado.
Su extensión es .py
El contenido respeta las reglas del lenguaje de programación.
Ejemplo: UVA02_Ej02_calcular_promedio.py

5. ACTIVIDAD PRÁCTICA

Ejercicio 1: escribir un programa que permita ingresar dos números enteros a través del teclado.
Imprimir su suma y su diferencia.
Ejercicio 2: escribir un programa que permita ingresar tres números enteros, calcular y mostrar su
promedio.

6. SÍNTESIS

❖ En este apartado comenzamos a conocer algunas de las estructuras de control típicas de la


programación, como la estructura secuencial. Identificamos elementos básicos del lenguaje que
utilizaremos a lo largo de la cursada.
❖ Ingresamos datos por teclado, los procesamos y luego mostramos por pantalla el resultado
esperado. Junto con esto, logramos escribir nuestros primeros programas en Python siguiendo la
estructura anteriormente mencionada.
ACTIVIDAD EN CLASE - UVA 2

1. SALUDO AL USUARIO (Act 2.4)


Ingresar el nombre del usuario del programa y saludarlo. Ejemplo: si el usuario se llama Juan, se debe
mostrar el mensaje “Hola Juan”.
2. SUMA Y PROMEDIO Ingresar tres notas de una materia de un alumno y muestre la suma y el
promedio.
Le ponemos que nos de 2 decimales
A. Le pedimos que nos de el total de notas
B. Le pedimos que nos de el Acumulador (diferentes variables)
3. CÁLCULO DEL IVA
Ingresar el valor de un producto. Luego, calcular el IVA (21%) y obtener el total de la factura.
UVA 3
VARIABLES, TIPOS, EXPRESIONES,
OPERADORES ARITMÉTICOS Y DE ASIGNACIÓN

OBJETIVOS
❖ Conocer y utilizar variables simples
❖ Comprender la operación de asignación
❖ Comprender las operaciones aritméticas
❖ Aprender a utilizar tipos de datos simples
❖ Familiarizarse con el concepto de expresión y su tipo de dato asociación
❖ Aplicar variables, tipos, expresiones operadores aritméticos y de asignación en Python

EXPOSICIÓN DE EXPERTO 1

TEMAS A DESARROLLAR
1. ELEMENTOS DEL LENGUAJE
2. GLOSARIO
3. VARIABLES Y CONSTANTES
4. TIPOS DE DATOS
5. USO DE COMENTARIOS
6. OPERADORES Y EXPRESIONES
7. OPERADORES DE ASIGNACIÓN
8. OPERADORES ARITMÉTICOS
9. SÍNTESIS

1. ELEMENTOS DEL LENGUAJE

Dentro de los lenguajes informáticos, Python pertenece al grupo de los lenguajes de programación y
puede ser clasificado como un lenguaje interpretado, de alto nivel, multiplataforma, de tipado
dinámico, fuertemente tipado y multiparadigma.
A diferencia de la mayoría de los lenguajes de programación, Python nos provee de reglas de estilos, a
fin de poder escribir código fuente más legible y de manera estandarizada.
Estas reglas de estilo, son definidas a través de la Python Enhancement Proposal Nº 8 (PEP 8), la cual
iremos viendo a lo largo de la cursada. PEP 8 – Style Guide for Python Code:
[Link]
2. GLOSARIO

LENGUAJE INFORMÁTICO: es un idioma artificial utilizado por ordenadores. Los lenguajes


informáticos pueden clasificarse en:
a) lenguajes de programación (Python, PHP, Pearl, C, etc.).
b) lenguajes de especificación (UML).
c) lenguajes de consulta (SQL).
d) lenguajes de marcas (HTML, XML); entre otros.

LENGUAJE DE PROGRAMACIÓN: es un lenguaje informático diseñado para expresar órdenes e


instrucciones precisas, que deben ser llevadas a cabo por una computadora.

LENGUAJES DE ALTO NIVEL: son aquellos cuya característica principal consiste en una estructura
sintáctica y semántica legible, acorde a las capacidades cognitivas humanas. A diferencia de los
lenguajes de bajo nivel, son independientes de la arquitectura del hardware, motivo por el cual asumen
mayor portabilidad.

LENGUAJES INTERPRETADOS: a diferencia de los compilados, no requieren de un compilador


para ser ejecutados, sino de un intérprete. Un intérprete actúa de manera casi idéntica a un compilador,
con la salvedad de que ejecuta el programa directamente, sin necesidad de generar previamente un
ejecutable.

TIPADO DINÁMICO: un lenguaje de tipado dinámico es aquel cuyas variables no requieren ser
definidas asignando su tipo de datos, sino que este se auto-asigna en tiempo de ejecución, según el
valor declarado.

LENGUAJE FUERTEMENTE TIPADO: un lenguaje cuyos tipos son estrictos. Python es


fuertemente tipado.
Si tenemos un entero, no podemos tratarlo como una cadena de texto sin convertirlo explícitamente.

MULTIPLATAFORMA: significa que puede ser interpretado en diversos sistemas operativos como
GNU/Linux, Windows, Mac OS, entre otros.

MULTIPARADIGMA: acepta diferentes paradigmas (técnicas) de programación, tales como la


orientación a objetos, la programación imperativa y funcional.

CÓDIGO FUENTE: es un conjunto de instrucciones y órdenes lógicas que están compuestas de


algoritmos, los cuales se encuentran escritos en un determinado lenguaje de programación y deben ser
interpretadas o compiladas, para así permitir la ejecución del programa informático.
3. VARIABLES Y CONSTANTES

VARIABLE
Es un espacio para almacenar datos modificables en la memoria de un ordenador.
Cada variable tiene un nombre y un valor el cual define, a la vez, el tipo de dato de la variable.
Una variable se define con la sintaxis: nombre_de_la_variable = valor_de_la_variable

Es como una “caja” donde guardaremos un dato.


Se puede ver y modificar el valor durante todo el programa.
Existe un tipo de variable, denominada constante, la cual se utiliza para definir valores fijos, que no
requieran ser modificados.

CONSTANTE
Entendemos como constante una variable que, una vez asignado un valor, este no se puede modificar.
Es decir que a la variable no se le puede asignar ningún otro valor una vez asignado el primero.

Si bien en Python no existen las constantes, se puede simular este comportamiento, siempre desde el
punto de vista del programador y atendiendo a convenciones propias. Sin embargo, no podemos
cambiar la naturaleza mutable (modificable) de las variables.

Nombres de Variables:
Pueden ser combinaciones de números, letras mayúsculas/minúsculas y el guión bajo.
No puede comenzar con un número y no se pueden emplear otros símbolos.
No se suele utilizar la letra ñ.
No utilizar como nombres de variables de un solo carácter las siguientes letras:
- “l” (letra ele minúscula)
- “O” (letra o mayúscula)
- “I" (letra i mayúscula)

PEP 8: VARIABLES: Utilizar nombres descriptivos y en minúsculas. Para nombres compuestos,


separar las palabras por guiones bajos (stylized as snake_case). Antes y después del signo =, debe
haber uno (y solo un) espacio en blanco.
PEP 8: CONSTANTES: Utilizar nombres descriptivos y en mayúsculas separando palabras por
guiones bajos.

4. TIPOS DE DATOS

Una variable (o constante) puede contener valores de diversos tipos. Entre ellos:

Existen además, otros tipos de datos más complejos, que veremos más adelante.

CASTING Y CONVERSIÓN ENTRE TIPOS DE DATOS


Python siempre determina el tipo de datos automáticamente, es decir no le tienes que decir que tipo de
dato es:
f=5
g = “hola”

Encuentra que f es de tipo entero (int) y g de tipo cadena (string).


En Python, la conversión de tipos es un proceso en el que convertimos un literal de un tipo a otro.
Las funciones incorporadas int(), float() y str() se utilizarán para el typecasting.

● int() puede tomar un literal float o string como argumento y devuelve un valor de tipo int.
● loat() puede tomar como argumento un literal de int o de cadena y devuelve un valor de tipo
float.
● str() puede tomar un literal de float o int como argumento y devuelve un valor de tipo str.

5. USO DE COMENTARIOS

COMENTARIOS
Un archivo no solo puede contener código fuente, sino que también puede incluir comentarios (notas
que, como programadores, indicamos en el código para poder comprenderlo mejor).
En los comentarios, pueden incluirse palabras que nos ayuden a identificar algo pendiente por hacer.
Son líneas de código que NO son interpretadas por el lenguaje.
Solo se utilizan a fines de documentar.
El código dice cómo; los comentarios deberían decir por qué y/o el objetivo.

Los comentarios pueden ser de dos tipos: de una sola línea o multilínea, y se expresan de la siguiente
manera:
¿Para qué documentar nuestro código?
● Ayuda a entender nuestro código.
● Ayuda a los demás.
● Mantiene claro el objetivo.
● El código se vuelve reutilizable.

Se usan para explicar:


- Supuestos: pre-condiciones.
- Decisiones importantes.
- Detalles importantes.
- Problemas que se están intentando resolver.
- Deshabilitar partes de código, en lugar de eliminar el código.
- Resultado esperado: post-condiciones.

6. OPERADORES Y EXPRESIONES

OPERADOR: Un operador es un carácter o conjunto de caracteres que actúa sobre una, dos o más
variables y/o literales, para llevar a cabo una operación con un resultado determinado.
Ejemplos de operadores comunes son los operadores aritméticos + (suma), - (resta) o * (producto),
aunque en Python existen otros operadores.

Tipos de operadores:
- Operador de Asignación.
- Operadores Aritméticos.
- Operadores Relacionales.
- Operadores Lógicos.
EXPRESIÓN: Una expresión es una unidad de código que devuelve un valor y está formada por una
combinación de operandos (variables y literales) y operadores.

Los siguientes son ejemplos de expresiones.


En este caso utilizamos la instrucción print para mostrar el resultado de cada expresión.

7. OPERADORES DE ASIGNACIÓN

El operador de asignación se utiliza para asignar un valor a una variable.


Este operador es el signo “=”.
Además del operador de asignación, existen otros operadores de asignación compuestos que realizan
una operación básica sobre la variable a la que se le asigna el valor.

Por ejemplo:
x += 1 es lo mismo que x = x + 1.
Los operadores compuestos realizan la operación que hay antes del signo igual, tomando como
operandos la propia variable y el valor a la derecha del signo igual.
¿Cómo funciona esto?
Primero se calcula lo que se encuentra a la derecha del = para luego asignarlo a la variable de la
izquierda, lo cual resulta en la actualización del valor de x utilizando el valor que tenía la variable x
anteriormente.

8. OPERADORES ARITMÉTICOS

Permiten realizar las diferentes operaciones aritméticas del álgebra: suma, resta, producto, división, etc.
Son muy utilizados.
Los operadores aritméticos toman valores numéricos (ya sean literales o variables) como sus operandos
y retornan un valor numérico único.
Ejemplo de uso de operadores aritméticos:

9. SÍNTESIS

❖ Conocimos más elementos propios de Python.


❖ Profundizamos sobre el concepto de variables, formas de nombrarlas, y las diferenciamos de las
constantes.
❖ Determinamos la importancia de los comentarios a la hora de programar e identificamos su uso.
❖ Profundizamos sobre operadores de uso frecuente (operadores de asignación y aritméticos).
❖ Por último, definimos qué es una expresión, concepto que seguiremos desarrollando en las
próximas unidades.
UVA 4
OPERADORES LÓGICOS Y RELACIONALES

OBJETIVOS
1. Conocer los conceptos de álgebra de Boole
2. Familiarizarse con las tablas de verdad
3. Comprender los operadores logísticos y racionales
4. Aplicar lógica en Python

TEMAS A DESARROLLAR
1. TIPOS DE OPERADORES
2. OPERADORES RELACIONALES
3. OPERADORES LÓGICOS
4. ÁLGEBRA DE BOOLE
5. TABLAS DE VERDAD
6. OPERADOR Y (AND), O (OR) Y NO (NOT)
7. PRIORIDAD DE LOS OPERADORES
8. SÍNTESIS

1. TIPOS DE OPERADORES

• La unidad anterior vimos los distintos tipos de operadores que podíamos encontrar en Python:
- Operadores de asignación.
- Operadores aritméticos.
- Operadores relacionales.
- Operadores lógicos.

A continuación, abordaremos los operadores relacionales y lógicos.

2. OPERADORES RELACIONALES
• Los operadores de relacionales o de comparación se utilizan, como su nombre indica, para comparar
dos o más valores. El resultado de estos operadores siempre es True o False.
• Los operandos podrán ser variables, constantes o expresiones aritméticas.
EJEMPLO:

3. OPERADORES LÓGICOS

OPERADORES LÓGICOS O BOOLEANOS


• A la hora de operar con valores booleanos, tenemos a nuestra disposición los operadores and, or y not.
• El operador lógico permite unir expresiones lógicas.

EJEMPLO:
4. ÁLGEBRA DE BOOLE

• En informática (y en otras disciplinas), el álgebra de Boole, también llamada álgebra booleana,


permite esquematizar las operaciones lógicas.
• Se denomina así en honor a George Boole (1815-1864), matemático inglés.
• El álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la
lógica proposicional.

5. TABLAS DE VERDAD

Una tabla de verdad es una tabla que muestra el valor de verdad de una proposición compuesta para
cada combinación de verdad que se pueda asignar.

6. OPERADOR Y (AND), O (OR) Y NO (NOT)

TABLAS DE VERDAD: OPERADOR Y (AND)


• Todas las condiciones lógicas deben ser verdaderas.

Si llueve Y hace frío:


voy al cine
SiNo:
voy a la plaza

• Solamente voy al cine en caso de lluvia y frío. Se tienen que cumplir las dos condiciones.

TABLAS DE VERDAD: OPERADOR O (OR)


• Al menos una condición debe ser verdadera.

Si llueve O hace frío:


voy al cine
SiNo:
voy a la plaza

• En este caso voy al cine en caso de:


- Lluvia y frío
- Lluvia y no hace frío
- Frío y no llueve
• Con que se cumpla una sola condición voy al cine.
TABLAS DE VERDAD DE OPERADORES LÓGICOS

PRIORIDAD DE LOS OPERADORES


● Al igual que ocurre en las matemáticas, los operadores en Python tienen un orden de prioridad.
● Este orden es el siguiente (de menos prioritario a más prioritario): operadores booleanos;
operadores de comparación, y finalmente los aritméticos (con el mismo orden de prioridad que
en las matemáticas).
● Este orden de prioridad se puede alterar con el uso de los paréntesis ().
7. PRIORIDAD DE LOS OPERADORES

EJEMPLO 1:

EJEMPLO 2:
8. SÍNTESIS

● En esta unidad pudimos abordar los operadores relacionales y lógicos, siendo los relacionales
los utilizados para comparar valores y los lógicos aquellos que utilizaremos para unir
expresiones lógicas y crear condiciones más complejas.

● Vimos también las tablas de verdad, basadas en el álgebra de Boole, y que nos ayudarán a crear
nuestras condiciones.

● Por último, analizamos las distintas prioridades según el tipo de operador siempre aplicándolo
en el lenguaje Python.
ACTIVIDAD EN CLASE - UVA 3 y 4

OPERADORES DE COMPARACIÓN
Así como los operadores matemáticos siempre nos dan un resultado numérico, Los operadores de
comparación dan 2 posibles resultados y nunca es un número. Estos dan o True o False.

EJEMPLO:
comparar mayor y menor:
operador estéticamente mayor

mayor o igual qué:

Desigualdad primero → igualdad después

comparar menor y mayor:


operador estéticamente menor

comparador de igualdad:

2 signos =

comparador de desigualdad:

signo de ! y =
Tenemos los 6 operadores de comparación:
- Mayor estrictamente mayor
- Mayor igual
- Estrictamente menor
- Menor igual
- Igualdad
- Distinto

OPERADORES LÓGICOS

Disyunción (and): Cuando yo quiero poner condiciones


Quiero saber si se cumplen varias condiciones a la vez

EJEMPLO:

True

False: porque hay una condición que no se cumple.

Componer condiciones con “and”: Todas las condiciones deben ser verdaderas, con que una sola no
sea verdadera me da false.

Toda esta es la Tabla de Verdad de el operador “and”.


Para que dé como resultado varadero, todas las operaciones deben ser verdaderas.

OPERADOR DE INCLUSIÓN (or)


Quiero componer 2 condiciones y con que una se cumpla, quiero que me de verdadero.
Si bien no se cumplen todas las condiciones, con que una se cumpla es suficiente.

Cuando yo compongo condiciones simples con un “or”, todas las condiciones deben ser falsas para
que de false

Esa es la Tabla de Verdad del “or”


- Verdadero y Verdadero = True
- Verdadero y Falso = True
- Falso y Verdadero = True
- Falso y Falso = False
OPERADOR NOT
Invertir el resultado de una condición o una comparación. Es como poner “not false”

not false = True

“not 5>3” es como decir “not true” = False

El orden de importancia lo tiene una operación aritmética.


Esto porque no puedo comparar nada si no hace la cuenta primero.

EJERCICIO 4.2.1 A ENVIAR

1. Escribir en el intérprete o shell de Python las siguientes expresiones y


responder en cada caso si la expresión devuelve True o False:

Expresión Devuelve

True and False false

7 <= 4 false

5 != 5 false

7 == 7 true

True != True false


2. Responder qué valores numéricos devolverán las siguientes expresiones:

Expresión Devuelve

z = 4 + 3 * 10 z = 34

y = (12 + 4) / 2 y = 8.0

a = (8 * (1/4)) + 7 a = 9.0

b = (12 + (5 - 7) *4) / 2 b = 2.0

c = ((15-7) * (10-6) - 10) * 3 c=

cuando das Enter, no da el resultado


pones “z” y enter, y ahí te tira el resultado.
Me da 8.0 a pesar de una división entera.
Esto porque cuando pongo una división simple, el Python me da un número float.

da 9.0 porque hay una división.

Me hace primero:
(5-7)
*4
+12
/2

Me hace primero:
(15 - 7)
(10-6)
-10
*3
3. ¿Qué número deberá modificar y qué número podrá poner en su lugar
para que las expresiones devuelvan siempre True?

Expresión Valor a modificar Valor nuevo

(4 > 1) and (7 < 4) < >

not((12 * 4 < 50) and not(4 == 8)) 8 4

not(4 * 7 == 26) and (9 * 9 == 86)

(4>1) and (7>4)


True

True

not 28 == 26 and (81 ==86)


False
not(4*7==26) and (9*9==81)
True
4. Resuelva cada una de estas expresiones hasta llegar al valor True o
False, luego compruebe el resultado a través del intérprete de Python:

50-0,4 >= 20 true


y
not (5) !=0 false
False

exp = (((12)<13) y (26>12) y ((2)>=3)


true true false
False
Espacios: Ley universal de Phyton
se puede en las cuentas, pero no podes poner espacios entre numeros que no tengan un signo antes.
(Syntax error)
en el and se pone espacio

4*1= es un string
el espacio en blanco no es string, y queda ese error
UVA 5
ESTRUCTURAS CONDICIONALES

OBJETIVOS
1. Conocer las estructuras de control condicionales
2. Aprender a crear condiciones simples y compuestas
3. Aplicar estructuras condicionales en Python

TEMAS A DESARROLLAR

1. ESTRUCTURA CONDICIONAL
2. TIPOS DE ESTRUCTURAS CONDICIONALES
3. CONDICIÓN SIMPLE Y DOBLE
4. ANIDAMIENTO DE ESTRUCTURAS DE SELECCIÓN
5. SÍNTESIS

1. ESTRUCTURA CONDICIONAL

Las sentencias condicionales, también llamadas estructuras alternativas, selectivas o de decisión, son
estructuras de control de flujo que realizan una pregunta la cual retorna verdadero o falso (evalúa una
condición) y selecciona la siguiente instrucción a ejecutar dependiendo la respuesta o resultado.

Esta estructura verifica una condición lógica para decidir qué secuencia de acciones ejecutar:

Si Condición Lógica:
Secuencia de acciones a ejecutar cuando la condición lógica responde VERDADERO

SiNo:
Secuencia de acciones a ejecutar cuando la condición lógica responde FALSO

CONDICIÓN LÓGICA
Una condición lógica es una expresión que, al evaluarla, da como resultado verdadero o falso:

EJEMPLO:

Si llueve:
voy al cine

Sí no:
voy a la plaza

En los programas comparamos variables, constantes y/o expresiones aritméticas.

BLOQUES DE CÓDIGO (INDENTACIÓN)


● En Python la indentación (sangría) del código es importante ya que delimita la ejecución de las
instrucciones por bloque de verdad y por bloque de falso.
● Un bloque de código es un grupo de sentencias relacionadas bien delimitadas.
● Se deben respetar las indentaciones en Python.
● A diferencia de otros lenguajes en los que se usan los caracteres {} para definir un bloque de
código, en Python se usa la indentación o sangría.
● La indentación consiste en mover un bloque de texto hacia la derecha insertando espacios o
tabulaciones al principio de la línea, dejando un margen a la izquierda.

2. TIPOS DE ESTRUCTURAS CONDICIONALES

• Se pueden combinar como sea necesario, según el problema a resolver.


• Los caminos dependen de la forma en que se expresa la condición lógica.
• Existen varios tipos:
- Simple
- Doble
- Anidamiento de estructuras de selección
3. CONDICIÓN SIMPLE Y DOBLE

Solamente hay acciones a ejecutar al evaluar por verdad la o las condiciones lógicas:

CONDICIONAL SIMPLE (if)


¿Cómo se comporta el siguiente código?:

Ejercicio: realizar un algoritmo para determinar si un número es PAR.


CONDICIONAL DOBLE
Hay acciones a ejecutar por verdad de la/s condiciones lógicas.
También hay acciones a ejecutar por falso de la/s condiciones lógicas.

CONDICIONAL DOBLE (if-else)


¿Cómo se comporta el siguiente código?:

Ejercicio: realizar un algoritmo para determinar si un número es PAR o IMPAR.


4. ANIDAMIENTO DE ESTRUCTURAS DE SELECCIÓN

ANIDAMIENTO DE ESTRUCTURAS DE SELECCIÓN (if-else-elif)


A veces hay más de dos posibilidades y necesitamos más de dos ramas.

Una forma de expresarlo es la siguiente:

Otra forma posible es la siguiente:


Ejemplo: leer un número entero e imprimir un mensaje indicando si es par o impar.

Ejemplo: leer un número entero e imprimir un mensaje indicando si es cero, par o impar.

Cuando la siguiente selección está por la parte falsa (else-if), se puede expresar de la siguiente forma:

Comúnmente, se suele utilizar para hacer un selector de opciones.

Ejemplo: leer un número entero e imprimir un mensaje indicando si es cero, uno, dos o cualquier otro
número.
Ejercicio: crear un Algoritmo que lea tres números distintos y nos diga cuál de ellos es el mayor.

Pregunta: ¿La salida por pantalla de los siguientes dos algoritmos son equivalentes?
5. SÍNTESIS

● En esta unidad vimos una nueva estructura de control que se agrega a las ya vistas en unidades
anteriores: estructura condicional.
● Las estructuras de control condicionales, son aquellas que nos permiten evaluar si una o más
condiciones se cumplen, para decir qué acción vamos a ejecutar. La evaluación de condiciones
solo puede arrojar 1 de 2 resultados: verdadero o falso (True o False).
● Para armar las condiciones utilizaremos los operadores que vimos en anteriores presentaciones:
aritméticos, relacionales y lógicos.
● Para definir un bloque de código en Python usamos la indentación.
ACTIVIDAD EN CLASE - UVA 5

ESTRUCTURAS CONDICIONALES/ DE DECISIÓN / SENTENCIA DE DECISIÓN


La idea es poner estructuras en un programa que me permita tomar decisiones de certeza.

1. Ingresar dos números enteros e indicar si son iguales o distintos.

“ingresar el 1 numero ”
RECORDAR PONER EL ESPACIO ASÍ EL USUARIO SOLO PONE EL NÚMERO.

int PARA QUE EL PYTHON NOS DEVUELVA UN NÚMERO ENTERO

if (si)
“:” LUEGO DE LOS 2 PUNTITOS PYTHON AUTOMÁTICAMENTE PONE 4 ESPACIOS DEBAJO A
PONER ENTER. ES LA MANERA DE DECIR DE PYTHON DE QUE AHÍ TENGO QUE PONER
TODO LO QUE QUIERO QUE SE HAGA SI SE CUMPLE LA CONDICIÓN.
EN ESTE CASO ES SOLO UNA SENTENCIA (“los números son iguales)

else (sino) NO HACE FALTA VOLVER A PONER NADA, ES LO QUE PASA SI LA SENTENCIA QUE
PONGO VA A QUEDAR EN QUÉ PASA SI “los números no son iguales” (num 1 != num 2)

ESTO YA NO CORRESPONDE AL IF NI AL ELSE


EJ PROGRAMA CON NÚMEROS DISTINTOS=

EJ PROGRAMA CON NÚMEROS IGUALES=

PROGRAMA INVENTADO

else PARA PONER “SINO” PARA LO QUE PUSIMOS EN EL if

ESTE ÚLTIMO else CIERRA TODAS LAS ALTERNATIVAS POSIBLES DE LA CONSIGNA


TIENE QUE ESTAR A LA MISMA ALTURA QUE EL OTRO if
EJ PROGRAMA CON NÚMERO 1 MAYOR=

EJ PROGRAMA CON NÚMERO 2 MAYOR=

EJ PROGRAMA CON LOS 2 NÚMERO IGUALES=

ELIF

EL PYTHON ME PERMITE ANIDAR VARIOS if Y else ADENTRO.


elif = else+if “SINO SI” = “Sino qué hago?”

EL ÚLTIMO else CUANDO NO TENGO MÁS ALTERNATIVAS Y, EN ESTE CASO, LA ÚLTIMA


ALTERNATIVA ES QUE LOS NÚMEROS SEAN IGUALES
EJEMPLOS CON ELIF

2. Una remisería requiere un sistema que calcule el precio de un viaje a


partir de la cantidad de km que desea recorrer el usuario. Tiene la
siguiente tarifa:

● Viaje mínimo $50


● Si recorre entre 3 y 10 km: $20/km
● Si recorre 10 km o más: $15/km
LE AGREGO int PARA NÚMERO ENTEROS
LE AGREG input PARA AGREGARLE UNA IMPUTACIÓN A km

: COSTO PARA QUE ME CALCULE EL PRECIO POR KILÓMETRO

EJ PROGRAMA CON 2 KM (mínimo)

EJ PROGRAMA CON 7 KM

EJ PROGRAMA CON 15 KM
3. Ingresar las notas de los dos parciales de un alumno e indicar si
promociona, aprueba o debe recuperar. Si el valor de la nota no está
entre 0 y 10, debe informar un error.

● Se promociona cuando las notas de ambos parciales son mayores o


iguales a 7.
● Se aprueba cuando las notas de ambos parciales son mayores o iguales a
● Recupera cuando al menos una de las dos notas es menor a 4.
EJ EJERCICIO CON PROMOCIÓN

EJ EJERCICIO CON FINAL

EJ EJERCICIO CON RECURSADA

EXPLICACIÓN

DEFINÍ UN CONTADOR
A MEDIDA QUE IBA FUI INGRESANDO FUI CONTANDO LAS NOTAS QUE INGRESABA Y
SUMANDO LAS NOTAS QUE INGRESABA EN UN ACUMULADOR

TENER EN CUENTA

if - elif - else

EJERCICIO A ENVIAR UVA 5

Crear un programa que pida un número de día (ejemplo: 1) y escriba el


nombre del día en letras ("lunes"). Verificar que el día esté entre 1 y 7, e
informar en caso de que no lo sea.
EJ DÍA 5

EJ DÍA 2
EJ DÍA 15 CON ERROR

PROGRAMA PARA CERRAR EL CONTADOR DE DÍAS CON ELSE

else: PARA CUALQUIER OTRA ALTERNATIVA A LOS 7 DÍAS


EJ DÍA 15 INCORRECTO

2DA FORMA DE ARREGLARLO

pint () ME PONE UNA LÍNEA EN BLANCO Y NO ME PONE TODO PEGADO EN EL


PROGRAMA

else: PARA CUALQUIER OTRA ALTERNATIVA MENOR A 1 O MAYOR A 7


EJ 2DA FORMA DE ARREGLARLO

EJ 2DA FORMA DE ARREGLARLO

ES CONVENIENTE LA 1ER FORMA YA QUE EN LA 2DA EL PROGRAMA SE CORTA EN

Y LO DEMÁS NO LO LEE.

EN PROGRAMAS CHICOS NO SE VE, PERO SI EN PROGRAMAS GRANDES


UVA 6
ESTRUCTURAS ITERATIVAS

OBJETIVOS
● Conocer las estructuras de control iterativas
● Identificar el uso de ciclos exactos y condicionales
● Aplicar estructuras iterativas en Python

TEMAS A DESARROLLAR
1. ASIGNACIÓN Y ACTUALIZACIÓN DE VARIABLES
2. ESTRUCTURA ITERATIVA A DESARROLLAR
3. VARIABLES CONTADORAS Y ACUMULADORAS
4. TIPOS DE ESTRUCTURAS ITERATIVAS: CICLOS EXACTOS Y
CONDICIONALES
5. COMPONENTES DE UNA ESTRUCTURA ITERATIVA
6. SÍNTESIS

1. ASIGNACIÓN Y ACTUALIZACIÓN DE VARIABLES

El operador = asigna un valor a la variable.


Podemos usar su valor para realizar un cálculo y volver a guardarlo en la misma variable.

Ejemplo estructura secuencial

Ejercicio: desarrollar un programa que cuente hasta 4, utilizando una sóla variable para contar.
Para pensar:
● ¿Qué se imprime por pantalla?
● Al final de la ejecución del programa, ¿qué valor queda almacenado en la variable cont?
● ¿Cómo le puedo indicar al programa que necesito repetir algunas acciones?

2. ESTRUCTURA ITERATIVA

Permite repetir una secuencia de acciones mientras se cumple una condición lógica.
En Python, esta estructura se denomina while.

Secuencia de acciones a ejecutar cuando la condición lógica es Verdadero

Cada repetición se llama “Iteración”.

ESTRUCTURA ITERATIVA

Ejemplo estructura iterativa

Ejercicio: desarrollar un programa que cuente hasta 4, utilizando una sola variable para contar.
Ejemplo Estructura Iterativa

3. VARIABLES CONTADORAS Y ACUMULADORAS

VARIABLES CONTADORAS
Ejercicio: desarrollar un programa que cuente hasta 4, utilizando una sola variable para contar.

VARIABLES ACUMULADORAS
Ejercicio: desarrollar un programa que sume 5 números ingresados del teclado.
4. TIPOS DE ESTRUCTURAS ITERATIVAS: CICLOS EXACTOS Y
CONDICIONALES

CICLOS EXACTOS
Conocemos la cantidad de veces que se va a repetir el ciclo (al crear el algoritmo o solicitado al
usuario).
Están controlados por contadores.

Ejemplo: mostrar por pantalla los números del 1 al 10.

En general, el incremento de la variable que controla el ciclo se ubica como última instrucción de la
iteración para que cuente las vueltas.

Ejemplo:

CICLOS CONDICIONALES
Se repite mientras se cumpla una condición y no conocemos cuántas veces va a repetir el ciclo.
Depende de cálculos o ingreso de datos desde el teclado.

Ejemplo: calcular la sumatoria de los valores ingresados por teclado. Finalizar el programa cuando el
usuario ingresa 0 (cero).
Ejemplo: ingresar números enteros y que muestre solo los números naturales; el algoritmo finaliza
cuando se ingresa el valor 0.

Ejemplo estructura iterativa


Ejemplo: ingresar 5 números enteros por teclado. Mostrar la suma de los números positivos
ingresados.

¿Qué le falta al algoritmo?


¡Es un ciclo infinito!
No termina nunca. Presionar Ctrl+C para interrumpir la ejecución o presionar el botón “Stop”.
Le faltaba la instrucción que modifica la variable de la condición lógica.
¡Esto NO puede pasar!

5. COMPONENTES DE UNA ESTRUCTURA ITERATIVA

Los componentes de un ciclo son:


● Expresiones de inicialización.
● Condición/es lógica/s.
● Acciones a realizar dentro del ciclo.
● Condiciones de terminación.
● Expresiones de finalización.
● Expresiones de inicialización: analizar y cuidar los valores que tienen las variables al
momento de iniciar un ciclo.

● Condición/es lógica/s: se puede expresar cualquier condición lógica válida, utilizando (si es
necesario) operadores lógicos (and y or) para analizar más de una condición (condición
compuesta).

● Acciones a realizar dentro del ciclo: las instrucciones (acciones) que se desean repetir se
escriben una sola vez. Cuidar el orden de ejecución de las instrucciones afecta al resultado que
se obtiene.

● Condiciones de terminación: analizar y verificar que alguna instrucción logre convertir a falso
la o las condiciones lógicas del ciclo. Evitar ciclos infinitos.

● Expresiones de finalización: una vez que finaliza la ejecución del ciclo, analizar cuáles son las
acciones que se deben ejecutar a continuación para utilizar la información que se obtiene del
ciclo.

6. SÍNTESIS

● En esta presentación comenzamos analizando un ejemplo de asignación y actualización de una


variable. Luego, utilizando este ejemplo, conocimos una nueva estructura de control: iterativa.

● Diferenciamos las variables contadoras de las acumuladoras. Las primeras para incrementar (o
decrementar) en un valor constante una variable. Las segundas para incrementar (o
decrementar) una variable con valores que no necesariamente siempre serán los mismos.

● Diferenciamos los ciclos exactos de los condicionales, para finalmente destacar los
componentes que no podemos olvidar a la hora de trabajar con estructuras iterativas:
expresiones de inicialización, condición/es lógica/s, acciones a realizar, condiciones de
terminación y expresiones de finalización.
ACTIVIDAD EN CLASE - UVA 6

ESTRUCTURAS ITERATIVAS / CICLOS


COMO VENÍAMOS HACIENDO, DEBERÍAMOS HACER 30 print, ESO EN PROGRAMACIÓN
NO SE HACE.
LO QUE SE HACE ES HACER UN CICLO ITERATIVO PARA QUE REPITA CADA UNO DE LOS
print.

HAY 2 TIPOS; LOS CICLOS DETERMINADOS Y LOS CICLOS INDETERMINADOS


CICLOS DETERMINADOS: SE CUANTAS VECES SE VA A REPETIR
- SE PUEDE RESOLVER CON UNA ESTRUCTURA while O UNA ESTRUCTURA for
CICLOS INDETERMINADOS: NO SE CUANTAS VECES SE VA A REPETIR

1. Escribir un algoritmo que muestre los primeros 30 números naturales.

CICLOS DETERMINADOS: SE QUE SE VA A REPETIR 30 VECES


SE PUEDE RESOLVER CON UNA ESTRUCTURA while O UNA ESTRUCTURA for

while: “MIENTRAS QUE SE CUMPLA UNA CONDICIÓN QUE HAGA TAL COSA”

PARA INICIAR CON WHILE, TENGO QUE DEFINIR UN CONTADOR.


NO SIEMPRE ES UN CONTADOR.

while cont <= 30:


LA VARIABLE TIENE QUE ESTAR DENTRO DEL CICLO while (EN ESTE CASO 30)
IMPRIMO EL CONTADOR CON print(cont)
TENGO QUE ACTUALIZAR EL CONTADOR cont = cont+1. (variable de control)
UNA VEZ QUE IMPRIMÍ EL NÚMERO QUE TIENE EL CONTADOR (print)
A cont LE TENGO QUE SUMAR LO QUE VARÍA + 1
EJ PROGRAMA VERTICAL while
PARA QUE NO ME DE LOS RESULTADOS TODOS ABAJO DE TODO
HAGO LO SIGUIENTE

print(cont,end=” “)
CON ESTO LO QUE HAGO ES DECIRLE QUE ME LOS PONGA EN HORIZONTAL CON UN
ESPACIO AL LADO.

EJ PROGRAMA HORIZONTAL while

RESOLUCION CON CICLO for


CONLLEVA UNA VARIABLE QUE ESTÁ ASOCIADA A UNA FUNCIÓN range QUE ME
GENERA UNA SERIA
ES MÁS SENCILLO PERO SIRVE PARA CICLOS DETERMINADOS

EN EL CICLO FOR, ME DEJA AFUERA EL ÚLTIMO NÚMERO, EN ESTE CASO AL 31.

IMPRIMO LA VARIABLE ASOCIADA AL CICLO for Y A LA FUNCIÓN range DE k


range ES UNA FUNCIÓN DE PYTHON QUE ME GENERA UNA SECUENCIA DE NÚMEROS.
LA ESTRUCTURA DE for ES POR k, LA VARIABLE QUE ASOCIO A LA FUNCIÓN range, LA
SERIE DONDE EMPIEZA Y DÓNDE TERMINA (1,31) Y DOS PUNTITOS (:)

NO SE HACE FALTA AGREGAR UN CONTADOR PORQUE ESTÁ ASOCIADA A LA


VARIABLE k; ASOCIADA A LA FUNCIÓN range (1,31)

(k,end=” “) PARA QUE ME PONGA UNO AL LADO DEL OTRO


k = ES LA VARIABLE ASOCIADA AL CICLO for Y A LA FUNCIÓN range

EJ PROGRAMA HORIZONTAL for

2. Mostrar las tablas de multiplicar (entre 1 y 10) del número 5.

ES UN CICLO DETERMINADO PORQUE VA ENTRE 1 Y 10.

CON CICLO while

DEFINIR VARIABLE DE CONTADOR


RESOLUCIÓN

DEFINO VARIABLE mult PARA MOSTRAR LAS TABLAS DE MULTIPLICAR DEL NUMERO 5
NO ME OLVIDO DE ACTUALIZAR EL CONTADOR cont+1

EJEMPLO DE PROGRAMA DEL EJERCICIO


CON CICLO for

range DE (1,11) PARA CONTAR DEL 1 AL 10


mult = K * 5 NO LE AGREGO CONTADOR, PORQUE LE AGREGUE UN range

2.1 ¿Cómo cambiarían el algoritmo para que el usuario pueda decidir la tabla
de multiplicar a mostrar?

CON CICLO while

mult = CONT * n
AGREGO LA VARIABLE “n” PARA Q EL USUARIO LA ELIJA. YA NO ES LA TABLA DEL 5.

print(cont,”*”,n,” =”,mult)
CON CICLO for

mult = k * n
print(k,”*”,n,” n“, mult)

EJEMPLO DE PROGRAMA DEL EJERCICIO CON TABLA DEL 6


3. Realicen un programa que calcule la sumatoria de números enteros
ingresados por teclado, además de mostrar la cantidad de números
ingresados. Finaliza el programa ingresando 0.

CICLO INDETERMINADO PORQUE NO SÈ CUANDO TERMINA EL CICLO.


SOLO SE QUE SE FINALIZA EL PROGRAMA CUANDO SE INGRESA 0
NO TENGO ALTERNATIVA AL CICLO while

PROGRAMA SOLO CICLO while

cant = 0
suma = 0
int PORQUE ES NÚMERO ENTERO

while num !=0:


PORQUE TIENE QUE TERMINAR CUANDO PONGO 0
EJ RESOLUCIÓN DEL PROGRAMA
EJERCICIO A ENVIAR UVA 6
min 38
RESOLVIENDO SOLO EL PROMEDIO DE LOS 5 NÚMEROS=

CON CICLO FOR


EJ CON AMBOS MODOS DE RESOLUCIÒN DE PROMEDIOS
RESOLVIENDO INCLUYENDO EL MAYOR DE LOS 5 NÚMEROS=
EJ CON PROMEDIOS Y MAYOR NUM

RESOLVIENDO INCLUYENDO LA POSICION DEL NUMERO=


EJ CON PROMEDIOS, MAYOR NUM Y POSICIÓN
EJERCICIO ENVIADO UVA 6

Leer 10 números enteros e imprimir el promedio, el mayor, y en qué orden fue ingresado el
mayor valor. Si se ingresó más de una vez, debe informar el primer ingreso.
SIMULACRO
EJ FINAL DE SIMULACRO
EJ RESOLUCIÓN SIMULACRO
VARIANTE

INTRODUCCIÓN AL PYTHON
SIMULACRO 1 PARCIAL

Hacer un programa que permita cargar meses (solamente se aceptan los


números 3, 6 y 12) y notas (número entre 1 y 10). o. Se supone que los datos
se cargan correctamente. No hace falta validar. La carga de notas finaliza con
-1.
Al finalizar, informar:

Cantidad de alumnos que promocionaron la materia (nota 7 o más).


Cantidad de alumnos que aprobaron (nota 4 o más).

Las notas máxima y mínima y sus posiciones.

Porcentaje de alumnos reprobados. Cantidad de aplazados*100/ total de


exámenes

Promedio de notas obtenidas en el mes 6. En caso de que no haya notas en el


mes 6 no se debe calcular el promedio
IDEL RESOLUCIÓN
cantpro = 0
cantapro = 0
cant = 0
cantrepro = 0
maxi = 0
mini = 11
suma6 = 0
cont6 = 0
k=0
mes = int(input("Ingresar un mes 3, 6 o 12 (o -1 para finalizar) "))

while mes != -1:


nota = int(input("Introducir una nota entre 1 y 10 "))
mes = int(input("Ingresar un mes 3, 6 o 12 (o -1 para finalizar) "))
k = k +1
cant = cant +1
if nota >= 7:
cantpro = cantpro +1
if nota >= 4:
cantapro = cantapro+1
if nota > maxi:
maxi = nota
posmax = k
if nota < mini:
mini = nota
posmin = k
if nota < 4:
cantrepro = cantrepro +1
if mes == 6:
suma6 = suma6 +nota
cont6 = cont6 +1
porrepro = (cantrepro / cant) * 100

print("La cantidad de notas ingresadas es", cant)


print("La cantidad de alumnos promocionados es", cantpro)
print("La cantidad de alumnos aprobados es", cantapro)
print("La máxima nota es:", maxi, "Su posición es", posmax)
print("La mínima nota es:", mini, "Su posición es", posmin)
print("El porcentaje de alumnos reprobados es:", round(porrepro, 2))

if cont6 == 0:
print("No se puede calcular el promedio porque no hay notas en el mes 6")
else:
prom6 = suma6 / cont6
print("El promedio de notas del mes 6 es", round(prom6, 2))
RESOLUCIÓN

También podría gustarte