/*
* Archivo: determinarSaludFinanciera.java
*
* Descripci'on: programa tal que dados un valor entero p, el capital inicial y,
* y un arreglo v de p reales determina si los valores en v
* corresponden a los movimientos de una empresa financieramente
* saludable, y actualiza el capital y.
* Una empresa es considerada saludable si cada uno de los
* movimientos realizados son tales que no representan perdidas
* inferiores a 10% de capital inicial, y si el balance acumulado
* en los p movimientos es tal que es mayor estricto a 5% del
* capital inicial.
* Permite probar operaciones b'asicas sobre reales y booleanos,
* accesos a arreglo, iteraciones for y while sencillas.
* (problema tomado del examen parcial I del curso de algoritmos
* y estructuras I del trimestre septiembre-diciembre 2009)
*
* Fecha: 22 de junio de 2010
*
* Autora:
*
*/
class determinarSaludFinanciera {
public static void main (String[] args) {
/* inicializar en 12 en caso de s'olo manejar arreglos de tamaƱo
constante con valor conocido a momento de compilaci'on */
final int p = Console.readInt("Valor de p: ");
final double[] v = new double[p];
double y = Console.readDouble("Capital inicial: ");
boolean b;
for (int i = 0; i < p; i++) {
v[i] = Console.readDouble("Valor de v[" + i + "] : ");
}
System.out.println("La empresa tenia un capital inicial de " + y);
{
double t;
int k;
String x;
b = true;
t = 0;
k = 0;
while ( k < p ) {
b = b && (v[k] >= -0.1*y);
t = t + v[k];
k = k + 1;
}
b = (t > 0.05*y) && b;
y = y + t;
System.out.println("Su balance acumulado fue de " + t + ".");
if (t > 0.05*y) {
x = "";
} else {
x = "no ";
}
System.out.println("El balance acumulado " + x
+ "es mayor al 5% del capital inicial");
}
System.out.println("La empresa tiene un capital actual de " + y );
if (b) {
System.out.println("La empresa es saludable");
} else {
System.out.println("La empresa no es saludable");
}
}
}