Sie sind auf Seite 1von 4

Universidad de San Carlos de Guatemala. Facultad de Ingeniera. Escuela de Ciencias y Sistemas. Introduccin a la Programacin y Computacin 1.

TERCER EXAMEN PARCIAL (Segundo Semestre 2012 Jueves 8 de noviembre de 2012)


Se cuenta con 60 minutos para el examen. Utilizar nicamente bolgrafo, cualquier color que no sea rojo, un solo color en todo el examen. No es posible utilizar celulares, PDAs, o algn otro dispositivo o texto que pueda afectar los resultados de esta prueba escrita. Sea claro y limpio en sus respuestas. Nombre:_______________________________________________________ Carnet: ___________________ Catedrtico: ____________________________________________________ Seccin: __________________

TEMA 1 (50 pts) Para las siguientes preguntas seleccione la respuesta que crea vlida. Solo puede seleccionar una respuesta (Factor de correccin: 2 fallos eliminan 1 acierto):
1. a) 2. a) 3. a) 4. a) 5. a) 6. a) 7. a) 8. Se desea invertir el orden de los elementos de una pila. Esto puede hacerse utilizando exclusivamente: Una cola auxiliar b) Una pila auxiliar c) Ninguna de las anteriores La operacin push en una pila agrega un elemento en: La cima b) El fondo c) Ninguna de las anteriores Se desea invertir el orden de los elementos de una cola. Esto puede hacerse utilizando exclusivamente: Una cola auxiliar y una pila auxiliar. b) Una pila auxiliar. c) Una cola auxiliar Considere la siguiente lnea de cdigo: int[] x = new int[12]; Seleccione la opcin vlida x[12] es 0 b) x[0] es null c) x.length es 12 Caracterstica de una bsqueda binaria. Recorre la lista uno por uno hasta encontrar el elemento deseado b) Los valores de lista pueden estar desordenados c) Los valores de lista deben estar ordenados Si tuviera que ordenar una gran cantidad de datos, qu algoritmo preferira si quiere minimizar el tiempo medio de ejecucin? Ordenacin por seleccin b) Ordenacin por insercin c) Ordenacin Quicksort Cul de las siguientes afirmaciones es falsa? Los arrays slo pueden contener valores de tipos de datos primitivos b) Los arrays se pasan a los mtodos por referencia c) En Java, las declaraciones int [] v e int v[] son equivalentes Se tiene un mtodo de bsqueda lineal que se ejecuta sobre una coleccin de N datos, siendo N un valor grande. Se ha comprobado que, cuando se busca un dato que no est en la coleccin, la operacin de bsqueda tarda t unidades de tiempo en finalizar. Cunto tiempo tardar una bsqueda de un dato que s est en la coleccin de datos? t/2 unidades de tiempo, aproximadamente b) t unidades de tiempo, aproximadamente c) Entre 0 y t unidades de tiempo, aproximadamente Se dispone de una coleccin grande de datos, cada uno de ellos asociado a una clave numrica. Los datos no estn ordenados. Si se desea realizar una nica operacin de bsqueda del dato asociado a una clave concreta en la coleccin, qu forma de realizar la bsqueda resultar, en general, ms eficiente? Ordenar primero los datos con quicksort y despus utilizar bsqueda binaria. b) Utilizar bsqueda lineal. Utilizar bsqueda binaria.

a) 9. a) c)

10. Sea una secuencia que contiene nicamente los smbolos [ y ], que pueden estar repetidos y en cualquier orden. Para comprobar que la secuencia esta correctamente construida siguiendo la regla de los parntesis (un parntesis se cierra con ] despus de abrirlo con [ y no antes, y hay tantos ] como [) a) Hay que utilizar necesariamente una cola b) Hay que utilizar necesariamente una pila c) No hace falta utilizar ni una pila ni una cola 11. El siguiente mtodo: public boolean isEmpty() { return (top < 0);

a) 12. a) b) c)

} corresponde con una implementacin de pilas basada en: Listas encadenadas b) Arrays c) Ninguna de las anteriores Cul de las siguientes sentencias es verdadera? Operaciones de I/O en Java solamente pueden ser realizadas utilizando las clases Listener La clase RandomAccessFile permite moverse directamente dentro de un archivo La creacin de una isntancia de la clase File crea un archivo idntico de forma oculta en sistema operativo hasta cuando se ejecuta el mtodo close.

13. En el siguiente algoritmo de bsqueda: private int search(Comparable[] a, Comparable x, int low, int high) { if (low > high) return -1; int mid = ( low + high ) / 2; if (a[mid].compareTo(x) < 0) return search(a, x, mid + 1, high); else if (a[mid].compareTo(x) > 0) return search(a, x, low, mid - 1); else return mid; } a) Es una versin lineal de bsqueda binaria b) Es una versin recursiva de bsqueda binaria versin recursiva de bsqueda lineal

c)

Es

una

14. Usted tiene una clase pblica llamada myclass con el mtodo main definido definido de la siguiente forma public static void main(String parm[]){ System.out.println(parm[0]); } Si intenta compilar la clase y ejecutar el programa de la manera siguiente java myclass hello a) Qu sucede? Error en tiempo de ejecucin, main no est correctamente definido correctamente definido c) Compila y se imprime en pantalla hello b) Error de compilacin, main no est

15. Dado el siguiente programa: class A { static int x[ ] = {1, 2}; int y[ ]; void f (int z[ ]) { z[1]+=2; } void g ( ) { A a = new A ( ); a.x[0]++; } } class B { public static void main (String args[ ]) { A b = new A ( ); b.y = b.x; b.f (b.y); b.g ( ); System.out.println (b.x[0] + " " + b.x[1]); (1) System.out.println (b.y[0] + " " + b.y[1]); (2) } } Cul es la salida de la lnea (1)? a) 1 2 b) 1 4 c) 2 4 16. En el programa anterior, cul es la salida de la lnea (2)? a) 1 2 b) 1 4 c) 2 4 17. Un determinado algoritmo de ordenacin necesita tomar el array de datos a ordenar y colocar a un lado del mismo los datos menores que un dato concreto, y al otro los mayores. Cul es este algoritmo?

a)

Quick-sort

b) Bubble-sort

c) Selection-sort

18. Dado un mtodo que implementa bsqueda binaria, cul es la diferencia, en media, entre el nmero de comparaciones necesarias para buscar entre N datos y el nmero de comparaciones necesarias para buscar entre N/4 datos? a) N/4 comparaciones b) 3N/4 comparaciones c) 2 comparaciones 19. Cul de las siguientes afirmaciones es falsa en Java? a) Es posible definir arrays bidimensionales de la forma a[i][j], donde cada fila a[i] puede tener distinta longitud. b) No es posible declarar arrays con memoria esttica c) Hola es un array. 20. Cul es la salida del programa si se trata de compilar y ejecutar el siguiente cdigo, pero no existe el archivo llamado Hello.txt en el directorio actual? import java.io.*; public class Mine { public static void main(String argv[]){ Mine m=new Mine(); System.out.println(m.amethod()); } public int amethod() { try { FileInputStream dis=new FileInputStream("Hello.txt"); }catch (FileNotFoundException fne) { System.out.println("No such file found"); return -1; }catch(IOException ioe) { } finally{ System.out.println("Doing finally"); } return 0; } } a) No such file found b) No such file found ,-1 c) No such file found, Doing finally, -1 21. Seleccione cul de las siguientes sentencias es falsa: a) Un flujo es una conexin entre un programa y una fuente o destino de datos. b) Un flujo de salida maneja los datos que fluyen del programa c) Un flujo de salida puede ser una cmara web 22. Un archivo binario puede ser de texto: a) si contiene solamente texto sin formato b) si contiene solamente texto c) Ninguna de las anteriores

23. Un arreglo de n dimensiones o multidimensional. Debe tener al menos a) Dos dimensiones b) Tres dimensiones c) Ninguna de las anteriores 24. Qu cdigo colocara despus del comentario //Inicio del ciclo que podra asignar valores a cada uno de los elementos del arreglo ia[] con un valor de la variable i? public class Lin{ public static void main(String argv[]){ Lin l = new Lin(); l.amethod(); } public void amethod(){ int ia[] = new int[4]; //Inicio del ciclo { ia[i]=i; System.out.println(ia[i]); } } } a) for (int i=0; i< ia.length(); i++) b) for(int i=1; i < 4; i++) c) for(int i=0; i< ia.length;i++) 25. En una cola con prioridad (priority queue) la estrategia de extraccin de datos se conoce tambin como: a) Last in, first out (LIFO). b) Ninguna de las otras dos respuestas es correcta. c) First in, first out (FIFO).

TEMA 2 (50 puntos) Defina los siguientes conceptos, se claro y conciso.

Arreglo:

___Un

arreglo

es

una

coleccin

finita,

homognea

(de

valores

del

mismo

tipo).

_______________________________________________________________________________________ _______________________________________________________________________________________ Archivo: __Un archivo o fichero informtico es un conjunto de bits almacenado en un

dispositivo._____________________________________________________________________________ _______________________________________________________________________________________ Pila: Una pila es un conjunto ordenado de elementos. Estos elementos solamente se pueden acceder por un lugar nico o extremo de la pila.___________________________________________________________ _______________________________________________________________________________________ Archivo de texto: _ Los archivos de texto son los formados por caracteres____________________________ _______________________________________________________________________________________ _______________________________________________________________________________________ Lista doblemente enlazada: _listas que poseen nodos que poseen dos apuntadores, uno que apunta hacia el siguiente nodo de la lista y tambin un nodo que apunta al nodo anterior a la lista__

_______________________________________________________________________________________ Cola: _Una cola es una estructura de datos que permite el almacenamiento de elementos en una lista y que permite acceder a los mismos por ambos extremos de la lista______________________________________ _______________________________________________________________________________________ Apuntador o puntero: _es una variable que hace referencia a una regin de memoria, es una variable cuyo valor es una direccin de memoria___________________________________________________________ _______________________________________________________________________________________ Lista simple: _Coleccin lineal de elementos llamados nodos______________________________________ _______________________________________________________________________________________ _______________________________________________________________________________________ Nodo: ___elemento de una lista que posee campos de informacin y al menos un campo apuntador para enlazarse a otros nodos __________________________________________________________________ _______________________________________________________________________________________ Memoria dinmica: _____ La memoria dinmica es un espacio de almacenamiento solicitado en tiempo de ejecucin._______________________________________________________________________________ _______________________________________________________________________________________