Resumen Python Modulo 5
Resumen Python Modulo 5
Contexto
Al abrir el intérprete python aparece una ventana en la que podemos escribir. La utilizaremos para
aprender algunos comandos en lenguaje python (instrucciones que la computadora debe ejecutar).
Si queremos que la computadora escriba una frase en la pantalla por ejemplo hola mundo, entonces
le daremos la orden para que lo haga, pero claro que la computadora no entiende español, ni inglés
ni ningún otro idioma de los que podemos hablar nosotros, solo entiende cosas como
1000101000100 111010010111010101000101 que nosotros no comprendemos. Por eso
necesitamos alguien que haga de intérprete, es decir que podamos escribir en un lenguaje “humano”
y el intérprete lo traduzca al lenguaje de la computadora (código de máquina) y ésta pueda ejecutar
lo pedido. Dicho “lenguaje humano” es un lenguaje de programación, en este caso python1.
Debemos conocer las palabras que hay en este lenguaje y cuáles son su sintaxis y su semántica, pero
antes diremos algunas palabras acerca de por qué utilizamos python. La razón principal es que se
encuentra instalado en todas las computadoras que el Plan Ceibal les entrega a los alumnos que
cursan enseñanza media. Esto lo convierte en una herramienta al alcance de estudiantes y profesores
ayudando a lograr los objetivos de la pasantía, es decir, integrar la algoritmia y la programación a
los cursos de matemática. Puede también instalarse el intérprete python en cualquier otra
computadora. Además, existe en las últimas versiones de GeoGebra un intérprete python que
interactúa con los objetos que se estén usando y permite ejecutar comandos y módulos sobre esos
objetos. Esta facilidad es muy reciente aún y no se ha desarrollado del todo y por eso no la hemos
incluido en este trabajo. Tampoco existe bibliografía suficiente sobre el tema, pero creemos que en
un futuro próximo será de gran utilidad y al haber usado python en esta pasantía podremos
aprovecharlo rápidamente. Pasamos ahora a describir cómo trabajar con el intérprete python.
Para comenzar abrimos el intérprete python en nuestra
pantalla, vamos al menú principal y solo hecemos click un par
de veces en:
Aplicaciones > Programación > Python
Ya tenemos una ventana lista para recibir órdenes en lenguaje
python, solamente hay que escribir y pulsar Enter.
escribes aquí
Ahora aprendamos algo del intérprete del lenguaje python. En la columna de la izquierda aparecen
los comando que deben escribirse en la pantalla y luego pulsar enter, también aparecerán las
respuesta que la computadora escribe en la pantalla, mientras que en la columna de la derecha
aclaraciones y comentarios sobre los comandos. El intérprete funciona como un evaluador de
expresiones: en python en español
>>> print “el area es ”, 2*5 Puedes probar varios ejemplos para entender la
el area es 10 sintaxis del comando print (por ejemplo la coma
antes de 2 * 5)
NO UTILICES TILDES
>>> print “el volumen: “, 2**3, “cm3”
el volumen: 27 cm3
Las variables son muy importantes en matemática y en programación, hay variables de muchos
tipos, numéricas, alfanuméricas, listas, boolenas, caracteres, etc... comencemos a darle valor a una
variable.
>>> a = 5 la variable a vale 5, esta línea es una asignación
>>> a para ver que esto es cierto...
5
>>> a == 4 ¿es a igual a 4?
False no lo es
La igualdad y la asignación
En matemática cuando queremos verificar que dos expresiones denotan el mismo valor, usamos el
signo de =. El resultado de la verificación es un valor booleano: verdadero o falso. Por ejemplo,
¿cómo se procede para al evaluar 3 + 1 = 2 + 2? Se realizan las operaciones para obtener la forma
canónica de las expresiones en ambos miembros de la igualdad, y si es la misma, el resultado es
verdadero, si no es falso.
Pero el signo de = se usa en matemática también con otro significado: cuando decimos “para x = 3
hallar 2 x + 1”, por ejemplo, pretendemos sustituir a la variable x por 3 en la expresión y hallar su
valor. Esta operación de sustituir a x por 3, se denomina asignación y a pesar de que es muy distinta
de la verificación de igualdad, en matemática se usa el mismo signo. Esto en programación es
inaceptable, dado que la computadora debe saber qué hacer (o verificar o asignar) y por lo tanto los
lenguajes de programación utilizan diferentes símbolos. En python, para la verificación de igualdad
se usa el signo = = mientras que para la asignación se usa el =.
Es decir que en la asignación (=) se evalúa la expresión a la derecha del = (con el valor anterior de
la variable a) y el resultado se asigna a la variable a (a la izquierda del signo de =).
El valor de una variable puede ser asignado por el usuario desde el teclado. Para ello se utiliza el
comando input, veamos un ejemplo.
Deseamos que el usuario pueda indicar el valor de una variable a la que llamaremos n.
Resumiendo:
hay dos formas de asignar valores a las variables, o bien directamente en el programa
o bien ingresados por el usuario.
Olvidar asignar valores a variables es causa frecuente de errores.
Un programa
Para hacer un programa, escribiremos primero todas las instrucciones (comandos) que debe realizar
la máquina, en el orden adecuado y luego decimos al intérprete python que las ejecute.
extensión .py
rut
a
Podemos hacerlo en cualquier carpeta, pero es importante recordar en cuál fue. En este caso, uno de
los siguientes, dependiendo de si es profesor o estudiante:
/home/Profesor/Documentos/Programas (/home/estudiante/matematica)
Después de escribir el programa y guardarlo tendremos un documento como el que vemos a
continuación. Los colores en las palabras se ven después de haber guardado el archivo con
extensión .py
Explicaremos cada paso, pero debes hacerlo utilizando el editor para asegurarte de que estás
cuidando cada detalle. Recordemos que son instrucciones para una computadora y cualquier
diferencia provocará un mal entendido y la culparemos “injustamente” por no hacer lo que
queremos.
comentario
En español
si el es negativo entonces
escriba “esta funcion no tiene raíces
reales" si no:calcule y . Muestre
los resultados
Comentar el programa
El signo # sirve para indicar que empieza un comentario, se puede escribir lo necesario para
entender el programa. Puede usarse una línea entera o escribir a la derecha de una instrucción.
Para hallar las raíces debemos calcular la raíz cuadrada del discriminante, pero si éste es negativo,
no podremos (porque buscamos raíces reales). Los lenguajes de programación proveen
instrucciones de selección que permiten seleccionar qué instrucciones ejecutar dependiendo de una
condición booleana. En python tenemos (observar que then se sustituye por :) :
Sintaxis: if condición-boolena:
instrucciones 2
else
instrucciones 2
condiciónF Semántica
booleana
instrucciones 2 Se evalúa la condición booleana
V
Si es Verdadera
se ejecutan las instrucciones 1
instrucciones 1
si es Falsa
se ejecutan las instrucciones 2
escribes aquí
Cambia directorio
cd
Otro camino
en
También podemos ejecutarlo desde el
computadora terminal. Directamente, es decir, sin
de estudiante ingresar al intérprete en un sola orden
escribiendo :
python raices.py
Al terminar la aplicación nos queda
abierta la terminal pero no está en
funcionamiento el intérprete python.
Trabajamos con funciones
def nombre_de_funcion
(entrada2): cuerpo
return salida
Si en el cuerpo se realizan cálculos sencillos, pueden devolverse directamente en salida (ver
definición de delta abajo)
Ejemplo 1:
Función delta, utilizada para calcular el discriminante
de una ecuación de segundo grado.
Entrada: Terna de números reales, (coeficientes)
Cuerpo: Cálculo de b2 – 4ac
Salida: Número real, resultado del cálculo anterior
(discriminante)
Uso de otra
función
Ejemplo 2:
Función cant, determina la cantidad de raíces reales
de una ecuación de segundo grado.
Entrada: Terna de números reales, (coeficientes)
Cuerpo: Calcula delta aplicando la función anterior3 a
los valores a, b y c. Según el valor de d (delta(a,b,c)),
cant devuelve 0, 1 ó 2.
Salida: Uno de los tres números 0, 1 ó 2.
Ejemplo 3:
Entrada: Terna de números reales, (coeficientes)
Cuerpo: Calcula cant usando la función anterior3
aplicada a los coeficientes
Salida: Par de números reales (las dos raíces reales)
Escribiremos en otro archivo el siguiente módulo en lenguaje python. Éste será un programa que
utilizará las funciones del módulo anterior.
Import mod_raices
Con este comando le decimos a la
computadora que vamos a utilizar las
funciones que están definidas en el módulo
“mod_raices.py” como se ve en la linea
función
mod_raices.cant (a, b, c)
parámetros
módulo
rr es un par, rr [0] y rr [1] son la primera y
segunda componente del par respectivamente.
El comando while
Se utiliza para repetir varias veces un mismo conjunto de instrucciones, como se puede ver en el
ejemplo anterior.
Semántica
condiciónF
booleana 1. Se evalúa la condición lógica
Si es verdadera
V se ejecutan las instrucciones
instrucciones
se vuelve al paso 1
Si no, finaliza.
Funciones sobre divisibilidad
Este módulo contiene varias funciones utilizadas en divisibilidad. Podemos escribirlo y guardarlo
con el nombre “divis.py” para luego poder utilizar cualquiera de estas funciones.
También...
¿Cuál es el MCD entre 6 y 15?
¿Cuáles son los divisores de 12?
¿Cuáles son los divisores comunes de 24 y 20?
Pensar en integrar la programación en los cursos de matemática, nos lleva a decir unas palabras
sobre la actividad de programar. Suele suceder que una vez que una persona aprende las nociones
básicas de un lenguaje de programación, y comienza a ejecutar programas, se genera una especie de
“círculo vicioso” por el cual la persona intenta corregir errores o mejorar su programa directamente
en la máquina, y su trabajo creativo de diseño de la solución del problema, queda relegado. Esto
tiene varias desventajas, destacaremos dos: por un lado, la corrección de un error suele generar
otros en otras partes del programa (que puede consistir de varios módulos), y por otro lado, se
produce un desfasaje entre la implementación y el diseño original, y suele ser difícil de reconstruir
la solución definitiva. Lo que es deseable y constituye una buena práctica de programación
recomendada por los académicos, es que frente a errores, se vuelva al diseño y se corrijan los
errores en la solución elaborada. Luego, se corrija la implementación.
Otra recomendación consiste en conocer las herramientas que provee el lenguaje utilizado y usarlas
correctamente. Muchas veces, un mismo resultado se logra utilizando distintas herramientas, y en
algunos casos, se logra el resultado esperado pero utilizándolas mal.
Ejemplo: sea el problema: dado un número n, hallar los múltiplos de n menores o iguales que una
cierta cota (en este caso la cota es 19*n). Un programa en python podría ser:
El exceso de comentarios es para ilustrar, conviene usar menos
Funciona. Sin embargo python provee otras herramientas que permiten hacer un programa más
cercano a la definición matemática de múltiplo, más corto, más sencillo y más eficiente:
El mismo tiene un error en el algoritmo, que es que denomina delta a la raíz de (b2 - 4 * a * c), por
lo tanto si ese valor es negativo el programa devolverá un error. Es recomendable revisar el diseño y
corregir el error en él, en vez de intentar corregir directamente en el programa. Muchas veces los
errores son más fáciles de encontrar en el diseño del algoritmo que en el programa, donde muchas
veces (la mayoría) una corrección puede generar otros errores y se vuelve difícil la corrección.
Posibles errores
Las letras no salen en color cuando estoy Debes guardar el archivo con extensión .py
escribiendo en el gedit”
Expresiones booleanas
Constantes: True, False
Operadores:
and - conjunción
or - disyunción
not – negación
Operadores relacionales
= = (igual)
! = (distinto)
< = (≤, menor o igual)
> = (≥, mayor o igual)
> (mayor)
< (menor)