Prueba Introduccion A La Computacion Uandes

Páginas: 8 (1892 palabras) Publicado: 18 de junio de 2012
Universidad de Los Andes Facultad de Ingenier´ ıa

ING1310 – Introducci´n a la Computaci´n (II/2009) o o

Puata Prueba 2
1. Escriba el m´todo int contarApariciones(int[] original, int[] secuencia), el cual cuenta e la cantidad de apariciones de la secuencia en el arreglo original. Luego retorna ese valor. Debe considerar que cada n´mero dentro del arreglo original puede ser contabilizado enuna sola secuenu cia. Por ejemplo ante el arreglo original = {2, 5, 4, 5, 6, 5, 6, 5, 7, 5, 6, 6, 5, 6, 5, 2} y secuencia = {5, 6, 5} el m´todo debe retornar 2 (la que empieza en el elemento 3 y la que e empieza en el 12, no se considera la que comienza en el 5, ya que esa casilla fue utilizada en la secuencia que empieza en el 2). BONUS: Puede obtener un punto adicional si su m´todo recibe untercer par´metro de tipo e a boolean que indique false para que no se pueda reutilizar los elementos y true para que si se pueda (para el ejemplo anterior con false se mantendr´ el retorno, en cambio con true el retorno ıa cambiar´ a 3 porque si se considerar´ la secuencia que comienza en la casilla 5). ıa ıa
public int co ntarAp aricio nes ( int [] original , int [] secuencia ) { int contador = 0;for ( int i = 0; i < original . length - secuencia . length ; i ++) { boolean encontrada = true ; for ( int j = 0; j < secuencia . length && encontrada ; j ++) { if ( original [ i + j ] != secuencia [ j ]) encontrada = false ; } if ( encontrada ) { contador ++; i = secuencia . length - 1; } } return contador ; }

Con BONUS:
public int co ntarAp aricio nes ( int [] original , int [] secuencia ,boolean reutilizar ) { int contador = 0; for ( int i = 0; i < original . length - secuencia . length ; i ++) { boolean encontrada = true ; for ( int j = 0; j < secuencia . length && encontrada ; j ++) { if ( original [ i + j ] != secuencia [ j ]) encontrada = false ; } if ( encontrada ) { contador ++; // Este es el unico cambio que seria necesario hacer if (! reutilizar ) i = secuencia . length -1; }

1

} return contador ; }

Puntaje: 1,0 → Por declarar una variable para contar 1,0 → Por buscar la aparici´n de la secuencia a partir de cualquier elemento o 1,5 → Por encontrar la aparici´n de la secuencia o 1,5 → Por saltarse todos los elementos de la secuencia para seguir buscando en caso de encontrar 1,0 → Por retornar la cantidad de apariciones 1,0 → Por BONUS (no saltarse lasecuencia al encontrarla)

2

2. Responda las siguientes preguntas utilizando solamente el espacio asignado. a) (3,0 ptos.) En base al siguiente c´digo responda las preguntas que se indican a continuaci´n: o o
public void metodo1 () { Tipo [] varA , varB ; // Se inicializa varA con un valor valido segun Tipo [] ... varB = varA ; metodo2 ( varA ); // Un metodo cualquiera declarado dentro de estaclase if ( varA == varB ) System . out . println ( " iguales " ); else System . out . println ( " distintos " ); }

1) Si Tipo[] es int[] ¿es posible predecir el resultado de la ejecuci´n de metodo1 sin conocer o lo que hace metodo2? Justifique. Absolutamente, el resultado siempre ser´ iguales. Esto porque los arreglos son siempre a tipos por referencia, por ende, despu´s de la asignaci´n, tantovarA como varB referenciar´n e o a al mismo objeto, lo que implica que cualquier cambio que se hiciese dentro de metodo2 al objeto referenciado por varA no va a cambiar el hecho de que ambas variables siguen referenciando al mismo objeto. 2) Si Tipo[] es una clase Auto[] ¿es posible predecir el resultado de la ejecuci´n de metodo1 o sin conocer lo que hace metodo2? Justifique. Idem anterior, eltipo del arreglo no influye en que siempre ser´n tipos por referencia. a b) (2,0 ptos.) Si tengo dos objetos de tipo String s1 y s2 ¿cu´ndo s1 == s2 ser´ verdadero y a a cu´ndo s1.equals(s2) ser´ verdadero? a a Cuando comparo con == estoy comparando que ambas variables referencien al mismo objeto, por ende deben ser el mismo String para que esa operaci´n de verdadero. En cambio, con o equals estoy...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Introduccion a la computacion
  • Introducción A La Computación
  • Introduccion a la computacion
  • Introduccion A La Computacion
  • Introduccion a la computacion
  • Introducción A La Computación
  • Introducción A La Computación
  • Introducción a la computacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS