0% encontró este documento útil (0 votos)
16 vistas

Taller_python

El documento es un taller de Python impartido por Sergio Gonzalez, que cubre conceptos fundamentales de programación como algoritmos, estructuras de datos, tipos de datos primitivos, y la sintaxis específica de Python. Se discuten las diferencias entre lenguajes de programación, la declaración de variables, estructuras de control, y la creación de funciones. Además, se mencionan entornos de desarrollo y se proporcionan ejemplos prácticos para la implementación de código en Python.

Cargado por

nahuel.mops
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas

Taller_python

El documento es un taller de Python impartido por Sergio Gonzalez, que cubre conceptos fundamentales de programación como algoritmos, estructuras de datos, tipos de datos primitivos, y la sintaxis específica de Python. Se discuten las diferencias entre lenguajes de programación, la declaración de variables, estructuras de control, y la creación de funciones. Además, se mencionan entornos de desarrollo y se proporcionan ejemplos prácticos para la implementación de código en Python.

Cargado por

nahuel.mops
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 73

Taller de Python

Profesor

Sergio Gonzalez
Estructuras de Datos

Algoritmos y programas
Estructuras de Datos

Algoritmos y programas
• Un algoritmo es un conjunto de pasos para
resolver un problema.
• Programa: Forma de implementar un
algoritmo en una computadora.
• Conjunto de instrucciones que interpreta el
procesador.
Estructuras de Datos

Algoritmos y programas
Estructuras de Datos

Programación del algoritmo


Estructuras de Datos

Codificación de un programa
Estructuras de Datos

Codificación de un programa
• Lenguaje maquina.
– 1111s y 0000s
Estructuras de Datos

Codificación de un programa
• Lenguaje maquina.
– 1111s y 0000s
• Lenguajes de programación de alto nivel.
– Texto similar a lenguaje humano
Estructuras de Datos

Traducción de un programa
• Editor de texto -> Programa fuente
• Programa traductor -> Texto a lenguaje
maquina
– Compilador - Montador (Linker)
• Ejecutable
– Interprete
• Realiza traducción
• Ejecuta directamente archivo fuente
• No genera ejecutable
Estructuras de Datos

Lenguajes de programación
• Independientes de la maquina
• Similar a lenguaje humano
• Una sola instrucción equivale a varias
instrucciones de lenguaje maquina.
• Uso de variables, símbolos y términos usados
por los humanos
• No nos preocupamos por organización real en
memoria
Estructuras de Datos

Evolución de los Lenguajes de Programación


Estructuras de Datos

Elementos básicos de lenguajes de


programación
• Constantes y variables
• Palabras reservadas
• Expresiones / Operadores
• Entrada / Salida
• Estructura de programa
• Comentarios
Estructuras de Datos

Variables
• Contenedores de datos
• Ocupa espacio en RAM
• Nombre / Identificador
– Letras
– Números
– Caracteres especiales
• Tipo
Estructuras de Datos

Tipos de datos primitivos


• Al programar, elegimos los tipos de datos a
utilizar
– Define rango acotado (Ahorro de memoria)
– Operaciones permitidas
Estructuras de Datos

Tipos de datos primitivos


• Implementados en el lenguaje
• Representación en la computadora de datos
enteros, reales, lógicos, caracteres, etc.
• Interpretación de un patrón de bits
• Limite en función del tamaño
– Cantidad de bits asignados
– Signo
– Desbordamiento (Overflow)
Estructuras de Datos

Tipos de datos primitivos


Estructuras de Datos

Booleanos
• Boolean
• Lógica booleana
– Verdadero (True)
– Falso (False)
Estructuras de Datos

Caracteres
• Char
• Tabla de caracteres
– UNICODE
– ASCII

https://unicode-table.com/es/
https://elcodigoascii.com.ar/
Estructuras de Datos

Enteros
• Byte
• Short
• Int
• Long

• Números con signo, rango posible depende


del tamaño de la variable en memoria.
Estructuras de Datos

Números reales – Punto flotante


• Float
• Double

• Precisión: Cantidad de cifras decimales


• Similar a notación científica
Estructuras de Datos

Cadenas de caracteres (Strings)


• Serie de caracteres
– Palabras
Estructuras de Datos

Palabras reservadas
Estructuras de Datos

Expresiones / Operadores
• Operar con tipos de datos primitivos
– Asignación
– Aritméticos
– Condicionales
– Bit
Estructuras de Datos

Operadores de asignación
• Asignar valores en variables
–=
– <-
– ++ / --
– += / -=
Estructuras de Datos

Operadores Aritméticos

• Uso con diferentes tipos de datos


Estructuras de Datos

Operadores condicionales
Estructuras de Datos

Operadores con Strings


• +y*
• len
• count(palabra)
• upper / lower
• title
• replace(viejo, nuevo)
Estructuras de Datos

Entrada / Salida
• Por pantalla / teclado
• Archivos
Estructuras de Datos

Estructura de programa
• Indentado
• Uso de ";"
• Sentencias entre llaves "{}"
Estructuras de Datos

Comentarios
• Líneas que no son ejecutadas
Estructuras de Datos

Estructura de un programa
• Declaración de variables
– Tipo
– Nombre
• Sentencias que implementan el algoritmo
Estructuras de Datos

Que es PYTHON?

• Python es un lenguaje de programación


interpretado con una sintaxis que favorece la
legibilidad del código.
Estructuras de Datos

Lenguaje de programación Python


• Creado a finales de los 80s por Guido Van Rossum
• Multiparadigma: Orientado a objetos, programación
funcional y programación imperativa.
• Licencia GNU GPL
• Codigo legible y transparente
Estructuras de Datos

Consideraciones antes de programar en Python


• En Python hay diferencia entre mayúsculas y
minúsculas.
• Las línea de código no deben terminar con "; "
• Los comentarios; si son de una línea debe comenzar
con "#" y si ocupan más de una línea van entre ‘ ’ ’
• El indentado es obligatorio, ya que no se usan llaves
para separar bloques de codigo
Estructuras de Datos

Imprimir cosas por pantalla

Funcion "print"

print("texto a imprimir")
Estructuras de Datos

Nuestro primer programa


#!/usr/bin/python

print("Hola mundo")
Estructuras de Datos

Declaración de variables
• Las variables no se declaran definiendo un
tipo
• El tipado es automatico y dinamico
• No se pueden realizar operaciones entre
variables de distinto tipo
• Existen funciones para el casteo:
– int()
– float()
– str()
Estructuras de Datos

Declaración de variables
nombreVariable = valor

Ejemplos:

dias = 2
decision = True
letra = "C"
radio = 25.63
dias = "lunes"

x , y , z = 34 , 25 , 12
x = y = "Hola"
Estructuras de Datos

Entornos de desarrollo Python


• Spyder
• Sublime
• Atom
• Thonny
• PyCharm
• Eclipse + PyDev
• Jupyter Notebook
Estructuras de Datos

Componentes de entorno de

desarrollo
Editor de texto y consola
• Facilidades en edicion
– Coloreado de Palabras según la sintaxis
– Indentación automática.
– Emparejamiento de parentesis y llaves.
– Introducción de comentarios
Estructuras de Datos

Ingreso de datos por teclado


• Para leer los datos que se introducen en el
teclado se utiliza la funcion input()

• Se puede utilizar de la siguiente manera:

variable = input("Ingrese un numero:


")
Estructuras de Datos

Ingreso de otros tipos de datos


• Por defecto, la funcion convierte la entrada a
una variable de tipo texto

• Recuerden que es posible castear las variables

variable = int(input("Ingrese un numero entero:


"))
Estructuras de Datos

Acá se pueden hacer los primeros


13 ejercicios
Estructuras de Datos

Estructuras de control
• Ya sabemos declarar variables, hacer
operaciones de distintos tipos entre ellas,
ingresar y sacar datos del programa

• Nos falta estructurar el codigo


Estructuras de Datos

Estructuras de control
• Orden de realización de los pasos del algoritmo
– Selectivas
– Repetitivas
Estructuras de Datos

Estructuras de control selectivas


• Decidir que hacer a partir de evaluar una
condición.
• Uso de operadores y expresiones lógicas.
• Bifurcaciones en el flujo del programa.
Estructuras de Datos

Alternativas simples
• Si – Entonces / If – then.
• Ejecuta una acción solo cuando se cumple una
condición
Estructuras de Datos

Alternativas simples
• Si – Entonces / If – then.
• En Python
Estructuras de Datos

Alternativas dobles
• Si – Entonces – si_no / If – then – else.
Estructuras de Datos

Alternativas múltiples
• Si – Entonces – si_no – entonces …
• If – then – else if – then …
Estructuras de Datos

Alternativas múltiples
• En Python no existe "switch - case"
Estructuras de Datos

Estructuras de control repetitivas


• Conjunto de operaciones que se deben repetir
varias veces.
• Ciclo o bucle: Parte de un programa que se
repite (iteración) un numero dado de veces o
mientras se cumpla una condición.
• Evitar bucles infinitos.
Estructuras de Datos

Estructuras de control repetitivas


Estructuras de Datos

Estructuras de control repetitivas


• Uso de contadores y acumuladores
Estructuras de Datos

Estructuras de control repetitivas


• Tres componentes básicos:
– Decisión
– Cuerpo del bucle
– Salida del bucle
Estructuras de Datos

Estructuras de control repetitivas


• Desde – Hasta / For
Estructuras de Datos

Estructuras de control repetitivas


• Desde – Hasta / For

• Repeticion de bloque de codigo 10 veces:

for var in range(10):


<bloque codigo>
Estructuras de Datos

Estructuras de control repetitivas


• Mientras / While
Estructuras de Datos

Acá se pueden hacer ejercicios


desde el 12 hasta el 21
Estructuras de Datos

Funciones - Procedimientos
• Muchas veces, partes del programa se repiten
• Es una buena practica, separar estas partes para
crear "Funciones" o "Procedimientos"
• Realizan tareas especificas
• El programa principal los "llama"
• Parámetros: Lista de valores de entrada
• Salidas
Estructuras de Datos

Definición
• Nombre identificatorio
• Parámetros: Lista de valores de entrada
• Salida
Estructuras de Datos

Invocación (Llamado)
• Utilizando su nombre y los parámetros entre
paréntesis, coincidiendo en cantidad y en tipo
con los de la definición
Estructuras de Datos
Estructuras de Datos

Ámbito de variables
• La ejecución de una función no debe afectar al
resto del programa
• Desarrollos independientes
• Variable local
– Declarada y utilizada solo dentro de la función
– Compartir nombres
– Valores no accesibles desde afuera
• Ámbito (scope): Parte del programa donde la
variable se reconoce como tal
Estructuras de Datos

Paso de parámetros
• Entrada (Argumentos): Desde el programa
principal a la función
• Salida: Resultados de la función, desde la
función al programa principal
• Entrada / Salida: Mismo parámetro para
mandar argumentos y devolver resultados.
• Tipos:
– Paso por valor
– Paso por referencia
Estructuras de Datos

Paso por valor


• La función recibe el valor de la variable
• Modificaciones a dicha variable, solo tienen
efecto dentro de la función
Estructuras de Datos

Paso por valor


• Todos los parámetros son solo de entrada
• Salida por retorno de la función
Estructuras de Datos

Paso por referencia


• Parámetros de Entrada / Salida
• Modificaciones a variables dentro de la función
se mantienen fuera de ella
Estructuras de Datos

Paso de parametros
Estructuras de Datos

Funciones en Python
• Tipos primitivos: Solo se permite paso por valor
• No se define tipo de salida
• No se definen tipos de parámetros
• Se pueden poner valores por defecto y asi poder
cambiar el orden de los parámetros
Estructuras de Datos

Funciones en Python
Estructuras de Datos

Funciones en Python
• Función suma de dos números enteros
Estructuras de Datos

Completar guía de ejercicios

También podría gustarte