Download Manual rápido para evaluación de series en Python

Document related concepts

Printf wikipedia , lookup

AWK wikipedia , lookup

Julia (lenguaje de programación) wikipedia , lookup

Funciones de parte entera wikipedia , lookup

Tipo de dato wikipedia , lookup

Transcript
Universidad de San Carlos de Guatemala
Facultad de Ciencias Químicas y Farmacia
Laboratorio de Matemática V
Manual rápido para evaluación de series en Python
Breve introducción
Python es un lenguaje de programación interpretado con fines científicos, de
educación y para hacer programas de uso rápido. Es la base sobre la que han
hecho muchas aplicaciones (e.g. aplicaciones de NASA, Gmail, Astra-Zeneca,
etc.). Su facilidad de uso se basa en su sintaxis simplificada y en su poca
formalidad en lo que se refiere a definición de variables y manejo de objetos.
También es muy flexible a la hora de trabajar en varios sistemas operativos (OS X,
Windows, Linux), puesto que puede ser ejecutado en todos y de la misma
manera. Finalmente, su mayor ventaja es su precio. Este es gratis para cualquiera
que desee descargarlo, además de que existen numerosos manuales y tutoriales
en línea para poder aprender a usarlo. En general, es el lenguaje que se está
introduciendo al ámbito científico.
Algunos conceptos clave
Como todo lenguaje de programación, se debe de saber algunos conceptos
clave antes de comenzar a dar los primeros pasos. Entre ellos está el hecho de
que en Python no se declaran variables. Eso significa que no se debe de estar
diciendo qué variable del programa va a servir para qué o de qué manera. En
vez de eso la estrategia es un enfoque más matemático. Tampoco se utilizan
llaves o marcadores de inicio y final a la hora de trabajar con funciones más
avanzadas. En vez de eso se utiliza solo el espacio en blanco. Para los que saben
de programación, esto resultará un poco extraño al principio. Para los que no
saben, disfrútenlo; la experiencia es más agradable de esta manera.
Primeros Pasos y Hola Mundo!
Para comenzar a dar los primeros pasos, se puede comenzar con operaciones
matemáticas sencillas. Estas las puede realizar el intérprete de manera rápida y
fácil.
Algo un poco más complicado es el uso de
cadenas o strings. Estas no son más que texto que
se representa entre comillas en el programa. Por
ejemplo, una cadena podría ser “Hola, que tal?”.
Sin embargo, escribir esto en el programa y dejarlo
allí no resulta algo útil. Pedirle al intérprete que
devuelva esto en la pantalla es el primer paso para
comenzar.
Rony J. Letona
>>> 3 + 2
5
>>> 7 - 8
-1
>>> 1.2 * 3.87
4.644
>>> x = 5
>>> x
5
>>> -5 > 3
False
1
Universidad de San Carlos de Guatemala
Facultad de Ciencias Químicas y Farmacia
Laboratorio de Matemática V
>>> print "Hola mundo!"
Hola mundo!
En el caso del programa “Hola mundo!”
entramos en contacto, por primera vez, con una
función del lenguaje: print. Cada lenguaje tiene
una pequeña colección de funciones y en este
caso vamos a revisar algunas de ellas.
Tipos de Datos
En Python se tienen diferentes tipos de datos con los que se puede trabajar. Entre
ellos están los enteros, los puntos flotantes (números con decimales), las cadenas,
las listas, los diccionarios, etc. Solo con los mencionadas aquí es más que
suficiente para hacer programas sencillos. Veamos, pues, un ejemplo de cada
uno.
Tipo
Booleanos
Ejemplo
True, False
Enteros
1, 2, 3, -7, 0, 14, 100
Puntos Flotantes
(Números con
decimales)
Largos
Complejos
2.718281828459045,
3.141592653589793,
3.333333333333333
2147483648,
5124328762
5-2j, 3.5+8.7j
Cadenas
“hola”, “me llamo”
Listas
[1,2,3,-5,2.3,”a”]
Diccionarios
{'hey': 5, 'hola': -2}
Rony J. Letona
Explicación
Si se recuerdan de sus tablas de
verdad, para esto sirven.
Números enteros como todos los
conocemos.
Los números con decimales también
los conocemos. En el caso de Python,
este utiliza 15 decimales siempre.
Números enteros mayores a
2147483647.
Números complejos. En vez de i se
utiliza la j por razones de más fácil
lectura.
Texto. Este se escribe entre comillas
para que no se confunda con las
variables.
Colecciones de datos que pueden
contener cualquier tipo de dato.
Tipo especial de colección que
merece más que una breve
explicación.
2
Universidad de San Carlos de Guatemala
Facultad de Ciencias Químicas y Farmacia
Laboratorio de Matemática V
Funciones importantes
A continuación se exponen una serie de funciones del lenguaje, su explicación y
un ejemplo de su uso.
import
print
range(i,j,n)
for i in [a,b,c]:
def
return
if, else
while
Función para importar otros módulos
o paquetes que permiten hacer otras
cosas con el lenguaje.
Función para mostrar en pantalla un
valor o una cadena.
Función para crear secuencias.
i … indica el inicio de la secuencia
j … indica el final de la secuencia
n … indica cómo debe de ir en
aumento o disminución
Función que permite repetir cierta
parte del programa por un número
definido de veces. También conocida
como una función para hacer ciclos.
Función que le sirve al usuario para
definir nuevas funciones.
Función que devuelve un valor y
termina una función definida por el
usuario.
Funciones de condición. Estas sirven
para evaluar qué hacer en el caso de
una decisión.
Función que permite repetir cierta
parte del programa por un número
indefinido
de
veces.
También
conocida como una función para
hacer ciclos. Necesita una condición
para terminar.
>>> import math
>>> math.sin( math.pi / 2)
1.0
>>> print "El numero pi se
puede ver como", math.pi
El numero pi se puede ver
como 3.14159265359
>>> range(2,15,2)
[2, 4, 6, 8, 10, 12, 14]
>>> for i in range(0,10,2):
print i
0
2
4
6
8
>>> def f(x):
return 3 * x - 2
>>> print f(4)
10
>>> x = 5
>>> if x == 4:
print "Es 4!"
else:
print "No es 4!"
No es 4!
>>> while x > 0:
print x
x=x-1
5
4
3
2
1
Con esto en mente ya se pueden construir programas sencillos.
Rony J. Letona
3
Universidad de San Carlos de Guatemala
Facultad de Ciencias Químicas y Farmacia
Laboratorio de Matemática V
Series
Ahora ya entrando en materia, veamos cómo se puede utilizar esto para evaluar
series. Estudiaremos, para eso, 2 series y a partir de eso ya podremos hacer las
demás.
Caso 1
!
!! + 5
!!!
Este caso es relativamente sencillo. Se trata de una sumatoria de la función x2+5
de 0 a n. Entonces, debemos descomponer esto en pasos.
Primero, la serie completa es una función que devuelve un valor en particular. Por
ello, lo primero que debemos hacer es definir una función nueva. Para esto
debemos considerar que la función requiere 2 variables. El número de donde
comienza, y el número en que termina.
Ahora, estableceremos una variable como control. Para ello le daremos el valor
de 0 y a ella le iremos sumando, cada vez, lo que produzca la función.
Posteriormente, sabemos que la suma de
términos es algo repetitivo; como un ciclo.
Para ello utilizaremos la forma de ciclo más
sencilla: for. Notemos que al crear el rango
debemos de utilizar un número una unidad
más arriba de lo que introducimos, porque el
lenguaje nunca llega al último número.
Finalmente introducimos nuestra función
matemática (x2+5) y le decimos a la función
en el programa que devuelva el resultado
de la suma.
>>> def serie(inicio,final):
control = 0
for x in range(inicio, final + 1):
control += x**2 + 5
return control
>>> serie(0,4)
55
>>> serie(0,5000)
41679192505L
Ahora, a probarla!
Rony J. Letona
4
Universidad de San Carlos de Guatemala
Facultad de Ciencias Químicas y Farmacia
Laboratorio de Matemática V
Caso 2
!
1
!
!!!
!!
Este caso es un poco más complicado. Se trata de una sumatoria de una función
más complicada de 0 a n. Procedamos, entonces, de la misma manera:
descomponiendo en pasos.
Si ponemos atención detenidamente, lo que cambia es la función matemática
nada más. La manera en la que se opera la serie no cambia para nada. Por esta
razón, esta serie es casi igual a la función que habíamos hecho previamente. La
diferencia está en la expresión matemática. ¿Cómo se hace entonces?
Para simplificarnos un poco el proceso, importaremos el paquete de funciones
matemáticas básicas. De esta manera no tendremos que ir a buscar el valor de e
para ingresarlo en el programa. Ahora, es solo cuestión de entender que una raíz
es una potencia fraccionaria. Representamos la función matemática dentro de la
sumatoria de la siguiente manera:
Notemos que al colocar la
fracción en la potencia
incluimos un punto. Esto no
es un error. Es para que el
lenguaje no tome a la
fracción como una división
de enteros, sino como una
división decimal.
Por último nos disponemos
a evaluar. Intuitivamente
sabemos que la serie
converge.
!
!!
!/!
>>> import math
>>> def serie(inicio,final):
control = 0
for x in range(inicio, final + 1):
control += 1 / ( math.e ** x ) ** (1/3.)
return control
>>> serie(0,10)
3.437552375770048
>>> serie(0,500)
3.527726473157129
Éxitos evaluando! Nos vemos para la siguiente!
Rony J. Letona
5