Bienvenido, Invitado |
Tienes que registrarte para poder participar en nuestro foro.
|
Estadísticas del foro |
» Miembros: 580
» Último miembro: dani
» Temas del foro: 400
» Mensajes del foro: 851
Estadísticas totales
|
Últimos temas |
examen 2023/2024
Foro: Sistemas lineales
Último mensaje por: jyl
31-10-2024, 10:59
» Respuestas: 0
» Vistas: 106
|
ejercicios de examen ( bi...
Foro: Componentes y Dispositivos
Último mensaje por: jyl
31-10-2024, 10:56
» Respuestas: 0
» Vistas: 110
|
TDCs cursos 22-23 y 23-24
Foro: Conmutación
Último mensaje por: varo
01-09-2024, 15:03
» Respuestas: 0
» Vistas: 350
|
Examen prácticas 2024
Foro: Teoría de la comunicación
Último mensaje por: varo
01-09-2024, 14:58
» Respuestas: 0
» Vistas: 116
|
segundo parcial
Foro: Transmisión de datos
Último mensaje por: jyl
28-07-2024, 17:49
» Respuestas: 0
» Vistas: 91
|
segundo parcial
Foro: Redes y servicios de telecomunicaciones
Último mensaje por: jyl
24-07-2024, 00:53
» Respuestas: 0
» Vistas: 187
|
Prácticas curso 23/24
Foro: Componentes y Dispositivos
Último mensaje por: varo
14-07-2024, 11:22
» Respuestas: 0
» Vistas: 213
|
2do parcial
Foro: Redes inalámbricas
Último mensaje por: casanova
24-06-2024, 18:30
» Respuestas: 1
» Vistas: 208
|
problema 1 del examen de ...
Foro: Teoría de la comunicación
Último mensaje por: jyl
15-06-2024, 01:53
» Respuestas: 0
» Vistas: 209
|
Parciales del 2024
Foro: Teoría de la comunicación
Último mensaje por: jyl
04-06-2024, 20:28
» Respuestas: 0
» Vistas: 389
|
|
|
Soluciones ejercicios de la aplicación web |
Enviado por: Jesús Hernández Galián - 07-02-2013, 17:56 - Foro: Fundamentos de Programación
- Respuestas (6)
|
|
Bien, comparto con vosotros las soluciones de los ejercicios de la aplicación web, especialmente para los que se atrancan.
La aplicación web : [Para ver los enlaces debes registrate]
A ver, la mayoría de ejercicios se pueden solucionar de varias maneras, pero la aplicación web solo acepta una, de ahí que ponga en los cierres de llaves al bloque al que corresponden ej. "}// if 1".
Esto tiene muchas pegas, la aplicación web tiene las soluciones mas óptimas para la programación de los métodos, aún así hay otras posibles soluciones muy validas con las mismas frases que ponen en el ejercicio como por ejemplo el Jap_01.
En general se pueden hacer casi todos aplicando todas las reglas básicas de programación. En muchos ejercicios hay expresiones que no son las más claras, ni las menos usuales, pero bueno...
Hay una ejercicio que si que es una prueba de azar, que es el Jap_14 que hay 3 "return null;", esto hace que no sepas donde poner cada uno, porque solo acepta una posición, es decir, si los intercambias no va a funcionar.
Ya podemos tener todo el mundo 0.5 más
Sin entretenerme más aquí van las soluciones:
Jap_01
Código PHP: public static void escribirDivisores(int n){ System.out.println("número: " + n + " --> Divisores positivos: "); if (n==0) {System.out.println("Todo número distinto de 0 es divisor de 0.");} else{ n = n>=0? n:-n; for (int i=1; i<n; i++){ if (n%i == 0){ System.out.print(i + ", ");} } // for System.out.println(n); } // else }// fin función
Jap_02
Código PHP: public static boolean esPrimo(int n){ boolean primo = true; int limite = n/2; if (n==0) { primo = false; } else{ for(int i=2; i<=limite && primo; i++){ if (n%i == 0) { primo=false;} } //for } //else return primo; } // fin función
Jap_03
Código PHP: public static int contarPrimos(int n1, int n2){ int nroDePrimos = -1; if (n1>=0 && n2>=0){ nroDePrimos = 0; int bajo = n1>=n2? n2:n1; int alto = n1>n2? n1:n2; for (int numero = bajo; numero <= alto; numero++){ //for 1 if (numero != 0){ // if 1 boolean primo = true; int limite = numero/2; for (int i=2; i<= limite && primo; i++){ // for 2 if (numero % i == 0) { primo = false; } } // fin for 2 if (primo) nroDePrimos++; } //if (numero != 0) } // fin for 1 } // if (n1 >= 0 && n2 >= 0) return nroDePrimos; } // fin función
Jap_04
Código PHP: public static void printLinea(int N){ if (N<=0){ System.out.println("error"); } // if else{ for (int i=1; i<=N; i++) { System.out.println(i+" "); } System.out.println(); } //else } // fin función
Jap_05
Código PHP: public static void printLineas(int N){ if (N<=0) { System.out.println("error");} else{ for (int i=1; i<=N; i++){ for (int j=1; j<=i; j++){ System.out.println(j+" ");} System.out.println(); } //for } //else } //fin función
Jap_06
Código PHP: public static int[][] lineas(int N){ int lineas[][]=null; if (N > 0){ lineas = new int[N][]; for (int i=0; i<N; i++){ lineas[i] = new int[i+1]; for (int j=0; j<=i; j++){ lineas[i][j] = j+1;} } //for } //if return lineas; } //fin función
Jap_07
Código PHP: public static int mcd(int a, int b){ while (a != b){ if (a>b) { a = a-b;} else {b = b-a;} } // while return a; } // fin función
Jap_08
Código PHP: public static int fibonacci(int n){ int res = 0; if (n>=0){ // if 1 if (n==1 || n==2){ // if 2 res = 1; } // fin if 2 else { int ti = 1, ti_1= 1; int contador = 2; while (contador <= n){ res = ti + ti_1; ti_1 = ti; ti = res; contador++; } // fin while } //fin else } // fin if 1 return res; } //fin función
Jap_09
Código PHP: public static boolean esBisiesto(int anio){ boolean bisiesto = false; if (anio % 400 == 0 || (anio % 4 == 0 && anio % 100 != 0)){ bisiesto = true; } // fin if return bisiesto; } // fin función
Jap_10
Código PHP: public static int minimo(int a[]){ int min = 0; if (a != null && a.length > 0){ min = a[0]; for (int i=1; i<a.length; i++){ if (a[i] < min) min = a[i]; } // fin for } // fin if return min; } // fin función
Jap_11
Código PHP: public static int cuentaOcurrencias(int a[], int key){ int cont = 0; if (a != null){ for (int i=0; i<a.length; i++){ if (a[i]==key) cont++; } // fin for } // fin if return cont; } // fin función
Jap_12
Código PHP: public static boolean hayRepetidos(int a[]){ boolean repetidos = false; if (a != null){ // if 1 for (int i=0; i<a.length-1 && !repetidos; i++){ // for 1 for (int j=i+1; j<a.length; j++){ // for 2 if (a[i] == a[j]){ // if 2 repetidos = true; } // fin if 2 } // fin for 2 } // fin for 1 } // fin if 1 return repetidos; } // fin función
Jap_13
Código PHP: public static double[][] traspuesta(double[][] m){ if (!Algebra_esMatriz){ System.out.println("traspuesta: no es matriz: retorna null"); return null; } double[][] tr = new double[m[0].length][m.length]; for (int i=0; i<tr.length; i++){ // for 1 for (int j=0; j<tr[i].length; j++){ // for 2 tr[i][j] = m[j][i]; } // fin for 2 } // for 1 return tr; } // fin función
Jap_14
Código PHP: public static double[] getFila(double[][] m, int n){ if (!Algebra_esMatriz){ // if 1 return null; } // fin if 1 if (n >= m.length || n < 0){ // if 2 return null; } // fin if 2 if (m[n] == null){ // if 3 return null; } // fin if 3 double[] fila = Algebra_clonarArray; return fila; } // fin función
Jap_15
Código PHP: public static double[] getDerivada(double[] q){ if (q == null){ return null; } // fin if double[] d = new double[q.length-1]; for (int i=0; i<d.length; i++){ d[i] = (i+1) * q[i+1]; } // fin for return d; } // fin función
Jap_16
Código PHP: public static boolean esCuadrada1(int a[][]){ if (a == null || a.length == 0) return false; for (int i=0; i<a.length; i++){ if (a[i] == null) return false; if (a[i].length != a.length) return false; } // fin for return true; } // fin método
Jap_17
Código PHP: public static boolean esCuadrada2(int a[][]){ boolean cuadrada = true; if (a != null && a.length != 0){ for (int i=0; i<a.length && cuadrada; i++){ if (a[i] == null) cuadrada = false; if (a[i].length != a.length) cuadrada = false; } // fin for } // fin if return cuadrada; } // fin método
Jap_18
Código PHP: public static int[] getCol(int[][] m, int n){ if (m == null) { return null; } if (m.length == 0){ return new int[0]; } if (n >= m.length || n<0){ return null; } for (int i=0; i<m.length; i++){ if (m[i] == null){ return null; } if (m[i].length != m[0].length){ return null; } } // fin for int[] columna = new int[m.length]; for (int i=0; i<columna.length; i++){ columna[i] = m[i][n];} return columna; } // fin método
Jap_19
Código PHP: public static int[][] quitarCol(int[][] m, int n){ boolean testArgs = true; int[][] res = null; if (m == null){ testArgs = false; } // if 1 else if (n>=m.length || n<0){ testArgs = false; } else{ for (int i=0; i<m.length && testArgs; i++){ if (m[i] == null){ testArgs = false; } if (m[i].length != m[0].length){ testArgs = false; } } // fin else 1 } // fin if 1 if (testArgs){ // if 2 res = new int[m.length][m[0].length-1]; for (int i=0; i<res.length; i++){ for (int j=0; j<res[i].length; j++){ if (j < n){ // if 3 res[i][j] = m[i][j]; } // fin if 3 else if (j>=n && j+1 <m[0].length){ // else 2 res[i][j] = m[i][j+1]; } // fin else 2 } // fin for 3 } // fin for 2 } // fin if 2 return res; } // fin función
Jap_20
Código PHP: public static double[] multiplicarPils(double[] px, double[] qx){ if (px == null || qx == null){ return null; } double[] p = new double[px.length + qx.length-1]; for(int i=0; i<px.length; i++){ for(int j=0; i<qx.length; j++){ p[i+j] += (px[i]*qx[j]); } } return p; }
Si tenéis alguna duda, dejad un comentario!.
|
|
|
Solución a la práctica 3 |
Enviado por: alfonso - 06-02-2013, 18:10 - Foro: Fundamentos de Programación
- Respuestas (1)
|
|
Hola,
Como mucha gente me ha estado pidiendo, pongo aquí la solución de la práctica 3.
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; } } }
}
- Clase DivisiblePor11.java
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"); }
}
}
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); }
}
}
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);
} }
|
|
|
|