0% encontró este documento útil (0 votos)
13 vistas17 páginas

Muestra de Trabajo - Final

SENATI
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas17 páginas

Muestra de Trabajo - Final

SENATI
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 DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 17

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL

PLAN DE TRABAJO
DEL ESTUDIANTE
TRABAJO FINAL DEL CURSO

1. INFORMACIÓN GENERAL

Apellidos y Nombres: QUISPE RAMOS TOY ANTHONY ID: 1492364


Dirección Zonal/CFP: AREQUIPA - PUNO
Carrera: ING DE SOFTWARE CON INT/ARTIFICIAL Semestre: 2
Curso/ Mód. Formativo ALGORITMIA
Tema del Trabajo: Entrega (1) de trabajo Final de Python

2. PLANIFICACIÓN DEL TRABAJO


ACTIVIDADES
N /
CRONOGRAMA/ FECHA DE ENTREGA
° ENTREGABL
ES
1 HACER Configuración Optimización Pruebas Gestión 7/
PROGRAM Básica y y Exhaustivas y de set
A EN Funcionalidad Funcionalidad Documentaci Archivos
LENGUAJE es Iniciales es Avanzadas ón y
DE Configura tu Revisa y Realiza pruebas Segurida
PYTHON entorno de refactoriza el exhaustivas d
desarrollo en código para para asegurarte
Desarrollar Python, mejorar su de que todas
una asegurándote de eficiencia y las
aplicación de tener todas las claridad, funcionalidades
gestión de herramientas asegurándote de trabajen
tareas necesarias y que las correctamente y
familiarizándote funciones sean que el
utilizando con el entorno modulares y programa
Python, de desarrollo reutilizables. maneje
aplicando los integrado. Implementa adecuadamente
conceptos y Desarrolla las funcionalidades distintos
habilidades clases básicas avanzadas como escenarios de
Tarea y la gestión de uso. Identifica y
aprendidas en GestorTareas. archivos para corrige errores
el curso. La clase Tarea guardar y cargar encontrados
La aplicación debe tener tareas desde el durante las
permitirá a atributos para disco. Utiliza pruebas.
los usuarios título, funciones de Documenta el
descripción y fecha y hora código,
crear, estado, y un para añadir describiendo la
visualizar, método para información funcionalidad
actualizar y representar la temporal a las de cada parte
eliminar tarea como una tareas, del programa y
tareas de una cadena. En la permitiendo proporcionando
clase gestionar mejor instrucciones
lista y/o GestorTareas, las tareas claras sobre
diccionario. implementa basadas en el cómo utilizarlo.
Las opciones métodos para tiempo. Prepara un
o crear y eliminar Asegúrate de manual de
tareas, que estas usuario básico
funcionalidad permitiendo nuevas si es necesario,
es pueden es agregar nuevas funcionalidades para facilitar la
libro, por tareas a la lista y funcionen comprensión y
2
TRABAJO FINAL DEL CURSO

ejemplo, se
ingresa un
fecha y se
ponen las
tareas a
realizar ese
dia, luego que
permita
eliminarlas
mostrar las
cuando sea
tareas necesario.
programadas Asegúrate de correctamente y
en los días, que estas no interfieran
el uso del
funcionalidades con las
luego que programa.
básicas existentes.
permita funcionen
modificar, correctamente
antes de
permita proceder.
eliminar y
salir, se puede
usar
estructuras
condicionales
, repetitivas,
funciones,
etc.
Hacer el
mismo
programa en
python pero
2 8/set 9/set 10/set
implementarlos
con clases,
propiedades y
metodos
3

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

Nº PREGUNTAS
1 ¿Qué es una clase?
2 ¿Qué partes tiene una clase?
3 ¿Qué es una función?
4 ¿Qué es un bucle y cuales son sus instrucciones?

3
TRABAJO FINAL DEL CURSO

HOJA DE RESPUESTAS A LAS PREGUNTAS GUÍA

1. ¿Qué es una clase?

Una clase en Python es una estructura de programación que


permite definir un conjunto de métodos y atributos que describen un
objeto o entidad. Las clases son un concepto fundamental en la
programación orientada a objetos, que se utilizan para modelar
entidades del mundo real o abstracto en un programa de
computadora
ejm: class Alumno:
def saludar(self):
"""Imprime un saludo en pantalla."""
print("¡Hola, mundo!")

alumno = Alumno()
alumno.saludar()
2. ¿Qué partes tiene una clase?

Una clase en Python es como una plantilla para crear objetos, que tiene atributos
(datos) y métodos (funciones). Los métodos especiales como __init__ ayudan a
configurar y describir los objetos cuando los creas.

3. ¿Qué es una función?

Una función es un bloque de código que realiza una tarea específica y puede ser
reutilizado. Se define con def, seguido de un nombre y parámetros opcionales. Al
llamarla, puedes pasarle argumentos y recibe un valor de retorno. Facilita la
organización del código y evita la repetición.

4. ¿Qué es un bucle y cuales son sus instrucciones?


Un bucle es una estructura que ejecuta un bloque de código repetidamente mientras
se cumple una condición. Los dos tipos principales en Python son for (para recorrer
secuencias) y while (para ejecutar mientras se cumpla una condición). Las
instrucciones break y continue controlan el flujo del bucle.

4
TRABAJO FINAL DEL CURSO

5. ¿Qué es actualizar tareas?


Actualizar una tarea consiste en modificar sus atributos, como el estado o la
descripción, en un sistema de gestión de tareas. Primero, se identifica la tarea que se
desea actualizar, luego se cambian los atributos según sea necesario. Finalmente, se
confirma que los cambios se hayan guardado correctamente.

5
TRABAJO FINAL DEL CURSO

HOJA DE PLANIFICACIÓN

PROCESO DE EJECUCIÓN
Operaciones / Pasos / Seguridad / Medio Ambiente / Normas -
Paso
Subpasos Estándares
1. Iniciar el
Programa
Seguridad: Asegúrate de que el entorno de
Abrir el Archivo del Código
desarrollo esté seguro.

- Abre el archivo Python en tu Medio Ambiente: Mantén el área de trabajo


editor de texto o IDE. limpia.

- Ejemplo: Visual Studio Code, Normas - Estándares: Sigue las directrices


PyCharm, etc. para ejecutar scripts.

Ejecutar el Programa
- Ejecuta el script Python desde
el editor o desde la línea de
comandos.
- En VS Code, usa Ctrl + F5 o
selecciona Run desde el menú.

2. Menú
Principal

Seguridad: Verifica que las entradas del


Mostrar el Menú de Opciones
usuario no comprometan la seguridad.

- Imprime las opciones Medio Ambiente: Utiliza el sistema de


disponibles al usuario. manera eficiente.
Normas - Estándares: Utiliza un formato
- Ejemplo:
estandarizado para el menú.
```
Menu:

1. Crear tarea

2. Leer tareas

3. Actualizar tarea

4. Eliminar tarea

5. Salir

6
TRABAJO FINAL DEL CURSO

```
Leer la Opción Seleccionada

- Captura la opción del usuario


para saber qué hacer.

3. Crear Tarea

Leer Datos de la Tarea Seguridad: Valida los datos introducidos.

- Solicita al usuario el título y la Medio Ambiente: Minimiza el uso


descripción de la tarea. innecesario de recursos.

Normas - Estándares: Sigue las mejores


Crear la Tarea
prácticas para el almacenamiento.
- Instancia un objeto Tarea con
los datos proporcionados.
- Agrega la tarea a la lista de
tareas.

- Imprime un mensaje de éxito.

4. Leer Tareas

Seguridad: Protege la información al


Verificar la Lista de Tareas
mostrarla.

- Comprueba si hay tareas en la Medio Ambiente: Presenta la información


lista. de manera clara.

Normas - Estándares: Asegúrate de que la


Mostrar Tareas
salida sea clara y útil para el usuario.
- Imprime las tareas si existen;
si no hay tareas, informa al
usuario.
5. Actualizar
Tarea
Seguridad: Verifica que los cambios no
Leer Datos para Actualizar
introduzcan errores.
- Solicita el título de la tarea, el
Medio Ambiente: Minimiza el uso de
nuevo estado y la nueva
recursos.
descripción (si hay).
Normas - Estándares: Cumple con las
Buscar y Actualizar la Tarea
políticas de actualización de datos.
- Encuentra la tarea en la lista
por el título.
- Actualiza el estado y/o la
descripción.
- Imprime un mensaje de éxito
o error.
6. Eliminar
7
TRABAJO FINAL DEL CURSO

Tarea
Seguridad: Asegúrate de que la eliminación
Leer el Título de la Tarea
no afecte otros datos.
- Solicita el título de la tarea Medio Ambiente: Realiza la eliminación de
que deseas eliminar. manera eficiente.
Normas - Estándares: Sigue las políticas de
Buscar y Eliminar la Tarea
eliminación de datos.

- Encuentra la tarea en la lista y


elimínala.
- Imprime un mensaje de éxito
o error.
7. Salir del
Programa
Seguridad: Asegúrate de que todos los datos
Mostrar Mensaje de Salida
se guardan correctamente.
- Imprime un mensaje
Medio Ambiente: Libera cualquier recurso
indicando que el programa está
utilizado.
saliendo.
Normas - Estándares: Sigue las políticas de
Terminar el Bucle
finalización de programas.
- Sale del bucle principal para
finalizar la ejecució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.

8
TRABAJO FINAL DEL CURSO

DIBUJO / ESQUEMA/ DIAGRAMA

class Tarea:
def __init__(self, titulo, descripcion):
self.titulo = titulo
self.descripcion = descripcion
self.estado = 'Pendiente'
def __str__(self):
return f"{self.titulo}: {self.descripcion} (Estado: {self.estado})"
class GestorTareas:
def __init__(self):
self.tareas = []
def crear_tarea(self, titulo, descripcion):
nueva_tarea = Tarea(titulo, descripcion)
9
TRABAJO FINAL DEL CURSO
self.tareas.append(nueva_tarea)
print(f"Tarea '{titulo}' creada exitosamente.")
def leer_tareas(self):
if not self.tareas:
print("No hay tareas en la lista.")
else:
for tarea in self.tareas:
print(tarea)
def actualizar_tarea(self, titulo, nuevo_estado=None, nueva_descripcion=None):
for tarea in self.tareas:
if tarea.titulo == titulo:
if nuevo_estado:
tarea.estado = nuevo_estado
if nueva_descripcion:
tarea.descripcion = nueva_descripcion
print(f"Tarea '{titulo}' actualizada exitosamente.")
return True
print(f"Tarea '{titulo}' no encontrada.")
return False
def eliminar_tarea(self, titulo):
for tarea in self.tareas:
if tarea.titulo == titulo:
self.tareas.remove(tarea)
print(f"Tarea '{titulo}' eliminada exitosamente.")
return True
print(f"Tarea '{titulo}' no encontrada.")
return False
def main():
gestor = GestorTareas()

while True:
print("\nMenu:")
print("1. Crear tarea")
print("2. Leer tareas")
print("3. Actualizar tarea")
print("4. Eliminar tarea")
print("5. Salir")

opcion = input("Seleccione una opción: ")

if opcion == "1":
titulo = input("Ingrese el título de la tarea: ")
descripcion = input("Ingrese la descripción de la tarea: ")
gestor.crear_tarea(titulo, descripcion)

elif opcion == "2":


gestor.leer_tareas()

elif opcion == "3":


titulo = input("Ingrese el título de la tarea a actualizar: ")
nuevo_estado = input("Ingrese el nuevo estado (o presione Enter para omitir): ")
nueva_descripcion = input("Ingrese la nueva descripción (o presione Enter para omitir): ")
gestor.actualizar_tarea(titulo, nuevo_estado if nuevo_estado else None, nueva_descripcion if
nueva_descripcion else None)

elif opcion == "4":


titulo = input("Ingrese el título de la tarea a eliminar: ")
gestor.eliminar_tarea(titulo)

10
TRABAJO FINAL DEL CURSO

elif opcion == "5":


print("Saliendo del programa.")
break

else:
print("Opción inválida. Por favor, intente de nuevo.")
if __name__ == "__main__":
main()

11
TRABAJO FINAL DEL CURSO

AGENDA DE TAREAS

QUISPE RAMOS ROY ANTHONY

12
TRABAJO FINAL DEL CURSO

PARTE 2

import json
import os
from datetime import datetime
class Tarea:
def __init__(self, titulo, descripcion):
self.titulo = titulo
self.descripcion = descripcion
self.estado = 'Pendiente'
self.fecha_creacion = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
def __str__(self):
return f"{self.titulo}: {self.descripcion} (Estado: {self.estado}, Creado:
{self.fecha_creacion})"
class GestorTareas:
def __init__(self):
self.tareas = []
self.archivo_tareas = 'tareas.json'
self.cargar_tareas()
def crear_tarea(self, titulo, descripcion):
if not titulo or not descripcion:
print("Título y descripción no pueden estar vacíos.")
return

if any(tarea.titulo == titulo for tarea in self.tareas):


print("Ya existe una tarea con ese título.")
return

nueva_tarea = Tarea(titulo, descripcion)


self.tareas.append(nueva_tarea)
self.guardar_tareas()
print(f"Tarea '{titulo}' creada exitosamente.")
def leer_tareas(self):
if not self.tareas:
print("No hay tareas en la lista.")
else:
for tarea in self.tareas:
print(tarea)
def mostrar_tareas(self):
if not self.tareas:
print("No hay tareas en la lista.")
else:
print("\n" + "="*80)
print(f"| {'Título':<30} | {'Estado':<15} | {'Descripción':<35} | {'Fecha de
Creación':<20} |")
print("="*80)
for tarea in self.tareas:
print(f"| {tarea.titulo[:28]:<30} | {tarea.estado[:15]:<15} |
{tarea.descripcion[:33]:<35} | {tarea.fecha_creacion[:19]:<20} |")
print("="*80)
print("\n")
def actualizar_tarea(self, titulo, nuevo_estado=None, nueva_descripcion=None):
tarea_encontrada = False
for tarea in self.tareas:
if tarea.titulo == titulo:
tarea_encontrada = True
if nuevo_estado:
tarea.estado = nuevo_estado
if nueva_descripcion:
tarea.descripcion = nueva_descripcion
13
TRABAJO FINAL DEL CURSO
self.guardar_tareas()
print(f"Tarea '{titulo}' actualizada exitosamente.")
break
if not tarea_encontrada:
print(f"Tarea '{titulo}' no encontrada.")
def eliminar_tarea(self, titulo):
tarea_a_eliminar = None
for tarea in self.tareas:
if tarea.titulo == titulo:
tarea_a_eliminar = tarea
break
if tarea_a_eliminar:
self.tareas.remove(tarea_a_eliminar)
self.guardar_tareas()
print(f"Tarea '{titulo}' eliminada exitosamente.")
else:
print(f"Tarea '{titulo}' no encontrada.")
def guardar_tareas(self):
try:
with open(self.archivo_tareas, 'w') as archivo:
tareas_dict = [self.tarea_to_dict(tarea) for tarea in self.tareas]
json.dump(tareas_dict, archivo, indent=4)
except IOError as e:
print(f"Error al guardar tareas: {e}")
def cargar_tareas(self):
if os.path.exists(self.archivo_tareas):
try:
with open(self.archivo_tareas, 'r') as archivo:
tareas_dict = json.load(archivo)
self.tareas = [self.dict_to_tarea(tarea_dict) for tarea_dict in tareas_dict]
except (IOError, json.JSONDecodeError) as e:
print(f"Error al cargar tareas: {e}")
else:
print("No se encontró el archivo de tareas. Se creará uno nuevo.")
def tarea_to_dict(self, tarea):
return {
'titulo': tarea.titulo,
'descripcion': tarea.descripcion,
'estado': tarea.estado,
'fecha_creacion': tarea.fecha_creacion
}
def dict_to_tarea(self, tarea_dict):
tarea = Tarea(tarea_dict['titulo'], tarea_dict['descripcion'])
tarea.estado = tarea_dict['estado']
tarea.fecha_creacion = tarea_dict['fecha_creacion']
return tarea
def main():
gestor = GestorTareas()
while True:
print("\nMenu:")
print("1. Crear tarea")
print("2. Leer tareas")
print("3. Mostrar todas las tareas")
print("4. Actualizar tarea")
print("5. Eliminar tarea")
print("6. Salir")

opcion = input("Seleccione una opción: ")

if opcion == "1":

14
TRABAJO FINAL DEL CURSO
titulo = input("Ingrese el título de la tarea: ")
descripcion = input("Ingrese la descripción de la tarea: ")
gestor.crear_tarea(titulo, descripcion)
elif opcion == "2":
gestor.leer_tareas()
elif opcion == "3":
gestor.mostrar_tareas()
elif opcion == "4":
titulo = input("Ingrese el título de la tarea a actualizar: ")
nuevo_estado = input("Ingrese el nuevo estado (o presione Enter para omitir): ")
nueva_descripcion = input("Ingrese la nueva descripción (o presione Enter para
omitir): ")
gestor.actualizar_tarea(titulo, nuevo_estado if nuevo_estado else None,
nueva_descripcion if nueva_descripcion else None)

elif opcion == "5":


titulo = input("Ingrese el título de la tarea a eliminar: ")
gestor.eliminar_tarea(titulo)
elif opcion == "6":
print("Saliendo del programa.")
break

else:
print("Opción inválida. Por favor, intente de nuevo.")
if __name__ == "__main__":
main()

15
TRABAJO FINAL DEL CURSO

Gestor de tareas mejorado

Quispe ramos roy anthony [ESCALA]

LISTA DE RECURSOS

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

1. MÁQUINAS Y EQUIPOS
laptop
Computadora
Teclado
Maus
Usb

3. HERRAMIENTAS E INSTRUMENTOS
Visual sutdio code
word
Esquema de online (plan uml)

16
TRABAJO FINAL DEL CURSO

5. MATERIALES E INSUMOS
Internet
chatGPT
Pagina (uml)
Yhou tuve

17

También podría gustarte