SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Algoritmos y Programación




                            Clase 1:
               Repaso de Python



                                       www.unaj.edu.ar
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Algoritmos y Programación

                            Funciones


                            Mis Funciones




                                            www.unaj.edu.ar
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
Algoritmos y Programación




                    Estructuras de Control




                                             www.unaj.edu.ar
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
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
Algoritmos y Programación




                  Sentencia if
                Ejemplo
                                 Atención a la
                                 indentación




                                       www.unaj.edu.ar
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
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
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
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Tema 2 tipos de datos y expresiones en java por gio
Tema 2   tipos de datos y expresiones en java por gioTema 2   tipos de datos y expresiones en java por gio
Tema 2 tipos de datos y expresiones en java por gioRobert Wolf
 
Java variables
Java variablesJava variables
Java variableszoe2311
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosluisfelipe2014
 
Tutorial tipos de dato
Tutorial tipos de  datoTutorial tipos de  dato
Tutorial tipos de datoMichele André
 
Unidad 1
Unidad 1Unidad 1
Unidad 1Ana
 
Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-
Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-
Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-Leonel Rojas
 
4 Redes Neuronales
4 Redes Neuronales4 Redes Neuronales
4 Redes NeuronalesEDSA TI
 
Unidad i antecedentes
Unidad i antecedentesUnidad i antecedentes
Unidad i antecedentesBrayanBaffz
 
Programación
ProgramaciónProgramación
Programaciónwtf_pini
 
Tipos de variables que Java maneja
Tipos de variables que Java manejaTipos de variables que Java maneja
Tipos de variables que Java manejaLaura Robles
 
Tipos de Variables en Java
Tipos de Variables en JavaTipos de Variables en Java
Tipos de Variables en JavaAldemar Rosas
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gioRobert Wolf
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2Mariano Galvez
 

Was ist angesagt? (19)

Tema 2 tipos de datos y expresiones en java por gio
Tema 2   tipos de datos y expresiones en java por gioTema 2   tipos de datos y expresiones en java por gio
Tema 2 tipos de datos y expresiones en java por gio
 
Java variables
Java variablesJava variables
Java variables
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Arrays
ArraysArrays
Arrays
 
Tipos de datos_en_java
Tipos de datos_en_javaTipos de datos_en_java
Tipos de datos_en_java
 
Tutorial tipos de dato
Tutorial tipos de  datoTutorial tipos de  dato
Tutorial tipos de dato
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-
Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-
Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-
 
4 Redes Neuronales
4 Redes Neuronales4 Redes Neuronales
4 Redes Neuronales
 
Unidad i antecedentes
Unidad i antecedentesUnidad i antecedentes
Unidad i antecedentes
 
Programación
ProgramaciónProgramación
Programación
 
Variables en java
Variables en javaVariables en java
Variables en java
 
Tipos de variables que Java maneja
Tipos de variables que Java manejaTipos de variables que Java maneja
Tipos de variables que Java maneja
 
Tipos de Variables en Java
Tipos de Variables en JavaTipos de Variables en Java
Tipos de Variables en Java
 
Manual de programacion
Manual de programacionManual de programacion
Manual de programacion
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gio
 
Programacion
ProgramacionProgramacion
Programacion
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2
 
JAVA
JAVAJAVA
JAVA
 

Ähnlich wie Clase1

Algoritmos y programas super manual de algoritmia
Algoritmos y programas   super manual de algoritmiaAlgoritmos y programas   super manual de algoritmia
Algoritmos y programas super manual de algoritmiaEsteban Bedoya
 
Algoritmos y programas 1
Algoritmos y programas 1Algoritmos y programas 1
Algoritmos y programas 1Esteban Bedoya
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREPedro Alvarez
 
ApunteTadPython1_fundamentos_programacion.pdf
ApunteTadPython1_fundamentos_programacion.pdfApunteTadPython1_fundamentos_programacion.pdf
ApunteTadPython1_fundamentos_programacion.pdfVivianaZanini
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datoslensh
 
Unidad 1 algoritmos y programas
Unidad 1 algoritmos y programasUnidad 1 algoritmos y programas
Unidad 1 algoritmos y programasRoberth Camana
 
Introducción a la programación y la informática. Tema 3
Introducción a la programación y la informática. Tema 3Introducción a la programación y la informática. Tema 3
Introducción a la programación y la informática. Tema 3Andres Garcia Garcia
 
Clase 2 Variables Entorno y Pseudocodigo.pptx
Clase 2 Variables Entorno y Pseudocodigo.pptxClase 2 Variables Entorno y Pseudocodigo.pptx
Clase 2 Variables Entorno y Pseudocodigo.pptxLuisAlberto353863
 
Conceptos básicos de programación.pdf
Conceptos básicos de programación.pdfConceptos básicos de programación.pdf
Conceptos básicos de programación.pdfIzumiKatsuki
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datoslensh
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfcarlosquiza2
 
clase 1 programacion biomedica.ppt
clase 1 programacion biomedica.pptclase 1 programacion biomedica.ppt
clase 1 programacion biomedica.pptSistemadeEstudiosMed
 
Tutorial de Pseudocodigos
Tutorial de PseudocodigosTutorial de Pseudocodigos
Tutorial de Pseudocodigosgrachika
 

Ähnlich wie Clase1 (20)

Algoritmos y programas super manual de algoritmia
Algoritmos y programas   super manual de algoritmiaAlgoritmos y programas   super manual de algoritmia
Algoritmos y programas super manual de algoritmia
 
Algoritmos y programas 1
Algoritmos y programas 1Algoritmos y programas 1
Algoritmos y programas 1
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
 
Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
 
ApunteTadPython1_fundamentos_programacion.pdf
ApunteTadPython1_fundamentos_programacion.pdfApunteTadPython1_fundamentos_programacion.pdf
ApunteTadPython1_fundamentos_programacion.pdf
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Unidad 1 algoritmos y programas
Unidad 1 algoritmos y programasUnidad 1 algoritmos y programas
Unidad 1 algoritmos y programas
 
Introducción a la programación y la informática. Tema 3
Introducción a la programación y la informática. Tema 3Introducción a la programación y la informática. Tema 3
Introducción a la programación y la informática. Tema 3
 
Objetos de un programa
Objetos de un programaObjetos de un programa
Objetos de un programa
 
Clase 2 Variables Entorno y Pseudocodigo.pptx
Clase 2 Variables Entorno y Pseudocodigo.pptxClase 2 Variables Entorno y Pseudocodigo.pptx
Clase 2 Variables Entorno y Pseudocodigo.pptx
 
Conceptos básicos de programación.pdf
Conceptos básicos de programación.pdfConceptos básicos de programación.pdf
Conceptos básicos de programación.pdf
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Pb1
Pb1Pb1
Pb1
 
[Ebook] super manual de a lgoritmia
[Ebook] super manual de a lgoritmia[Ebook] super manual de a lgoritmia
[Ebook] super manual de a lgoritmia
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
Programacion
ProgramacionProgramacion
Programacion
 
clase 1 programacion biomedica.ppt
clase 1 programacion biomedica.pptclase 1 programacion biomedica.ppt
clase 1 programacion biomedica.ppt
 
Programacion
 Programacion  Programacion
Programacion
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tutorial de Pseudocodigos
Tutorial de PseudocodigosTutorial de Pseudocodigos
Tutorial de Pseudocodigos
 

Mehr von Jorge Gamez

Mehr von Jorge Gamez (19)

Python i
Python iPython i
Python i
 
Clase 6 excepciones
Clase 6   excepcionesClase 6   excepciones
Clase 6 excepciones
 
Practica repaso 4 5 2da
Practica repaso 4 5 2daPractica repaso 4 5 2da
Practica repaso 4 5 2da
 
Practica repaso 1 3-2
Practica repaso 1 3-2Practica repaso 1 3-2
Practica repaso 1 3-2
 
Practica repaso pilas y colas con archivos
Practica repaso pilas y colas   con archivosPractica repaso pilas y colas   con archivos
Practica repaso pilas y colas con archivos
 
Practica repaso pilas y colas
Practica repaso pilas y colasPractica repaso pilas y colas
Practica repaso pilas y colas
 
Practica 5
Practica  5Practica  5
Practica 5
 
Practica 4
Practica  4Practica  4
Practica 4
 
Practica 3
Practica  3Practica  3
Practica 3
 
Practica 2
Practica  2Practica  2
Practica 2
 
Practica 1
Practica  1Practica  1
Practica 1
 
Practica repaso 1 3-2
Practica repaso 1 3-2Practica repaso 1 3-2
Practica repaso 1 3-2
 
Clase5
Clase5Clase5
Clase5
 
Clase4
Clase4Clase4
Clase4
 
Clase3
Clase3Clase3
Clase3
 
Clase2
Clase2Clase2
Clase2
 
Clase archivos
Clase   archivosClase   archivos
Clase archivos
 
2 da clase la ingeniería
2 da clase  la ingeniería2 da clase  la ingeniería
2 da clase la ingeniería
 
Presentación clase 3
Presentación clase 3Presentación clase 3
Presentación clase 3
 

Clase1

  • 1. Algoritmos y Programación Clase 1: Repaso de Python www.unaj.edu.ar
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Algoritmos y Programación Funciones Mis Funciones www.unaj.edu.ar
  • 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. Algoritmos y Programación Estructuras de Control www.unaj.edu.ar
  • 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. 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. Algoritmos y Programación Sentencia if Ejemplo Atención a la indentación www.unaj.edu.ar
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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