Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Clase1

825 views

Published on

  • Be the first to comment

  • Be the first to like this

Clase1

  1. 1. Algoritmos y Programación Clase 1: Repaso de Python www.unaj.edu.ar
  2. 2. Algoritmos y Programación Clase 1 - Temario • Conceptos Básicos: – Python – Variable – Tipos de Datos – Listas – Tuplas – Módulos – Funciones • Estructuras de control: – Condicionales: if, if-else, if-elif-else. – Iterativas: while y for. www.unaj.edu.ar
  3. 3. Algoritmos y Programación Lenguaje Python • Lenguaje Python – Software Libre – Interpretado – Formas de ejecución • Usando el modo interactivo obteniendo una respuesta por cada línea. Sesión interactiva o • Escribiendo el código de un programa en un archivo de texto y luego ejecutándolo. – Tipado dinámico y fuerte www.unaj.edu.ar
  4. 4. Algoritmos y Programación Antes de empezar... print “Hola” print 2 +1 print 3*3 ….. “Hola”, 2, 1, 3,-- son valores. El valor es uno de los elementos fundamentales que manipula un programa. www.unaj.edu.ar
  5. 5. Algoritmos y Programación Variable • Una variable es un nombre que representa o refiere a un valor. Ejemplo: >>> x = 3 El nombre “x”, representa el valor 3 • Una variable sirve para generalizar los valores. • Su uso es similar al que le damos en matemáticas • Pueden sustituirse por cualquier valor. • En Python las variables no se declaran. • Simplemente, se usan. www.unaj.edu.ar
  6. 6. Algoritmos y Programación Variable • El nombre de las variables pueden contener letras, dígitos y “_” . Deben comenzar con letra. MiVariable 1MiVariable MiVar1 “miVar” ¡¡Correctos!! ¡¡Incorrectos!! mi_var1 mi_va** Importante: Hay que asignarle un valor a una variable antes de poder utilizarla. En Python HAY diferencia entre mayúsulas y minúsculas: variable miVar es distinto de variable MiVar. www.unaj.edu.ar
  7. 7. Algoritmos y Programación Variable Ej. de uso de variable sin un valor previo Ej. de uso de mayúscula y minúscula www.unaj.edu.ar
  8. 8. Algoritmos y Programación Tipo de datos Definición: Un Tipo de datos define un conjunto de valores y las operaciones válidas que pueden realizarse sobre esos valores –Conjunto de valores: •Representa todos los valores posibles que puede llegar a tomar una variable de ese tipo –Operaciones permitidas: •Establece qué operaciones son válidas para los datos pertenecientes a dicho tipo www.unaj.edu.ar
  9. 9. Algoritmos y Programación Tipos Básicos -Python Lenguaje Enteros Tipo int Se almacenan en 32 bits y el rango de valores es de -2.147.483.648 a 2.147.483.647 Tipo long Permite almacenar números más grandes Se almancenan en 64 bits y el rango de valores es de -9.233.372.036.854.775.808 a 9.233.372.036.854.775.807 >>> var_ent1= 32 >>> var_ent2= 32L www.unaj.edu.ar
  10. 10. Algoritmos y Programación Tipos Básicos - Enteros Al asignar un número a una variable, le asociará el tipo “int” en caso que su valor entre en 32 bits, caso contrario reserva automáticamente para un “long”. Miremos este caso: Entero Entero ¿Qué largo pasó? www.unaj.edu.ar
  11. 11. Algoritmos y Programación Tipos Básicos - Reales • Permite trabajar con valores con coma decimal. • Se representan mediante el tipo float. • Se almancenan en 64 bits. • El rango de valores es de: • ±22250738585072020 x 10-308 a • ±17976931348623157 x 10308 Notación científica. >>> var_real1= 0.2703 Equivale al número: >>> var_real2= 0.1e-3 0.1 x 10-3 =0.1x0.001=0.0001 Para el caso de necesitar representar fracciones de forma más precisa, se cuenta con el tipo decimal, desde la versión 2.4 de Python www.unaj.edu.ar
  12. 12. Algoritmos y Programación Operadores aritméticos • Operaciones que pueden hacerse sobre variables numéricas y números. Operador Descripción Operadores aritméticos + Suma - Resta * Multiplicación / División - Negación ** Exponente // División entera % Resto de la división www.unaj.edu.ar
  13. 13. Algoritmos y Programación Tipos Básicos - Booleanos • Se los utiliza para indicar valores de verdad • Permiten dos únicos valores: – True – False • Operadores lógicos: and, or, not and True False or True False not True True False True True True True Flase False False False False True False False True www.unaj.edu.ar
  14. 14. Algoritmos y Programación Tipos Básicos - Booleanos • Operadores relacionales: ==, !=, <, <=, >, >= •x=2; y=3 Operador Descripción Ejemplo Resultado False == ¿x es igual a y? x==y != ¿x es distinto a y? x!=y True ¿x es menor que y? x<y < True ¿x es mayor que y? x>y > False ¿x es menor o igual x<=y <= que y? True ¿x es mayor o igual x>=y >= que y? False www.unaj.edu.ar
  15. 15. Algoritmos y Programación Tipos Básicos - Cadenas • No todos son números.... • Usamos cadenas de caracteres para valores que representan: – Nombres de personas, países, ciudades – Direcciones postales, de mail, – Mensajes, – Etc. • Ejemplos: • “Juan Pérez”; “Argentina”; “calle 50 y 120”; “ juan.perez@gmail.com”, “Hola que tal” www.unaj.edu.ar
  16. 16. Algoritmos y Programación Tipos Básicos - Cadenas • Secuencia de caracteres (letras, números, marcas de puntuación, etc.) • Se encierran entre comillas simples o comillas dobles “ ” • Algunos operadores: + Concatenación * Repetición + operador de concatenación entre dos cadenas * operador de repetición de cadenas www.unaj.edu.ar
  17. 17. Algoritmos y Programación Tipos Básicos - Cadenas • Operadores de comparación: ==, !=, >, <, >=,<= Ejemplos: >>> pepe == pepe true >>> “juan”<”ana” false • Python utiliza un criterio de comparación de cadenas muy natural: el órden alfabético • Python utiliza los códigos ASCII de los caracteres para decidir su orden www.unaj.edu.ar
  18. 18. Algoritmos y Programación Tipos Básicos - Cadenas •Funciones predefinidas que manipulan cadenas: Funciones Descripción Ejemplo Resultado Convierte una cadena int numérica a un valor entero int(“123”) 123 Convierte una cadena float numérica a un valor real float(“123”) 123.0 Devuelve el código ASCII ord de la cadena ord(“a”) 97 Devuleve el carácter chr correspondiente al valor chr(“89”) “T” ASCII Convierte un valor entero a str una cadena de caracteres str(123) “123” www.unaj.edu.ar
  19. 19. Algoritmos y Programación Tipos Básicos - Cadenas  Para saber el órden que ocupa un carácter se cuenta con las funciones predefinidas “ord()” y “chr()”, su función inversa. Notar que: N<a!!! www.unaj.edu.ar
  20. 20. Algoritmos y Programación Tipos Básicos - Cadenas Otras cosas útiles.... Funciones Descripción Ejemplo Resultado Convierte los caracteres de pal=”HOLA” a.lower la cadena a a minúsculas print pal.lower “hola” Convierte los caracteres de pal=”hola” a.upper la cadena a a mayúsculas print pal.upper “HOLA” www.unaj.edu.ar
  21. 21. Algoritmos y Programación Tipos Básicos - Cadenas Longuitud de las cadenas – Uso de función predefinida len() len() devuelve longuitud 0 len( ) devuelve longuitud 1 www.unaj.edu.ar
  22. 22. Algoritmos y Programación Tipos Básicos - Cadenas Accediendo a los caracteres de las cadenas cadena = Hola que tal El operador : (slicing), nos permite obtener subcadenas. [:] devuelve toda la cadena Indices negativos, recorren de derecha a izquierda la cadena www.unaj.edu.ar
  23. 23. Algoritmos y Programación Tipos Básicos - Cadenas Cadenas que ocupan más de una línea: Uso de Cadenas que ocupan más de una línea www.unaj.edu.ar
  24. 24. Algoritmos y Programación Listas • Colección ordenada de datos • Puede contener cualquier tipo de datos, inclusive listas. • Ejemplos Lista1=[] Lista2=[1,2,3] Lista3=[1, “Hola”] Lista4= [22, True, una lista, [1,7]] www.unaj.edu.ar
  25. 25. Algoritmos y Programación Listas ¿Cómo accedemos a los elementos de la lista? • Indicar el índice del elemento (posición dentro de la lista), entre corchetes []. • Ejemplo: – print Lista2[2] – Lista4[1] = False, esto provoca que el 2do elemento de la lista se cambie • IMPORTANTE: los índices comienzan en 0. www.unaj.edu.ar
  26. 26. Algoritmos y Programación Listas Lista4= [22, True, una lista, [1,7]] • Para acceder a elementos “listas”, se debe usar también []. El primero indica posición de la lista exterior, los otros indican posición de las listas interiores. Ej.: Lista4[3][1], devuelve 7 • Se pueden usar indices negativos. En ese caso se comienza a contar desde atrás. Ej.: Lista4[-3], devuelve True www.unaj.edu.ar
  27. 27. Algoritmos y Programación Listas lis1= [22, True, una lista, [1,7]] Descripción Ejemplo Resultado Agrega un elemento al [22, True, una append final de la lista lis1.append(4) lista, [1,7],4] Cuenta la aparición de count un elemento de la lista lis1.count(22) 1 Devuelve la posición lis1.index(‘una index de un elemento dentro lista’) 2 de la lista del Elimina un elemento del lis1[2] [22, True, [1,7]] www.unaj.edu.ar
  28. 28. Algoritmos y Programación Listas lis1= [22, True, una lista, [1,7]] Slicing: –Permite seleccionar porciones de listas: – Para seleccionar parte de una lista se debe colocar inicio:fin. Indica que queremos la parte de la lista que comprende desde el elemento inicio hasta el elemento anterior a fin. NO incluye al elemento cuyo índice es fin. Ej.: lis1[1:3], devuelve la lista [True,una lista] – Si no se pone inicio o fin, se toma por defecto las posiciones de inicio y fin de la lista. Ej.: lis1[ :2], devuelve la lista [22,True] lis1[2:], devuelve la lista [una lista,[1,7]] www.unaj.edu.ar
  29. 29. Algoritmos y Programación Tuplas ¿ Qué es una tupla? • Son colecciones de datos ordenados . • Se definen de la siguiente manera: Tupla1=1,2 ó Tupla1=(1,2) • Las usamos muy seguido.... más adelante lo veremos.. • Se parecen a las listas sólo que son INMUTABLES: No se las puede modificar www.unaj.edu.ar
  30. 30. Algoritmos y Programación Tuplas ¿Cómo accedemos a los elementos de la tupla? Similar a las listas....se usan los [] Ej.: tupla1=(1,2) tupla1[1] devuelve 2 www.unaj.edu.ar
  31. 31. Algoritmos y Programación Tuplas • Las tuplas pueden contener elementos mutables, ej. listas tupla[2] es una lista, tipo mutable, por lo tanto se puede cambiar el contenido de la lista www.unaj.edu.ar
  32. 32. Algoritmos y Programación Módulos • Son archivos de texto cuya extensión es: .py, .pyc o .pyw • Contienen instrucciones Python • Se los puede ejecutar cuantas veces se quiera • Se los puede importar y usar desde otros módulos www.unaj.edu.ar
  33. 33. Algoritmos y Programación Sentencia import • Por ejemplo se pueden importar funciones matematicas con: import math • Con import se importan módulos. • Forma general import nombre_modulo www.unaj.edu.ar
  34. 34. Algoritmos y Programación Sentencia import ¿Qué significa “importar” un módulo? import nombre_modulo • Se tiene “acceso” a las funciones definidas dentro del módulo. • Para invocar a estas funciones: nombre_modulo.nombre_funcion www.unaj.edu.ar
  35. 35. Algoritmos y Programación Funciones def nombreFuncion(parametros): sentencias El cuerpo de la return <expresion> función debe estar indentado! Ejemplo sencillo: def cuadrado(x): return x **x x es un parámetro de la ¿Cómo lo usamos? función y estos siempre print cuadrado(3) son una copia del objeto a=2+cuadrado(9) pasado • www.unaj.edu.ar
  36. 36. Algoritmos y Programación Funciones Mis Funciones www.unaj.edu.ar
  37. 37. Algoritmos y Programación Variables locales y globales x=12 a=13 def mi_funcion(a): x=9 a=10 Variables locales enmascaran las globales Acceso a las globales mediante global def miFuncion(a): global x x=9 a=10 www.unaj.edu.ar
  38. 38. Algoritmos y Programación Estructuras de Control www.unaj.edu.ar
  39. 39. Algoritmos y Programación Decisiones …. Sentencias condicionales: Permiten comprobar condiciones y que el programa se comporte de una manera u otra, de acuerdo a esa condición. if If .. else If .. elif.. elif.. else www.unaj.edu.ar
  40. 40. Algoritmos y Programación Sentencia if Sentencia if: Sentencia condicional más simple. • Permite tomar decisiones sencillas. Condición if x > 0: print "x es positivo" La indentación indica que esas sentencias deben ejecutarse si la condición se cumple www.unaj.edu.ar
  41. 41. Algoritmos y Programación Sentencia if Ejemplo Atención a la indentación www.unaj.edu.ar
  42. 42. Algoritmos y Programación Decisiones …. Sentencia if-else • Permite establecer las acciones necesarias cuando la condición NO se cumple. • Ejemplo: Operador % (módulo) www.unaj.edu.ar
  43. 43. Algoritmos y Programación Decisiones …. Sentencia if-elif ¿Qué pasa cuando hay más de dos condiciones? Ejemplo: Aquí aparecen varias condiciones ¿A qué valores excluyentes. referencia el else? www.unaj.edu.ar
  44. 44. Algoritmos y Programación Iteraciones Bucles: Permiten ejecutar cierto código un número reiterado de veces hasta que se cumpla una condición. Python tiene dos sentencias iterativas: while for .. in www.unaj.edu.ar
  45. 45. Algoritmos y Programación Iteramos con for Forma general: for variable in lista de Valores: sentencias • La variable toma todos los elementos que aparecen en la lista de valores y luego termina la iteración www.unaj.edu.ar
  46. 46. Algoritmos y Programación Iteramos con for ¿Vamos a nuestro ejemplo? pygame.draw.rect(ventana,(255,0,0),(x,x,20,20), 0) • Si analizamos..... pygame.draw.rect(ventana,(255,0,0),(x,x,20,20), 0) x=x+20 www.unaj.edu.ar
  47. 47. Algoritmos y Programación Iteramos con for Función range(): Devuelve una lista de números enteros. • Formas de usarla: • 1 argumento: range(5), devuelve [0,1,2,3,4] - Desde 0 hasta el argumento – 1 • 2 argumentos: range(2,5), devuelve [2,3,4] - Desde el arg.1 hasta el arg.2 – 1 • 3 argumentos: range(2,5,2), devuelve [2,4] Desde el arg.1 hasta el arg.2 – 1, pero con un incremento de 2) www.unaj.edu.ar
  48. 48. Algoritmos y Programación Iteramos con for • Volviendo a nuestro ejemplo... range(10, 190,20): Valor inicial: 10 Valor Final 190 [10, 30, 50, 70, 90, 110, 130, Incremento: 20 150, 170, 190] www.unaj.edu.ar
  49. 49. Algoritmos y Programación Iteramos con for Para prestar atención... Las sentencias dentro del for están indentadas La variable color se asigna uno u otro valor de acuerdo a si x es múltiplo o no de 20 La instrucción que dibuja el rectángulo se ejecuta siempre www.unaj.edu.ar
  50. 50. Algoritmos y Programación Sentencia while Forma general: while condición: sentencias • La condición se evalúa cada vez y mientras sea verdadera la iteración continúa. • Importante: La condición DEBE hacerse falsa en algún momento.¿Qué pasa si esto no sucede? www.unaj.edu.ar
  51. 51. Algoritmos y Programación Sentencia while ¿Seguimos con nuestro ejemplo? • Debemos iterar desde el valor 10 hasta el 190. Por lo tanto, la condición podría ser: x<=190. www.unaj.edu.ar
  52. 52. Algoritmos y Programación While vs for • Ambas son sentencias iterativas • En ambas sentencias, las acciones ejecutadas en el bucle deben estar indentadas • Diferencia: – La sentencia while evalúa una condición que debemos asegurarnos se haga falsa en algún momento – La sentencia for, itera un número fijo de veces: hasta que la variable tome todos los posibles valores de la lista. www.unaj.edu.ar

×