Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ Instituto Profesional Providencia Escuela de Informática. Guía 1 Preparatoria de Primera Solemne. Profesor: Pedro González T. Curso: Fundamentos de Programación. 1.- Construya la siguiente clase teclado, para lectura de números y cadenas de texto.
1.1 Llame la clase trabajando con objetos, como por ejemplo:
1
Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ 2.- Construya un programa que a partir de la entrada por teclado calcule la potencia de un número. Nota Utilice paquete java.math 3.- Construya un programa java que a partir de un número ingreasado por el usuario encuentre el valor absoluto de el número ingresado, aplique control de excepciones. 4.- Desarrolle un programa java que permite Encontrar los números primos comprendidos entre 100 y 200 5.- Realice un programa Java que permita determinar las raíces de la ecuación de segundo grado. Considere el siguiente método
6.- Utilizando el ciclo for, construir un programa java que vaya escribiendo en la consola Java los argumentos introducidos en la línea de comando. Y otra aplicación que los escriba en el sentido opuesto al que se escribieron. 7.- Como ejemplo de la utilización de los ciclos for de Java y de la posibilidad de anidamiento de unos ciclos dentro de otros, se presenta a continuación un programa
2
Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ muy simple que permite generar pirámides de dígitos como la que puede verse a continuación, escríbalo y analice los que realiza, utilice debug (depuración) si desea..
3
Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ 8.- Desarrollar un programa que lea la fecha de nacimiento de una persona y calcule su edad en años, meses y días. 9.- A continuación se va a proceder a asignar notas a todas las asignaturas. Para ello se debe utilizar el método puntuar creado en una clase Alumno. La nota numérica se generará de forma aleatoria para cada asignatura utilizando la siguiente expresión: 10*Math.random() El resultado de esta expresión es una variable tipo double cuyo valor oscila entre 0 y 10. 10.- Calcule las notas de los alumnos, mediante, la siguiente clase, cree los objetos de media desde la clase alumno. 11.- Desarrolle un programa java donde el usuario se imagine un numero y este debe adivinar el numero que el usuario se imagino. Este numero va de 0 hasta 100, por cada vez que el programa calcule el numero, el usuario le deberá decir, si es mayor, menor o igual. 12.- Dados dos enteros positivos calcule su multiplicación sólo usando sumas. 13.- Dados dos enteros positivos x e y calcule el resultado de xy 14.- Pregunte varios enteros positivos hasta que el usuario ingrese un 0, y luego muestre el mínimo de los números ingresados. 15.- Construya un programa java que pregunte varios enteros positivos hasta que el usuario ingrese un 0, y luego muestre el promedio aritmético de los números ingresados. 16.- Construya un programa java que pregunte dos números al usuario y luego le muestre en pantalla desde donde el podrá elegir la operación a realizar con los números, muestre el resultado, y finalmente le pregunte si quiere realizar una nueva operación y si no terminar. 17.- Construya un programa java que Pregunte al usuario un entero cualquiera y determine si puede ser el seno, coseno, arcotangente, tangente, el usuario decide cuando termina de ingresar numeros.
4
Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ 18.- Escriba el siguiente programa y analice como determina el mínimo. Utilice un arreglo de tipo integer (número entero). class MinimoRec { public static void main(String[] args) { int n, i; int[] numeros; System.out.print("Cuantos numeros quiere ingresar?"); n = In.readInt(); numeros = new int[n]; System.out.println("Ingrese los numeros"); for( i = 0; i < n; i++) { numeros[i] = In.readInt(); } }
System.out.println("El minimo es: " + min(numeros, n - 1));
public static int min(int[] A, int k) { int m; if( k == 0 ) { return A[0]; } else { m = min(A, k - 1); if (A[k] < m) { return A[k]; } else { return m; } } } }
5
Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ 19.- Escriba el siguiente programa e indique que hace.
20.- Escriba el siguiente programa y explique lo que realiza.
6
Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ 20.- Telefónica realiza los cálculos del costo de una llamada de teléfono siguiendo el siguiendo el siguiente algoritmo: •
Cuando se descuelga el teléfono los primeros 3 minutos cuestan 10 pesso y cada minuto adicional cuesta 5 pesos
•
Escribe el algoritmo en java que nos permite calcular el coste de una llamada telefónica, marcando el inicio y termina cuando el usuario digita *.
21.- Se desea obtener la nómina semanal. Para hallar el sueldo neto se sabe que las 35 primeras horas se pagan a una tarifa determinada y las horas extra al 150% las horas normales. Si el sueldo final es menor de $20.000 a la semana no cobra impuestos. Los siguientes $25.000 cobran al 20% y el resto por encima al 30%. Calcula el sueldo neto (Sueldo-Impuestos). Datos a introducir, las horas trabajadas en una semana y el precio de la hora. Desarrolle un programa java que nos permite calcular el sueldo neto. 22.- Desarrolle un programa java, para calcular la velocidad (en m/s) de los corredores de la carrera de 1.500 metros. La entrada consistirá en parejas de números (minutos, segundos) que dan el tiempo del corredor, por cada corredor, el algoritmo debe imprimir el tiempo en minutos y segundos, así cono la velocidad media. Ejemplo de entrada de datos: (3,53) (3,40) (3,46) (3,52) (4,0) (0,0); el último par de datos se utilizará como fin de entrada de datos. 23.- En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo de un numero que se escoge al azar. Si el numero escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Construya un programa java que permita, obtener cuanto los descuentos. 24.- Una compañía de seguros esta abriendo un depto. de finanzas y estableció un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa la fianza es menor que $50 000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que $50 000 la cuota a pagar será el 2% del monto. La afianzadora desea determinar cual será la cuota que debe pagar un cliente y le ha pedido a usted realizar un programa java, para automatizar el proceso. 25.- Una institución educativa estableció un programa para estimular a los alumnos con buen rendimiento académico y que consiste en lo siguiente: Si el promedio es de 6.5 o mas y el alumno es del IPP , entonces este podrá cursar 55 unidades y se le hará un 25% de descuento.
7
Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ Si el promedio es mayor o igual a 6 pero menor que 6.5 y el alumno es del IPP, entonces este podrá cursar 50 unidades y se le hará un 10% de descuento. Si el promedio es mayor que 5 y menor que 6 y el alumno es del IPP, este podrá cursar 50 unidades y no tendrá ningún descuento. Si el promedio es de 5 o menor, el numero de materias reprobadas es de 0 a 3 y el alumno es de preparatoria, entonces podrá cursar 45 unidades y no tendrá descuento. Si el promedio es de 5 o menor, el numero de materias reprobadas es de 4 o mas y el alumno es de preparatoria, entonces podrá cursar 40 unidades y no tendrá ningún descuento.
8
Fundamentos de programación IPP Semestre Otoño 2007 _________________________________________________________________________ 26.- El dueño de una empresa desea planificar las decisiones financieras que tomara en el siguiente año. La manera de planificarlas depende de lo siguiente: Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo bancario para que su nuevo saldo sea de $10 000. Si su capital tiene actualmente un saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de $20 000, pero si su capital tiene actualmente un saldo superior a los $20 000 no pedirá ningún préstamo. Posteriormente repartirá su presupuesto de la siguiente manera. $5 000 para equipo de computo $2 000 para mobiliario y el resto la mitad será para la compra de insumos y la otra para otorgar incentivos al personal. Desplegar que cantidades se destinaran para la compra de insumos e incentivos al personal y, en caso de que fuera necesario, a cuanto ascendería la cantidad que se pediría al banco. 27.- Escribir el esqueleto (nombre de la clase, campos y nombre de los métodos) que podría tener una aplicación Java con el siguiente esquema:
“La pasión por aprender alguna ciencia, arte u oficio, esta por sobre los premios monetarios o aplausos, es solo la razón de que cada día una persona se supera en sus destrezas si olvidar su alma y sentimientos”
9