Algoritmos y Programación                            Clase 1:               Repaso de Python                              ...
Algoritmos y Programación                            Clase 1 - Temario               • Conceptos Básicos:                 ...
Algoritmos y Programación                 Lenguaje Python                • Lenguaje Python                    – Software L...
Algoritmos y Programación                 Antes de empezar...               print “Hola”               print 2 +1         ...
Algoritmos y Programación                 Variable         • Una variable es un nombre que representa o           refiere ...
Algoritmos y Programación                 Variable         • El nombre de las variables pueden contener letras,           ...
Algoritmos y Programación                 Variable                            Ej. de uso de                            var...
Algoritmos y Programación                 Tipo de datos           Definición:           Un Tipo de datos define un conjunt...
Algoritmos y Programación                 Tipos Básicos -Python                     Lenguaje Enteros         Tipo int     ...
Algoritmos y Programación                 Tipos Básicos - Enteros        Al asignar un número a una variable, le asociará ...
Algoritmos y Programación                 Tipos Básicos - Reales         •   Permite trabajar con valores con coma decimal...
Algoritmos y Programación                 Operadores aritméticos                  • Operaciones que pueden hacerse sobre  ...
Algoritmos y Programación                  Tipos Básicos - Booleanos                 • Se los utiliza para indicar valores...
Algoritmos y Programación                    Tipos Básicos - Booleanos               • Operadores relacionales: ==, !=, <,...
Algoritmos y Programación                 Tipos Básicos - Cadenas          • No todos son números....          • Usamos ca...
Algoritmos y Programación                 Tipos Básicos - Cadenas        • Secuencia de caracteres (letras, números, marca...
Algoritmos y Programación                 Tipos Básicos - Cadenas       • Operadores de comparación: ==, !=, >, <, >=,<=  ...
Algoritmos y Programación                   Tipos Básicos - Cadenas                  •Funciones predefinidas que manipulan...
Algoritmos y Programación                  Tipos Básicos - Cadenas                                Para saber el órden que...
Algoritmos y Programación                 Tipos Básicos - Cadenas                Otras cosas útiles....   Funciones       ...
Algoritmos y Programación                  Tipos Básicos - Cadenas                    Longuitud de las cadenas            ...
Algoritmos y Programación                 Tipos Básicos - Cadenas                  Accediendo a los caracteres de las cade...
Algoritmos y Programación                 Tipos Básicos - Cadenas           Cadenas que ocupan más de una línea: Uso de   ...
Algoritmos y Programación                   Listas           • Colección ordenada de datos           • Puede contener cual...
Algoritmos y Programación                   Listas       ¿Cómo accedemos a los elementos de la       lista?       • Indica...
Algoritmos y Programación                   Listas                                     Lista4= [22, True, una lista, [1,7]...
Algoritmos y Programación                   Listas                    lis1= [22, True, una lista, [1,7]]                 D...
Algoritmos y Programación                   Listas                                    lis1= [22, True, una lista, [1,7]]  ...
Algoritmos y Programación                   Tuplas             ¿ Qué es una tupla?             • Son colecciones de datos ...
Algoritmos y Programación                   Tuplas          ¿Cómo accedemos a los elementos de la          tupla?         ...
Algoritmos y Programación                   Tuplas                • Las tuplas pueden contener elementos                  ...
Algoritmos y Programación                  Módulos                 • Son archivos de texto cuya extensión es: .py, .pyc   ...
Algoritmos y Programación                  Sentencia import                  • Por ejemplo se pueden importar funciones   ...
Algoritmos y Programación                  Sentencia import             ¿Qué significa “importar” un módulo?              ...
Algoritmos y Programación                  Funciones                  def nombreFuncion(parametros):                      ...
Algoritmos y Programación                            Funciones                            Mis Funciones                   ...
Algoritmos y Programación                  Variables locales y globales          x=12          a=13          def mi_funcio...
Algoritmos y Programación                    Estructuras de Control                                             www.unaj.e...
Algoritmos y Programación                  Decisiones ….                Sentencias condicionales: Permiten comprobar      ...
Algoritmos y Programación                  Sentencia if                Sentencia if: Sentencia condicional más simple.    ...
Algoritmos y Programación                  Sentencia if                Ejemplo                                 Atención a ...
Algoritmos y Programación                  Decisiones ….           Sentencia if-else           • Permite establecer las ac...
Algoritmos y Programación                  Decisiones ….                Sentencia if-elif                ¿Qué pasa cuando ...
Algoritmos y Programación                  Iteraciones                Bucles: Permiten ejecutar cierto código un          ...
Algoritmos y Programación                  Iteramos con for                   Forma general:                            fo...
Algoritmos y Programación                  Iteramos con for           ¿Vamos a nuestro ejemplo?      pygame.draw.rect(vent...
Algoritmos y Programación                  Iteramos con for        Función range(): Devuelve una lista de números enteros....
Algoritmos y Programación                    Iteramos con for      • Volviendo a nuestro ejemplo...      range(10, 190,20)...
Algoritmos y Programación                  Iteramos con for          Para prestar atención...             Las sentencias d...
Algoritmos y Programación                  Sentencia while                   Forma general:                            whi...
Algoritmos y Programación                  Sentencia while          ¿Seguimos con nuestro ejemplo?      •   Debemos iterar...
Algoritmos y Programación                   While vs for      • Ambas son sentencias iterativas      • En ambas sentencias...
Upcoming SlideShare
Loading in...5
×

Clase1

623

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
623
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×