JAGF - Unidad Didáctica Programación en Python

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

Unidad Didáctica: “Programación en Python:

Ciclos y condicionales”
(Para 3° Semestre de la Licenciatura en Física y
Matemáticas)

Por:
Jorge Adán González Flores

1
Índice Temático

1. Introducción .................................................................................................................3
1.1. Objetivo de la unidad didáctica ..............................................................................3

1.2. Intención de la unidad didáctica ........................................................................3


2. Programas .....................................................................................................................4
2.1. Evaluación diagnóstica: Escribir una receta de cocina .....................................4
2.2. Uso del juego "Kids Coding" ....................................................................................4
2.3. Relación del juego “Kids Coding” con los ciclos y los algoritmos ..........................6
3. Representación de algoritmos .................................................................................8
3.1. Algoritmos y procesos en la vida diaria ..................................................................8

3.2. Algoritmos y su representación por pseudocódigos ...............................................8

3.3. Representación por diagramas de flujo ............................................................... 10


4. Algoritmos y estructuras de programación ........................................................ 14
4.1. Un intérprete entre la computadora y nosotros .................................................. 14
4.2. Condicional simple: If ....................................................................................... 15
4.3. Definición de algoritmo ........................................................................................ 16
4.4. Condicional doble: If-Else ..................................................................................... 19
4.5. La documentación en la programación: Resumen sobre la sintaxis de Python . 26

5. Operaciones matemáticas en Python .................................................................. 28


5.1. Operadores aritméticos ..................................................................................... 28
5.2. Interacción con el usuario .................................................................................. 29
5.3. Operaciones en Python ..................................................................................... 34
5.4. Creando nuestra propia calculadora personalizada ......................................... 36

Referencias bibliográficas .......................................................................................... 40

2
1. Introducción
El siglo XX y XXI se ha caracterizado por los avances tecnológicos notorios en ámbitos de
la computación. De hecho cada vez es más común que los jóvenes tengan acceso a un
celular o una computadora, esto hace que sea cada vez más importante dirigir el uso de
estas tecnologías a actividades productivas como lo es la correcta operatividad de los
dispositivos así como el conocimiento de cómo funcionan las aplicaciones que utilizamos
diariamente. Es por eso que el conocimiento de creación de programas y aplicaciones es
cada vez más útil y necesaria para las actividades de cualquier ciencia o mercado.

La enseñanza de la programación tiene entre sus objetivos principales, la formación y


desarrollo de las habilidades por parte de los estudiantes para facilitar la resolución de
problemas escolares, profesionales o de la vida práctica. A lo largo de este texto
buscaremos fomentar las habilidades del estudiante.

1.1. Objetivo de la unidad didáctica.


La unidad didáctica presentada tiene como objetivo el aprendizaje de la programación
computacional de los alumnos de nivel bachillerato partiendo desde los fundamentos,
puesto que cada vez parece más común que la clase de programación comience
directamente con el código y los programas computacionales generando confusiones en los
estudiantes en su primer acercamiento y dejando huecos en las bases mismas de la
programación.

1.2. Intención de la unidad didáctica.


La intención de esta unidad es la adquisición de los fundamentos de la programación
computacional y la escritura de código, llevado a cabo de forma gradual partiendo de las
definiciones elementales, pasando por las representaciones del código por medio del
pseudocódigo y los diagramas de flujo para finalmente llegar al código que utiliza el
lenguaje de programación Python.

Se espera que con haber incorporado los diagramas de flujo y el pseudocódigo al plan de la
unidad didáctica se tenga un entendimiento intuitivo del funcionamiento de cómo opera un
compilador como Python.

3
2. Programas

2.1. Evaluación diagnóstica.


Actividad 1 (diagnóstico). Escribir una receta de cocina de una comida que le guste.

Objetivo: Observar cómo es la forma en que los estudiantes escriben instrucciones, esto
con el fin de detectar fortalezas y debilidades en cuanto a la precisión o ambigüedad de la
redacción.

Esta prueba se realizó en salón de clases de Didáctica de las Ciencias obteniendo los
siguientes resultados: Se observó que hubo estudiantes que tenían un formato de
redacción muy similar al de la programación misma, declarando desde el principio los
ingredientes a utilizar (análogos a la declaración de las variables) así como la
sistematización en el orden a realizar cada uno de los pasos (proceso).

Esto se puede deber a que esta prueba fue aplicada a estudiantes de los últimos semestres
de la licenciatura en física y matemáticas, donde muchos de nosotros llevamos
anteriormente cursos de programación. Sin embargo no deja de ser útil ver cuando los
estudiantes ya tienen cierta familiarización con la redacción de instrucciones.

Hubo también casos en que no se tenía mucha precisión, por ejemplo cuando se dice que se
añade agua en una cacerola, no se especifica ni la cantidad en litros ni tampoco un
estimado visual que pudiera ayudar. Pero esto es común en un estudiante, pues no
siempre se está habituado a estas edades a cocinar o a escribir instrucciones de este tipo.

2.2. Uso del juego "Kids Coding"


Actividad 2. Completar los primeros 6 niveles del juego de Google Doodle: Kids Coding.

Objetivo: Introducir al alumno a los elementos de la programación por medio del juego
“Kids Coding” así como su relación con las definiciones intuitivas de algoritmo y
ciclo/bucle.

- Se requerirá llevar a los alumnos al laboratorio de cómputo donde se accederá al


siguiente URL:

https://www.google.com/doodles/celebrating-50-years-of-kids-coding

En este vínculo se encuentra el juego de Google Doodle: Kids Coding.

4
- Se le pedirá al alumno que complete los primeros 6 niveles de manera individual,
aunque si se tienen menos computadoras que alumnos se tendrá que hacer equipos de
manera que los alumnos queden uniformemente repartidos en el equipo de cómputo
correspondiente.

Explicación: El juego contiene todas las indicaciones para su uso pero se deja la
explicación de la mecánica para el lector de este archivo así como su relación con los
elementos de la programación.

El juego consiste en un conejo que sigue instrucciones específicas dadas por el jugador con
el objetivo de recolectar todas las zanahorias de cada nivel. El jugador buscará colocar las
piezas de la parte inferior correspondientes al movimiento del conejo (Figura 1) para que
una vez ejecutada la línea el conejo recolecte todas las zanahorias del nivel.

Figura 1. Segundo nivel del juego “Kids Coding”.

Después de dar clic en el botón de inicio, el conejo ejecutará exactamente la acción escrita
en el renglón inferior, en este caso el conejo hace dos pasos hacia adelante, gira en sentido
horario, y hace otros dos pasos hacia adelante para terminar de recolectar todas las
zanahorias (sin caer de los bloques). De esta manera el conejo ha recolectado todas las
zanahorias y el nivel ha sido completado.

A primera instancia parece mostrar solamente una ejecución de pasos (algoritmo simple),
pero conforme se va avanzando los niveles se observa que empiezan a aparecer elementos
relativos a la programación como lo es el concepto de pasos repetitivos de manera
sistemática (Figura 2)

5
Figura 2. El bucle/ciclo en el juego

El juego ofrece un tutorial para esta nueva herramienta y es a partir de entonces que el
movimiento del conejo ya es descrito en un formato bucle. Un ejemplo del uso de esta
herramienta se observa en la figura 3.

Figura 3. Cuarto nivel del juego “Kids Coding”

2.3. Relación del juego “Kids Coding” con los ciclos y los algoritmos
Actividad 3. Una vez finalizado el punto 2.2 se procederá a hacer una mesa de debate
donde se buscará relacionar las siguientes definiciones con las experiencias adquiridas del
juego “Kids Coding”: (es recomendable que el alumno anote cada uno de los puntos a
discutir)

6
• Analizar un problema. ¿Cuál era el problema a resolver en este caso?
• Planificación. ¿Cómo procediste para planificar la solución?
• Edición o escritura. ¿Cuáles eran los métodos de escritura en este juego?
• Compilación/ejecución. ¿Cómo se ejecutaban las acciones una vez escrito el plan?
• Corrección de errores. ¿Cuáles fueron tus pasos a seguir después de un error?
• Bucles. ¿Cómo definirías el comando “bucle” en este juego?

7
3. Representación de algoritmos

3.1. Algoritmos y procesos en la vida diaria.


Por lo realizado en las actividades previas podemos decir que un algoritmo y un proceso (o
procedimiento) es lo mismo por ahora, podemos trabajar con ambos conceptos como si
fueran el mismo, aunque en el futuro se verá una diferencia práctica ya que la
computadora suele ser muy específica en las cosas que le pedimos que haga y un proceso
suele ser abierto dependiendo lo que se entiende en cada paso.

Actividad 4. Escribe qué es lo que entiendes por algoritmo en un contexto diferente:

i). Aplicado a un cálculo matemático.

ii). En la resolución de un rompecabezas de 200 piezas.

iii). En la preparación de un platillo de cocina.

Actividad 5. Escribir 2 situaciones cotidianas donde puedas emplear un algoritmo.

3.2. Algoritmos y su representación por pseudocódigos.


Una computadora puede seguir órdenes, hacer cálculos y pasos definidos, por lo que es
especialmente buena siguiendo un algoritmo, decimos que un programa de
computadora es una sucesión de órdenes que describen un algoritmo, escritas de forma
que puedan ser entendidas por la computadora. A veces diremos simplemente programa
para referirnos a un programa de computadora.

Muchas veces cuando desarrollamos un proyecto es necesario realizar un bosquejo general


del programa que de una visión global de lo que se desea hacer. Así como en un deporte se
crean etiquetas para identificar la etapa del juego (como el inicio, medio tiempo, final) en
la programación es muy útil identificar las etapas de un proceso.

Actividad 6. Crea algunas etiquetas para facilitar la identificación de las etapas del
proceso para la receta de cocina que escribiste previamente. Escribe cómo resultó la
descripción de este proceso.

8
Como en cualquier disciplina, es muy importante que todos los que practican dicha
disciplina se pongan de acuerdo, en la programación es común convenir en etiquetas para
que sea fácil identificar las acciones de un proceso tal cual como se hizo en la actividad 6.
Una manera de ponernos de acuerdo entre todos es designar las siguientes etapas:

Entrada: Es la información de partida que necesita el algoritmo para arrancar.

Proceso: Es el conjunto de todas las operaciones a realizar.

Salida: Son los resultados obtenidos.

A un proceso como el realizado en la actividad 6 se le llama “Pseudocódigo”. La palabra


Pseudo (o seudo) significa “supuesto” o “falso”, esto se debe a que aún no es un código, sino
solo una representación verbal de un código, sin embargo las ventajas de escribir un
pseudocódigo es que el proceso se puede ver de una manera más general sin perderse en
los detalles de cada uno de los pasos.

Veamos ahora un ejemplo simple de un pseudocódigo.

Ejemplo. Preparar una taza de té.

Entrada: Olla, taza, bolsa de té.

Salida: Taza de té.

Inicio

Tomar la olla

Introducir agua

Encender el fuego

Poner la olla en el fuego

Esperar a que hierva el agua

Introducir la bolsa de té en la taza

Vaciar el agua en la taza

Esperar 1 minuto

Fin

9
A pesar de ser un ejemplo simple, podemos ver que es la declaración de un proceso preciso,
poco ambiguo, aunque tiene ciertas desventajas, por ejemplo note aquí que el pseudocódigo
podría ser ambiguo ya que en el ejemplo anterior:

• Se da por sentado que se sabe las definiciones de los elementos (Olla, taza, bolsa de
té).
• No se menciona con exactitud cuánta agua poner.
• No se detalla cómo poner la olla al fuego.

Actividad 7. Hacer un pseudocódigo para describir el proceso de cómo llegas a la escuela.

Actividad 8. Inventar una representación gráfica del pseudocódigo escrito en la actividad


7. La representación gráfica puede incluir cualquier elemento que considere el alumno
como dibujos y flechas.

3.3. Representación por diagramas de flujo


Pasaremos ahora a la representación de un programa por diagramas de flujo. La necesidad
de pasar de un pseudocódigo (representación verbal) a un diagrama de flujo
(representación simbólica) es por la exigencia de que un programa debe ser preciso en el
sentido de que la computadora debe hacer exactamente la acción que estamos pensando, y
para eliminar la ambigüedad que tiene un pseudocódigo se establecen un conjunto de
elementos para representar un programa como se verá a continuación.

La idea es establecer una representación gráfica (como la creada en la actividad 8) con


algunas convenciones o estándares para poder lograr la precisión y el común acuerdo entre
toda la comunidad. Este se llama Diagrama de flujo.

El diagrama de flujo es una representación gráfica de secuencias de pasos a realizar.


Cada operación se representa mediante un símbolo normalizado ANSI (Instituto
Norteamericano de Normalización). Las líneas de flujo indican el orden de ejecución.

En esta actividad aprenderemos a relacionar los procesos que tiene un programa con un
diagrama de flujo, utilizaremos solo 4 símbolos normalizados:

10
Ya estamos familiarizados con los elementos Inicio/Fin, Proceso, Entrada/Salida.

Actividad 9. Crear un diagrama de flujo de cómo preparar una torta de jamón utilizando
el símbolo “Decisión” considerando que puede o no haber todos los ingredientes requeridos.

Es muy probable que a lo largo de la actividad 9 se haya utilizado el formato decisión de


una manera condicional, es decir “Sí … entonces: …, en caso contrario hacer ...”. Esto
ayuda a declarar alternativas cuando las cosas pueden tomar distintos caminos.

En las actividades siguientes usaremos las palabras LEER/IMPRIMIR para representar


las acciones de lectura y salida de datos.

Para aterrizar estas ideas, analicemos el siguiente ejemplo:

Ejemplo. Convertir una distancia de centímetros a pulgadas. (repaso de la regla


de 3)

En este ejemplo vamos a hacer un pseudocódigo y un diagrama de flujo para el mismo


programa, el programa deberá leer un número (distancia en centímetros) y entregar un
número (distancia en pulgadas). Es muy usual que para un problema en programación,
antes tengamos que hacer cálculos en papel para fijar ideas.

Tenemos que 1 𝑖𝑛 = 2.54 𝑐𝑚 , por lo que si queremos convertir por ejemplo 10𝑐𝑚 a
pulgadas podemos hacer una regla de 3

2.54 𝑐𝑚 → 1 𝑖𝑛

10 𝑐𝑚 → 𝑋 𝑖𝑛

así

11
(10𝑐𝑚) ∙ (1 𝑖𝑛)
𝑋= = 3.9𝑖𝑛
(2.54𝑐𝑚)

de manera general, si 𝑎 es la distancia en centímetros que conocemos de antemano


entonces

2.54 𝑐𝑚 → 1 𝑖𝑛

𝑎 𝑐𝑚 → 𝑋 𝑖𝑛

así

𝑎
𝑋=
2.54

donde 𝑋 es el valor en pulgadas que estábamos buscando. Esta fórmula nos servirá para el
programa que queremos.

Ahora estamos listos para escribir un pseudocódigo que haga la conversión:

Inicio

1- IMPRIMIR “Introduce la distancia en centímetros: “

2- LEER: distancia

3- CALCULAR pulgadas=distancia/2.54

4- IMPRIMIR: “La distancia en pulgadas es: ”, pulgadas

Fin

Note que en el paso 3 hemos utilizado la fórmula que obtuvimos previamente. Para
ilustrar el uso de un diagrama de flujo veamos que este mismo proceso se puede
representar de la siguiente manera:

12
Vea que ambas representaciones se refieren al mismo proceso, sin embargo el diagrama de
flujo es más preciso por contener símbolos normalizados.

Actividad 10. Escribe el nombre de cada símbolo normalizado utilizado en este diagrama
de flujo (ya sea Entrada/Salida, Inicio/Fin, Proceso o Decisión).

Actividad 11. Realiza un pseudocódigo y un diagrama de flujo para calcular el área de un


rectángulo. (Recuerde que calculamos el área de un rectángulo con la ecuación A =
base × altura).

Actividad 12. Hacer un diagrama de flujo del funcionamiento de una lavadora


automática. (Puedes explorar utilizando la lavadora de tu casa, o si prefieres simplemente
investigarlo).

13
4. Algoritmos y estructuras de programación.

4.1. Un intérprete entre nosotros y la computadora.


Para comunicarnos con la computadora necesitamos un medio por el cual utilizando una
escritura parecida al lenguaje cotidiano podamos dar a entender a la computadora
nuestras ideas. De manera estándar se escriben los programas en inglés ya que es el
actual idioma internacional para muchos asuntos del mundo y la programación no es una
excepción. Por lo tanto necesitamos un intérprete 𝑖𝑛𝑔𝑙é𝑠 → 𝑐𝑜𝑚𝑝𝑢𝑡𝑎𝑑𝑜𝑟𝑎. A lo largo de este
desarrollo utilizaremos Python. Siempre que sea necesario utilizaremos un traductor de
google 𝑖𝑛𝑔𝑙é𝑠 → 𝑒𝑠𝑝𝑎ñ𝑜𝑙 o 𝑒𝑠𝑝𝑎ñ𝑜𝑙 → 𝑖𝑛𝑔𝑙é𝑠:

https://translate.google.com/?hl=es

Actividad 13. Utilizar el traductor de google inglés → español para traducir lo siguiente:

Run:

Print:

If:

Else:

Input:

Output:

While:

Hello world:

Python es un lenguaje de programación interpretado, esto significa que hace el paso de un


código natural (parecido al idioma inglés) al idioma máquina. Utilizaremos el Online
Python Compiler de OnlineGBD

Online Python Compiler de OnlineGBD hará la labor de ejecutar nuestros programas. Al


abrir el sitio web, se tiene listo el siguiente programa para su prueba:

print("Hola Mundo")

(Con este pequeño programa buscaremos que el alumno identifique los elementos
subyacentes y extrapole su uso en distintos casos)

14
Actividad 14. Entrar al sitio web Online Python Compiler:

https://www.onlinegdb.com/online_python_compiler

y dar clic en el botón Run.

1. ¿Qué sucedió? Haga un diagrama de flujo de lo ocurrido.


2. ¿Qué pasa si en la línea 9 modificamos el contenido entre comillas?
3. ¿Qué pasa si borramos las primeras 7 líneas?
4. ¿Qué pasa si copiamos y pegamos la línea 9 en cualquier otra parte?
5. ¿Qué sucede si escribimos simplemente print(Hello World)? (sin las comillas )

Actividad 15. Modifique el programa preestablecido para imprimir lo siguiente:

Solución.

4.2. Condicional simple: If


En la actividad 9 se desarrolló un diagrama de flujo que contenía una decisión, esta es
pues, la idea intuitiva de un condicional simple If. Recuerde que la traducción de la
palabra en inglés If es: Si. Esto se ve comúnmente en condiciones como:

Si practicas todos los días, entonces en el futuro serás bueno.

Si estás inscrito, entonces puedes acceder.

15
En el primer ejemplo, “practicar todos los días” es la condición, y “en el futuro serás bueno”
es la consecuencia.

Le llamamos condicional simple porque en caso de ocurrir la condición, entonces prosigue


directamente la consecuencia sin ningún filtro.

Una forma de representarlo por diagrama de flujo es como sigue:

Actividad 16. Escribir una condición simple cualquiera y hacer un pseudocódigo de ello.

4.3. Definición de algoritmo.


En la resolución de problemas reales es necesario encontrar un método de resolución y,
posteriormente determinar la sucesión de acciones en que se descompone dicho método.
Sin embargo, para que nuestro método pueda ser entendido por una computadora, éste
deberá contar con las siguientes características:

Preciso: estar compuesto de pasos no ambiguos y ordenados.

Definido: que si se sigue varias veces el procedimiento, se obtiene el mismo resultado


cada vez.

Finito: Tener un número finito de pasos.

Teniendo claro estos elementos ahora estamos listos para definir:

Algoritmo: Es un método para resolver un problema mediante una secuencia de pasos


bien definidos, precisos y finitos.

Recuerda que un algoritmo puede ser empleado para la resolución de problemas en


general, que va desde hacer operaciones matemáticas: al multiplicar, dividir, obtener raíz

16
cuadrada, hasta para cocinar: seguir una receta para hornear unas galletas, entre otras
cosas. Un ejemplo de un proceso infinito es el contar los números naturales.

Actividad 17. En función a la actividad 2, resolver lo siguiente: (he escrito las soluciones)

Si decimos tentativamente que un algoritmo es el procedimiento seguido por el conejo,


entonces:

El algoritmo es: Si No
Ambiguo ×
Preciso ×
El procedimiento es finito ×

Pensando en el juego, relacione las siguientes columnas con flechas.

Entrada Son los resultados obtenidos (si se completó o no el


nivel)

Proceso Es la información de partida que necesita el


algoritmo para

comenzar

Salida Es el conjunto de todas las instrucciones dadas al


conejo

Actividad 18. Con la definición propuesta, escribe 3 ejemplos donde se observe un


algoritmo en la vida cotidiana.

Actividad 19. Hacer un cuadro comparativo entre la diferencia entre un proceso y un


algoritmo.

17
Actividad 20. Del siguiente diagrama de flujo:

i) ¿Cuál es la condición en este caso?

ii) ¿Cómo se redactaría en lenguaje común esta condición y consecuencia? Considere los
casos en que 𝑎 > 𝑏, 𝑎 < 𝑏 y 𝑎 = 𝑏.

Actividad 20 (Mecanización). Acceda al compilador online de Python y transcriba el


siguiente código:

18
i) ¿en qué línea se establece la condición?

ii) ¿en qué línea se establece la consecuencia?

iii) Modifique el valor de 𝑛 a un número negativo. ¿Qué ocurrió?

iv) ¿qué pasa si se omite el primer espacio en la cuarta línea?

Actividad 21. Modifique el código de la actividad 20 para que el programa decida si 𝑛 es


menor que cero. Pruebe el programa dando un 𝑛 como valor negativo.

Solución.

4.4. Condicional doble: If-Else


Este tipo de estructura permite usar condicionales en los que hay dos alternativas, por
ejemplo

“Si hay limones entonces haré y beberé limonada, si no entonces beberé agua.”

En este caso hay dos caminos, escribiendo explícitamente

“Si hay limones entonces haré y beberé limonada, si no entonces beberé agua.”

En el idioma inglés la palabra Else significa “de otro modo”, por lo que esta misma oración
se puede escribir como

If hay limones: Haré y beberé limonada. Else: beberé agua

Por esta razón que a la condicional doble también se le llama condicional If-Else

19
Actividad 22. Dá un ejemplo de una condicional doble y realiza un pseudocódigo de esa
oración.

En diagrama de flujo, la condicional doble se escribe en la forma

Actividad 23. Modifique el diagrama de flujo de la actividad 20 para que también


imprima si 𝑏 > 𝑎.

Solución.

20
Actividad 24. Considera el siguiente problema: “Realice un programa que pida un
número al usuario y diga si es positivo, negativo o cero”.

i) Diga cuál de los siguientes diagramas de flujo es el adecuado para representar


este problema. (Solución: Diagrama 2)

21
Diagrama 1.

22
Diagrama 2.

23
Diagrama 3.

24
ii) Escriba por qué son incorrectos los otros dos diagramas.

(Ejemplo de solución: El diagrama 1 no lee el número, además si se leyera un número


negativo el programa diría que es cero, cosa que no debería ocurrir.

En el diagrama 3 se muestra que si el número es distinto de cero entonces siempre


imprime que es positivo y que es negativo cuando no debería ocurrir eso.)

Cuando se tienen muchas condiciones, para probar nuestros diagramas de flujo es bueno
dar un valor específico y recorrerlo para ver a dónde nos lleva. Esto también aplica cuando
tenemos código.

Actividad 25. Escriba el siguiente programa en el compilador online de Python:

i) ¿Qué hace el programa? Haga un diagrama de flujo de lo que sucede.

ii) Modifique los valores de a y b. ¿Qué ocurre si 𝑎 = 𝑏?

iii) En Python para la condición de igualdad se escribe:

if: a = = b:

Modifique el programa para que decida cuando 𝑎 = 𝑏.

Solución. i) imprime “a es mayor que b”. ii) imprime “b es mayor que a”. iii)

25
4.5. La documentación en la programación: Resumen sobre la
sintaxis de Python.
La sintaxis (de un lenguaje de programación) es una palabra caprichosa para referirse a
las reglas que deben seguirse al escribir el código de los programas. El escribir
correctamente estas reglas es como garantizamos que Python va a hacer lo que queremos.

Podemos resumir lo aprendido en los puntos 4.1 – 4.4 enlistando la sintaxis


correspondiente:

Imprimir en pantalla:
print(“Texto”)

Condicional simple:

if <condición> :

< consecuencia >

Condicional doble:

if <condición> :

< consecuencia 1 >

else:

<consecuencia 2>

En la programación es muy importante el uso de la documentación, porque en realidad no


es necesario memorizar toda la sintaxis, sino tener a la mano un documento con algún
ejemplo de lo que queremos utilizar. Una búsqueda en Google de unos segundos es
suficiente para encontrar el formato indicado. Es importante la práctica del idioma inglés
ya que casi toda la documentación en internet está en este idioma, pero con solo observar
los ejemplos en Python es suficiente para copiar la sintaxis.
26
Recordamos a los estudiantes que aún los programadores que trabajan activamente en
desarrollar nuevos proyectos utilizan el buscador regular de google diariamente para
consultar la documentación necesaria.

Actividad 26. Entra a google.com y busca “Python if else”. Escribe un ejemplo que hayas
encontrado utilizando la sintaxis if-else.

Solución. Se hizo la siguiente búsqueda

Encontrando el siguiente ejemplo:

Aunque la búsqueda siempre es libre, mientras se es principiante se puede recomendar las


siguientes páginas para consultar la sintaxis en la que se tenga dudas:

https://www.w3schools.com/python

https://www.programiz.com/python-programming/

https://www.guru99.com/

27
5. Operaciones matemáticas en Python

5.1. Operadores aritméticos


Durante la creación de programas es importante que nos concentremos en las ideas
generales para un proceso y no en los cálculos y operaciones numéricas, ya que esto es algo
que la computadora sabe hacer muy bien (si se los pedimos correctamente). A lo largo de
esta sección aprenderemos cómo plantear operaciones y lo relacionaremos con las
condicionales del capítulos 4. Posteriormente aprenderemos a guardar datos ingresados
con el teclado y con esto estaremos listos para la creación de una calculadora
personalizada. Primeramente pasaremos a ver cuáles son los operadores aritméticos y los
operadores relacionales.

Los operadores aritméticos son los elementos que relacionan dos números por una
operación matemática. En Python estas operaciones matemáticas son las siguientes:

Operador Sintaxis en Python Significado en


matemáticas
Suma a+b 𝑎+𝑏
Resta a-b 𝑎−𝑏
Multiplicación a*b 𝑎 × 𝑏 = 𝑎 ∙ 𝑏 = 𝑎𝑏
Potenciación a ** b 𝑎𝑏
División a/b 𝑎
𝑏
División entera a//b 𝑎
[ ]
𝑏
Módulo a%b 𝑎 mod 𝑏

La suma, resta, multiplicación y división son las que ya hemos trabajado previamente. La
potenciación es el uso de exponentes para abreviar la multiplicación, por ejemplo:

24 = 2 ∙ 2 ∙ 2 ∙ 2 = 16

La división entera a//b es como la división que conocemos, pero toma la parte entera, por
ejemplo:

5
= 2.5
2

y la parte entera es igual a 2. Por lo tanto

5//2=2

28
El módulo a % b hace la división de a entre b y el residuo es el resultado, por ejemplo

5
Esta es la división 2 en la cual se muestra que el residuo es igual a 1, por lo tanto

5%2=1
Usemos esto en la siguiente actividad:

Actividad 27. Tenemos el siguiente programa:

i) Diga qué hace el programa

ii) Modifique los valores de a y de b para que imprima 0 y 2

5.2. Interacción con el usuario


Llamamos usuario a quien utiliza el programa desde la terminal, la terminal es la
ventana inferior que aparece en el compilador online.

29
Si utilizas Python desde un archivo descargable (IDE) entonces es probable que la
terminal aparezca en una ventana aparte.

Para hacer programas más versátiles y que manejen la información dada, nos interesa que
el programa interactúe con el teclado. El objetivo de esta sección será lograr pedir al
usuario información que se escribirá con el teclado, y se almacene de alguna manera en
nuestro programa.

En Python es posible lograr esto mediante la función input() que significa entrada. La
función input() permite obtener texto escrito por teclado. Al llegar a la función, el
programa se detiene esperando que se escriba algo y se pulse la tecla Intro, como muestra
el siguiente ejemplo:

Como es muy habitual avisar al usuario qué es lo que queremos que ingrese por medio del
print(), Python también tiene una forma alternativa de hacer esto mismo de una manera
más corta:

A lo largo de este curso utilizaremos la segunda forma. Con este programa podemos ver
que dato almacena lo que se ha escrito con el teclado. El dato puede ser texto, números o
una combinación de éstos, sin embargo hay que saber que Python entiende que lo que

30
hemos ingresado siempre es una cadena de texto. Pruebe el programa para ver su
funcionamiento.

Actividad 28. Transcriba el siguiente programa en el compilador online de Python:

i) Pruebe el programa utilizando el teclado para ingresar los datos.

ii) Modifique el programa para añadir otra casilla que diga “Edad”.

iii) Con la idea del programa, crea tu propio listado para añadir a un amigo y su número
de teléfono manera de agenda.

El detalle con esta forma de capturar datos es que Python siempre entiende como que
estamos ingresando texto. Si quisiéramos entonces que Python entendiera que queremos
guardar números para manejarlos después, es necesario que “evaluemos el texto”, por
ejemplo:

En este programa se utiliza la función int() (recuerda que la palabra Integer significa
Entero). Esta función se encarga de transformar el dato en la forma

𝑡𝑒𝑥𝑡𝑜 → 𝑣𝑎𝑙𝑜𝑟 𝑒𝑛𝑡𝑒𝑟𝑜

de esta forma es que conseguimos operarlo de manera correcta.

31
Actividad 29. Transcriba el programa mostrado anteriormente:

i) Corra este programa y diga qué hace.

ii) En la línea 2 y 3 borre int() dejando solamente input(“Ingresa…: “). Corra el


programa ¿qué sucedió? ¿Puede explicar qué hace int()?

iii) Pruebe el programa con dos valores con puntos decimales. ¿Qué ocurrió?

iv) Modifique int() por float() y repita el inciso iii).

Como podemos ver de la actividad 29 la función int() convierte el dato ingresado en un


número almacenado. Nuevamente se recuerda que Int viene de la palabra en inglés
Integer que significa Entero y se llama así puesto que la conversión del dato es hacia un
número entero. Es por eso que en el inciso iii) pudimos ver que omitía la parte decimal de
los números. En el inciso iv) se corrigió este problema de los decimales con la función
float(), la cual transforma el dato escrito a un número con capacidad decimal.

Actividad 30. Transcribe el siguiente programa en el compilador online de Python:

i) Modifica la sección “Tu nombre” y “Tu edad” escribiendo tu nombre y tu edad. Prueba el
programa y di qué hace.

32
ii) ¿Los espacios en la línea 11 y 12 son necesarios?

iii) Añade una tercera opción para este menú con la información de la escuela a la que
perteneces.

iv) Añade una cuarta opción con la categoría que prefieras.

Como pudimos ver en esta actividad, los espacios en la línea 11 y 12 si son necesarios, esto
ocasiona que conforme vamos añadiendo más opciones el programa tiende a espaciarse a
la derecha. Sin mencionar que parece cansado estar escribiendo la forma:

else:

if(condición):

else:

if(condición 2):

Para evitar esto, Python tiene integrada una función llamada elif(): (como una fusión de
else, if). Un ejemplo del uso de esta función es el siguiente:

Una ventaja rápida que podemos ver de este método es que podemos copiar y pegar de
manera que podemos realizar un menú de opciones múltiples de una manera también más
rápida. Además de solucionar el problema de la tendencia del código a irse a la derecha.

Actividad 31. Adecúe el programa realizado en la actividad 30 utilizando ahora la función


elif():

33
Actividad 32 (Cambio de representación). Realice:

(i) un pseudocódigo de un menú de 4 opciones como el mostrado en el código

(ii) un diagrama de flujo de un menú de 4 opciones como el mostrado en el código.

5.3. Operaciones en Python.


En esta sección revisaremos la sintaxis correspondiente a las operaciones matemáticas. Es
de mucha utilidad que el programa haga los cálculos numéricos ya que la computadora es
especialmente rápida haciendo los cálculos.

El siguiente programa aplica la sintaxis de las operaciones descritas en la sección 51:

Actividad 33 (Leer del usuario). Transcriba el código mostrado.

i) ¿Qué hace el programa?

ii) Combine este código con el código realizado en la actividad 29 parte iv) para leer num1
y num2 dados por el usuario. Sugerencia: Haz primero un diagrama de flujo.

Utilizando este método también es posible calcular fórmulas, por ejemplo en la geometría
sabemos que el área de un círculo está dada por

34
𝐴 = 𝜋𝑟 2

y su circunferencia (o perímetro del círculo) está dada por

𝑃 = 2𝜋𝑟

Como vemos estas relaciones solo dependen del radio del círculo. (Recuerda que el
diámetro de un círculo es dos veces su radio.)

Un programa para calcular el área de un círculo y su perímetro dado el radio ingresado


por el usuario podría ser el siguiente:

Actividad 34. Escribir Pi = 3.14 en la línea 2 y modifique el programa cambiando 3.14 →


Pi en la línea 5 y 6. Pruebe el programa ¿hay alguna diferencia con el programa dado?

Actividad 35. Basándote en el programa mostrado para el círculo, realiza un programa


que dé el área de un rectángulo y su perímetro dada la base y la altura. Recuerde que

𝐴𝑟𝑒𝑎 = 𝑏 × 𝑎 𝑃𝑒𝑟í𝑚𝑒𝑡𝑟𝑜 = 2𝑏 + 2𝑎

35
Actividad 36. Se tiene que el volumen de un cono está dada por

1 2
𝑉= 𝜋𝑟 ℎ
3

Donde 𝑟 es el radio de la base y ℎ es la altura del cono, como se muestra en la siguiente


figura:

Realice un programa que calcule el volumen del cono y el área de la base circular, dados
los valores del usuario.

5.4. Creando nuestra propia calculadora personalizada


En las secciones 5.1 – 5.2 hemos aprendido las operaciones en Python así como leer
información ingresada con el teclado, en la sección 5.3 combinamos estas dos herramientas
para hacer programas que realizan cálculos de operaciones para obtener áreas y
volúmenes de figuras geométricas. Lo que seguirá a continuación es utilizar la toma de
decisiones de la sección 4 para crear una calculadora personal.

36
Proyecto. Crear una calculadora personal. (Formato semi-abierto)
Explicación: Con calculadora personal se refiere a que añadiremos las operaciones que
sean más necesarias para nosotros, puede ser algún cálculo relacionado a la materia de
matemáticas que estés usando activamente, o cualquier cosa que te interese, sin embargo
debe cumplir con los siguientes requisitos:

1. Debe contener al menos las operaciones:

• Suma
• Resta
• Multiplicación
• División

2. Después añadiremos 4 operaciones más (elección libre).

3. Debe contener un menú (formato libre) que permita al usuario acceder a cada operación.
Un ejemplo de un menú es el siguiente:

En este ejemplo, al presionar las teclas 1-8 se accede al programa específico para realizar
el cálculo descrito.

37
Formato de entrega: La entrega se realizará copiando el código finalizado del
compilador de Python

y lo pegaremos en un Bloc de notas

Finalmente, se entregará el documento .txt como el mostrado a continuación

38
Mediante un correo con tu nombre completo en el asunto.

Se envía a: [email protected]

39
Referencias bibliográficas

[1] Peter C. Norton, Alex Samuel (2005). Beginning Python. Whiley Publications. United
States.

[2] Preiss B.R. (2004). Data structures and algorithms in Python. Dover Publications.
United States.

[3] David Beazley (2001). Python essential reference [2nd ed]. New Riders Publications.
San Francisco. United States.

[4] Magnus Lie Hetland (2005). Beginning Python: From Novice to Professional [1 ed.].
Apress. New York. United States.

Sitios Web:

https://www.w3schools.com/python

https://www.programiz.com/python-programming/

https://www.guru99.com/

40

También podría gustarte