Algoritmo CALCULADORA_DEPRECIACION_JOSTHER
// Función para solicitar al usuario el valor inicial del objeto
Funcion SolicitarValorInicial() -> Real
Definir valorInicial Como Real
Escribir "Ingrese el valor inicial del objeto en dolares: "
Leer valorInicial
SolicitarValorInicial <- valorInicial
FinFuncion

// Función para solicitar al usuario la vida útil del objeto en años
Funcion SolicitarVidaUtil() -> Entero
Definir vidaUtil Como Entero
Repetir
Escribir "Ingrese la vida util del objeto en años (mayor a 0): "
Leer vidaUtil
Hasta Que vidaUtil > 0
SolicitarVidaUtil <- vidaUtil
FinFuncion

// Función para calcular la depreciación anual
Funcion CalcularDepreciacionAnual(valorInicial: Real, vidaUtil: Entero, anio: Entero) -> Real
Definir depreciacionAnual Como Real
depreciacionAnual <- valorInicial * (2 / vidaUtil)
CalcularDepreciacionAnual <- depreciacionAnual
FinFuncion

// Procedimiento para mostrar la tabla de depreciación
Procedimiento MostrarTablaDepreciacion(valorInicial: Real, vidaUtil: Entero)
Definir anio Como Entero
Definir valorObjeto, depreciacionAnual Como Real
valorObjeto <- valorInicial

Escribir "---------------------------------------------------------------------------"
Escribir "Año | Valor Inicial | Depreciacion Anual | Depreciacion Final"
Escribir "---------------------------------------------------------------------------"

Para anio <- 1 Hasta vidaUtil Con Paso 1 Hacer
depreciacionAnual <- CalcularDepreciacionAnual(valorInicial, vidaUtil, anio)
valorObjeto <- valorObjeto - depreciacionAnual
Escribir anio, " | ", valorInicial, " | ", depreciacionAnual, " | ", valorObjeto
FinPara
FinProcedimiento

// Procedimiento principal
Procedimiento Main()
Definir valorInicial, valorObjeto Como Real
Definir vidaUtil Como Entero
Definir continuar Como Caracter

valorObjeto <- 0 // Inicializar valorObjeto

Repetir
Escribir "****BIENVENIDO PROGRAMA COMPILADO CON GEANY, SIGA LAS INSTRUCCIONES DE USO****"
Escribir "***********************************************************"
Escribir "* CALCULADORA DE DEPRECIACION *"
Escribir "***********************************************************"
Escribir

valorInicial <- SolicitarValorInicial()
vidaUtil <- SolicitarVidaUtil()

MostrarTablaDepreciacion(valorInicial, vidaUtil)

Escribir "****************************************************************************************************"
Escribir "La depreciacion final del objeto a los ", vidaUtil, " años sera de ", valorObjeto, " dolares"
Escribir "****************************************************************************************************"

Escribir
Escribir "¿Desea calcular la depreciación de otro objeto? (s/n): "
Leer continuar
Hasta Que EnMinusculas(continuar) <> 's'

Escribir "Gracias por usar la calculadora de depreciación."
FinProcedimiento

// Llamada al procedimiento Main
Main()
FinAlgoritmo
favor corregir los errores en pseint