0% encontró este documento útil (0 votos)
3 vistas74 páginas

Fundamentos de Programación en Python

El documento presenta un curso sobre fundamentos de Python, abarcando temas como algoritmos, estructuras de control, programación orientada a objetos y manejo de archivos. Se detallan conceptos clave como tipos de datos, variables, funciones y estructuras de datos como listas y diccionarios. Además, se incluyen ejemplos prácticos y la importancia de la encapsulación y los módulos en la programación.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas74 páginas

Fundamentos de Programación en Python

El documento presenta un curso sobre fundamentos de Python, abarcando temas como algoritmos, estructuras de control, programación orientada a objetos y manejo de archivos. Se detallan conceptos clave como tipos de datos, variables, funciones y estructuras de datos como listas y diccionarios. Además, se incluyen ejemplos prácticos y la importancia de la encapsulación y los módulos en la programación.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

FUNDAMENTOS DE PYTHON

TEMARIO
• Algoritmos y programas
• Características de Python
T • Primeras sentencias
Modulo 1 • Tipos de datos, variables y funciones
E
M • Estructuras de control de flujo
• Programación orientada a objetos
A Modulo 2


Clases
Módulos

R
I • Manejo de archivos externos
• Conexión con base de datos
O Modulo 3 • Interfaces gráficas


Algoritmos y programas
Características de Python
• Familiarización con el lenguaje de O
T • Primeras sentencias
programación
• Entender la sintaxis B
Modulo 1 • Tipos de datos, variables y funciones
E J
M • Estructuras de control de flujo
• Darle inteligencia a los programas E
• Programación orientada a objetos
A Modulo 2


Clases
Módulos
• Estructurar programas avanzados
• Automatización de rutinas en PC
T
R I
I • Manejo de archivos externos • Integración de programas con
gestores de BBDD V
• Conexión con base de datos
O Modulo 3 • Interfaces gráficas • Visualización, generación de
reportes, etc O
S
PROGRAMACION

proceso diseñar codificar dar mantenimiento Proteger Código Fuente


Programa

LENGUAJE DE
PROGRAMACIÓN
EJEMPLO
Instrucción (Código)

El programador requiere
que la computadora
imprima en pantalla la
utilidad de la empresa
minera con los siguientes
parámetros:

- Ingresos : $10 M
- Costos: $4.5 M
Resultado
ALGORITMOS

Se define como una lista finita de pasos ordenados que permite


encontrar la solución a un problema determinado.

Entrada
Paso 1

Paso 2

Paso 3

Salida
TIPOS (EJEMPLO)
Resolveremos el problema de calcular la utilidad de una empresa minera presentado en el capítulo
previo.

Lenguaje natural Pseudocódigo Diagrama de flujo


Proceso Utilidad INICIO
Primero: Encontramos
que por definición, la Definir Utilidad:
DEFINIR
UTILIDAD
utilidad se define como Utilidad = Ingresos – Costos U=I–C
la diferencia entre los
ingresos y los costos de Definir Ingresos, Costos: INGRESOS = 10

una empresa. Ingresos = 10


COSTOS = 4.5
Costos = 4.5
Segundo: Con los UTILIDAD = 5.5
Reemplazar valores:
datos que se tienen, se
Utilidad = 10 – 4.5
reemplaza la fórmula.
10M – 4.5M = 5.5M Escribir resultado:
Utilidad = 5.5
INSTALACIÓN

- Python

- Editor de texto (Sublime Text)


TIPOS DE DATOS
VARIABLES

Espacio en la memoria del ordenador donde se almacenará un valor que podrá


cambiar durante la ejecución del programa.

factor_esponjamiento = 1.16

asignación de variable
declaración de variable
VARIABLES (REGLAS)

Tonelaje tonelaje TONELAJE

Ley cobre

Ley_cobre
FUNCIONES

Estructuras esenciales de código.

UNIDAD RESOLVER
LÓGICA
constituye
PROBLEMA
FUNCIONES

Dividir y organizar el código en


partes más sencillas.

OBJETIVOS

Encapsular el código que se repite


a lo largo de un programa para ser
reutilizado.
FUNCIONES

Sintaxis

def nombre_función (parámetros):

instrucciones

return (opcional)

* Una función siempre deberá ser llamada en algún lugar del código para que se
ejecute.
EJEMPLO 1
EJEMPLO II

Escribir una función que calcule la utilidad de un proyecto en minero


CÁLCULO DEL BURDEN SEGÚN FÓRMULA KONYA

𝟑 𝒅𝒆
𝑩 = 𝟑. 𝟏𝟓 𝒙 𝑫𝒆 𝒙
𝒅𝒓
𝑫𝒐𝒏𝒅𝒆:
𝐵 = 𝑏𝑢𝑟𝑑𝑒𝑛 𝑝𝑖𝑒𝑠
𝐷𝑒 = 𝑑𝑖á𝑚𝑒𝑡𝑟𝑜 𝑑𝑒𝑙 𝑒𝑥𝑝𝑙𝑜𝑠𝑖𝑣𝑜 𝑝𝑢𝑙𝑔𝑎𝑑𝑎𝑠
𝑔
𝑑𝑒 = 𝑑𝑒𝑛𝑠𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑒𝑥𝑝𝑙𝑜𝑠𝑖𝑣𝑜 ( 3 )
𝑐𝑚
𝑔
𝑑𝑟 = 𝑑𝑒𝑛𝑠𝑖𝑑𝑎𝑑 𝑑𝑒 𝑙𝑎 𝑟𝑜𝑐𝑎 ( 3 )
𝑐𝑚
EJEMPLO III

Hallar el burden de la malla de perforación cuadrada según la fórmula de Konya teniendo


en consideración los siguientes datos:

Densidad roca: 2.3 g/cm3 (caliza)

Densidad explosivo: 1.05 g/cm3 (anfo aluminizado)

Diámetro del explosivo: 10.25 plg


ESTRUCTURAS DE DATOS - LISTAS

Perteneciente a la clase LIST

Una de las estructuras más utilizadas por su naturaleza, dinamismo, fácil manejo y
potencia.

Arreglo Arrays tuplas

diccionarios
LAS LISTAS
Corchetes de apertura y cierre
de la lista
LISTA_1 = [ 14, 25, 36, 12, 65]
Elemento de Separador de
Nombre de
la lista elementos
la lista

• Puede almacenar valores de diferentes tipos de datos.


• El número de elementos que tiene puede variar durante la
CARACTERÍSTICAS ejecución de un programa.
• La posición de cada elemento está representado por un número
entero llamado índice, el índice empieza desde 0.
LAS LISTAS

LISTA_2 = [ 1, 2.5, “Marian”, False]

LISTA_2 [0] → 1
LISTA_2 [1] → 2.5
LISTA_2 [2] → “Marian”
LISTA_2 [3] → False
LISTAS (EJEMPLO)

Stockpile Chancadora
A-2580 Primaria

Representados en las siguientes listas: Hallar:

Segmentos = [‘A’, ’B’, ’C’, ‘D’] - Imprimir en consola la velocidad del


Distancias = [100, 30, 60, 80] en km segmento C
Velocidades = [30, 85, 6, 110] en km/h - Imprimir en consola el tiempo empleado
para completar el segmento B
- Hallar la velocidad media total
ESTRUCTURAS DE CONTROL DE FLUJO

Es un bloque de código que permite agrupar


instrucciones de manera controlada.

Estas estructuras se caracterizan por modificar le flujo


normal de un programa.

- Estructuras de control condicionales


- Estructuras de control iterativas (bucles)
ESTRUCTURAS DE CONTROL DE FLUJO

SIN ESTRUCTURAS CONDICIONAL BUCLE


código código código
código código código
código código for: n veces

código if: código


código código código
código else: código
código código
código código
código código
CONDICIONALES

Permite que un programa ejecute unas instrucciones cuando se cumpla una


condición.
CONDICIONALES

SINTAXIS

if condición:

código
EJEMPLO 1

Supongamos que en una operación minera que produce oro, la ley de


corte es de 0.65 g/ton. Elaboraremos un programa en el cual el usuario
ingresará el valor de la ley oro y si la ley es mayor o igual que el valor
de la ley de corte, el programa imprimirá “Es mineral”.
CONDICIONALES BLOQUE ELSE (“SINO”)

if condición:

código 1

else:

código 2
CONDICIONALES 2

2 bloques if vs if---else

1. No se obliga a Python a evaluar siempre las


dos condiciones. Eficiencia en tiempo de
procesamiento.
2. Ahorro de código
3. Evita errores (que el valor no caiga en ninguna
condición y termine no ejecutándose)
EJEMPLO 2 (SENTENCIA CONDICIONALES ANIDADAS)

Escribiremos un programa para asignar si el material se trata


de mineral o desmonte dependiendo de dos propiedades
(tipo de mineral y ley de cobre)

Óxido Sulfuro
>= 2.5% MINERAL MINERAL
>= 0.85% MINERAL DESMONTE
< 0.85% DESMONTE DESMONTE
IF – ELIF – ELSE

SINTAXIS if condición1:
código 1
Se utiliza cuando se
tiene más de dos elif condición 2:
opciones. código 2

else:
código 3
EJEMPLO 3 (BLOQUES IF – ELIF – ELSE)

Clasifique el material según la tabla adjunta:

Óxido Sulfuro Argílico


>= 2.5% MINERAL_1 MINERAL_2 DESMONTE
>= 0.85% MINERAL_1 DESMONTE DESMONTE
< 0.85% DESMONTE DESMONTE DESMONTE
ESTRUCTURAS DE CONTROL ITERATIVAS (BUCLES)

Son otra herramienta para alterar el flujo normal de un


programa. Nos permite repetir una porción de código tantas
veces como queramos.

while for
BUCLE FOR

Se utiliza para recorrer los elementos


de un objeto iterable (lista, tupla,
conjunto, diccionario) y ejecutar un [elemento 1,
bloque de código. elemento 2,
elemento 3,
En cada paso de la iteración se tiene .
en cuenta a un único elemento del .
.
objeto iterable, sobre el cuál se
pueden aplicar una serie de
operaciones.
BUCLE FOR - SINTAXIS

for <elem> in <iterable>:


<Tu código>
EJEMPLO

Tonelaje Ley Au Según el cuadro de tonelajes y ley de oro adjunta, y con los siguientes datos:
- Ley de corte: 0.45 g/t
12,675 0.64
- Recuperación metalúrgica: 70%
10,489 0.57 - Precio del oro: 1740 $/oz
20,550 0.32 - Costo de ventas: 120 $/oz
- Costo de minado: 4.5 $/t
14,520 0.75
- Costo de procesamiento: 8 $/t
11,254 0.41
22,540 0.12 Calcular:
- Tonelaje total de mineral y ley media
32,542 0.35
- Tonelaje total de desmonte
12,546 0.27 - Ingreso total
9,844 0.84 - Costo total
8,652 0.94 - Utilidad
POO - PARADIGMAS DE PROGRAMACIÓN

Paradigma: estilo o forma de programar

POO
SECUENCIAL

atributos
comportamiento

atributos
comportamiento

atributos
comportamiento
POO - OBJETO
- Marca
Abstracción - Capacidad
Atributos - Peso cargado
- Peso vacío
- Costo horario

- Acelerar
- Frenar
Métodos - Estacionar
- Descargar
POO - CLASE

Todas la propiedades y
métodos comunes a los Clase
objetos se encapsulan en
clases.

La clase es una plantilla o


prototipo para crear objetos. Objeto 1
Objeto 4

Objeto 2 Objeto 3
Instanciación de una clase
POO – INSTANCIA DE CLASE

También llamado EJEMPLAR DE CLASE

Clase
CAMIÓN

Instancia o ejemplarización de clase


POO – NOMENCLATURA DEL PUNTO

miAuto . color = “azul”


miAuto . peso = 1500 PROPIEDADES
miAuto . alto = 150

miAuto . arranca( )
miAuto . frena( ) MÉTODOS
miAuto . acelera( )
POO – ENCAPSULACIÓN

- Es uno de los pilares de la programación orientada a


objetos

- Permite regular el acceso a los métodos y atributos de una


clase

- En cierta manera, enmascara la complejidad de una clase


EN PYTHON NO EXISTE. ES UN ESTILO. ES UNA NORMA. NO ES FUNCIONAL
DICCIONARIOS

Estructuras de datos
Clave : Valor
key value En esta estructura de datos se
pueden almacenar valores
enteros, flotantes, cadenas,
clases, listas, tuplas e inclusive
Sintaxis diccionarios.
nombre_dic = { }
DICCIONARIOS

Estructura de datos que nos permiten


almacenar diferentes tipos de datos

CLAVE : VALOR

Los elementos almacenados NO


ESTAN ORDENADOS
MODULOS

Un archivo con extensión .py .pyc que posee su propio espacio de nombres y
que puede contener variables, funciones, clases e incluso otros módulos.

Sirven para organizar y reutilizar el código (POO)


MODULOS
MODULOS
MODULO OS

El módulo OS en Python proporciona y expone los detalles


y la funcionalidad del sistema.

Muy útil para automatizaciones elaborando rutinas con los


archivos y carpetas del sistema operativo.
ARCHIVOS EXTERNOS

Persistencia de Datos

Posibilidad de guardar los datos que estamos trabajando en el programa, se


puedan guardar.

Hasta ahora, cuando se cierra el programa se borra la información.


ARCHIVOS EXTERNOS - OPCIONES

- Guardar la información en archivo externo


- Guardar la información en BBDD
ARCHIVOS EXTERNOS - PASOS

LIBRERÍAS
1. Crear archivo
2. Abrir archivo IO
3. Manipular archivo CSV
4. Cerrar archivo
MODELO DE BLOQUES

Un modelo de bloques es una


representación simplificada de un
yacimiento mineral y sus alrededores,
que se puede considerar como una
pila de “ladrillos” generados por
computadora que representan
pequeños volúmenes de roca en un
depósito (compuesto por mineral y
desechos). Cada “ladrillo” o celda
contiene estimaciones de datos, como
la ley del elemento, la densidad y otros
valores de entidades geológicas o
relacionados a factores de ingeniería.
EJERCICIOS

EJERCICIO 1: Encontrar la ley media de Au que tiene el modelo de


bloques compartido

EJERCICIO 2: con los siguientes parámetros, encontrar el beneficio


de minar todo el mineral del modelo. Considerar que no se debe
minar el desmonte

CMinado: 2.50 $/t


CProcesam: 4.30 $/t
Precio: 1600 $/oz
CVenta: 250 $/oz
RM: 72%
BASE DE DATOS

CONTEXTO

Almacenados
Conjunto de datos
sistemáticamente
BASE DE DATOS - ELEMENTOS

TABLA
GESTOR DE BASE DE DATOS

Es un conjunto de programas no visibles que administran y gestionan la


información que contiene una base de datos. A través de este se maneja
todo acceso a la base de datos con el objetivo de servir de interfaz entre
ésta, el usuario y las aplicaciones.
SQL – STRUCTURED QUERY LANGUAGE

Es el lenguaje de consulta más utilizado para


manejar-administrar una base de datos

Consulta: es un objeto que proporciona una visión


personal de los datos almacenados en las tablas ya
creadas
MODELO DE BASE DE DATOS

Es una representación, usualmente gráfica, de estructuras de datos.

- Modelo de base de datos


jerárquicos
- Modelo relacional
- Modelo de red
- Modelo de base de datos
orientado a objetos
- Modelo entidad relación
MODELO ENTIDAD - RELACIÓN

Es el modelo de base de datos más sencillo.

Entidad

Representan cosas u objetos (ya sean reales o abstractos), que se diferencian


claramente entre si.

Atributos

Los atributos definen o identifican las características de la entidad (es el contenido de


la entidad).
MODELO ENTIDAD - RELACIÓN
ENTIDADES

Polígonos de
Camiones Descargas
minado

ATRIBUTOS

- ID
- N° Camión - Código
- Fecha
- Marca - Tipo
- Destino
- Modelo - Tonelaje
- N° Camión
- Capacidad - Ley
- Código Pol
POLIGONO DE MINADO
MODELO ENTIDAD - RELACIÓN

1 varios
Camiones Descargas
Relación 1 a varios

1 1 Código de
Trabajador
Relación 1 a 1 trabajador

varios varios
Camiones Poligonos
Relación varios a varios
TABLAS

FILA O REGISTRO

TABLA

COLUMNA O CAMPO
TABLAS – CLAVES

Claves: elementos que impiden duplicidad de registros. Una de las grandes


desventajas que presentan otros modelos de organización y gestión de bases de
datos.

Claves primarias: son los atributos (columnas) según el tipo de relación que se
ha definido en la tabla.

Claves foráneas o externas: son claves presentes en tablas que no han


concebido la misma.
INSTALACIÓN SQLITE 3

Link: [Link]

Seleccionar esta opción


INSTALACIÓN SQLITE 3

1. Crear la carpeta DBSQLite en el disco C


2. Mover el archivo descargado a la carpeta creada
3. Descomprimir el archivo
4. Click derecho sobre este equipo
5. Seleccionar Propiedades
INSTALACIÓN SQLITE 3

6. Seleccionar Configuración avanzada del sistema


7. Seleccionar Variables de entorno
INSTALACIÓN SQLITE 3

9. Doble click sobre la Variable Path


10. Seleccionar Nuevo
INSTALACIÓN SQLITE 3

11. Escribir la ruta de la carpeta descargada. En mi caso es:


C:\DBSQLite\sqlite-tools-win32-x86-3400000\sqlite-tools-win32-
x86-3400000
12. Presionar Aceptar en todas las ventanas
INSTALACIÓN DB BROWSER

Link: [Link]
INTERFACES GRÁFICAS

INTERMEDIARIO
Programador - Usuario

Librería:Tkinter
INTERFACES GRÁFICAS - ESTRUCTURA
Raíz
Frame

Widgets
GRACIAS
ALGUIEN@[Link]

También podría gustarte