Está en la página 1de 2

Fundamentos de Programación I

9/01/2019 Convocatoria Ordinaria


Grado en Ingeniería Informática

APELLIDOS: ______________________________________________________________________________
NOMBRE: _____________________________________________________ Grupo: ____________________

Ejercicio 1 (1 punto). Escribe qué mostraría por pantalla el siguiente programa:


public class Examen19 {
public static void main (String [] args) {
int [] c0= {1, 2, 3, 4};
int [] c1=c0;
metodo(c1, c0[2]);
c1[0]=0;
c1=null;
for (int i=0; i<c0.length; i++)
System.out.print (c0[i]+” ”);
}
static void metodo(int [] c1, int c2) {
for (int i=0; i<c1.length; i++) {
c1[i] = c2 *c1[i];
}
}
}

Solución: 0 6 9 12

Ejercicio 2 (1 punto). Suponiendo que en el directorio por defecto existe un archivo llamado “prueba.txt” cuyo
contenido es:
1 52 -7 345,0
Hola
678 bb 9

¿Qué se mostraría por pantalla al ejecutar el fragmento de código siguiente?


Scanner leer = new Scanner (new File(“prueba.txt”));
int[] valores=new int[7];
int i = valores.length-1;
while (leer.hasNextInt()) {
valores[i] = leer.nextInt();
System.out.print("v["+i+"]="+valores[i]+" ");
i=i-2;
}

Solución: v[6]=1 v[4]=52 v[2]=-7


Ejercicio 3 (1 punto): ¿Que se muestra por pantalla al realizar la llamada letras("NAVIO",0);?
static void letras(String palabra, int n) {
if (n<palabra.length())
if (palabra.charAt(n)=='V') {
System.out.print(palabra.charAt(n));
letras(palabra, n+1);
}
else if (palabra.charAt(n)=='A' || palabra.charAt(n)=='I') {
letras(palabra, n+1);
System.out.print(palabra.charAt(n));
}
else letras(palabra, n+1);
}

Solución: VIA
Ejercicio 4 (2 puntos): Implementa en Java un método que tome como datos de entrada una matriz M,
bidimensional cuadrada de números enteros, y devuelva verdadero si sus diagonales principales son iguales;
y falso, en caso contrario.

Solución:
Versión corta: recorrer las diagonales a la vez

public static boolean comparaDiagonales(int[][] M) {

boolean iguales=true;

for (int f=0; f<M.length && iguales; f++)

iguales=iguales && M[f][f]==M[f][(M.length-1)-f];

return iguales;

Versión larga: generar sendos vectores con cada una de las diagonales y comparar ambos, elemento a
elemento.

También podría gustarte