Soluciones ejercicios de la aplicación web - Jesús Hernández Galián - 07-02-2013
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!.
Re: Soluciones ejercicios de la aplicación web - alfonso - 07-02-2013
Grande!
Muchas gracias. Ahora ya se por qué no me daba como correctas algunas soluciones.
Enviado desde mi LG-P920 usando Tapatalk 2
RE: Soluciones ejercicios de la aplicación web - Salva aTraKtivo - 08-02-2013
Eres el puto amo
RE: Soluciones ejercicios de la aplicación web - Pablo Lucas - 08-02-2013
Se agradece mucho Jesús. Eres un fiera chaval!
RE: Soluciones ejercicios de la aplicación web - Alvaro Mondejar Perez - 09-02-2013
Muy grandee¡¡¡¡ se agradece !! Mas de uno te va a tener que invitar a algo en la cantina jaja
RE: Soluciones ejercicios de la aplicación web - Jesús Hernández Galián - 09-02-2013
(09-02-2013, 00:31)Alvaro Mondejar Perez escribió: [Para ver los enlaces debes registrate] Muy grandee¡¡¡¡ se agradece !! Mas de uno te va a tener que invitar a algo en la cantina jaja
Jajajaja Me alegro de que os sirva de mucho... Con comentarios como el tuyo me sobra Gracias Albaro
RE: Soluciones ejercicios de la aplicación web - José Antonio Martín Martínez - 10-02-2013
(10-02-2013, 10:42)Antonio escribió: [Para ver los enlaces debes registrate] Para guardar y enviar las respuestas, sólo hay que darle a Submit, y cuando salga Correct, te sales o que hay que hacer?¿
Cuando te salga correct, tu respuesta ya ha sido enviada, por lo tanto le das a volver(back) y puedes continuar haciendo ejercicios.
|