Mensajes: 302
Temas: 129
Registro en: 12 Nov 2012
Reputación:
19
Código PHP: package p3;
import utilidades.Teclado;
public class MCD_2 {
public static void main(String[] args) { System.out.println("Introduzca un numero entero,m:"); int m=Teclado.readInt(); System.out.println("Introduzca otro numero entero,n:"); int n=Teclado.readInt(); System.out.print("El maximo comun divisor de "+m+" y "+n+" es: "); System.out.println(mcd(m,n));
} public static int mcd(int a,int b){
while (a!=b){ if (a>b){ a=a-b; } else{ b=b-a;
} } return a; } }
Código PHP: package p3; import utilidades.Teclado;
public class Calculadora { public static void main (String[]args){ int op1,op2,suma,resta,producto,division,modulo,abs,opcion; System.out.println("Introduce Operando1:"); op1=Teclado.readInt(); System.out.println("Introduce Operando2:"); op2=Teclado.readInt(); System.out.println("------------------"); System.out.println("1. Suma"); System.out.println("2. Resta"); System.out.println("3. Producto"); System.out.println("4. Módulo"); System.out.println("5. Valor absoluto"); System.out.println("6. División"); System.out.println("------------------"); opcion=Teclado.readInt(); if(opcion<1 || opcion >6){ System.out.println("Valor introducido incorrecto"); } else{ switch(opcion){ case 1: suma=op1+op2; if(suma<op1 && suma<op2){ System.out.println("Desbordamiento"); }else System.out.println("El resultado de la suma es:"+suma); break; case 2: resta=op1-op2; if(resta>op1 || resta>op2){ System.out.println("Desbordamiento"); } else System.out.println("El resultado de la resta es:"+resta); break; case 3: producto=op1*op2; if(producto/op1!=op2){ System.out.println("Desbordamiento"); }else System.out.println("El restultado del producto es"+producto); break; case 4: if(op2==0){ System.out.println("Imposible dividir por 0"); }else{ modulo=op1%op2; System.out.println("El resultado del modulo2: "+modulo); } break; case 5: abs=Math.abs(op1); System.out.println("El valor absoluto del Operando1 es:"+abs); break; case 6: if(op2==0){ System.out.println("Imposible dividir por 0"); }else{ division=op1/op2; System.out.println("El resultado de la division entera es: "+division); } break; } } }
}
Código PHP: package p3; import utilidades.Teclado;
public class MCD_1 { public static void main (String[]args){ System.out.println("Introduzca un numero entero,m:"); int m=Teclado.readInt(); System.out.println("Introduzca otro numero entero,n:"); int n=Teclado.readInt(); System.out.print("El maximo comun divisor de "+m+" y "+n+" es: "); System.out.println(mcd(m,n)); } public static int mcd(int a,int b){ if(a%b==0){ return b; } if(b%a==0){ return a; } if(b==0) { return a; } else return mcd(b, a%b); } }
"Que yo sepa, el español medio no es más honrado que los políticos que lo gobiernan"
Mensajes: 302
Temas: 129
Registro en: 12 Nov 2012
Reputación:
19
Esta está sin terminar
Código PHP: package p3;
import utilidades.Teclado;
public class Calculos { // EJERCICIO 7................................................................ public static float piLeibniz(long iters){ if(iters<0) return -1; float t=0; int e; for(float n=0;n<=iters;n++){ //System.out.println(t); //System.out.println((Math.pow(-1, n))/((2*n)+1)); //e=Teclado.readInt(); //if( (t-((Math.pow(-1, n))/((2*n)+1))>0)) n= iters-1; t+= (Math.pow(-1, n))/((2*n)+1); } return 4*t; }
// EJERCICIO 8................... ............................................ public static long factorial(long n){ if(n<0) return -1; if(n==0 || n==1) return 1; long h=1; for(long t=n;t>1;t--){ h= h*t; } return h; //A rellenar por los alumnos } // EJERCICIO 9......................................... ...................... public static long potenciaEntera(long base, int exp){ if(exp<0) return -1; if(exp==0) return 1; long n=1; for (int h=0;h<exp;h++){ n = n*base; } return n; //A rellenar por los alumnos } // EJERCICIO 10.............................................................. public static float piEuler(int iteraciones){ //A rellenar por los alumnos } // EJERCICIO 11.............................................................. public static void main(String[] args) { int op; do{ System.out.println("1. pi segun Leibniz"); System.out.println("2. pi segun Euler"); System.out.println("3. potencia entera"); System.out.println("4. factorial"); System.out.println("5. salir"); op = Teclado.readInt(); switch (op){ case 1: System.out.println("pi segun Leibniz con 10 interacciones:"); Test3.testP01(); break; case 2: System.out.println("pi segun Euler con 10 interacciones:"); System.out.println(piEuler(10)); break; case 3: System.out.println("potencia entera"); Test3.testP03(); break; case 4: System.out.println("factorial"); Test3.testP02(); break; } }while(op<5);
} }
Código PHP: package p3;
import utilidades.Teclado;
public class DivisiblePor11 {
/** * @param args */ public static void main(String[] args) { int n,contador; System.out.print("Introduzca un valor para N: "); n = Teclado.readInt(); if(n>=11){ System.out.println("BUCLE FOR:"); for(contador=11;contador<=n;contador++){ if(contador%11 == 0) System.out.print(contador+" "); } System.out.println(); contador=11; System.out.println("BUCLE WHILE:"); while(contador<=n){ if(contador%11 == 0) System.out.print(contador+" "); contador++; } System.out.println(); contador=11; System.out.println("BUCLE DO WHILE:"); do{ if(contador%11 == 0) System.out.print(contador+" "); contador++; }while(contador<=n); System.out.println("BUCLE FOR(PARES):"); for(contador=11;contador<=n;contador++){ if(contador%11 == 0){ if(contador%2==0) System.out.print(contador+" "); } } System.out.println(); contador=11; System.out.println("BUCLE WHILE(PARES):"); while(contador<=n){ if(contador%11 == 0){ if(contador%2==0) System.out.print(contador+" "); } contador++; } System.out.println(); contador=11; System.out.println("BUCLE DO WHILE(PARES):"); do{ if(contador%11 == 0){ if(contador%2==0) System.out.print(contador+" "); } contador++; }while(contador<=n); }else{ System.out.println("Nigún numero menor que 11 es divisible por 11"); }
}
}
"Que yo sepa, el español medio no es más honrado que los políticos que lo gobiernan"
Mensajes: 302
Temas: 129
Registro en: 12 Nov 2012
Reputación:
19
Código PHP: package p3;
import utilidades.Teclado;
public class Ecuacion {
/** * @param args */ public static void main(String[] args) { double a,b,c; double X1,X2,tmp; System.out.println("Introduzca un numero:"); a=Teclado.readDouble(); System.out.println("Introduzca un segundo numero:"); b=Teclado.readDouble(); System.out.println("Introduzca un tercer numero:"); c=Teclado.readDouble(); tmp=Math.pow(b, 2)-4*a*c; if(tmp<0){ System.out.println("----------------------------------"); System.out.println("La ecuación tiene raices complejas"); System.out.println("----------------------------------"); } else { X1=-b+Math.sqrt(tmp)/(2*a); X2=-b-Math.sqrt(tmp)/(2*a); System.out.println("X1="+X1); System.out.println("X2="+X2); }
}
}
Código PHP: package p3;
public class Fibonacci {
/** * @param args */ public static void main(String[] args) { long a=1; long b=0; long c; for(int i =0;i<100;i++){ c=a+b; a=b; b=c; System.out.println(c); }
}
}
"Que yo sepa, el español medio no es más honrado que los políticos que lo gobiernan"
Mensajes: 302
Temas: 129
Registro en: 12 Nov 2012
Reputación:
19
Dejo también el código del profesor que comprueba las funciones para ver si devuelven el resultado correcto.
Código PHP: package p3;
import utilidades.Constantes;
public class Test3 {
/* * ****************************************************************************************************************** * ****************************************************************************************************************** * TEST PROBLEMA 1 * ****************************************************************************************************************** * ****************************************************************************************************************** */ public static int testP01 (){ int nota = 10; boolean concordancia = true; boolean convergencia = true; double delta = 0.00001;
float [] piLeibniz = {4.0f, 2.6666665f, 3.4666665f, 2.895238f, 3.3396823f, 2.9760460f}; float [] piLeibniz2 = {3.1416059f, 3.1415973f, 3.141597f, 3.1415968f, 3.1415968f}; int [] its = { 100000, 1000000, 10000000, 100000000, 200000000}; System.out.println("-------------------------------------------------------------------------------------------"); System.out.println("PROBLEMA 1:CalcularPiLeibniz, Math.PI = " + Math.PI); System.out.println(); try{ System.out.print("COMPROBACIÓN DE ARGUMENTOS (2 ptos): "); System.out.print("Iteraciones < 0 --> return -1?: "); if (Calculos.piLeibniz(-1) != -1){ System.out.println("No se comprueba. Resta 2 de 10"); nota -= 2; } else{ System.out.println("Ok"); } System.out.println();
System.out.println("PRUEBA CONCORDANCIA EXPRESIÓN PROGRAMADA CON FÓRMULA DE LEIBNIZ (4 puntos): "); float deltas [] = new float[piLeibniz.length]; for (int i = 0; i < piLeibniz.length; i++){ deltas[i] = Calculos.piLeibniz(i) - piLeibniz[i]; System.out.print("Its: " + i + " \t\t[calculado, previsto] = [" + Calculos.piLeibniz(i) + ", " + piLeibniz[i] + "], dif = " + deltas[i]); if (Math.abs(deltas[i]) > delta) { System.out.println(" Error. "); concordancia = false; } else{ System.out.println(" OK. "); } } for (int i = 0; i < piLeibniz2.length; i++){ deltas[i] = Calculos.piLeibniz(its[i]) - piLeibniz2[i]; System.out.print("Its: " + its[i] + (its[i] <= 10?"\t":"") + " \t[calculado, previsto] = [" + Calculos.piLeibniz(its[i]) + ", " + piLeibniz2[i] + "], dif = " + deltas[i]); if (Math.abs(deltas[i]) > delta) { System.out.println(" Error"); concordancia = false; } else{ System.out.println(" OK. "); } } System.out.println(); if (!concordancia){ System.out.println("No hay concordancia entre resultados y expresión de pi. Resta 4 de 10"); nota -= 4; } else{ System.out.println("Ok"); }
System.out.println(); System.out.print("CONVERGENCIA EXPRESIÓN PROGRAMADA (4 puntos): "); for (int i = 0; i < deltas.length - 1; i++){ if (Math.abs(deltas[i]) > Math.abs(deltas[i+1])) { System.out.println(" No convergencia de resultados entre " + i + " e " + (i+1) + "iteraciones"); convergencia = false; } } if (!convergencia){ System.out.println("No hay convergencia a pi en la expresión programada. Resta 4 de 10"); nota -= 4; } else{ System.out.println("Ok"); } } catch(Exception e){ System.out.println("Se produce error en tiempo de ejecución: "); e.printStackTrace(); System.out.println(); System.out.println("Si hay errores en tiempo de ejecución que produzcan que el programa aborte\n" + "la calificación devuelta es CERO: Corrijalos y repita el test. "); nota = 0; }
nota = nota > 0?nota:0; System.out.println(); System.out.println("Nota estimada sobre 10: " + nota);
return nota; } /* * ****************************************************************************************************************** * ****************************************************************************************************************** * TEST PROBLEMA 2 * ****************************************************************************************************************** * ****************************************************************************************************************** */ public static int testP02 (){ int nota = 10; long [] factoriales = {1, 1, 2, 6, 24, 120, 720}; boolean concordancia = true; System.out.println("-------------------------------------------------------------------------------------------"); System.out.println("PROBLEMA 2: factorial."); System.out.println(); try{ System.out.print("COMPROBACIÓN DE ARGUMENTOS (2 ptos): "); System.out.print("argumento <= 0 --> return 1?: "); if (Calculos.factorial(-1) != Constantes.ErrorRangoArgumento){ System.out.println("No se comprueba. Resta 2 de 10"); nota -= 2; } else{ System.out.println("Ok"); } System.out.println();
System.out.println("COMPROBACIÓN DE RESULTADOS (8 ptos): "); System.out.println("factorial de 0..10"); for (int i = 0; i < factoriales.length; i++){ System.out.println("Factorial: " + i + "[calculado, previsto] = [" + Calculos.factorial(i) + ", " + factoriales[i] + "]"); if (Calculos.factorial(i) != factoriales[i]) { System.out.println(" No concordancia de resultados en " + i); concordancia = false; } } if (!concordancia){ nota -= 8; } else{ System.out.println(); System.out.println("Ok"); } System.out.println(); System.out.print("COMPROBACIÓN DE DESBORDAMIENTO en n = 21 (2 ptos): "); if (Calculos.factorial(21) != Constantes.ErrorDesbordamiento){ System.out.println("No se comprueba desbordamiento (f(21) = " + Calculos.factorial(21) + ". Resta 2 de 10"); nota -= 2; } else{ System.out.println("Ok"); } } catch(Exception e){ System.out.println("Se produce error en tiempo de ejecución: " + e.getMessage()); e.printStackTrace(); System.out.println(); System.out.println("Si hay errores en tiempo de ejecución que produzcan que el programa aborte\n" + "la calificación devuelta es CERO: Corrijalos y repita el test. "); nota = 0; }
nota = nota > 0?nota:0; System.out.println(); System.out.println("Nota estimada sobre 10: " + nota); return nota; } /* * ****************************************************************************************************************** * ****************************************************************************************************************** * TEST PROBLEMA 3 * ****************************************************************************************************************** * ****************************************************************************************************************** */ public static int testP03 (){ int nota = 10; long [] potencias21 = {1, 2, 4, 8}; long [] potencias22 = {1, -2, 4, -8}; boolean concordancia = true; System.out.println("-------------------------------------------------------------------------------------------"); System.out.println("PROBLEMA 3: potencia entera"); System.out.println(); try{ System.out.print("COMPROBACIÓN DE ARGUMENTOS (2 ptos): "); System.out.print("exponente < 0 --> return -1?: "); if (Calculos.potenciaEntera(2, -1) != -1){ System.out.println("No se comprueba. Resta 2 de 10"); nota -= 2; } else{ System.out.println("Ok"); } System.out.println(); System.out.println("COMPROBACIÓN DE RESULTADOS (8 ptos): "); for (int i = 0; i < potencias21.length; i++){ System.out.println("Potencia: " + i + " de 2 [calculado, previsto] = [" + Calculos.potenciaEntera(2, i) + ", " + potencias21[i] + "]"); if (Calculos.potenciaEntera(2, i) != potencias21[i]) { System.out.println(" No concordancia de resultados en " + i); concordancia = false; } } for (int i = 0; i < potencias21.length; i++){ System.out.println("Potencia: " + i + " de -2 [calculado, previsto] = [" + Calculos.potenciaEntera(-2, i) + ", " + potencias22[i] + "]"); if (Calculos.potenciaEntera(-2, i) != potencias22[i]) { System.out.println(" No concordancia de resultados en " + i); concordancia = false; } } if (!concordancia){ nota -= 8; } else{ System.out.println(); System.out.println("Ok"); } System.out.println(); System.out.print("COMPROBACIÓN DE DESBORDAMIENTO en base = 2, exp = 63 (2 ptos): "); if (Calculos.potenciaEntera(2, 63) != Constantes.ErrorDesbordamiento){ System.out.println("No se comprueba desbordamiento (f(2, 63) = " + Calculos.potenciaEntera(2, 63) + ". Resta 2 de 10"); nota -= 2; } else{ System.out.println("Ok"); } } catch(Exception e){ System.out.println("Se produce error en tiempo de ejecución: " + e.getMessage()); e.printStackTrace(); System.out.println(); System.out.println("Si hay errores en tiempo de ejecución que produzcan que el programa aborte\n" + "la calificación devuelta es CERO: Corrijalos y repita el test. "); nota = 0; }
nota = nota > 0?nota:0; System.out.println(); System.out.println("Nota estimada sobre 10: " + nota); return nota; } /* * ****************************************************************************************************************** * ****************************************************************************************************************** * TEST PROBLEMA 4 * ****************************************************************************************************************** * ****************************************************************************************************************** */ public static int testP04 (){ int nota = 10; boolean concordancia = true; boolean convergencia = true; double delta = 0.00001;
float [] piEuler = {2.0f, 2.6666667f, 2.9333334f, 3.047619f, 3.0984128f, 3.1215007f, 3.1321568f, 3.1371295f, 3.1394696f, 3.1405780f}; System.out.println("-------------------------------------------------------------------------------------------"); System.out.println("PROBLEMA 4: calcularPiEuler(int iteraciones), Math.PI = " + Math.PI); System.out.println(); try{ System.out.print("COMPROBACIÓN DE ARGUMENTOS (2 ptos): "); System.out.print("Iteraciones < 0 --> return -1?: "); if (Calculos.piEuler(-1) != -1){ System.out.println("No se comprueba. Resta 2 de 10"); nota -= 2; } else{ System.out.println("Ok"); } System.out.println(); System.out.println("PRUEBA CONCORDANCIA EXPRESIÓN PROGRAMADA CON FÓRMULA DE EULER (4 puntos): "); float deltas [] = new float[piEuler.length]; for (int i = 0; i < piEuler.length; i++){ deltas[i] = Calculos.piEuler(i) - piEuler[i]; System.out.println("Its: " + i + " \t[calculado, previsto] = [" + Calculos.piEuler(i) + ", " + piEuler[i] + "], dif = " + deltas[i]); if (Math.abs(deltas[i]) > delta) { System.out.println(" No concordancia de resultados en " + i + " iteraciones"); concordancia = false; } } if (!concordancia){ System.out.println(); System.out.println("No hay concordancia entre resultados y expresión de pi. Resta 2 de 10"); nota -= 4; } else{ System.out.println(); System.out.println("Ok"); System.out.println(); } System.out.print("PRUEBA DESBORDAMIENTO EXPRESIÓN FÓRMULA DE EULER (2 puntos): "); if (Calculos.piEuler(9) != Calculos.piEuler(10)){ System.out.println("No se comprueba desbordamiento. calcularPiEuler(11) = " + Calculos.piEuler(11)); nota -= 2; } else{ System.out.println("Ok"); System.out.println(); } System.out.print("CONVERGENCIA EXPRESIÓN PROGRAMADA (4 puntos): "); for (int i = 0; i < piEuler.length - 1; i++){ if (Math.abs(deltas[i]) > Math.abs(deltas[i+1])) { System.out.println(" No convergencia de resultados entre " + i + " e " + (i+1) + "iteraciones"); convergencia = false; } } if (!convergencia){ System.out.println("No hay convergencia a pi en la expresión programada. Resta 4 de 10"); nota -= 4; } else{ System.out.println("Ok"); } } catch(Exception e){ System.out.println("Se produce error en tiempo de ejecución: " + e.getMessage()); e.printStackTrace(); System.out.println(); System.out.println("Si hay errores en tiempo de ejecución que produzcan que el programa aborte\n" + "la calificación devuelta es CERO: Corrijalos y repita el test. "); nota = 0; }
nota = nota > 0?nota:0; System.out.println(); System.out.println("Nota estimada sobre 10: " + nota); return nota;
} }
"Que yo sepa, el español medio no es más honrado que los políticos que lo gobiernan"
|