App Inventor · Bloque 5 · Ejercicio práctico

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.
En esta actividad no vamos a comprobar si el usuario ha escrito números válidos. El objetivo es practicar TextBox, ListPicker, Button, Label, operaciones y condicionales.

Presupuesto proyecto

💶

Coste por hora

25

Horas estimadas

40
Coste con IVA ▾
CALCULAR PRESUPUESTO
Resultado: 1210 €

2. Diseño de la aplicación

ComponenteNombre recomendadoFunción
LabelLabelTituloMuestra el título de la app
ImageImagePresupuestoImagen decorativa relacionada con proyectos o dinero
LabelLabelCosteHoraTexto: Coste por hora
TextBoxTextBoxCosteHoraPermite escribir el coste de una hora de trabajo
LabelLabelHorasTexto: Horas estimadas
TextBoxTextBoxHorasPermite escribir el número de horas previstas
ListPickerListPickerOperacionPermite seleccionar el cálculo que se realizará
ButtonButtonCalcularEjecuta el cálculo seleccionado
LabelLabelResultadoMuestra el resultado final
SoundSound1Reproduce un sonido al calcular
Recuerda: el componente Sound es no visible. No aparece en la pantalla del móvil, pero sí en App Inventor.

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."
Usamos condicionales sencillos: if, else if y else. No hacen falta variables, procedimientos ni bases de datos.
De momento no validamos si el usuario escribe texto en lugar de números. Tampoco comprobamos campos vacíos.

4. Paso a paso en App Inventor

1️⃣

Diseña la pantalla

Añade el título, imagen, dos TextBox, ListPicker, botón, Label resultado y Sound.

2️⃣

Configura los TextBox

Usa Hint para indicar qué debe escribir el usuario: coste por hora y horas estimadas.

3️⃣

Configura el ListPicker

Introduce las opciones de cálculo en ElementsFromString.

4️⃣

Crea el evento

En bloques, usa el evento when ButtonCalcular.Click.

5️⃣

Añade condicionales

Comprueba qué operación ha seleccionado el usuario.

6️⃣

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.

☐ Los dos TextBox permiten escribir números.
☐ El ListPicker muestra las cuatro opciones.
☐ El botón ejecuta la acción principal.
☐ Coste total calcula coste por hora × horas.
☐ Coste con IVA calcula el total multiplicado por 1.21.
☐ Coste con descuento calcula el total multiplicado por 0.90.
☐ Coste por día calcula coste por hora × 8.
☐ El sonido se reproduce al calcular.
Prueba la app con números fáciles, por ejemplo coste por hora = 10 y horas = 5.

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?
El documento Word es parte de la entrega. No basta con crear la app.

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
El reto es opcional. La actividad principal está terminada cuando funcionan las cuatro operaciones principales.