TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Realizar cálculos aritméticos básicos con historial de operaciones
Translation pending
AI summary · website and README
ProductivityHTMLGitHub @DodozzOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Aplicación web de calculadora con historial de operaciones, desarrollada en HTML, CSS y JavaScript puro (sin frameworks ni librerías externas). El proyecto documenta un ciclo completo de análisis, diseño, desarrollo y pruebas de software, y se utiliza como caso de estudio (Sistema Bajo Prueba) para la materia de Modelos de Prueba de Software — UPIICSA, Instituto Politécnico Nacional.Read the full README ↗
Aplicación web de calculadora con historial de operaciones, desarrollada en HTML, CSS y JavaScript puro (sin frameworks ni librerías externas). El proyecto documenta un ciclo completo de análisis, diseño, desarrollo y pruebas de software, y se utiliza como caso de estudio (Sistema Bajo Prueba) para la materia de Modelos de Prueba de Software — UPIICSA, Instituto Politécnico Nacional.
La calculadora permite realizar operaciones aritméticas básicas (suma, resta, multiplicación y división), respetando la jerarquía de operaciones y el uso de paréntesis. Cuenta con un historial de operaciones consultable durante la sesión, manejo de errores (como la división entre cero) sin interrumpir el uso de la app, y una interfaz pensada para ser clara, legible y de respuesta inmediata.
El desarrollo partió de un documento formal de Análisis y Diseño, en el que se definieron los requerimientos funcionales (RF) y no funcionales (RNF) junto con sus criterios de aceptación (CA), y un mockup de interfaz tipo smartphone que guió la implementación visual.
| Rol | Integrante |
|---|---|
| 📊 Analista | Ramírez Claudio Diana |
| 🎨 Diseñador/a | Valladares López Irene |
| 💻 Desarrollador / Programador | Donovan Adriel Rojo Bojorges |
| 🧪 Tester | Ana Daniela Pérez Hernández |
Este repositorio no solo entrega la calculadora funcional, sino que sirve como práctica integradora para la materia de Modelos de Prueba de Software. Cada requerimiento funcional fue definido junto con sus criterios de aceptación (CA), los cuales constituyen la base para el diseño de casos de prueba mediante técnicas de caja negra: partición de equivalencia, análisis de valores límite, tablas de decisión y adivinación de errores (error guessing).
| ID | Requerimiento |
|---|---|
| RF-1 | Operaciones aritméticas básicas (+, −, ×, ÷) con hasta 2 decimales y redondeo |
| RF-2 | Historial de operaciones de la sesión, consultable sin afectar la operación en curso |
| RF-3 | Un solo punto decimal permitido por operando |
| RF-4 | Corrección con Retroceso (⌫) y limpieza total con AC |
| RF-5 | Manejo de errores (p. ej. división entre cero) sin cerrar la aplicación |
| RF-6 | Control de operadores consecutivos (el nuevo reemplaza al anterior) |
| RF-7 | Ingreso y visualización de números dígito por dígito |
| RF-8 | Limpieza total del historial |
| RF-9 | Visualización diferenciada del resultado respecto a la expresión en curso |
| RF-10 | Prevención de entradas que no formen una operación válida |
| RF-11 | Continuidad de operaciones reutilizando el resultado previo |
| RF-12 | Jerarquía de operaciones y soporte de paréntesis |
| RF-13 | Cálculo de porcentaje (%), con comportamiento dinámico según el operador previo |
| RF-14 | Cambio de signo (+/−) del número actual |
| RF-15 | Recuperación del valor en memoria (MR) |
| RF-16 | Limpieza de la memoria (MC) |
| RF-17 | Adición del valor en pantalla a la memoria (M+) |
| RF-18 | Sustracción del valor en pantalla a la memoria (M-) |
| RF-19 | Indicador visual ("M") de memoria activa |
📄 El detalle completo de cada RF con sus criterios de aceptación (CA) se encuentra en los documentos de requerimientos (REQUERIMIENTOS.docx, REQUERIMIENTOS_3.docx) y Análisis y Diseño incluidos en el repositorio.
| ID | Requerimiento |
|---|---|
| RNF-1 | Usabilidad: interfaz sencilla e intuitiva |
| RNF-2 | Diseño visual oscuro, ordenado y consistente, con botones cuadrados de alto contraste |
| RNF-3 | Tiempo de respuesta inmediato, sin retrasos perceptibles |
| RNF-4 | Legibilidad: textos y resultados con tamaño de letra adecuado |
| RNF-5 | Estabilidad ante errores o entradas inválidas |
| RNF-6 | Precisión matemática en el manejo de decimales |
El diseño sigue un mockup tipo smartphone en tema oscuro (RNF-2):
index.html├── index.html # Aplicación completa (HTML + CSS + JS)
├── REQUERIMIENTOS.docx # Requerimientos funcionales y no funcionales (versión inicial)
├── REQUERIMIENTOS_3.docx # Requerimientos actualizados (RF-13 a RF-19, RNF-2 tema oscuro)
├── Análisis y Diseño (1).docx # Documento de análisis y diseño con mockups de interfaz
└── README.md # Este archivo
No requiere instalación de dependencias.
git clone https://github.com/<tu-usuario>/<tu-repositorio>.git
cd <tu-repositorio>
index.html directamente en tu navegador, o sírvelo con una extensión tipo Live Server.| Entrada | Resultado |
|---|---|
5 + 3 | 8 |
(2 + 3) * 4 | 20 |
10 / 0 | Error: división por cero |
7 seguido de +/- | -7 |
2.5 + 2.5 | 5 (sin ceros decimales innecesarios) |
200 + 20% seguido de = | 240 (20% de 200 se suma a 200) |
7 seguido de M+, luego AC, luego MR | 7 (recupera el valor guardado en memoria) |
Como parte de la materia de Modelos de Prueba de Software, este proyecto se utiliza para aplicar técnicas de diseño de casos de prueba de caja negra sobre los RF y sus criterios de aceptación. Algunos ejemplos de casos derivados:
| Caso | RF relacionado | Técnica | Entrada | Resultado esperado |
|---|---|---|---|---|
| CP-01 | RF-1 | Partición de equivalencia (válida) | 4.256 + 1 | 5.26 (redondeo a 2 decimales) |
| CP-02 | RF-5 | Manejo de errores | 8 / 0 | Mensaje "Error: división por cero"; la app sigue operable |
| CP-03 | RF-6 | Adivinación de errores | 5 + + 3 | Se conserva un solo + |
| CP-04 | RF-3 | Valores límite | Segundo punto decimal en un mismo operando | El segundo punto se ignora |
| CP-05 | RF-12 | Caja negra / jerarquía de operaciones | 2 + 3 * 4 | 14 |
| CP-06 | RF-11 | Entrada inválida | Presionar = con la expresión 5 + | No ejecuta el cálculo |
Estos casos son un punto de partida; el diseño formal de pruebas (matriz de trazabilidad, técnicas adicionales, evidencias de ejecución) se documenta como entregable independiente de la materia.
🟡 Versión 3.0 (preliminar) — funcionalidad completa según RF-1 a RF-19 (incluye porcentaje, cambio de signo y funciones de memoria MC/MR/M+/M-) y diseño en tema oscuro (RNF-2), actualmente en fase de pruebas.
Proyecto de uso académico. Puedes agregar la licencia que prefieras (por ejemplo, MIT) según los lineamientos de tu institución.