Untitled
unknown
batchfile
2 years ago
2.2 kB
6
Indexable
Algoritmo Ahorro definir ingresos, meta_ahorro como real; definir gastos_fijos, gastos_variables como real; definir total_gastos, presupuesto_disponible, ahorro_backtracking, ahorro_actual como real; escribir "Ingresos:"; leer ingresos; escribir "Gastos Fijos:"; para i <- 1 hasta 5 hacer leer gastos_fijos; fin para escribir "Gastos Variables:"; para i <- 1 hasta 5 hacer leer gastos_variables; fin para escribir "Meta de Ahorro:"; leer meta_ahorro; total_gastos <- sumarGastos(gastos_fijos, gastos_variables); presupuesto_disponible <- ingresos - total_gastos; si presupuesto_disponible < 0 entonces escribir "¡Cuidado! Tus gastos superan tus ingresos."; sino ahorro_backtracking <- 0; ahorro_backtracking <- backtrack(gastos_variables, presupuesto_disponible, 0, 0, meta_ahorro, ahorro_backtracking); si ahorro_backtracking >= meta_ahorro entonces escribir "¡Felicidades! Has alcanzado tu meta de ahorro."; escribir "No has alcanzado tu meta de ahorro."; fin si escribir "Ahorro máximo (Backtracking): " + ahorro_backtracking; fin si funcion sumarGastos(gastos_fijos, gastos_variables) definir suma como real; suma <- 0; para i <- 1 hasta 5 hacer suma <- suma + gastos_fijos[i]; fin para para i <- 1 hasta 5 hacer suma <- suma + gastos_variables[i]; fin para retornar = suma; fin funcion funcion backtrack(gastos_variables, presupuesto_disponible, indice, ahorro_actual, meta_ahorro, ahorro_backtracking) si indice = 5 entonces si ahorro_actual >= meta_ahorro entonces ahorro_backtracking <- max(ahorro_backtracking, ahorro_actual); fin si sino ahorro_backtracking <- backtrack(gastos_variables, presupuesto_disponible, indice + 1, ahorro_actual, meta_ahorro, ahorro_backtracking); si ahorro_actual + gastos_variables[indice] <= presupuesto_disponible entonces ahorro_backtracking <- backtrack(gastos_variables, presupuesto_disponible, indice + 1, ahorro_actual + gastos_variables[indice], meta_ahorro, ahorro_backtracking); fin si fin si retornar = ahorro_backtracking; fin funcion FinAlgoritmo
Editor is loading...