Informe Trabajo Parcial 2024-1)
Informe Trabajo Parcial 2024-1)
Informe Trabajo Parcial 2024-1)
Sección: CC35
Proyecto: 10 - RENIEC
Alumnos:
Código Nombres y apellidos Valoración
(0-20)
u202211920 Arce Saavedra, José Francisco 20
u202311469 Arroyo Gonzales, Emily Juliette 20
u202319563 Muñiz Huayanca, Percy Alonso 20
2024
1. Introducción
Nuestro programa utiliza una combinación de arreglos, lambdas y templates para gestionar
los datos de los documentos de identidad. Los arreglos se utilizan para almacenar los datos
de manera estructurada, mientras que las lambdas se emplean para implementar
funciones de búsqueda y modificación de forma flexible. Además, los templates se utilizan
para hacer que el programa sea genérico y adaptable a diferentes tipos de documentos de
identidad.
En este proyecto, hemos demostrado cómo el uso de arreglos, lambdas y templates en C++
puede facilitar significativamente la gestión de datos de documentos de identidad. Nuestra
solución ofrece una interfaz fácil de usar y eficiente, lo que permite a los usuarios manejar
grandes volúmenes de datos de manera rápida y precisa. En conclusión, nuestro programa
proporciona una herramienta valiosa para mejorar la eficiencia y la precisión en la gestión
de datos de documentos de identidad en diversos contextos.
2. Diseño
2.1. Diagrama de clase en UML
3. Estructuras de datos
3.1. Implementación de estructuras de datos (listas simples, dobles enlazadas e iteradores)
con sus métodos respectivos por cada integrante.
Clase Carneordenado:
● Clase DNI ordenado
4. Codificación
4.1. Análisis de Complejidad de 3 métodos que consideren más importantes, desarrollo del
diagrama de clases UML.
● Clase DNI_datos: Esta clase se encarga de mostrar los datos del DNI que el usuario ha
ingresado.
● Clase dniOrdenado: Esta clase se encarga de ordenar los datos de los DNI y luego
retorna el arreglo de todos los datos.
● Clase Cantidad:
En esta clase se usan templates para poder hacer el código más abstracto y flexible al momento
de usar datos. Esto permite trabajar con diferentes datos y tipos de datos para no tener que
escribir más de una sola clase. El uso de templates también nos ayuda a que el código sea
menos propenso a errores.
En esta parte de la clase Calidad se usa recursividad para comprobar si es que hemos llegado al
límite del arreglo de datos. Tomando en cuenta el string Calidad para la calidad migratoria de
un individuo con Carnet de Extranjería e index que es el índice del arreglo, estas dos variables
se comparan para contar la cantidad de elementos que tienen calidad migratoria. La función se
llama a sí misma hasta que recorra todo el arreglo.
En esta clase se usa la función sort para ordenar los arreglos de todos los datos de un DNI por
número de DNI de mayor a menor. compararDNIs compara si el valor del DNI de diferentes
arreglos es mayor o menor entre ellos y ordenarYMostrar muestra los datos de los DNI ya
ordenados.
4.5. Interfaz de usuario para verificar la funcionalidad, con una buena estética.
Nuestro proyecto se enfoca en tener una interfaz simple de entender y que también sea
atractiva para los usuarios. Algunos ejemplos se ven a continuación:
Nuestro código ha sido diseñado para abrir archivos de texto (.txt), leer su contenido y
utilizarlos dentro de las diversas clases del programa, siempre y cuando el archivo en cuestión
siga una sintaxis correcta y esté ordenado de manera adecuada
5. Conclusión
estructuras de datos para organizar sus bases de datos, facilitando así la búsqueda de datos
específicos de manera eficiente. Además, hemos observado que el uso de plantillas y funciones
anónimas (lambdas) resulta muy conveniente en este contexto, ya que posibilitan la interacción
con diversos tipos de datos sin la necesidad de crear una clase o función para cada uno de
ellos. Por último, tenemos la expectativa de que el código que hemos desarrollado nos sea útil
especialicemos.
6. Referencias bibliográficas
● ASCII (1960) American Standard Code for Information Interchange recuperado de:
https://elcodigoascii.com.ar
López, E. (2022, 7 julio). Concepto de recursividad en C++ - C++ avanzado 2 [Vídeo]. LinkedIn
https://es.linkedin.com/learning/c-plus-plus-avanzado-2/concepto-de-recursividad-en-c-plus-plus
https://alicia.concytec.gob.pe/vufind/Record/REVUNMSM_e96dc63c991c71d9c33f5e6eda4c8545/Descript
ion#tabnav