Skip to content

Repositorio para la participación del nivel básico de competencia de CodExpress

Notifications You must be signed in to change notification settings

ComputerSocietyUN/CodExpress-NivelBasico

Repository files navigation

CodExpress — Nivel Básico (Fundamentos y Lógica)

Tiempo total: 3 horas · Objetivo: completar 7 u 8 mini-retos y, si te alcanza, una app integrada (código 1900) que reutilice tu propio código.

Flujo de trabajo (fork & PR)

  1. Haz fork de este repo y clónalo.
  2. Usa un <ALIAS> sin espacios ni acentos (tu usuario de GitHub o nombre-apellido en minúsculas).
  3. Para cada mini-reto, crea un archivo con este formato exacto: <CODIGO_RETO>_<ALIAS>_v<N>.<ext> (ej.: 1007_juana-saavedra_v1.py).
  4. Si haces la app integrada, crea la carpeta 1900_<ALIAS>_app/ con README.md (cómo ejecutar) y, si quieres, requirements.txt y src/.
  5. Sube tus cambios a tu fork y abre un Pull Request a main titulado: <ALIAS> — Entrega Nivel Básico.

Códigos (Nivel Básico)

  • Mini-retos: 1001–1008 (elige 7 u 8).
  • App integrada: 1900 (Math & Logic Kit).

Nombre de archivo obligatorio: <CODIGO_RETO>_<ALIAS>_v<N>.<ext>


Mini-retos (entrega 7 u 8)

Usa solo la librería estándar de Python. Al final de cada archivo agrega, en comentarios, 3 pruebas (entrada → salida esperada). La salida se compara literalmente (cuida espacios y saltos de línea).

Código Nombre Qué se espera (detalles clave) Entrada / Salida mínima Archivo Docs útiles
1001Calculadora precisaImplementa + − × ÷ con redondeo comercial a 2 decimales usando decimal.Decimal y ROUND_HALF_UP. División por cero: imprime ERROR:DIV0.Entrada: a op b (ej.: 5.005 + 2) · Salida: número a 2 decimales.1001_<ALIAS>_v1.pydecimal
1002Ecuación de 2º gradoResuelve ax^2+bx+c=0. Si a=0 → lineal. Imprime delta=.... Si Δ es cuadrado perfecto, raíces enteras exactas; si no, usa Decimal a 4 decimales (ROUND_HALF_UP). Si Δ<0: sin raices reales.Entrada: a b c · Salida: delta=... r1=... r2=... o sin raices reales.1002_<ALIAS>_v1.pymath · decimal
1003Adivina el número (semilla)Juego 1..100 con pistas ↑/↓ y conteo de intentos. Debe aceptar --seed=<n> y usar random.seed() para reproducibilidad.I/O en consola; terminar con acertaste en N.1003_<ALIAS>_v1.pyrandom · argparse
1004Conversor °C↔°F↔K (múltiples líneas)Lee varias líneas desde stdin (hasta EOF). Soporta C/F/K. Si el resultado < 0 K: ERROR:ABSOLUTE_ZERO. Redondea a 2 decimales con Decimal.Cada línea: valor unidad_origen unidad_destino · Salida: una línea por conversión.1004_<ALIAS>_v1.pyI/O · decimal
1005¿Es primo? (hasta 106)Imprime primo o no primo. 0, 1 y negativos → no primo. Optimiza cortando en √n.Entrada: n · Salida: primo/no primo.1005_<ALIAS>_v1.pymath
1006Tabla de multiplicar “bonita”Imprime la tabla de N del 1 al 10 alineada en columnas, sin espacios al final de línea.Entrada: N · Salida: 10 líneas “N x i = r” alineadas.1006_<ALIAS>_v1.pyformat strings
1007Palíndromos con acentos y signosIgnora mayúsculas, espacios, signos y acentos/diacríticos. Normaliza con unicodedata (NFKD) y filtra marcas de combinación.Entrada: una línea de texto · Salida: si / no.1007_<ALIAS>_v1.pyunicodedata
1008Simulador de dados (histograma)Simula N lanzamientos (caras 1..6) y muestra frecuencias ordenadas 1→6. Acepta --seed para reproducibilidad.Entrada: N (opcional --seed) · Salida: 6 líneas “cara: conteo”.1008_<ALIAS>_v1.pyrandom · argparse

Requisitos mínimos por mini-reto

  • E/S exacta: la comparación es literal.
  • 3 pruebas (entrada → salida) en comentarios al final del archivo.
  • Solo librería estándar de Python.
  • Nomenclatura exacta del archivo. Nombre incorrecto: −5%.

App integrada (1900) — Math & Logic Kit

Código Debe reutilizar Qué agrega Entregables Puntaje máx.
19001001, 1002, 1003, 1005, 1006, 1007, 1008Un menú en consola que llama tus funciones, manejo básico de errores y mensajes claros.Carpeta 1900_<ALIAS>_app/ con README.md (cómo correr y qué módulos integra) y, si quieres, src/.140
  • Reutiliza funciones: impórtalas desde tus archivos o muévalas a src/utils.py.
  • Menú simple: opciones 1..7 y “salir”.

Puntajes — Nivel Básico

  • Mini-reto (máx. 70 pts): funciona (60%) · casos borde / 3 pruebas (20%) · código claro (10%) · defensa breve (10%).
  • App 1900 (máx. 140 pts): integración (50%) · cohesión/reuso (20%) · manejo de errores (20%) · README (10%).

Requisitos de precisión y reproducibilidad

  • Redondeo con decimal y ROUND_HALF_UP (1001, 1002, 1004).
  • Semillas reproducibles y argumentos de línea (1003, 1008).
  • Normalización Unicode para acentos/diacríticos (1007).
  • Lectura múltiple hasta EOF y formato exacto de salida (1004, 1006).

Durante la revisión se puede pedir una edición en vivo de 2 minutos (p. ej., ajustar un formato o añadir un caso borde).


Checklist final

  • 7 u 8 mini-retos con nombres correctos: 100x_<ALIAS>_vN.py.
  • 3 pruebas en comentarios por archivo.
  • Si hiciste la app: carpeta 1900_<ALIAS>_app/ + README.md + menú funcional.
  • Pull Request: <ALIAS> — Entrega Nivel Básico.

Documentación de Python

Guía oficial · decimal · random · argparse · unicodedata · I/O · format strings

Dudas

Abre un Issue titulado Q-<ALIAS>: asunto. ¡Éxitos! 🚀

About

Repositorio para la participación del nivel básico de competencia de CodExpress

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages