Professional Documents
Culture Documents
EXPRESIONES
MATEMTICAS
INTRODUCCIN
El objetivo del curso es aprender las nociones bsicas
de programacin
Programar significa escribir rdenes o
instrucciones para que un computador pueda
ejecutarlas
Como los computadores no son mquinas inteligentes,
necesitamos escribir estas instrucciones en un
lenguaje que este pueda comprender
Para ello usaremos.
EXPRESIONES
MATEMTICAS
Uno de los primeros pasos para aprender un
lenguaje de programacin es el uso de este para
realizar aritmtica bsica
Para ello Python nos provee de los operadores
matemticos binarios bsicos:
Suma (+)
2 + 2 = 4
Resta (-)
4 5 = -1
Multiplicacin (*) 3 * 4 = 12
Divisin (/)
8 / 2 = 4
EXPRESIONES
MATEMTICAS
+ 1 = 1
- 6 = -6
EXPRESIONES
MATEMTICAS
Supongamos que tenemos la expresin:
EXPRESIONES
MATEMTICAS
Los resultados calculados por nosotros
y por Python son distintos por dos
motivos:
La precedencia de operadores, es decir,
el orden en que Python resuelve la
operacin
El tipo de dato, que corresponde al
conjunto de nmeros en donde Python
entrega el resultado
PRECEDENCIA DE
OPERADORES
PRECEDENCIA DE
OPERADORES
Para alterar las reglas de precedencia, podemos
utilizar parntesis, al igual que en matemticas
Por ejemplo, la operacin anterior:
2 + 2 / 4 * 9 12 * 3
Podemos escribirla de la siguiente forma para que
tenga la misma precedencia de la expresin
matemtica:
2 + 2 / (4 * 9) 12 * 3
Pero seguimos sin obtener el resultado deseado
TIPOS DE DATOS
Esto ocurre porque en la expresin todos los
nmeros con los que se opera son enteros
Para Python, si una expresin slo tiene nmeros
enteros, entonces se asume que el usuario quiere
una respuesta del mismo tipo
Es comn en los lenguajes de programacin indicar
el tipo de dato, pues no slo se trabaja con nmeros,
sino tambin con letras, booleanos (verdadero y
falso) y otros tipos de datos ms complejos
Veamos ahora las distintas representaciones que
Python ofrece para los nmeros
TIPOS DE DATOS
En Python existen tres clases de nmeros:
Enteros (int): para enteros en el intervalo [2147483648, 2147483647]
Enteros largos (long): para enteros fuera del rango
de los enteros de 4 bytes (ej: 50394034940032L)
Flotantes o float: para nmeros no enteros, no son
iguales a los nmeros reales (ej: 2.54)
TIPOS DE DATOS
Como Python prefiere mantener el tipo
de dato
Si se operan dos enteros, entonces Python
intentar devolver un resultado entero
Pero si se combinan tipos numricos en una
expresin aritmtica, Python generaliza
todos los valores involucrados en la
subexpresiones a evaluar antes de operarlos
Enteros largos son ms generales que los
enteros
Los flotantes son ms generales que los
enteros largos y los enteros 11
TIPOS DE DATOS
Si escribimos el ejemplo de esta forma:
2 + 2 / (4.0 * 9) - 12 * 3
Nos entrega el mismo resultado que la calculadora,
debido a que:
Hemos modificado la precedencia para que
calcule la multiplicacin previo a la divisin
La primera operacin (4.0 * 9), resulta en un
flotante, por lo que toda la expresin se va
transformando a flotante paso a paso
12
TIPOS DE DATOS
2 + 2 / (4.0 * 9) - 12 * 3
2 + 2 / 36.0 12 * 3
2 + 0.05555555555555555 12 * 3
2 + 0.05555555555555555 36
2.05555555555555555 36
-33.944444444444443
13
TIPOS DE DATOS
Ntese que si ponemos
el flotante en otra parte 2.0 + 2 /(4 * 9) - 12 * 3
de la expresin el
2.0 + 2 / 36 - 12 * 3
resultado sigue
siendo errado
2.0 + 0 - 12 * 3
Debido a que el cambio
de tipo no afecta a la
expresin
2 / 4 * 9
Por lo que Python la
evala como una
expresin entera y slo
2.0 + 0 36
2.0 36
34.0
14
RECORDANDO VALORES
Supongamos que el resultado de la expresin anterior
es parte de una expresin ms grande, por ejemplo:
ASIGNACIN
Para ello podemos usar la asignacin, que es una
sentencia con la siguiente estructura:
<Identificador> = <expresin>
ASIGNACIN
Una asignacin es una sentencia con la siguiente
estructura:
<Identificador> = <expresin>
Reglas de un
identificador:
El primer carcter no
puede ser un dgito
Puede llevar letras, dgitos
y el carcter subrayado ( _
)
No puede coincidir con
palabras reservadas:
and, assert, break,
class, continue, def,
del, elif, else, except,
exec, finally, for, from,
Puede ser
un valor constante (un
nmero o texto)
una operacin entre
nmeros
una operacin entre
variables y constantes
previamente
declaradas
Mezcla entre
17
operaciones,
variables
ASIGNACIN
Entonces, para la expresin anterior, podemos definir:
NUMERO_PI = 3.1415926535897931
expresion = 2 + 2 / (4.0 * 9) - 12 * 3
resultadoFinal = NUMERO_PI ** expresion
Que es equivalente a:
3.1415926535897931 ** (2 + 2 / (4.0 * 9) - 12 * 3)
CONSTANTES Y
VARIABLES
El valor de fue asignado al identificador NUMERO_PI,
el cual est escrito en maysculas, esto ocurre porque
es una constante
Las constantes se escriben con maysculas y
separando las palabras con guiones bajos (_) y
representan valores que no cambian en el
programa
En cambio tanto expresion como resultadoFinal se
escriben con minsculas, debido a que son variables
Las variables se escriben en minsculas y
capitalizando la primera letra de la segunda
palabra si tiene ms de una y representan
valores
19
que pueden cambiar o sobreescribirse en un
COMANDO PRINT
Para ver el contenido de una variable o
constante, definida previamente, podemos
usar el comando print
print resultadoFinal
EVALUANDO EXPRESIONES
Qu resulta si intentamos evaluar en
Python las siguientes expresiones:
2 + 4/(8 - 2**3)
2(4 + 5 ** 3 3 * 2 +5)
2 (4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3)
EVALUANDO EXPRESIONES
Qu resulta si intentamos evaluar en
Python las siguientes expresiones:
2 + 4/(8 - 2**3)
2(4 + 5 ** 3 3 * 2 +5)
2 (4 *(5 / 4) + 5 + (2 ** (4 + 2) 3)))
EVALUANDO EXPRESIONES
Qu resulta si intentamos evaluar en
Python las siguientes expresiones:
1) 2 + 4/(8 - 2**3)
2) 2(4 + 5 ** 3 3 * 2 +5)
3) 2 (4 *(5 / 4) + 5 + (2 ** (4 + 2) 3)))
ERRORES
Cundo Python encuentra algo que
no hace sentido, nos lo notifica a
travs de la indicacin de un error,
por ejemplo para el primer caso:
2 + 4/(8 - 2**3)
ZeroDivisionError: integer division or
modulo by zero
ERRORES
Algunos errores, no se notifican con
tanto detalle, como por ejemplo
aquellos que Python indic como:
SyntaxError: invalid syntax
En este caso, Python no intent
ejecutar lo solicitado, pues encontr
un error antes de ello, en la sintaxis
del cdigo
ERRORES
Finalmente, si evaluamos la ltima
expresin y le quitamos dos parntesis al
final
2 -(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3)
CONTENIDOS DE HOY
Operadores matemticos
Precedencia de operadores
Variables y constantes
Errores en Python
Comando print
28
CONSULTAS
?
29