PEC UOC de programación: cómo resolverla y entregarla
- AyudaPECs

- 13 jul
- 11 min de lectura
PEC UOC de programación: cómo resolver el ejercicio, probar el código y preparar la entrega
Las PEC UOC de programación pueden generar muchas dificultades incluso cuando el estudiante comprende la teoría de la asignatura. En este tipo de actividades no basta con conseguir que el programa se ejecute una vez. El código debe responder exactamente al enunciado, utilizar las estructuras solicitadas, gestionar posibles errores y acompañarse de la documentación o memoria exigida.
Una actividad de programación puede incluir ejercicios en Java, Python, C, C++, JavaScript, R u otros lenguajes. También puede centrarse en algoritmos, estructuras de datos, orientación a objetos, bases de datos, redes, sistemas operativos, inteligencia artificial o desarrollo web.
El problema suele aparecer cuando el estudiante comienza a programar demasiado pronto, sin haber dividido correctamente los requisitos. Esto provoca código difícil de mantener, funciones que no responden al ejercicio o soluciones que funcionan con un ejemplo, pero fallan al probar otros datos.
En AyudaPECs.com orientamos a estudiantes que necesitan organizar una actividad técnica, interpretar los requisitos y comprobar que la explicación escrita coincide con el funcionamiento del programa. ResolverPECs.com ofrece apoyo especializado cuando una PEC UOC de programación requiere una resolución, depuración o revisión técnica más profunda.
Qué se evalúa en una PEC de programación
Una PEC técnica no suele valorarse únicamente por el resultado visible.
El profesorado puede evaluar:
Comprensión del problema.
Diseño del algoritmo.
Uso correcto del lenguaje.
Estructura del código.
Aplicación de funciones o clases.
Gestión de errores.
Eficiencia.
Legibilidad.
Comentarios.
Casos de prueba.
Resultados obtenidos.
Justificación de decisiones.
Memoria técnica.
Cumplimiento del formato de entrega.
Un programa puede generar la salida esperada y perder puntuación si no utiliza los conceptos exigidos o presenta una estructura difícil de comprender.
Por ejemplo, el ejercicio puede solicitar una solución orientada a objetos. Si el estudiante resuelve todo mediante funciones y variables globales, el resultado puede ser correcto, pero no demostrar las competencias que se están evaluando.
Primer paso: leer el enunciado como una especificación técnica
Antes de escribir código, conviene convertir el enunciado en una lista de requisitos.
Hay que identificar:
Qué datos recibe el programa.
Qué resultados debe producir.
Qué lenguaje debe utilizarse.
Qué estructuras son obligatorias.
Qué funciones deben implementarse.
Qué restricciones existen.
Qué errores deben controlarse.
Qué archivos deben entregarse.
Qué ejemplos proporciona el enunciado.
Qué criterios aparecen en la rúbrica.
Una tabla de requisitos puede facilitar el trabajo:
Requisito | Tipo | Estado |
Leer una lista de números | Entrada | Pendiente |
Ordenar los valores | Procesamiento | Pendiente |
Mostrar media y mediana | Salida | Pendiente |
Controlar lista vacía | Error | Pendiente |
Utilizar funciones | Estructura | Pendiente |
Añadir pruebas | Verificación | Pendiente |
Esta tabla permite comprobar el avance y reduce el riesgo de olvidar una parte del ejercicio.
Diferenciar requisitos funcionales y técnicos
Los requisitos funcionales indican qué debe hacer el programa.
Por ejemplo:
Registrar usuarios.
Calcular una media.
Buscar un elemento.
Ordenar una lista.
Mostrar un informe.
Los requisitos técnicos indican cómo debe construirse.
Por ejemplo:
Utilizar clases.
Aplicar recursividad.
No utilizar determinadas librerías.
Separar el código en módulos.
Implementar una estructura enlazada.
Utilizar excepciones.
Ambos tipos son importantes.
Una solución que cumple el resultado, pero ignora los requisitos técnicos, puede considerarse incorrecta.
AyudaPECs.com ayuda a revisar esta diferencia antes de empezar la implementación.
Segundo paso: dividir el problema
Un ejercicio complejo debe descomponerse en tareas pequeñas.
Imaginemos una PEC que solicita gestionar una biblioteca.
El problema puede dividirse en:
Crear la estructura de libro.
Registrar nuevos libros.
Buscar por título.
Prestar un libro.
Devolver un libro.
Mostrar libros disponibles.
Controlar errores.
Guardar o cargar datos.
Preparar pruebas.
Cada tarea puede desarrollarse y probarse de forma independiente.
Programar todo dentro de un único bloque suele generar código largo, repetitivo y difícil de depurar.
Tercer paso: diseñar el algoritmo
Antes de utilizar un lenguaje concreto, conviene pensar en la lógica.
Puede utilizarse:
Pseudocódigo.
Diagramas de flujo.
Tablas de decisión.
Esquemas de clases.
Casos de uso.
Ejemplo de pseudocódigo:
InicioLeer lista de calificacionesSi la lista está vacía Mostrar mensaje de errorSi no Calcular suma Calcular media Mostrar resultadoFin siFin
Este esquema permite detectar problemas antes de escribir la sintaxis definitiva.
En actividades complejas, dedicar tiempo al diseño suele reducir mucho la fase de depuración.
Cómo elegir las estructuras de datos
La estructura utilizada debe adaptarse al problema.
Algunas opciones habituales son:
Listas.
Tuplas.
Diccionarios.
Conjuntos.
Matrices.
Pilas.
Colas.
Árboles.
Grafos.
Objetos.
La elección debe justificarse cuando el enunciado lo solicita.
Por ejemplo, un diccionario puede resultar adecuado para relacionar identificadores únicos con información de usuarios. Una cola puede utilizarse para gestionar tareas en orden de llegada.
No conviene elegir una estructura únicamente porque resulta familiar. Debe responder a las operaciones que necesita el programa.
Cómo organizar el código
Una solución clara suele dividirse en funciones, métodos, clases o módulos.
Cada unidad debería tener una responsabilidad concreta.
Por ejemplo:
leer_datos()
validar_datos()
calcular_resultados()
mostrar_resultados()
Esta separación facilita:
La lectura.
La reutilización.
Las pruebas.
La localización de errores.
La modificación del programa.
También conviene evitar funciones excesivamente largas. Si una función realiza muchas tareas distintas, puede dividirse.
Cómo nombrar variables y funciones
Los nombres deben explicar qué representa cada elemento.
Nombres poco claros:
x
a1
dato2
temp
Nombres más informativos:
numero_estudiantes
precio_total
buscar_usuario
calcular_media
No siempre es necesario utilizar nombres muy largos. Lo importante es que resulten comprensibles.
También debe mantenerse un criterio uniforme para mayúsculas, minúsculas y separación de palabras según las convenciones del lenguaje.
Comentarios: cuántos son necesarios
Los comentarios deben explicar decisiones o partes complejas.
No conviene comentar instrucciones evidentes.
Comentario innecesario:
contador = contador + 1 # Aumenta contador en uno
Comentario más útil:
# Se descarta el primer elemento porque contiene la cabecera del archivo
También pueden utilizarse comentarios o bloques de documentación para explicar:
Propósito de una función.
Parámetros.
Valor devuelto.
Excepciones.
Restricciones.
La documentación debe complementar el código, no repetirlo.
Cómo gestionar errores
Una PEC puede exigir controlar entradas incorrectas o situaciones especiales.
Por ejemplo:
Campos vacíos.
División entre cero.
Archivos inexistentes.
Datos con formato incorrecto.
Índices fuera de rango.
Usuarios duplicados.
Listas vacías.
La solución no debería cerrarse inesperadamente ante un error previsible.
Puede ser necesario:
Validar datos.
Mostrar mensajes claros.
Utilizar excepciones.
Solicitar de nuevo la entrada.
Devolver un valor especial.
Registrar el error.
La forma adecuada dependerá del lenguaje y de las instrucciones de la asignatura.
Cómo utilizar excepciones
Las excepciones permiten gestionar errores sin mezclar toda la lógica del programa.
No conviene utilizar un bloque genérico que capture cualquier error sin indicar qué ha ocurrido.
Una gestión demasiado amplia puede ocultar fallos reales.
Es preferible capturar situaciones concretas y mostrar mensajes comprensibles.
Por ejemplo, diferenciar entre:
Archivo no encontrado.
Contenido incorrecto.
Permisos insuficientes.
La memoria de la PEC puede explicar por qué se han seleccionado esas excepciones.
Cómo realizar pruebas
Probar el programa es una parte esencial de la actividad.
No basta con ejecutar el ejemplo del enunciado.
Conviene incluir:
Caso normal.
Caso mínimo.
Caso máximo.
Entrada vacía.
Datos incorrectos.
Valores repetidos.
Números negativos.
Elementos inexistentes.
Situaciones límite.
Una tabla de pruebas puede organizarse así:
Caso | Entrada | Resultado esperado | Resultado obtenido |
Lista normal | 2, 4, 6 | Media 4 | Media 4 |
Lista vacía | — | Mensaje de error | Mensaje de error |
Valor incorrecto | texto | Entrada no válida | Entrada no válida |
Estas pruebas demuestran que el programa se ha revisado de forma sistemática.
Diferencia entre error de sintaxis, ejecución y lógica
Error de sintaxis
El código no respeta las reglas del lenguaje.
Por ejemplo, falta un paréntesis o una indentación es incorrecta.
Error de ejecución
El programa empieza, pero se detiene durante su funcionamiento.
Puede producirse por una división entre cero o por acceder a un elemento inexistente.
Error lógico
El programa se ejecuta, pero el resultado es incorrecto.
Estos errores suelen ser los más difíciles de detectar porque el código no muestra necesariamente un mensaje.
ResolverPECs.com puede ayudar a revisar este tipo de problemas cuando la PEC incluye código que funciona parcialmente, pero no supera todos los casos.
Cómo depurar el código
La depuración debe realizarse de forma ordenada.
Una estrategia útil consiste en:
Reproducir el error.
Reducir el caso.
Identificar la función afectada.
Comprobar los valores intermedios.
Revisar las condiciones.
Corregir una sola parte.
Volver a ejecutar las pruebas.
Pueden utilizarse:
Mensajes temporales.
Puntos de interrupción.
Depurador del entorno.
Pruebas unitarias.
Registro de variables.
No conviene modificar muchas partes a la vez, porque después será difícil saber qué cambio resolvió o generó el problema.
Cómo trabajar con programación orientada a objetos
Cuando la PEC exige orientación a objetos, hay que identificar:
Clases.
Atributos.
Métodos.
Relaciones.
Responsabilidades.
Por ejemplo, en un sistema de biblioteca podrían existir:
Clase Libro.
Clase Usuario.
Clase Biblioteca.
No conviene crear una clase únicamente para cumplir formalmente el requisito. Cada una debe representar una entidad o responsabilidad clara.
También hay que revisar:
Encapsulación.
Herencia.
Polimorfismo.
Constructores.
Métodos de acceso.
La actividad puede exigir solo algunos de estos elementos.
Cómo resolver una PEC de algoritmos
En algoritmos, puede valorarse tanto la solución como su eficiencia.
Conviene explicar:
Qué algoritmo se utiliza.
Cómo funciona.
Qué entradas admite.
Qué resultado produce.
Cuánto tiempo necesita.
Cuánta memoria utiliza.
La complejidad puede expresarse mediante notación asintótica cuando la asignatura lo solicita.
Ejemplo:
“El algoritmo recorre una única vez la lista, por lo que su complejidad temporal es lineal respecto al número de elementos.”
No debe afirmarse una complejidad sin analizar las operaciones realizadas.
Cómo trabajar con recursividad
Una función recursiva debe incluir:
Caso base.
Llamada recursiva.
Progreso hacia el caso base.
Un error frecuente consiste en omitir el caso base o no modificar correctamente el problema, lo que puede provocar llamadas infinitas.
También conviene comprobar si la recursividad es realmente obligatoria. En algunos ejercicios se evalúa expresamente; en otros puede ser preferible una solución iterativa.
Cómo preparar una PEC de bases de datos
Una actividad de bases de datos puede exigir:
Diseñar un modelo entidad-relación.
Crear tablas.
Definir claves.
Normalizar.
Escribir consultas SQL.
Insertar datos.
Actualizar registros.
Crear restricciones.
La solución debe mantener coherencia entre el modelo y la implementación.
Por ejemplo, una relación definida en el diagrama debe reflejarse correctamente mediante claves en las tablas.
Las consultas deben probarse con datos suficientes para comprobar que devuelven el resultado esperado.
Cómo resolver una PEC de desarrollo web
Una PEC de desarrollo web puede incluir:
HTML.
CSS.
JavaScript.
Formularios.
Validaciones.
Diseño adaptable.
Consumo de API.
Persistencia.
Interacción con el usuario.
Conviene separar:
Estructura.
Presentación.
Comportamiento.
También hay que probar el resultado en distintos tamaños de pantalla o navegadores cuando la actividad lo requiera.
No debe centrarse toda la atención en el aspecto visual si la rúbrica valora principalmente la funcionalidad o la estructura del código.
Cómo preparar la memoria técnica
La memoria no debería limitarse a copiar fragmentos de código.
Puede incluir:
Descripción del problema.
Requisitos.
Diseño de la solución.
Estructuras utilizadas.
Decisiones tomadas.
Explicación de funciones o clases.
Casos de prueba.
Resultados.
Limitaciones.
Mejoras futuras.
La memoria debe ayudar al profesor a comprender la lógica del programa.
Si se incluyen fragmentos de código, deben ser breves y estar acompañados de una explicación.
Cómo incluir capturas
Las capturas pueden demostrar que el programa se ejecuta, pero deben utilizarse con criterio.
Conviene mostrar:
Entrada utilizada.
Salida obtenida.
Mensaje de error controlado.
Interfaz final.
Prueba relevante.
No resulta útil incluir muchas capturas casi idénticas.
Cada imagen debe tener:
Número.
Título.
Calidad suficiente.
Explicación dentro del texto.
Las capturas no sustituyen la entrega de los archivos de código cuando estos son obligatorios.
Cómo preparar los archivos de entrega
Una PEC de programación puede exigir varios archivos:
Código fuente.
Proyecto completo.
Memoria en PDF.
Archivo comprimido.
Datos de prueba.
Capturas.
Ejecutable.
Vídeo.
Antes de entregar hay que comprobar:
Nombres.
Estructura de carpetas.
Extensiones.
Dependencias.
Rutas.
Archivos innecesarios.
Tamaño.
Compatibilidad.
El programa debería ejecutarse en un entorno limpio, no únicamente en el ordenador donde se desarrolló.
Evitar rutas absolutas
Una ruta absoluta puede funcionar en el ordenador del estudiante y fallar cuando el profesor abre el proyecto.
Por ejemplo:
C:\Usuarios\Nombre\Documentos\datos.csv
Es preferible utilizar rutas relativas cuando la actividad lo permita.
También deben incluirse todos los archivos necesarios para ejecutar el programa.
Cómo indicar dependencias
Si el proyecto utiliza librerías externas, conviene documentarlas.
Puede incluirse:
Nombre.
Versión.
Comando de instalación.
Archivo de dependencias.
Instrucciones de ejecución.
En Python puede utilizarse un archivo requirements.txt. En otros entornos existen sistemas equivalentes.
La memoria o un archivo README puede explicar el procedimiento.
Qué debe incluir un README
Un README sencillo puede indicar:
Descripción del proyecto.
Requisitos.
Instalación.
Ejecución.
Estructura de archivos.
Ejemplos.
Limitaciones.
Autoría.
No es necesario que sea demasiado largo. Debe permitir abrir y ejecutar el proyecto sin adivinar los pasos.
Cómo revisar el código antes de entregar
La revisión final debería comprobar:
¿Cumple todos los requisitos?
¿Utiliza las estructuras obligatorias?
¿Existen partes sin implementar?
¿Los nombres son claros?
¿Hay código repetido?
¿Se gestionan los errores?
¿Las pruebas funcionan?
¿Se han eliminado mensajes temporales?
¿Los comentarios son útiles?
¿La memoria coincide con el código?
¿Los archivos se abren?
¿El proyecto funciona desde otra carpeta?
¿El archivo comprimido contiene todo lo necesario?
AyudaPECs.com ofrece orientación para realizar esta comprobación de forma ordenada antes de la entrega.
Errores frecuentes en una PEC UOC de programación
Empezar a programar sin analizar requisitos
Puede crearse una solución que no responde al ejercicio.
Resolver todo en una única función
El código resulta difícil de probar y mantener.
Probar solo el ejemplo proporcionado
Pueden quedar errores en situaciones límite.
Ignorar los requisitos técnicos
El resultado funciona, pero no utiliza los conceptos evaluados.
Copiar las salidas sin explicarlas
La memoria debe relacionarlas con los requisitos.
Entregar rutas que solo funcionan en un ordenador
El profesor puede no conseguir ejecutar el proyecto.
No incluir dependencias
El programa puede fallar por librerías ausentes.
Dejar código comentado o mensajes de depuración
La entrega transmite falta de revisión.
No controlar entradas incorrectas
El programa falla ante datos previsibles.
Modificar código después de redactar la memoria
La explicación puede quedar desactualizada.
Comprimir la carpeta equivocada
Puede entregarse una versión incompleta.
Esperar al último momento para probar la entrega
No queda tiempo para corregir incompatibilidades.
Cómo mejorar la legibilidad
Un código legible debe mantener:
Indentación.
Espaciado.
Nombres claros.
Funciones breves.
Comentarios relevantes.
Estructura lógica.
Convenciones del lenguaje.
También conviene evitar:
Variables globales innecesarias.
Bloques duplicados.
Condiciones demasiado complejas.
Números sin explicación.
Funciones con demasiados parámetros.
La legibilidad suele formar parte de la calidad técnica, aunque el enunciado no la mencione expresamente.
Cómo puede ayudarte AyudaPECs.com
AyudaPECs.com ofrece orientación académica para organizar y revisar PEC técnicas y de programación.
Entre los servicios disponibles se encuentran:
Análisis del enunciado.
Identificación de requisitos.
División del problema.
Diseño del algoritmo.
Revisión de pseudocódigo.
Organización de funciones y clases.
Preparación de casos de prueba.
Revisión de memoria técnica.
Comprobación de coherencia entre código y explicación.
Organización de archivos.
Revisión de la entrega final.
AyudaPECs.com también presta apoyo en actividades de análisis de datos, trabajos teóricos, casos prácticos, TFG, TFM y otras tareas universitarias.
Cómo ayuda ResolverPECs.com con una PEC UOC de programación
ResolverPECs.com está especializado en PEC y actividades de evaluación continua, incluidas las relacionadas con informática y programación.
El servicio puede resultar útil cuando el estudiante necesita:
Interpretar requisitos técnicos.
Diseñar una solución.
Revisar algoritmos.
Localizar errores.
Depurar código.
Aplicar orientación a objetos.
Trabajar con estructuras de datos.
Revisar consultas SQL.
Preparar pruebas.
Redactar una memoria técnica.
Comprobar archivos antes de entregar.
Aplicar correcciones del profesor.
Cada actividad se trabaja según el lenguaje, la asignatura, la rúbrica y las restricciones del enunciado.
Cuando la PEC presenta una dificultad técnica elevada o el código no funciona correctamente, puede resultar útil contar con ayuda especializada con PEC UOC de programación para revisar la lógica, las pruebas y la entrega.
ResolverPECs.com puede intervenir desde la fase de diseño o revisar un proyecto ya iniciado para detectar errores y requisitos pendientes.
Preguntas frecuentes
¿Es suficiente que el programa funcione?
No siempre. También pueden evaluarse la estructura, la eficiencia, la documentación y el uso de conceptos obligatorios.
¿Debo incluir comentarios en todas las líneas?
No. Los comentarios deben explicar decisiones o partes que no sean evidentes.
¿Cuántos casos de prueba necesito?
Depende del ejercicio. Deben cubrir el funcionamiento normal, los errores previsibles y las situaciones límite.
¿Puedo utilizar librerías externas?
Solo cuando el enunciado lo permita. Algunas actividades exigen implementar el procedimiento sin determinadas librerías.
¿Qué hago si el código funciona en mi ordenador, pero no en otro?
Hay que revisar rutas, dependencias, versiones y archivos necesarios.
¿Debo incluir todo el código en la memoria?
Normalmente no. Es mejor entregar el código por separado e incluir únicamente fragmentos relevantes.
¿Qué hago si no consigo localizar un error?
Conviene reducir el caso, revisar valores intermedios y probar cada función de forma aislada.
¿Puedo cambiar el lenguaje?
Solo cuando la actividad permita elegirlo.
¿Es obligatorio utilizar programación orientada a objetos?
Depende del enunciado. Si se exige, una solución puramente funcional puede no cumplir los criterios.
¿Cómo sé si mi algoritmo es eficiente?
Hay que analizar las operaciones realizadas y, cuando corresponda, su complejidad temporal y espacial.
Conclusión
Resolver una PEC UOC de programación exige mucho más que escribir código hasta conseguir una salida correcta. Es necesario interpretar los requisitos, diseñar la lógica, estructurar la solución, probar diferentes casos y preparar una entrega que pueda ejecutarse fuera del entorno de desarrollo original.
AyudaPECs.com ofrece orientación para organizar el ejercicio, revisar la memoria y comprobar los requisitos. ResolverPECs.com aporta apoyo especializado cuando la PEC necesita una resolución técnica, depuración o revisión completa.
Una buena entrega combina funcionamiento, claridad, pruebas y documentación. El mejor código no es únicamente el que se ejecuta, sino el que responde exactamente al problema y permite comprender cómo se ha construido la solución.





Comentarios