Skip to content
ExamplesEspañolWorkspace →

Tip Calculator

Splits a restaurant bill, tip included.

Level
Beginner
Concepts:
Input & output
Variables
Math
Open in Codoritmo

Run, change and debug this example in your browser.

What you'll learn

Several Leer inputs feed a chain of calculations. Redon rounds a number, and the * 100 then / 100 trick keeps exactly two decimals.

Code

tip-calculator.psc · 17 lines
Algoritmo CalculadoraPropina    Definir cuenta, porcentaje, propina, total, porPersona Como Real    Definir personas Como Entero    Escribir "Total de la cuenta:"    Leer cuenta    Escribir "Porcentaje de propina (por ejemplo 10):"    Leer porcentaje    Escribir "¿Entre cuántas personas se divide?"    Leer personas    propina <- cuenta * porcentaje / 100    total <- cuenta + propina    porPersona <- total / personas    Escribir "Propina: $", propina    Escribir "Total: $", total    // Redon redondea al entero más cercano; así dejamos dos decimales    Escribir "Cada persona paga: $", Redon(porPersona * 100) / 100FinAlgoritmo

Flowchart

Each block in the flowchart matches one instruction in the code.

Algoritmo CalculadoraPropinaAlgoritmo CalculadoraPropinaAlgoritmo CalculadoraPropinaDefinir cuenta, porcentaje, propina, total, porPersona Como RealDefinir cuenta, porcentaje,propina, total, porPersonaComo RealDefinir personas Como EnteroDefinir personas Como EnteroEscribir "Total de la cuenta:"Escribir "Total de la cuenta:"Leer cuentaLeer cuentaEscribir "Porcentaje de propina (por ejemplo 10):"Escribir "Porcentaje depropina (por ejemplo 10):"Leer porcentajeLeer porcentajeEscribir "¿Entre cuántas personas se divide?"Escribir "¿Entre cuántaspersonas se divide?"Leer personasLeer personaspropina <- cuenta * porcentaje / 100propina <- cuenta * porcentaje/ 100total <- cuenta + propinatotal <- cuenta + propinaporPersona <- total / personasporPersona <- total / personasEscribir "Propina: $", propinaEscribir "Propina: $", propinaEscribir "Total: $", totalEscribir "Total: $", totalEscribir "Cada persona paga: $", Redon(porPersona * 100) / 100Escribir "Cada persona paga:$", Redon(porPersona * 100) /100FinAlgoritmoFinAlgoritmo

Sample run

This is what the program shows when it runs. The answers typed by the user are highlighted.

Total de la cuenta:User answer: 1250Porcentaje de propina (por ejemplo 10):User answer: 10¿Entre cuántas personas se divide?User answer: 4Propina: $125Total: $1375Cada persona paga: $343.75

Challenge

If someone types 0 people, show a warning instead of dividing.

Show hint

Wrap the porPersona calculation in Si personas > 0 Entonces ... SiNo ... FinSi.

Open in Codoritmo