Calculadora de Presupuesto del Proyecto
Una app para estimar costes usando dos TextBox, un ListPicker y operaciones matemáticas
Coste por hora
El usuario escribe cuánto cuesta una hora de trabajo.
Horas estimadas
El usuario escribe cuántas horas durará el proyecto.
Cálculo automático
La app calcula el presupuesto según la operación seleccionada.
1. ¿Qué vamos a crear?
Vamos a crear una aplicación llamada Calculadora de Presupuesto del Proyecto.
La aplicación servirá para practicar operaciones matemáticas sencillas relacionadas con la planificación de un proyecto móvil.
Funcionamiento general
- El usuario escribe el coste por hora.
- El usuario escribe las horas estimadas.
- Selecciona el tipo de cálculo con un ListPicker.
- Pulsa el botón Calcular presupuesto.
- La app muestra el resultado en un Label.
Presupuesto proyecto
Coste por hora
Horas estimadas
2. Diseño de la aplicación
| Componente | Nombre recomendado | Función |
|---|---|---|
| Label | LabelTitulo | Muestra el título de la app |
| Image | ImagePresupuesto | Imagen decorativa relacionada con proyectos o dinero |
| Label | LabelCosteHora | Texto: Coste por hora |
| TextBox | TextBoxCosteHora | Permite escribir el coste de una hora de trabajo |
| Label | LabelHoras | Texto: Horas estimadas |
| TextBox | TextBoxHoras | Permite escribir el número de horas previstas |
| ListPicker | ListPickerOperacion | Permite seleccionar el cálculo que se realizará |
| Button | ButtonCalcular | Ejecuta el cálculo seleccionado |
| Label | LabelResultado | Muestra el resultado final |
| Sound | Sound1 | Reproduce un sonido al calcular |
Opciones del ListPicker
Configura la propiedad ElementsFromString del ListPicker con estas opciones:
Coste total,Coste con IVA,Coste con descuento,Coste por día
Texto inicial recomendado
- LabelTitulo: Presupuesto del proyecto
- LabelCosteHora: Coste por hora
- LabelHoras: Horas estimadas
- ButtonCalcular: Calcular presupuesto
- LabelResultado: Resultado pendiente
3. Bloques necesarios
El funcionamiento se programa dentro del evento when ButtonCalcular.Click.
when ButtonCalcular.Click
if ListPickerOperacion.Selection = "Coste total"
set LabelResultado.Text to TextBoxCosteHora.Text * TextBoxHoras.Text
call Sound1.Play
else if ListPickerOperacion.Selection = "Coste con IVA"
set LabelResultado.Text to TextBoxCosteHora.Text * TextBoxHoras.Text * 1.21
call Sound1.Play
else if ListPickerOperacion.Selection = "Coste con descuento"
set LabelResultado.Text to TextBoxCosteHora.Text * TextBoxHoras.Text * 0.90
call Sound1.Play
else if ListPickerOperacion.Selection = "Coste por día"
set LabelResultado.Text to TextBoxCosteHora.Text * 8
call Sound1.Play
else
set LabelResultado.Text to "Selecciona una operación antes de calcular."
4. Paso a paso en App Inventor
Diseña la pantalla
Añade el título, imagen, dos TextBox, ListPicker, botón, Label resultado y Sound.
Configura los TextBox
Usa Hint para indicar qué debe escribir el usuario: coste por hora y horas estimadas.
Configura el ListPicker
Introduce las opciones de cálculo en ElementsFromString.
Crea el evento
En bloques, usa el evento when ButtonCalcular.Click.
Añade condicionales
Comprueba qué operación ha seleccionado el usuario.
Prueba resultados
Comprueba todas las operaciones con números sencillos.
5. Prueba de la aplicación
Antes de entregar, debes comprobar que la aplicación funciona correctamente.
6. Documento Word para Classroom
Cuando termines la aplicación, debes rellenar un documento de Word y subirlo a Google Classroom.
El documento debe incluir
- Nombre y apellidos.
- Nombre de la aplicación.
- Componentes utilizados.
- Qué hace la aplicación.
- Operaciones disponibles.
- Bloques principales escritos.
- Pruebas realizadas.
- Dificultades encontradas.
Preguntas para responder
- ¿Qué componente permite escribir el coste por hora?
- ¿Qué componente permite elegir la operación?
- ¿Qué evento se utiliza para calcular?
- ¿Qué operación se realiza en Coste con IVA?
- ¿Qué prueba has realizado antes de entregar?
7. Reto opcional para alumnos rápidos
Reto 1: añadir texto al resultado
Haz que el resultado no muestre solo el número, sino también una frase.
Resultado: 1210 euros
Reto 2: añadir una operación nueva
Añade una opción llamada Coste con aumento y calcula el total multiplicado por 1.10.
else if ListPickerOperacion.Selection = "Coste con aumento"
set LabelResultado.Text to TextBoxCosteHora.Text * TextBoxHoras.Text * 1.10