Está en la página 1de 15

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL

PLAN DE TRABAJO
DEL ESTUDIANTE
TRABAJO FINAL DEL CURSO

1. INFORMACIÓN GENERAL

Apellidos y Nombres: Rengifo Balsea Favio Jr. ID: 001443102


Dirección Zonal/CFP: Iquitos/Loreto
Carrera: Ingenieria de Sofware con Inteligencia Artificial Semestre: ||
Curso/ Mód. Formativo Algoritmia de programcion de sofware
Tema del Trabajo: Creación de Aplicaciones básicas en Python

2. PLANIFICACIÓN DEL TRABAJO

N° ACTIVIDADES/ ENTREGABLES CRONOGRAMA/ FECHA DE ENTREGA

3. PREGUNTAS GUIA

Durante la investigación de estudio, debes obtener las respuestas a las siguientes interrogantes:

Nº PREGUNTAS

1
1. ¿Cómo se maneja las Cadenas, Operaciones y se crea coleccionesde datos en Python?
2
2. ¿Cómo generar Clases, Objetos y Funciones en Python?
3
3. ¿Cómo crear una aplicación con el manejo de errores y gestión de expresiones regularess?
4
4. ¿Cómo estructurar una Base de Datos en Python?
5. ¿Cómo generar una interfaz Gráfica con Tkinter?
5
6. ¿Cómo trabajar con módulos, ficheros de texto y binarios en Python?
6
7¿Cómo generar documentación Automáticamente y trabajar con
7 Pruebas Automáticas?

2
TRABAJO FINAL DEL CURSO

HOJA DE RESPUESTAS A LAS PREGUNTAS GUÍA

1. ¿Cómo se maneja las Cadenas, Operaciones y se crea colecciones


de datos en Python?
En Python, podemos manejar cadenas utilizando operaciones como concatenación,
indexación, rebanado y formateo. También podemos crear colecciones de datos
como listas, tuplas, conjuntos y diccionarios utilizando las estructuras de datos
integradas correspondientes.
2. ¿Cómo generar Clases, Objetos y Funciones en Python?
En Python, podemos generar clases utilizando la palabra clave class, donde
definimos atributos y métodos para describir las propiedades y el comportamiento de
la clase. Para crear objetos de una clase, llamamos al nombre de la clase seguido de
paréntesis. Para definir funciones, utilizamos la palabra clave def, seguida del
nombre de la función y un par de paréntesis que pueden contener argumentos.
Ejemplo:
# Definir una clase
class Persona:
# Atributos de la clase
nombre = ""
edad = 0
# Métodos de la clase
def saludar(self):
print("Hola, mi nombre es " + self.nombre)

def cumplir_anios(self):
self.edad += 1
print("¡Feliz cumpleaños! Ahora tengo " + str(self.edad) + " años.")

# Crear un objeto de la clase Persona


p = Persona()

# Asignar valores a los atributos del objeto


p.nombre = "Juan"
p.edad = 30

#L

3. ¿Cómo crear una aplicación con el manejo de errores y gestión de


expresiones regularess?
Para crear una aplicación con manejo de errores y gestión de expresiones regulares
en Python, podemos utilizar la biblioteca re para trabajar con expresiones regulares y
la palabra clave try y except para manejar excepciones. Además, debemos definir
claramente los requisitos de la aplicación y considerar qué tipos de errores pueden
ocurrir y cómo podemos manejarlos.
4. ¿Cómo estructurar una Base de Datos en Python?
En Python, podemos estructurar una base de datos utilizando una biblioteca de
3
TRABAJO FINAL DEL CURSO

bases de datos como SQLite, MySQL, PostgreSQL, etc. Para estructurar una base
de datos en Python, debemos seguir estos pasos:

Importar la biblioteca de la base de datos que vamos a utilizar.


Establecer una conexión con la base de datos utilizando la biblioteca.
Crear una tabla para almacenar los datos.
Insertar datos en la tabla.
Consultar y actualizar datos en la tabla.
En general, la estructura de la base de datos dependerá del modelo de datos que
estamos utilizando y las relaciones entre las entidades. Pero en resumen, estos son
los pasos básicos para estructurar una base de datos en Python.
5. ¿Cómo generar una interfaz Gráfica con Tkinter?
Para generar una interfaz gráfica con Tkinter en Python, se deben seguir los
siguientes pasos:

Importar la librería Tkinter.


Crear una ventana principal utilizando la clase Tk().
Añadir widgets utilizando las clases correspondientes de la librería Tkinter.
Organizar los widgets utilizando un método para organizarlos en la ventana, como
pack(), grid() o place().
Ejecutar el bucle principal de la aplicación utilizando el método mainloop() de la
ventana.
Siguiendo estos pasos, se puede generar una interfaz gráfica básica con Tkinter en
Python.
6. ¿Cómo trabajar con módulos, ficheros de texto y binarios en Python?
en Python se puede trabajar con módulos, archivos de texto y binarios utilizando
diferentes librerías y funciones. Para trabajar con módulos, se deben importar en el
archivo donde se utilizarán y luego acceder a sus funciones y variables. Para trabajar
con archivos de texto, se puede utilizar la librería "io" y sus clases para leer y escribir
archivos en modo texto. Para trabajar con archivos binarios, se puede utilizar la
librería "pickle" y sus funciones para serializar y deserializar objetos Python en
formato binario.

4
TRABAJO FINAL DEL CURSO

HOJA DE PLANIFICACIÓN

PROCESO DE EJECUCIÓN
SEGURIDAD / MEDIO AMBIENTE /
OPERACIONES / PASOS /SUBPASOS NORMAS -ESTANDARES
1.Importar las librerias necesarias:
1-Importartkinter
2-Importar messageboxdetkinter
2.Definir una funciónCalculo:
1-Definir un bloque try-exceptpara manejar errores.
2-Obtener los valores de cantidad y precio desde las
entradas de usuario.
3-Calcular el subtotal de ventas para cada producto.
4-Calcular el total de ventas para todos los
productos.
5-Establecer el valor del subtotal y el total en las
etiquetas correspondientes.
6-En caso de que se produzca un error, mostrar un
mensaje de aviso.
3.Definir una funciónCodigo:
1-Definir un bloque try-exceptpara manejar errores.
2-Obtener los valores de código, descripción, precio y
unidad desde las entradas de usuario
Asignar valores.
3-Asignar valores predeterminados según el rango de
valores del código para cada producto.
4-Establecer el valor del código, descripción, precio y
unidad en las entradas .
5-En caso de que se produzca un error, mostrar un
mensaje de aviso
4.Definir la funciónLimpiar:
1-Establecer el valor de todas las entradas y
etiquetas en cero
5.Crear la ventana principal de la aplicacions]
6.Crear dos marcos en la ventana principal:
[1]-Crear el primer marco:
Crear las etiquetas y entradas para código,
descripción, cantidad, unidad y precio del primer
producto.
2-Crear el botón "Obtener precio" para obtener el
precio predeterminado según el código.
3-Crear la etiqueta y entrada para el subtotal del
primer producto
[2]-Crear el segundo marco:
1.Repetir los pasos anteriores para el segundo y
tercer producto.

5
TRABAJO FINAL DEL CURSO

7.Crear el boton "Calcular" para calcular el subtotal y


total de ventas.
8.Crear el botón "Limpiar" para reiniciar todos los
valores de entrada y etiqueta.
9.Ejecutar el bucle principal de la ventana de la
aplicación.

INSTRUCCIONES: debes ser lo más explícito posible. Los gráficos ayudan a transmitir
mejor las ideas. No olvides los aspectos de calidad, medio ambiente y SHI.

6
TRABAJO FINAL DEL CURSO

DIBUJO / ESQUEMA/ DIAGRAMA

[NOMBRE DEL TRABAJO]

7
TRABAJO FINAL DEL CURSO

RENGIFO BALSECA
[ESCALA]
FAVIO

from tkinter import *


from tkinter import messagebox as MessageBox

def Calculo():
"""En esta función está la logica de calcular el total y subtotal de ventas
asignado por un precio por el usuario junto con la declaracion de try-
except"""

try:
# Accediendo a los valores mediante el metodo get de cantidad y
precio.
cant = int(obtenerCantidad.get());
cant1 = int(obtenerCantidad1.get());
cant2 = int(obtenerCantidad2.get());
prec = float(obtenerPrecio.get());
prec1 = float(obtenerPrecio1.get());
prec2 = float(obtenerPrecio2.get());
# calculo del subtotal de ventas
subt = (cant * prec);
subt1 = (cant1 * prec1);
subt2 = (cant2 * prec2);
# calculo del total de ventas
totl = (subt + subt1 + subt2);
# fijando los valores mediane el metodo set a subtotal y total
obtenerSubtotal.set(str(subt));
obtenerSubtotal1.set(str(subt1));
obtenerSubtotal2.set(str(subt2));
# fijando los valores mediane el metodo set a total
obtenerTotal.set(str(totl));

except ValueError:
MessageBox.showinfo("AVISO IMPORTANTE", """En la columna
Cantidad o Precio hay valores incorrectos.
Ingrese solo numeros y evite dejar celdas vacias.

+++++++++++++
| Mensaje de ayuda |
+++++++++++++
Puede ingresar solo los codigos de productos y el sistema te arrojará los
precios""");

def Codigos():

8
TRABAJO FINAL DEL CURSO

""" esta funcion obtiene por condicionales los valores predeterminado


para la casilla codigo de producto, descripcion, unidad y precio"""
# Accediendo a los valores mediante el metodo get de codigo,
descripcion, unidad y precio
try:
codg = int(obtenerCodigo.get());
codg1 = int(obtenerCodigo1.get());
codg2 = int(obtenerCodigo2.get());
desc = obtenerDescripcion.get();
desc1 = obtenerDescripcion1.get();
desc2 = obtenerDescripcion2.get();

prec = obtenerPrecio.get();
prec1 = obtenerPrecio1.get();
prec2 = obtenerPrecio2.get();

uni = obtenerUnidad.get();
uni1 = obtenerUnidad1.get();
uni2 = obtenerUnidad2.get();

# obteniendo valores predefinidos por condicionales para codigo de


producto, descripcion, unidad y precio

# condicion para la primera columna de codigo de producto, precio y


unidad
if codg > 1 and codg < 10:
desc = "Stock"
prec = 15
uni = "Kilogramos"
elif codg > 10 and codg < 30:
desc = "sin oferta"
prec = 30
uni = "Metros"
else:
desc = "oferta"
prec = 50
uni = "Litros"

# condicion para la segunda columna de codigo de producto, precio y


unidad
if codg1 > 1 and codg < 10:
desc1 = "Stock"
prec1 = 60
uni1 = "Kilos"
elif codg1 > 10 and codg < 30:
desc1 = "sin oferta"
prec1 = 80
uni1 = "Metros"
else:
9
TRABAJO FINAL DEL CURSO

desc1 = "oferta"
prec1 = 90
uni1 = "Litros"

# condicion para la tercera celda de codigo de producto, precio y


unidad
if codg2 > 1 and codg < 10:
desc2 = "Stock"
prec2 = 90
uni2 = "Litros"
elif codg2 > 10 and codg < 30:
desc2 = "sin oferta"
prec2 = 120
uni2 = "Kilos"
else:
desc2 = "oferta"
prec2 = 190
uni2 = "Metros"

# fijando los valores mediane el metodo set a precio, descripcion,


codigo y unidad
obtenerPrecio.set(str(prec));
obtenerPrecio1.set(str(prec1));
obtenerPrecio2.set(str(prec2));

obtenerDescripcion.set(str(desc));
obtenerDescripcion1.set(str(desc1));
obtenerDescripcion2.set(str(desc2));

obtenerCodigo.set(str(codg));
obtenerCodigo1.set(str(codg1));
obtenerCodigo2.set(str(codg2));

obtenerUnidad.set(str(uni));
obtenerUnidad1.set(str(uni1));
obtenerUnidad2.set(str(uni2));
except ValueError:
MessageBox.showinfo("AVISO IMPORTANTE", """En la columna
Cod_Prod ingresar un numero válido.
Evite dejar casillas vacios

NOTA: los códigos de productos solo son números.""");

def Limpiar():
""" Esta funcion limpia o reinicia los valores a cero, permitiendo ingresar
los valores nuevos por el usuario"""
# Accediendo a los valores mediante el metodo get a todos las celdas del
segundo frame
10
TRABAJO FINAL DEL CURSO

obtenerCodigo.set("");
obtenerCodigo1.set("");
obtenerCodigo2.set("");
obtenerDescripcion.set("");
obtenerDescripcion1.set("");
obtenerDescripcion2.set("");
obtenerUnidad.set("");
obtenerUnidad1.set("");
obtenerUnidad2.set("");
obtenerCantidad.set("");
obtenerCantidad1.set("");
obtenerCantidad2.set("");
obtenerPrecio.set("");
obtenerPrecio1.set("");
obtenerPrecio2.set("")
obtenerSubtotal.set("");
obtenerSubtotal1.set("");
obtenerSubtotal2.set("");
obtenerTotal.set("");
tDni.focus();

root = Tk() # root = nombre de mi raiz


root.title('TRABAJO FINAL FREDY SEBASTIAN SALINAS OBREGON') #
nombre del titulo de mi ventana
root.config(bg="silver") # background o fondo de mi ventana
# root.iconbitmap('imagen.ico')# imagen con el icono de mi ventana
root.resizable(False, False) # Evita que se expanda mi ventana

miFrame = Frame(root) # primer frame


miFrame.pack() # empaquetando
miFrame.config(bg="#c0c0c0") # fondo de mi primer frame

lDni = Label(miFrame, text='Ferretria El tornillo Feliz', font=("Algerian", 18),


bg="#c0c0c0")
lDni.grid(row=0, column=2, pady=10, padx=10)

# ---------------

# Label y entry de DNI --------------------------------


obtenerDni = StringVar()
lDni = Label(miFrame, text='DNI :')
lDni.grid(row=5, column=0, sticky='e', pady=5, padx=5)
tDni = Entry(miFrame, textvariable=obtenerDni)
tDni.grid(row=5, column=1, pady=5, padx=5)

# Label y entry Apellido --------------------------------


obtenerApellido = StringVar()
lApellido = Label(miFrame, text='Apellido :')
11
TRABAJO FINAL DEL CURSO

lApellido.grid(row=6, column=0, sticky='e', pady=5, padx=5)


tApellido = Entry(miFrame, textvariable=obtenerApellido)
tApellido.grid(row=6, column=1, pady=5, padx=5)
# Label y entry Nombre --------------------------------
obtenerNombre = StringVar()
lNombre = Label(miFrame, text='Nombre :')
lNombre.grid(row=5, column=2, sticky='e', pady=5, padx=5)
tNombre = Entry(miFrame, textvariable=obtenerNombre)
tNombre.grid(row=5, column=3, pady=5, padx=5)
# Label y entry Diección --------------------------------
obtenerDir = StringVar()
lDireccion = Label(miFrame, text='Dirección :')
lDireccion.grid(row=7, column=0, sticky='e', pady=5, padx=5)
tDireccion = Entry(miFrame, textvariable=obtenerDir)
tDireccion.grid(row=7, column=1, columnspan=3, sticky='we', pady=5,
padx=5)
# Label y entry Teléfono --------------------------------
obtenerTel = StringVar()
lTel = Label(miFrame, text='Teléfono :')
lTel.grid(row=8, column=0, sticky='e', pady=5, padx=5)
tTel = Entry(miFrame, textvariable=obtenerTel)
tTel.grid(row=8, column=1, columnspan=3, sticky='we', pady=5, padx=5)

# segundo frame
miFrame1 = Frame(root)
miFrame1.pack()

# nombre de mis variables(CODIGO)


obtenerCodigo = StringVar()
obtenerCodigo1 = StringVar()
obtenerCodigo2 = StringVar()
# Label y entry,s Código producto -----------------------
lCodigo = Label(miFrame1, text='Cod_Prod')
lCodigo.grid(row=9, column=0, sticky='e', pady=5, padx=5)
tCodigo1 = Entry(miFrame1, width=7, textvariable=obtenerCodigo)
tCodigo1.grid(row=10, column=0, pady=5, padx=5)
tCodigo2 = Entry(miFrame1, width=7, textvariable=obtenerCodigo1)
tCodigo2.grid(row=11, column=0, pady=5, padx=5)
tCodigo3 = Entry(miFrame1, width=7, textvariable=obtenerCodigo2)
tCodigo3.grid(row=12, column=0, pady=5, padx=5)

# nombres de mis variables (DESCRIPCION)


obtenerDescripcion = StringVar()
obtenerDescripcion1 = StringVar()
obtenerDescripcion2 = StringVar()
# Label y entry,s Descripción ---------------------------
lDes = Label(miFrame1, text='Descripción')
lDes.grid(row=9, column=1, sticky='ew', pady=5, padx=5)

12
TRABAJO FINAL DEL CURSO

tDes1 = Entry(miFrame1, width=7, state="readonly",


textvariable=obtenerDescripcion)
tDes1.grid(row=10, column=1, pady=5, padx=5)
tDes2 = Entry(miFrame1, width=7, state="readonly",
textvariable=obtenerDescripcion1)
tDes2.grid(row=11, column=1, pady=5, padx=5)
tDes3 = Entry(miFrame1, width=7, state="readonly",
textvariable=obtenerDescripcion2)
tDes3.grid(row=12, column=1, pady=5, padx=5)

#nombres de mi variable (UNIDAD)


obtenerUnidad = StringVar()
obtenerUnidad1 = StringVar()
obtenerUnidad2 = StringVar()
# Label y entry,s Unidad --------------------------------
lUni = Label(miFrame1, text='Unidad')
lUni.grid(row=9, column=2, sticky='ew', pady=5, padx=5)
tUni1 = Entry(miFrame1, width=7, state="readonly",
textvariable=obtenerUnidad)
tUni1.grid(row=10, column=2, pady=5, padx=5)
tUni2 = Entry(miFrame1, width=7, state="readonly",
textvariable=obtenerUnidad1)
tUni2.grid(row=11, column=2, pady=5, padx=5)
tUni3 = Entry(miFrame1, width=7, state="readonly",
textvariable=obtenerUnidad2)
tUni3.grid(row=12, column=2, pady=5, padx=5)

# nombres de mi variable (CANTIDAD)


obtenerCantidad = StringVar()
obtenerCantidad1 = StringVar()
obtenerCantidad2 = StringVar()
# Label y entry,s Cantidad ------------------------------
lCantidad = Label(miFrame1, text='Cantidad')
lCantidad.grid(row=9, column=3, sticky='ew', pady=5, padx=5)
tCantidad1 = Entry(miFrame1, width=7, textvariable=obtenerCantidad)
tCantidad1.grid(row=10, column=3, pady=5, padx=5)
tCantidad2 = Entry(miFrame1, width=7, textvariable=obtenerCantidad1)
tCantidad2.grid(row=11, column=3, pady=5, padx=5)
tCantidad3 = Entry(miFrame1, width=7, textvariable=obtenerCantidad2)
tCantidad3.grid(row=12, column=3, pady=5, padx=5)

# Nombres de mis variables (PRECIO)


obtenerPrecio = StringVar()
obtenerPrecio1 = StringVar()
obtenerPrecio2 = StringVar()
# Label y entry,s Precio --------------------------------
lPrecio = Label(miFrame1, text='Precio')
lPrecio.grid(row=9, column=4, sticky='ew', pady=5, padx=5)
tPrecio1 = Entry(miFrame1, width=7, textvariable=obtenerPrecio)
13
TRABAJO FINAL DEL CURSO

tPrecio1.grid(row=10, column=4, pady=5, padx=5)


tPrecio2 = Entry(miFrame1, width=7, textvariable=obtenerPrecio1)
tPrecio2.grid(row=11, column=4, pady=5, padx=5)
tPrecio3 = Entry(miFrame1, width=7, textvariable=obtenerPrecio2)
tPrecio3.grid(row=12, column=4, pady=5, padx=5)

# nombre de mi variable (SUB TOTAL)


obtenerSubtotal = StringVar()
obtenerSubtotal1 = StringVar()
obtenerSubtotal2 = StringVar()
# Label y entry,s Subtotal ------------------------------
lSubtotal = Label(miFrame1, text='Subtotal')
lSubtotal.grid(row=9, column=5, sticky='ew', pady=5, padx=5)
tSubtotal1 = Entry(miFrame1, width=7, state="readonly",
textvariable=obtenerSubtotal)
tSubtotal1.grid(row=10, column=5, pady=5, padx=5)
tSubtotal2 = Entry(miFrame1, width=7, state="readonly",
textvariable=obtenerSubtotal1)
tSubtotal2.grid(row=11, column=5, pady=5, padx=5)
tSubtotal3 = Entry(miFrame1, width=7, state="readonly",
textvariable=obtenerSubtotal2)
tSubtotal3.grid(row=12, column=5, pady=5, padx=5)

# Label y entry,s Total --------------------------------


obtenerTotal = StringVar() # Nombre de la variable de total
lTotal = Label(miFrame1, text='Total', font=("calibri", 12), bg="#A4D8D4")
lTotal.grid(row=12, column=6, sticky='ew', pady=5, padx=5)
tTotal = Entry(miFrame1, width=7, textvariable=obtenerTotal)
tTotal.grid(row=12, column=7, pady=5, padx=5)
# Botón guardar -----------------------------------------
guardar = Button(miFrame1, text='Calcular', font=("Bell MT", 15), bg="silver",
command=Calculo)
guardar.grid(row=13, column=5, pady=10, padx=10)

# boton Informacion
guardar = Button(miFrame1, text='Informacion', font=("Bell MT", 12),
bg="silver", command=Codigos)
guardar.grid(row=13, column=1, pady=5, padx=5)

# boton Limpiar
guardar = Button(miFrame1, text='Limpiar', font=("Bell MT", 12), bg="silver",
command=Limpiar)
guardar.grid(row=13, column=0, pady=5, padx=5)

root.mainloop()

14
TRABAJO FINAL DEL CURSO

LISTA DE RECURSOS

INSTRUCCIONES: completa la lista de recursos necesarios para la ejecución del trabajo.

1. MÁQUINAS Y EQUIPOS
Computadora de la institucion .
Mi celular.

3. HERRAMIENTAS E INSTRUMENTOS
Programa de python
Spyder
IDL

5. MATERIALES E INSUMOS
Los archivos de word donde esta la informacion del trabajo final.

15

También podría gustarte