Nombre: Edward Isaac Ayala Hernández Matrícula: 91138 Grupo: K048 Materia: Fundamentos de programación Nombre del asesor: Mtro. Emmanuel Hernández Ortiz Actividad: 4. Programación orientada a objetos Ciudad y fecha: Villahermosa, Tabasco. 21 de marzo de 2018
1.Escribe el pseudocódigo y programación con orientación a objetos de las siguientes ecuaciones matemáticas con base a las reglas de negocios que se muestran en la parte inferior. y =4x2+ 3x + 1
Reglas de negocio
El valor de x va de -5 a 5, es decir se debe considerar todos los números que abarca dicho proceso. Como resultado final se debe imprimir la siguiente tabla (No es necesario colocar los bordes de la tabla).
Nota: Los espacios en blanco deben ser sustituidos con los valores que se generan a partir de la solución de la ecuación. X
Y
-5 -4 -3 -2 -1 0 1 2 3 4 5
Adjuntar código fuente (texto no imagen) y pantallas que muestren la corrida del programa.
Comprobación en Excel de los resultados en “ Y ”
y = 4x2 + 3x + 1 X -5 -4 -3 -2 -1 0 1 2 3 4 5
Y 86 53 28 11 2 1 8 23 46 77 116
Código Fuente package Dosa; import java.util.Scanner; public class Pueba { public static void main(String[] args) { // TODO Auto-generated method stub int x,y; System.out.println("El valor de x va de -5 a 5"); System.out.println("Ecuación: y = 4x^2 + 3x + 1"); System.out.println("____________________________"); System.out.println(" "); System.out.println(" x y"); System.out.println("___ ___"); System.out.println(" "); for(x=-5;x<=5;x++) { y = 4*x*x + 3*x + 1; System.out.println(x+" } } }
" + y );
2. Un número perfecto es un entero positivo igual a la suma de sus divisores propios. Un divisor propio es un entero positivo distinto que el número en sí mismo, que divide al número de forma exacta (es decir sin resto). Escriba el diagrama de flujo y programa mediante programación orientada a objetos que acepte un entero positivo y determine si es un número perfecto. Igualmente, muestre todos los divisores propios del número con base a las reglas de negocios que se muestran en la parte inferior.
Reglas de negocio
Por ejemplo, 6 es un número perfecto, porque la suma de sus divisores propios 1, 2 y 3 es igual a 6. En cambio 8 no es un número perfecto por que la suma de sus divisores propios, 1 + 2 + 4 es distinto de 8. El usuario deberá de ingresar un número entero positivo y se debe guardar en la variable entera numPos. Implementar una función recursiva para determinar los divisores del número ingresado. Mostrar un mensaje en pantalla que indique si el número ingresado es un número perfecto o no. Controlar la excepción en caso de que el usuario ingrese algo diferente a un número. En caso de que esto se cumpla, deberá imprimir el mensaje "El tipo de dato es incompatible con la solución de este programa”. Adjuntar código fuente (texto no imagen) y pantallas que muestren la corrida del programa.
Código Fuente package Dosa; import java.util.Scanner; public class Pueba { public static void main(String[] args) { // TODO Auto-generated method stub int i, suma = 0, n; Scanner sc = new Scanner(System.in); System.out.println("Introduce un número: "); n = sc.nextInt(); for (i = 1; i < n; i++) { // i son los divisores. Se divide desde 1 hasta n-1 if (n % i == 0) { suma = suma + i; // si es divisor se suma } }
if (suma == n) { // si el numero es igual a la suma de sus divisores es perfecto System.out.println("Perfecto"); } else { System.out.println("No es perfecto"); } } }
3. Realice el pseudocódigo y programa mediante programación orientada a objetos que examine e imprima la equivalencia de dinero en pesos de la cantidad ingresada por el usuario en dólares. Además de decir cuántos billetes y monedas de 500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5 se deben entregar al usuario, con base a las reglas de negocios que se muestran en la parte inferior.
Reglas de negocio
El tipo de cambio a utilizar es de 1 dólar = 13.15 pesos. Para la solución del problema deberá utilizar un ciclo do - while y la sentencia switch. Mostrar en pantalla la equivalencia en pesos de los dólares ingresados, además de cómo se debe entregar dicho dinero en la denominación especificada. Adjuntar código fuente (texto no imagen) y pantallas que muestren la corrida del programa.
Comprobación en Excel de dólar a pesos mexicanos
dólar 13.15
Pesos 20
total 263.00
Código Fuente package Dosa; import java.util.Scanner; public class Pueba { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); // variable que contendra el valor a devolver double importe=0; do{ try{ System.out.print("Ingresa el cambio a devolver, 1 dólar = 13.15 pesos:"); importe=sc.nextDouble(); }catch(Exception e){ System.out.println("Introduciste un dato erroneo."); System.out.println(""); sc.nextLine(); }
}
while(importe<=0); calcular(importe*13.15); } public static void calcular(double importe) { System.out.println("Son: "+importe+" Pesos Mexicanos"); // Indicamos todas las monedas posibles double [] monedas={500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.20, 0.10, 0.05, 0.02, 0.01}; // Creamos un array con 0 de longitud igual a la cantidad de monedas // Este array contendra las monedas a devolver double [] devolver={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // Recorremos todas las monedas for(int i=0;i<monedas.length;i++) { // Si el importe actual, es superior a la moneda if(importe>=monedas[i]) { // obtenemos cantidad de monedas devolver[i]=Math.floor(importe/monedas[i]); // actualizamos el valor del importe que nos queda por didivir importe=importe-(devolver[i]*monedas[i]); } } // Bucle para mostrar el resultado for(int i=0;i<monedas.length;i++) { if(devolver[i]>0) { if(monedas[i]>2) { // Indicamos que es un billete System.out.println("Hay "+devolver[i]+" billetes de: "+monedas[i]+" Pesos"); }else{ // Indicamos que es una moneda System.out.println("Hay "+devolver[i]+" monedas de: "+monedas[i]+" Pesos"); } } } }
}