Está en la página 1de 46

MODALIDAD ABIERTA Y A DISTANCIA

Departamento de Ciencias de la Computación y Electrónica


Sección Tecnologías Avanzadas de la Web y SBC

Programación de Algoritmos
Evaluación a distancia
4 Créditos

Titulación Ciclo

ŸŸ Informática III

Profesor principal:
Ing. Pedro Daniel Irene Robalino

TUTORÍAS: El profesor asignado publicará en el Entorno Virtual de Aprendizaje (EVA) su número telefónico y horario de tutoría, para
contactarlo utilice la opción “Contactar al profesor”

Más información puede obtener llamando al Call Center 073701444, línea gratuita
1800 88758875 o al correo electrónico callcenter@utpl.edu.ec

Octubre 2015 - Febrero 2016

Asesoría virtual:
www.utpl.edu.ec

La Universidad Católica de Loja


Evaluaciones a distancia: Programación de Algoritmos

PERIODO: OCTUBRE 2015 - FEBRERO 2016


Le recordamos que usted debe enviar de forma obligatoria su
evaluación a distancia a través del Entorno Virtual de Aprendizaje (EVA)
en las fechas definidas, que son EXCLUSIVAS E IMPOSTERGABLES.
PRIMER PARCIAL
1 de noviembre al 17 de noviembre /2015
CICLOS
TITULACIONES FECHAS DE ENVÍO ENVÍO POR TITULACIÓN
GENERAL

• Licenciado en Ciencias de la Educación, Mención:


-- Educación Básica
-- Físico Matemáticas 1 al 10 de noviembre de 12 y 13 de Todos los
-- Químico Biológicas 2015 noviembre/2015 ciclos
-- Lengua y Literatura
• Contabilidad y Auditoría
• Gestión Ambiental
• Economista 1 al 10 de noviembre de 13 y 14 de Todos los
• Licenciado en Psicología 2015 noviembre/2015 ciclos
• Licenciado en Ciencias de la Educación, Mención: Inglés
• Licenciado en Ciencias de la Educación, Mención: Educación Infantil
• Derecho
• Administración en Gestión Pública 1 al 11 de noviembre de 14 y 15 de Todos los
• Licenciado en Ciencias de la Educación, Mención: Ciencias Humanas 2015 noviembre/2015 ciclos
y Religiosas
• Administración de Empresas Turísticas y Hoteleras
• Administración en Banca y Finanzas
• Licenciado en Asistencia Gerencial y Relaciones Públicas
• Ingeniero en Informática 1 al 12 de noviembre de 16 y 17 de Todos los
2015 noviembre/2015 ciclos
• Administración de Empresas
• Licenciado en Comunicación Social

Para el envío de las evaluaciones acceda a: www.utpl.edu.ec

ACTIVIDADES EN LÍNEA
Actividades en Línea, acreditadas con 3 puntos. Al igual que la Evaluación a Distancia es una estrategia de aprendizaje, especialmente de tipo
colaborativo, que se realiza en el Entorno Virtual de Aprendizaje ya sea de modo asíncrono (foro) o síncrono (chat y videocolaboración) como veremos
en sus definiciones:
Foro académico a través el EVA
En el que se realizan debates o análisis de temas, se resuelven casos o problemas o se puede hacer trabajo
en grupo (lluvia de ideas, discusión sobre procedimientos). Está planificado y moderado por el tutor
y favorece el coaprendizaje (aprender de y con los otros). El tutor o tutora podrá plantearle varios por
bimestre pero solo uno será calificado (un punto). Es un actividad opcional.

Chat académico a través del


EVA
Es un diálogo escrito síncrono (en tiempo real) entre docente y estudiantes para debatir temas o resolver
casos o problemas. Está planificado y moderado por el tutor y favorece el coaprendizaje (aprender de y con
los otros). El tutor o tutora podrá convocar varios por bimestre, pero solo uno será calificado (un punto).
Es un actividad opcional.

Videocolaboración a través
del EVA Es una videoconferencia, con imagen y audio, síncrono (en tiempo real) entre docente y estudiantes. Su
uso es, además de para consultas al profesor, para debatir aspectos específicos y realizar estudio de casos.
Está planificado y moderado por el tutor y favorece el coaprendizaje (aprender de y con los otros). El tutor
o tutora podrá convocar varios por bimestre pero solo uno será calificado (un punto). Es un actividad
opcional.

La Universidad Católica de Loja


3
Evaluaciones a distancia: Programación de Algoritmos

PRUEBA OBJETIVA (2 puntos)

§§ Para el desarrollo de la prueba objetiva, deberá revisar su guía de estudio, texto


básico, y anuncios/recursos que se publican en el Entorno Virtual de Aprendizaje
(EVA).
§§ Acuda a la bibliografía complementaria citada en el guía de estudio y EVA, así
enriquecerá sus conocimientos para el óptimo desarrollo de esta evaluación.
§§ Solo una vez revisados los temas de: Excepciones, Arreglos y Recursividad, inicie
el desarrollo de esta Evaluación a Distancia (componente objetivo); no olvide
que el fin de la misma es ofrecerle un indicador del nivel de conocimientos y
competencias de cada unidad.
§§ Al rendir ésta evaluación a distancia, lea y analice con atención cada una de las
siguientes preguntas/códigos y seleccione el literal de la alternativa correcta o la
que mejor defina el concepto o programa. Recuerde que Ud. deberá ingresar
sus respuestas en el EVA, este documento únicamente le sirve como borrador.
§§ De las cuatro alternativas que se muestran en cada pregunta (a, b, c, d), más de
una le podrá parecer correcta, pero no es así; existe una única solución.

1. Una excepción es señal de ocurrencia de un error durante la ejecución de un


programa. Su probabilidad de lanzamiento es muy baja, de ahí el nombre de
excepción (casos excepcionales).

Por tanto: Una excepción NO ES ______________________________________


_______________.

a. un caso fortuito que puede ocurrir en la ejecución de un programa


b. un error inesperado que finaliza las instrucciones restantes del try
c. múltiples condiciones catch ejecutándose todas al mismo tiempo
d. la ejecución de los bloques catch para tratar un problema o error

2. La clase padre que contiene a la clase Exception es:

a. Throwable.
b. Error.
c. RuntimeException
d. Exception

4 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

3. Cuál de los siguientes enunciados a continuación expuestos no aplica a la


definición correcta una manejador de excepciones:

a. La alerta de un problema durante la ejecución de un programa.


b. El manejador de errores para hacer al código más eficiente.
c. Una clase hija de la clase padre llamada Throwable.
d. Tecnología para detener la ejecución de un programa con fallos.

4. El bloque try – catch sirve para:

a. Hacer más comprensible/modificable un programa.


b. Lanzar errores o excepciones al ejecutar un programa.
c. Vigilar/capturar posibles errores en modo ejecución.
d. Evitar codificar la estructura de selección if – else

5. Dado el siguiente fragmento de código; ¿si en la línea de código número 3


ingresamos por teclado cmo dato de entrada un carácter alfabético, cual es el
resultado que se muestra por pantalla?

a. java.util.InputMismatchException
b. java.lang.ArithmeticException: / by zero
c. java.lang.Exception
d. java.lang.*;

6. Cuando ocurre una excepción que es capturada en el respectivo bloque


try, el control del programa se transfiere al bloque catch que maneja el tipo
de excepción lanzada; luego, el control del programa no regresa al punto de
lanzamiento de la excepción (bloque try), y continua su flujo secuencial definido.

¿Con esta puntualización, cual es la salida por pantalla del siguiente fragmento
de código?

La Universidad Católica de Loja


5
Evaluaciones a distancia: Programación de Algoritmos

a. Mensaje: “Excepcion1 del Try 1” y el valor de 10


b. Mensaje: “Excepcion1 del Try 1” y el valor de 5
c. Mensaje: “Excepcion2 del Try 2” y el valor de (2 / 0)
d. Ingresa a los dos catch y presenta los dos mensajes de excepción.

7. Dado el siguiente flujo de código, como se debe realizar la llamada al Metodo_X()


para generar la excepción java.lang.AritmeticException.

a. Metodo_X(1,2);
b. Metodo_X(0,2);
c. Metodo_X(1,0);
d. throw Metodo_X();

8. Considerando la vigencia de las variables dentro y fuera de los bloques try-catch


cual es el resultado que se obtiene por pantalla?

6 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

a. Se presente el valor de w = 2+2+0 que es CUATRO.


b. Se presente el valor de w = 2/2 que es UNO.
c. Se presente el valor de w = 1+0+0 que es UNO.
d. El código no compila, z esta fuera de alcance.

9. Dado la siguiente estructura del bloque try-catch-finally, indicar cuál de las


siguientes afirmaciones es correcta.

a. El orden de las excepciones capturadas es el correcto y no debe ser otro.


b. El orden de los catch es incorrecto, Exception debe esta al inicio de todos.
c. El orden de las excepciones capturadas en los catch puede ser cualquiera.
d. Las excepciones que se capturan en los catch son todas verificadas.

10. El manejo de excepciones en Java usando bloques try-catch permite la captura


de errores poco frecuentes, permitiendo que el programa siga funcionando una
vez tratado el error.

La implementación de bloques try-catch hacen al programa más tolerante a


fallos y estéticamente legible, sin embargo el uso de bloques try-catch afecta la
eficiencia del programa cuando el bloque catch se ejecuta. Dada las siguientes
afirmaciones valórelas como ventaja/desventaja al momento de implementar
manejo de excepciones en un programa en Java y seleccionando la alternativa
correcta.

AFIRMACIÓN
Traducir todo if() a try-catch interpretados VALOR
v.
como if’s más avanzados.
1. Ventaja
Colocar bloques try-catch en lugar de if()
w. 2. Desventaja
para hacer más estético al programa.
Poder implementar “Excepciones Propias”
x.
para el manejo de errores.

La Universidad Católica de Loja


7
Evaluaciones a distancia: Programación de Algoritmos

a. v↔2, w↔1, x↔1


b. v↔2, w↔2, x↔1
c. v↔1, w↔2, x↔1
d. v↔2, w↔2, x↔1

11. El siguiente corresponde a un bloque de código try-catch, dentro del cual se


podría generar excepciones. Analícelo e indique donde o por que se lanza una
u otra excepción.

Dentro del método principal main no se lanza la excepción


________________________, porque m[i].length recorre ______ columnas
correctamente para las m.length filas de la matriz m.

a. Exception –– 2
b. Exception –– 3
c. ArrayIndexOutOfBoundsException –– 2 y 3
d. ArrayIndexOutOfBoundsException –– 2

12. En el siguiente flujo de código, ¿cuál de las cuatro excepciones que se vigilan es
innecesaria, debido a que jamás se podría lanzar una de esa naturaleza?

a. ArithmeticException
b. InputMismatchException
c. ArrayIndexOutOfBoundsException
d. Exception

8 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

13. El siguiente programa realiza la división de 2 números ingresados por teclado.


Analice su código al igual que las 4 INSTRUCCIONES sugeridas; el objetivo es
incorporar (en alguna parte del código) una de las cuatro instrucciones para
hacer más seguro el funcionamiento y generación de resultados.

¿Cuál de las cuatro instrucciones siguientes cumple este cometido?


Pista: en algún momento puede existir ingreso erróneo de datos, aun contando con
un ciclo repetitivo do-while que controla ya el rango numérico de valores.

INSTRUCCIONES 1 INSTRUCCIONES 2
1 if ( (num1 != 0) || (num2 != 0) ) 1 try{
2 }
INSTRUCCIONES 3 3 catch(ArithmeticException e2){
1 try{ 4 }
2 }
catch(InputMismatchException INSTRUCCIONES 4
3
e1){ 1 try{
4 } 2 }
5 catch(ArithmeticException e2){ catch(InputMismatchException
3
6 } e1){
4 }
a. Instrucciones 1
b. Instrucciones 2
c. Instrucciones 3
d. Instrucciones 4

14. Cuál de los siguientes con consejos se debe tener en cuenta al momento de
implementar manejo de excepciones:

a. Obligar para cada bloque catch varios parámetros Exception.


b. Tener un catch por cada tipo de excepción que podría generarse.
c. Codificar entre un bloque try y sus correspondientes bloques catch
d. Si un bloque try no requiere de un bloque catch, no definirlo.

La Universidad Católica de Loja


9
Evaluaciones a distancia: Programación de Algoritmos

15. La excepción FileNotFoundException es una excepción verificada por que


hereda ________________ de la clase ________________.

Pista: busque la jerarquía de herencia de la excepción FileNotFoundException en el API de


java de su sitio web.

a. directamente – RuntimeException
b. indirectamente – Exception
c. indirectamente – IOException
d. directamente – Thowable

16. ¿Existe un buena práctica a aplicar a la hora de implementar manejo de


excepciones en un código java, cuál de los siguientes planteamientos es una
de ellas?

a. Para evitar múltiples catch, colocar una lista de parámetros Exception


entre comas
b. Colocar código entre un bloque try y sus correspondientes bloques catch.
c. Anidar bloques try para definir un solo bloque catch para todo el grupo.
d. Para varios catch ordenarlos según la jerarquía/herencia de clases
Exception.

17. Las excepciones propias (nuevo tipo de excepción) deben ____________ de


la clase RuntimeException para ser excepciones no verificadas; o de la clase
____________ (por ejemplo) para ser una excepción ____________.

a. excluirse – Error – no verificada


b. crearse – Error – verificada
c. heredarse – IOException – verificada
d. heredarse – IOException – no verificada

10 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

18. En el siguiente fragmento de código es evidente la implementación del


manejo de las excepciones RuntimeException, InputMismatchException,
ArrayIndexOutOfBoundsException en las líneas 7, 9 y 11, sin embargo éstas
deben ser atrapadas en un orden determinado. ¿Cuál es éste orden?

a. InputMismatchException – ArrayIndexOutOfBoundsException –
RuntimeException
b. Exception – RuntimeException – ArrayIndexOutOfBoundsException
c. InputMismatchException–RuntimeException –
ArrayIndexOutOfBoundsException
d. RuntimeException – InputMismatchException –
ArrayIndexOutOfBoundsException

19. ¿Cuál es el motivo por el que las excepciones deben ser atrapadas en una orden
determinado dentro de los n bloques catch que se defina para un solo bloque
try?

La Universidad Católica de Loja


11
Evaluaciones a distancia: Programación de Algoritmos

a. Para cada bloque catch se debe definir un solo tipo de excepción heredada
de la clase Throwable
b. La excepción RuntimeException (y sus hijas) al ser no verificadas deben
ser atrapadas solo al final.
c. Todas la excepciones que no hereden de RutimeExcepction pueden ser
atrapadas en los últimos catch
d. La estructura jerárquica de herencia de la clase Exception de la que se
deriva cada tipo de excepción.

20. La clase Throwable ofrece el método printStackTrace que imprime la pila de


llamadas a métodos, así como el getMessage que devuelve la cadena descriptiva
almacenada en una excepción.

¿Con ésta definición y dado el código de la clase <ejerMetodosExcepciones.


java> gracias a qué línea que código imprime por pantalla el rastreo de la pila
mostrado en los resultados adjuntos al final de código?

run:
<Exception A> java.lang.RuntimeException: <Exception A>
at nombrePaquete.ejerMetodosExcepciones.A(ejerMetodosExcepciones.java:18)
at nombrePaquete.ejerMetodosExcepciones.B(ejerMetodosExcepciones.java:15)
at nombrePaquete.ejerMetodosExcepciones.main(ejerMetodosExcepciones.java:5)
BUILD SUCCESSFUL (total time: 0 seconds)

a. Línea 4
b. Líneas 6-7
c. Líneas 9-10
d. Líneas 17, 14, 4

12 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

21. Una nueva clase de excepción debe extender a una clase de excepción
existente, para asegurar que la clase pueda usarse con el mecanismo de manejo
de excepciones.

Por lo tanto, en la siguiente jerarquía de excepciones cual es una excepción


propia definida de forma correcta:

a. MiExcepcion1
b. MiExcepcion2
c. MiExcepcion3
d. MiExcepcion4

22. Los arreglos son estructuras de datos que contienen elementos de datos
relacionados del mismo tipo _________ o _________, aunque las estructuras
de datos (arreglos) son considerados como datos de tipo por _________.

a. referencia – referencia – primitivo


b. referencia – primitivo – primitivo
c. primitivo – referencia – primitivo
d. primitivo – referencia – referencia

23. ¿Cuál de los siguientes arreglos contiene datos de tipo por referencia?

El array_¿? de la línea de código: _____.

a. 2
b. 3
c. 4
d. 5

La Universidad Católica de Loja


13
Evaluaciones a distancia: Programación de Algoritmos

24. Dado el siguiente fragmento de código; en la definición de las variables por


referencia arrreglo1 y arreglo2 de la línea 1. ¿Cuál de las siguientes líneas (de la
2 a la 5) está correctamente codificada? Es decir que no generen no erres en
tiempo de ejecución (por ejemplo excepciones) o errores de compilación.

a. 2
b. 3
c. 4
d. 5

25. Para obtener la longitud de un arreglo unidimensional o multidimensional se


puede usar la instrucción length y la forma de usarla es la siguiente:

int longitud = Nombre_arreglo_o_Matriz.intruccion;

Dada la definición anterior; ¿cuál es la salida por pantalla del siguiente flujo?:

Primero se muestra el número de _________ de la matrizA y luego el número de


elementos de la _________ fila de dicha matriz.

a. filas – primera
b. columnas – primera
c. filas – tercera
d. filas – segunda

26. El siguiente flujo arroja por pantalla el valor de 6.

¿Cuál de las siguientes líneas permite visualizar éste resultado de 6?

14 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

a. System.out.println(m1[0..2]);
b. System.out.println(m1[0]+m1[1]+m1[2]);
c. System.out.println(m[0]+m[1]+m[2]);
d. System.out.println(v1=v1+m);

27. ¿Cuál es la salida por pantalla que se muestra del siguiente flujo?

a. 20.0; -10.0; 1.0


b. 10.0; -5.0; 0.5
c. -15.0
d. 1.0

28. La siguiente clase consta de dos métodos, el principal por defecto main y el
programado valor1(…), el cual recibe un parámetro de ingreso lo procesa y
retorna un valor entero.

Dado el siguiente código de la clase arreglos_PasaRecorre_1.java indicar cuál


de las siguientes sentencias se debe ubicar en la línea 4 para llamar al método
valor1(…) enviando el parámetro arreglo

a. int ultimo = valor1(arreglo);


b. int ultimo = valor1(arreglo[4]);
c. arreglo(valor1);
d. System.out.println(“arreglo.length”);

La Universidad Católica de Loja


15
Evaluaciones a distancia: Programación de Algoritmos

29. Existen ocasiones en la cuales debemos enviar un arreglo o matriz como


parámetro a un método. Para esos casos los arreglos o matrices los pasamos
como parámetros por ________________.

a. valor
b. referencia
c. referencia o valor.
d. Ninguno de ellos.

30. Con el método de búsqueda binario, cuantas iteraciones se requieren para


encontrar el número 75 en el siguiente arreglo:

1 int []arreglo = {13, 23, 24, 34, 35, 36, 38, 42, 47, 51, 68, 74, 75, 85, 97}

a. 1
b. 4
c. 12
d. arreglo.length() – 1;

31. La clase _________ permite ordenar, buscar, compara, insertar, copiar, etc.
elementos dentro de los _________.

a. Throwable – arreglos
b. Exception – arreglos
c. Arrays – arreglos
d. Arrays – registros

32. Con el método de búsqueda lineal, cuantas iteraciones se requieren para


encontrar el número 97 en el siguiente arreglo:

1 int []arreglo = {13, 23, 24, 34, 35, 36, 38, 42, 47, 51, 68, 74, 75, 85, 97}

a. 1
b. 4
c. 7
d. arreglo.length();

33. ¿Cuál es el mejor método para buscar dentro del siguiente arreglo?

1 int []arreglo = {13, 23, 24, 34, 35, 36, 38, 42, 47, 51, 68, 74, 75, 85, 97}

a. Burbuja
b. Lineal
c. Binario
d. Burbuja mejorado

16 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

34. En cuanto al método de búsqueda lineal.

a. Es el único método que está incluido en la clase ArrayList


b. Iniciar su búsqueda con un array en orden.
c. No es tan eficiente como si lo es la búsqueda binaria.
d. Va partiendo el array ordenado en 2 sucesivamente.

35. El ordenamiento por selección es un algoritmo de ordenamiento simple, pero


ineficiente. En la primera iteración, se selecciona el elemento más pequeño en
el arreglo y se intercambia con el primer elemento; en la segunda iteración,
se selecciona el segundo elemento más pequeño (el restante más pequeño)
y se intercambia con el segundo elemento, y continúa hasta que en la última
iteración se selecciona el segundo elemento más grande, y se intercambia con el
antepenúltimo elemento, dejando el elemento más grande en el último índice.

¿Dado lo anterior y el siguiente arreglo, como queda ordenado el arreglo con el


método por selección en la primera iteración?

1 int []arreglo = {75, 95, 55, 56, 63, 81, 76, 59, 25, 66};

a. 25, 75, 95, 55, 56, 63, 81, 76, 59, 66


b. 25, 95, 55, 56, 63, 81, 76, 59, 75, 66
c. 75, 95, 55, 56, 63, 81, 76, 59, 66, 25
d. 95, 55, 56, 63, 81, 76, 59, 66, 75, 25

36. El algoritmo de ordenamiento por selección se ejecuta en un tiempo (o


iteraciones) ____.

a. O(n)
b. O(n2)
c. O(n log n)
d. O(1)

37. Que es recursividad.

a. El concepto que se aplica a métodos que llaman a otros dentro de su


cuerpo.
b. Es una técnica avanzada que mejora el rendimiento en memoria.
c. Es aplicada cuando un método se llama a si mismo dentro de su cuerpo.
d. Ciclos infinitos internos y repetitivos.

La Universidad Católica de Loja


17
Evaluaciones a distancia: Programación de Algoritmos

38. Para que la recursividad termine en un momento dado cada vez que un
método se llame a sí mismo con una versión más simple del problema original,
la secuencia de problemas cada vez más pequeños debe converger en un
____________. Cuando el método reconoce el caso base, ____________ un
resultado a la copia anterior del método.

a. caso base – devuelve


b. retorno – genera
c. método recursivo – converge
d. paso recursivo – retorna

39. En el siguiente .java recursividadBasic.java se ha codificado y llamado el método


recursivo recursivoA([parametros]). Analice su flujo e indique en que línea (s) de
código se encuentra codificado el caso base.

a. 3
b. 7-8
c. 9
d. 6-10

40. A continuación se exponen dos imágenes, la primera es un fragmento de código


en Java de un método recursivo y la segunda es la representación gráfica de:
pila de llamadas recursivas, caso case y retornos.

El objetivo es analizar el flujo del código y la representación gráfica de la pila


de llamadas recursivas, luego en la representación gráfica complete el(los)
parámetro(s) que se enviaría en cada llamada recursiva y que está representado
como, metodoA(¿_?), ello si el método principal main() invoca a metodoA(4) de
la siguiente manera:

18 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

System.out.println(metodoA(4));

a. metodo(3) – metodo(3) – metodo(2) – metodo(0)


b. metodo(3-1) – metodo(3-1) – metodo(2-1) – metodo(1-1)
c. metodo(0) – metodo(1) – metodo(2) – metodo(3)
d. metodo(4) – metodo(3) – metodo(2) – metodo(1)

La Universidad Católica de Loja


19
Evaluaciones a distancia: Programación de Algoritmos

PRUEBA DE ENSAYO (4 puntos)

§§ Para el desarrollo de la prueba de ensayo, deberá revisar su guía de estudio, texto


básico, y anuncios/recursos que se publican en el Entorno Virtual de Aprendizaje
(EVA-UTPL). Además se sugiere participar (opcional) de los foros (códigos,
sintaxis, temas adicionales) en los cuales Ud. podrá entrenar sus habilidades de
análisis, diseño y codificación de algoritmos.
§§ Acuda a la bibliografía complementaria citada en el guía de estudio y EVA, así
enriquecerá sus conocimientos para el óptimo desarrollo de este componente
de ensayo.
§§ Solo una vez revisados los temas de: Excepciones, Arreglos y Recursividad, inicie
el desarrollo de esta Evaluación a Distancia (componente de ensayo – Ejercicio.
java, foro); no olvide que el fin de la misma es ofrecerle un indicador del nivel de
conocimientos y adquisición de competencias de unidad.
§§ Una vez desarrollada su solución Ud. debe presentar éste componente de
ensayo considerando las siguientes indicaciones, de no hacerlo se ira restando
el puntaje.

En el EVA se le habilitaran un espacio para subir obligatoriamente dos archivos,


y solo dos archivos, NO, MÁS.

1er. archivo: correspondiente al informe del programa, el cual debe ser un


documento en Microsoft Word .docx con la siguiente información y código con
formato (tabulaciones, colores, etc.) bajo ningún caso se deben pegar imágenes
capturadas:

En nombre del informe debe ser [ApellidoNombre_ProgramAlg_O-F_2016.


docx] y su contenido es el siguiente:

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA


PROGRAMACIÓN DE ALGORITMOS–Sistemas
Informáticos y Computación
Modalidad Abierta y a Distancia
Periodo: Octubre 2015–Febrero 2016
Tercer Ciclo
Estudiante: Aquí los Apellidos y Nombres completos del estudiante
Nro. de Cédula: Aquí el número de cedula del estudiante
Correo(s): Aquí el (los) correo electrónico del estudiante separados por comas
Calificación que cree merecer: 4 / 4 pts. (Estime conscientemente un puntaje)

20 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

Desarrollo de la solución (CODIGO .JAVA)

Para copiar el código del ÚNICO archivo.java al informe.docx, desde NetBeans (o de


cualquier editor con el que esté trabajando) el código será copiado con formato, es decir,
con los colores, sangrías, etc. típicos del lenguaje java, para ello Ud. no debe copiar del
NetBeans (si usa este IDE) directamente al documento .docx, sino que debe usar algún
intermediario que le dé formato al código para no perlo al pegar al Documento.docx.
De entre muchos intermediarios existentes en la Red o Herramientas de escritorio
aquí le proponemos dos (siéntase en la libertar usar el que mejor domine):

Notepad++: http://notepad-plus-plus.org/

Source code (en line): http://markup.su/highlighter/

Por favor, para no tener en muchas hojas su código, reduzca el tamaño de la letra
mínimo 8pts, y con interlineado lo mínimo posible.

Importantes: No olvide que al final del código dentro del Programa.java y dentro de
un comentario insertado con los caracteres /**, Ud. debe copiar y pegar lo que obtenga
por pantalla como resultado en RUN (resultados de la ejecución, bien tabulados por el
mismo .java, para lo cual Ud. puede revisar el apéndice G Formatted Output), esta última
sección demanda la mayor calificación de este componente de ensayo, ya que nos
certifica que su aplicación si funciona y genera los resultados correctos/solicitados.

2do. archivo: correspondiente al código en sí, para lo cual Ud. únicamente debe
adjuntar el único archivo .java (un solo archivo .java) perfectamente documentado,

La Universidad Católica de Loja


21
Evaluaciones a distancia: Programación de Algoritmos

organizado y limpio (sin variables que no use, no espacios en blanco innecesarios y


con las tabulaciones correctas).

Por favor, es importante que todo el código este dentro de un solo archivo .java,
tenga o no tenga una o más clases .class. Bajo ninguna circunstancia Ud. podrá subir
todo un proyecto comprimido, SINO SOLO UN ÚNICO ARCHIVO .java, compilable y
ejecutable, para lo cual, el único archivo Programa.java que entregue será compilado
usando directamente el comando javac y ejecutado con el comando java desde
consola, por lo cual, antes de subir su Programa.java, Ud. deberá validar que si se
compila y ejecuta desde cualquier directorio donde se lo mueva/ubique, para lo cual
se recomienda no empaquetar la(s) clase (s), configurar correctamente las variables
de entorno del sistema para el JDK, y sin usar ningún IDE (sino directamente en CMD)
compilar e ejecutar con los comandos javac y java

Finalmente como nombre del único archivo .java se le pide su UserName_


NombreClaseX.java, ello con fines de facilitar la revisión de su código. Si deseas
programar varias clases dentro de un solo archivo .java, no olvide que solo una clase
debe ser public las demás que agregue solo las declarara como class, caso contrario se
le genera un error de compilación.

Calificación 4 puntos.

1. Todo ecuatoriano en relación de dependencia laboran (empleado) debe declarar


sus impuestos SI Y SOLO SI percibe al año un total mayor a $10.800 para lo cual
a Ud. como informático se le ha pedido desarrollar un programa en Java que
reciba los datos de todas las facturas (filas) tabulados en una tabla (arreglo
bidimensional); así como los valores parciales de esas facturas clasificados y
tabulados en cinco grandes grupos (columnas): Vivienda, Educación, Salud,
Alimentación y Vestimenta. Los valores para esta tabla (arreglo bidimensional)
Ud. no los tiene que ingresar o leer, pero si los debe inicializar (para el caso de
limites) y generar con Random (para los montos de las facturas), de tal manera,
que cuando de ejecute su único archivo.java se visualice sin ingresar nada por
teclado, directamente los datos de entrada (generados con Random) y los datos
de salida (resultados)

No olvide que el control de Excepciones es importantes, y calificado, aun


asumiendo que el usuario no ingresara dado alguno sino que, todo se auto-
generara.

A continuación los requerimientos para el desarrollo:

üü Totalice los montos de cada factura (sumatorias de filas), considerando que el


número de facturas anuales son N. Si en las facturas hay algún rubro que no
está considerado dentro de los 5 mencionados, agréguelo a un rubro llamado
Varios.

22 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

üü Totalice los montos de cada grupo/rubro sujeto a declaración (columnas:


vivienda, educación, etc.)

üü Sume los montos/rubros totalizados por columna en un solo total, pero dadas
las siguientes condiciones:
ŸŸ Solo para los montos totales de vivienda, educación, alimentación y
vestimenta (de todas las facturas), los montos totales anuales se suman
solo si no superan los $3.510. y para el caso de montos que superen este
valor, se deberá asumir el máximo de $3.510, es decir, se sumará al monto
total (de estos 4 grupos) el valor de $3.510 como máximo por concepto de
ese rubro (para ejemplificación, vea las tablas adjuntas).
ŸŸ De manera especial, para el monto del rubro Salud (sumatoria de todas
las facturas del año), no debe superar los $14.040, si así lo hace, proceda
como en el caso anterior, asumiendo como máximo los $14.040.
ŸŸ Con las condiciones/políticas anteriores se obtiene la sumatoria/monto
total sobre el cual se debería declarar el impuesto a la renta.

üü Como resultado por pantalla Ud. debe dar respuesta a las siguientes preguntas.
ŸŸ Debo declarar o no debo declara impuestos? Para ello en la tabla resultados
(registro de facturas anuales) Ud. ya cuenta con toda la información de
lo que el empleado gasto en el año, sin considerar el rubro Varios (si lo
hubiera).
ŸŸ A cuánto asciende el MONTO TOTAL ANUAL, sobre el cual debo declarar
mis impuestos? En el caso que deba declara, y cuando es el impuesto que
debo pagar?
ŸŸ Cuales con las facturas que superar el promedio de gastos anuales en
salud?
ŸŸ Cuál es la factura con el menor gasto de salud en el año?
ŸŸ A que Factura y Rubro corresponde el mayor monto de todo el año, y este
monto, supera o no el promedio anual de gastos por facturas?

La Universidad Católica de Loja


23
Evaluaciones a distancia: Programación de Algoritmos

Figura Nro.1.: “Ejemplo de datos de entrada”

Este es solo un ejemplo, considerar que en el año se puede tener N números


de facturas, unas con valores para los cinco rubros, pero otras solo con uno,
dos o más.

Figura Nro.2.: “Ejemplo de datos de Salida”

Debe presentar toda la siguiente tabla con los resultados finales.

24 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

RESULTADOS A PRESENTAR

Debe declarar impuestos?: SI


Monto sobre el cual debe declarar: 26730,00 =2680+3398+14040+3510+3102
Su impuesto es de: xyz
Factura con menor gasto en salud: Factura 002 = $ 436,00

Salud
Facturas que superar el promedio
en salud son:
Factura 001 = $2861
Factura 003 = $4080
Factura 004 = $3565
Factura 006 = $2980
Factura N = $3813

La factura con el menor gasto de salud en el año es: Factura 00X

La Factura con el mayor Rubro es Factura 00X y esta no/si supera el promedio de
gastos anuales por facturas que es de XY.

Estimado(a) estudiante, una vez resuelta su evaluación a distancia en el


documento impreso (borrador), acceda al Entorno Virtual de Aprendizaje
(EVA) en www.utpl.edu.ec e ingrese las respuestas respectivas.

SEÑOR ESTUDIANTE:
Le recordamos que para presentarse a rendir las
evaluaciones presenciales no está permitido el uso de
ningún material auxiliar (calculadora, diccionario, libros,
Biblia, formularios, códigos, leyes, etc.)
Las pruebas presenciales están diseñadas para
desarrollarlas sin la utilización de estos materiales.

La Universidad Católica de Loja


25
Evaluaciones a distancia: Programación de Algoritmos

PERIODO: OCTUBRE 2015 - FEBRERO 2016


Le recordamos que usted debe enviar de forma obligatoria su
evaluación a distancia a través del Entorno Virtual de Aprendizaje (EVA)
en las fechas definidas, que son EXCLUSIVAS E IMPOSTERGABLES.
SEGUNDO PARCIAL
2 de enero al 18 de enero /2016
CICLOS
TITULACIONES FECHAS DE ENVÍO ENVÍO POR TITULACIÓN
GENERAL

• Licenciado en Ciencias de la Educación, Mención:


-- Educación Básica
-- Físico Matemáticas Todos
-- Químico Biológicas 2 al 13 de enero /2016 17 y 18 de enero/2016 los ciclos
-- Lengua y Literatura
• Contabilidad y Auditoría
• Gestión Ambiental
• Economista
Todos
• Licenciado en Psicología 2 al 12 de enero /2016 16 y 17 de enero/2016 los ciclos
• Licenciado en Ciencias de la Educación, Mención: Inglés
• Licenciado en Ciencias de la Educación, Mención: Educación Infantil
• Derecho
• Administración en Gestión Pública Todos
• Licenciado en Ciencias de la Educación, Mención: Ciencias Humanas 2 al 11 de enero /2016 15 y 16 de enero/2016
los ciclos
y Religiosas
• Ingeniero en Administración de Empresas Turísticas y Hoteleras
• Administración en Banca y Finanzas
• Licenciado en Asistencia Gerencial y Relaciones Públicas Todos
• Ingeniero en Informática 2 al 11 de enero /2016 13 y 14 de enero/2016
los ciclos
• Administración de Empresas
• Licenciado en Comunicación Social

Para el envío de las evaluaciones acceda a: www.utpl.edu.ec

ACTIVIDADES EN LÍNEA
Actividades en Línea, acreditadas con 3 puntos. Al igual que la Evaluación a Distancia es una estrategia de aprendizaje, especialmente de tipo
colaborativo, que se realiza en el Entorno Virtual de Aprendizaje ya sea de modo asíncrono (foro) o síncrono (chat y videocolaboración) como veremos
en sus definiciones:
Foro académico a través el EVA
En el que se realizan debates o análisis de temas, se resuelven casos o problemas o se puede hacer trabajo
en grupo (lluvia de ideas, discusión sobre procedimientos). Está planificado y moderado por el tutor
y favorece el coaprendizaje (aprender de y con los otros). El tutor o tutora podrá plantearle varios por
bimestre pero solo uno será calificado (un punto). Es un actividad opcional.

Chat académico a través del


EVA
Es un diálogo escrito síncrono (en tiempo real) entre docente y estudiantes para debatir temas o resolver
casos o problemas. Está planificado y moderado por el tutor y favorece el coaprendizaje (aprender de y con
los otros). El tutor o tutora podrá convocar varios por bimestre, pero solo uno será calificado (un punto).
Es un actividad opcional.

Videocolaboración a través
del EVA Es una videoconferencia, con imagen y audio, síncrono (en tiempo real) entre docente y estudiantes. Su
uso es, además de para consultas al profesor, para debatir aspectos específicos y realizar estudio de casos.
Está planificado y moderado por el tutor y favorece el coaprendizaje (aprender de y con los otros). El tutor
o tutora podrá convocar varios por bimestre pero solo uno será calificado (un punto). Es un actividad
opcional.

La Universidad Católica de Loja


27
Evaluaciones a distancia: Programación de Algoritmos

PRUEBA OBJETIVA (2 puntos)

§§ Para el desarrollo de la prueba objetiva, deberá revisar su guía de estudio, texto


básico, y anuncios/recursos que se publican en el Entorno Virtual de Aprendizaje
(EVA).
§§ Acuda a la bibliografía complementaria citada en el guía de estudio y EVA, así
enriquecerá sus conocimientos para el óptimo desarrollo de esta evaluación.
§§ Solo una vez revisados los temas de: Programación con ficheros y POO en Java,
inicie el desarrollo de esta Evaluación a Distancia (componente objetivo); no
olvide que el fin de la misma es ofrecerle un indicador del nivel de conocimientos
y adquisición de competencias planificadas en cada unidad.
§§ Al rendir ésta evaluación a distancia, lea y analice con atención cada una de las
siguientes preguntas/códigos y seleccione el literal de la alternativa correcta o la
que mejor defina el concepto o programa. Recuerde que Ud. deberá ingresar
sus respuestas en el EVA, este documento únicamente le sirve como borrador.
§§ De las cuatro alternativas que se muestran en cada pregunta (a, b, c, d), más de
una le podrá parecer correcta, pero no es así; existe una única solución.

1. El almacenamiento de datos en variables y arreglos es _____________ y


se pierden cuando quedan fuera de alcance o el programa termina. Las
computadoras utilizan archivos para retención a largo plazo de _____________
cantidades de datos.

a. parcial – pequeñas
b. persistente – grandes
c. temporal – grandes
d. temporal – pequeñas

2. Los datos en archivos son denominados datos _____________ y se almacenan


en dispositivos de almacenamiento _____________.

a. temporales – secundarios
b. persistentes – principal
c. persistentes – secundarios
d. cadena – temporal

3. Los datos que se almacenan en variables y arreglos son temporales; se pierden


cuando una variable local queda fuera de alcance, o cuando el programa
termina. Las computadoras utilizan archivos para la retención a largo plazo
de grandes cantidades de datos, incluso después de que los programas que
crearon los datos terminan de ejecutarse.

28 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

Por lo tanto, las sentencias 1-8 del flujo anterior trabajan con datos no
persistentes pero, se tornan persistentes en la(s) línea(s) __________.

a. 4 a la 8
b. 1 a la 3
c. 8 únicamente
d. 4 únicamente

4. Los datos persistentes que se mantienen en archivos existen más allá de la


duración de la ejecución del programa.

Así, un ejemplo de dato no persistente en las líneas 1-8 del flujo anterior es
__________.

a. fileTestA1.txt
b. .format()
c. Msj
d. .close()

5. Hablando del tema ARCHIVOS/Files, se menciona que la unidad mínima de


medida de un dato en una PC es el _____ (0s, 1s) y que el grupo de 8 de éstos
forman un _____ y en Java dos bytes representan un _____. Conocer esto es la
base para comprender que contiene un archivo a bajo nivel.

a. bit – byte – carácter


b. bit – bit – kbyte
c. byte – bit – mbyte
d. byte – byte – carácter

La Universidad Católica de Loja


29
Evaluaciones a distancia: Programación de Algoritmos

6. Si los caracteres están compuestos por bits y los campos compuestos por
caracteres, los _______ están compuestos por campos.

a. archivos
b. registros
c. bites
d. campos

7. Un archivo (file) puede contener otros archivos, o también un o varios registros;


el registro a su vez está formado por campos y los campos por caracteres (dato
o valor) y éstos últimos por bits.

Con esta aclaración y jerarquía de clases .java, en la línea 18 está representado


__________, en la línea 17 está representado __________ y la clase Docentes
representa __________.

a. varios campos – un archivo – varios archivos


b. un campo – un registro – un archivo
c. un campo – un registro – varios campos
d. un archivo – un registro – un campo

8. De los siguientes segmentos de código, en cuál de ellos se crean datos


persistentes.

a. .
1 Scanner entrada = new Scanner(System.in);
2 double pi;
3 pi = entrada.nextDouble();

b. .
1 double num[] = {3.1415, 2.7182};
2 System.out.println(num[0]);
3 System.out.println(num[1]);

c. .
1 final double num_pi;
2 num_pi = 3.1415;
3 System.out.println(num_pi);

30 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

d. .
1 Formatter salida = new Formatter(“numeros.txt”);
2 salida.format(“%f”, 3.1415);
3 salida.close();

9. ¿Por qué un registro es un grupo de campos relacionados?. Porque


_____________________...

a. de entre mil registros cada uno es igual gracia a una clave de registro o
llave primaria.
b. tanto los campos como los registro están compuestos por bit, byte y
caracteres.
c. los valores de los campos son todos exactamente iguales en cada registro
relacionado.
d. los campos representan inequívocamente a un registro a través de una
llave primaria.

10. Los flujos que reciben y envían bytes a archivos son flujos basados en bytes y
los flujos que reciben y envían caracteres son flujos basados en caracteres, y
almacenan datos como una secuencia de caracteres.

¿Dado ello, si se emplea un flujo basado en byte para enviar a guardar el 5 en un


archivo cual es el flujo de bytes que se envía?

a. El código binario del número 510 = 01012 y no el binario del carácter ‘5’:
5310 = 001101012
b. Se envía el caracter ‘5’: 5310 = 001101012 y el número 510 = 01012 por
redundancia.
c. Se envía directamente el 5 pero en palabras, es decir, “cinco” como
conjunto de caracteres.
d. El código binario del caracter ‘5’: 5310 = 001101012 y no los bit del número
510 = 01012

11. El siguiente flujo de hacia un archivo es un ejemplo de guardar el valor ___ a


través de un flujo basado en ______________.

00000000 00110001
a. 8 – bytes
b. 5 – caracteres
c. 0 – bytes
d. 1 – caracteres

La Universidad Católica de Loja


31
Evaluaciones a distancia: Programación de Algoritmos

12. Las sentencias:

Formatter obj1 = new Formatter(“file.extension”);


Scanner obj2 = new Scanner( new File(“file.extension”) );
Permiten apertura en modo ____________ y apertura en modo ____________
respectivamente, hacia/desde un archivo.

a. lectura – lectura
b. escritura – escritura
c. lectura – escritura
d. escritura – apertura

13. Las sentencias:

Formatter obj1 = new Formatter(“\\FileTest.txt”);


Scanner obj2 = new Scanner (“C://files//FileTest.txt”);
Contienen una ruta ___________ y una ruta ___________ respectivamente.

a. relativa – absoluta
b. absoluta – absoluta
c. relativa – relativa
d. absoluta – relativa

14. ¿Cuál de las siguientes instrucciones permite averiguar si un archivo creado con
la línea de código File nombre = new File( ruta ); existe?

a. if ( nombre.isFile() ) { ... }
b. if ( nombre.exists() ) { ... }
c. if ( nombre.isDirectory() ) {…}
d. if ( nombre.isAbsolute() ) { ... }

15. Las clases ___________________, ___________________ permiten input/


output por flujos basados en bytes.

a. FileInputStream – FileReader
b. FileReader – FileWrite
c. FileOutputStream – FileWrite
d. FileInputStream – FileOutputStream

32 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

16. El siguiente fragmento de código crea y lee el archivo de texto MiArchivo.txt;


para efectivizar dicho requerimiento, la línea 7 debe ser completada con la
siguiente sentencia.

a. System.out.println(entrada.nextLine());
b. System.out.println(salida.nextLine());
c. salida.format(“%s”, entrada.toString());
d. entrada.format(“%s”, entrada.toString());

17. Se desea realizar la apertura de un archivo en modo escritura, para ello la línea
a ejecutar es:

a. Scanner archivo = new Scanner(new File(C:\file.txt));


b. Formatter archivo = new Formatter(“C:\folder\”);
c. Formatter archivo = new Formatter(ruta_adsoluta);
d. Scanner archivo = new Scanner(System.in);

18. Los archivos que se crean usando flujos basados en bytes son archivos binarios.
Los archivos que se crean usando flujos basados en caracteres son archivos de
texto. Los archivos de texto se pueden leer mediante ___________, mientras
que los archivos binarios se leen mediante ___________ que convierte esos
datos en un formato legible para los humanos.

a. un programa – editores de texto


b. editores de texto–un programa
c. editores de texto – editores de texto
d. programas especiales – programas especiales

19. La compilación y ejecución de un .java desde consola se la puede realizar con


los comandos javac y java respectivamente; dichos comandos manejan su
propia sintaxis la cual es necesario conocer para ejecutar cada comando de
forma correcta. Por ejemplo, en la siguiente sintaxis la opción -classpath o lo
-cp permite:

La Universidad Católica de Loja


33
Evaluaciones a distancia: Programación de Algoritmos

a. Especificar que ejecuciones futuras se realizaran en el directorio \cap17


b. Compilar la clase .java en el directorio actual con todas sus clases actuales.
c. Especificar donde encontrar los archivos de clase del usuario/paquete,
etc.
d. Compilar y ejecutar todas las clases del directorio actual y del \cap17

20. JFileChooser, muestra un cuadro de diálogo que permite


________________________ para ser cargados con facilidad en un programa.

a. guardar directorios generados


b. seleccionar archivos y/o directorios.
c. Crear directorios
d. imprimir mensajes

21. Que es un objeto?

a. Es una abstracción del mundo real, apunta o instancia una clase con
atributos, propiedades y métodos.
b. Son variables especiales que pueden ser de tipo public, private o static lo
cual define su nivel y alcance.
c. Representan todos los paquetes de la clase Java.* que son importados de
forma implícita hacia cualquier clase.
d. Representan todos los paquetes de la clase Java.* que son importados de
forma explícita hacia cualquier clase.

22. Que es un método?

a. Son variables especiales que pueden ser de tipo public, private o static
b. Son objetos especiales que apuntan a otros objetos obligatoriamente.
c. Son todas las acciones que puede realizar una clase instanciada por un
objeto.
d. Es una abstracción del mundo real con atributos, propiedades y métodos.

23. La POO es un paradigma de programación, que representa como objeto


a cualquier cosa del mundo real, con características o también llamados
_______________ y formas de actuar o también llamados ________________.

a. constructores–atributos
b. atributos – métodos
c. constructores–atributos
d. miembros public – constructores

34 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

24. La unidad de programa que aloja a un _______ se llama _______. Un(a) _______
puede contener uno o más métodos, que están diseñados para realizar las
tareas de esa clase.

a. Objeto – Clase – Objeto


b. Método – Clase – Propiedad
c. Método – Objeto – Método
d. Método – Clase – Clase

25. Puede utilizarse una clase para crear una instancia de la clase, a la cual se le llama
_______. Ésta es una de las razones por las que Java se conoce como lenguaje
de programación orientado a objetos.

a. Objeto
b. Método
c. Clase
d. Variable local

26. El código siguiente corresponde a una jerarquía de clases.

Dicho código contiene el siguiente número de clases, métodos y variables de


instancia PROPIOS de dicha jerarquía:

___: clases

___: métodos.

___: variables de instancia.

a. 3–3–4
b. 0–3–6
c. 3–0–2
d. 3–0–6

La Universidad Católica de Loja


35
Evaluaciones a distancia: Programación de Algoritmos

27. Cada método puede especificar parámetros que representan la información


adicional requerida por el método para realizar su tarea correctamente. La
llamada a un método suministra valores (llamados argumentos) para los
parámetros del método.

¿Dado la puntualización anterior, cual es el resultado que se muestra por


pantalla si ejecutamos la siguiente clase?

a. 1
b. 2
c. 3
d. 4

28. Cada método puede especificar parámetros que representan la información


adicional requerida por el método para realizar su tarea correctamente. La
llamada a un método suministra valores (llamados argumentos) para los
parámetros del método.

¿Dado la puntualización anterior, cual es el resultado que se muestra por


pantalla si ejecutamos la siguiente clase?

a. 3y6
b. 6y3
c. 3 y 12
d. 12 y 3

36 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

29. Que es herencia?

a. Reutilización de código, crea objetos a partir otros


b. Copiar por métodos y atributos private de una clase a otra.
c. Llamar recursivamente al constructor de una clase.
d. La abstracción del mundo real, apunta o instancia clases

30. Un constructor es:

a. Un método para inicializar variables globales y locales de tipo <private>


b. Un método especial que tiene el mismo nombre de la clase que lo
contiene.
c. La técnica por la cual construimos los atributos privados de la clase padre.
d. Un conjunto de métodos que inicializan únicamente los atributos
<public> de la clase.

31. Que es un constructor sobrecargado?

a. Son métodos de acceso private para los miembros de la clase que los
contiene.
b. Es un método especial void que se llama así mismo de forma recursiva.
c. Son métodos especiales de accedo static que tienen el mismo nombre de
su clase.
d. Son varios métodos con el mismo nombre de la clase pero con diferentes
parámetros.

32. La clase String que contiene un sin número de métodos para el tratamiento
de cadenas entre otros objetos, es una clase que no requiere el importe del
paquete _______________ a la que pertenece, ya que éste paquete se importa
implícitamente en cada .java.

a. java.lang
b. java.Scanner
c. java.Throwable
d. java.util

33. ¿Cuál de las siguientes afirmaciones es correcta?

a. Para sobrecargar un método se le nombra como uno ya existente y con el


mismo tipo y número de parámetros de entrada.
b. El número de argumentos en la llamada a un método “B” debe diferir con
el número de parámetros recibidos por “B”.
c. No podemos llamar a un método que pertenece a otra clase “A”, sin crear
un objeto de “A” he invocarlo a través del objeto.
d. Los campos private de una clase “A” son accesibles en la clase “A” o en
otras donde se instancien con un objeto.
La Universidad Católica de Loja
37
Evaluaciones a distancia: Programación de Algoritmos

34. Cuál de las afirmaciones es falsa dadas las dos clases siguientes: Clases1_Test()
y ClaseX()

a. En ClaseX() no se crea un constructor vacío implícito o por defecto.


b. atributo1 es accesible desde fuera de la clase a la que pertenece
c. Otra forma de invocar getAll() es: String cad = objClaseX.getAll();
d. ClaseX() tiene un constructor y una método accesibles desde fuera.

35. Cada método puede especificar parámetros que representan la información


adicional requerida por el método para realizar su tarea correctamente. La
llamada a un método suministra valores (llamados argumentos) para los
parámetros del método.

Así, la siguiente clase TestCalc realiza la llamada a métodos en las líneas de


código 5 y 6, con lo cual se supone que la definición (cabecera) de los métodos
deben ser:

____________________________________ o

____________________________________ respectivamente,

38 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

a. public double opera1(double num) –– public double opera1(double


num[ ])
b. public double opera1(double num[ ], char opera) –– public double
opera1(double num)
c. public double opera1(double num[ ]) –– public double opera1(double
num[ ], char opera)
d. public double opera1(double num{1,2,3}) –– public double opera1(double
num[ ],’+’)

36. Los miembros de clase _________ existen aun cuando no existan objetos de
la clase; están disponibles tan pronto como se carga la clase en memoria, en
tiempo de ejecución. Para acceder a un miembro private static cuando no
existen objetos de la clase, debe proporcionarse un método public static.

a. public
b. Static
c. private
d. protected

37. El siguiente es un diagrama de clases en el cual se modelan las funciones que


tiene los empleados de la empresa “Mi Empresa S.A”. Dado ello, ¿cuáles son los
atributos que administrativo y docente comparten?

a. nombre, numeroHoras, costoHora


b. calcularSueldoBase()
c. cargo, categoria
d. nombre, numeroHoras, costoHora, cargo, categoría

La Universidad Católica de Loja


39
Evaluaciones a distancia: Programación de Algoritmos

38. En la herencia simple, una clase se deriva de una superclase directa. En la


herencia múltiple, una clase se deriva de más de una superclase directa. Java no
soporta la herencia múltiple.

Dada ésta definición y los siguientes cuatro diagramas de clase, indicar cuál de
ellos no es posible implementar en Java.

a. Diagrama 1
b. Diagrama 2
c. Diagrama 3
d. Diagrama 4

39. Cuando un método de una subclase sobrescribe a un método de una superclase,


se puede acceder al método de la superclase desde la subclase, si se antepone
al nombre del método de la subclase la palabra clave super y un separador
punto (.)

Dada la aclaración anterior, y suponiendo que las clases del siguiente diagrama
están codificadas con tus atributos, constructores y métodos, indicar cuál de las
sentencias aplica correctamente el uso de la palabra clave super:

40 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

a. Dentro de la claseZ codificar: super.metodoZ1()


b. Dentro de la claseY codificar: super.metodoY1()
c. Dentro de la claseY codificar: super.metodoX1()
d. Dentro de la claseX codificar: super.metodoX1()

40. ¿Dado el siguiente diagrama de clases que afirmación es verdadera?

a. estudiante hereda de las clases nacional y extranjero


b. desde estudiante se puede acceder a descuento y costoEstadia
c. desde estudiante no se puede acceder a descuento y costoEstadia
d. los métodos de las clases hijas pueden ser usados por la clase padre

La Universidad Católica de Loja


41
Evaluaciones a distancia: Programación de Algoritmos

PRUEBA DE ENSAYO (4 puntos)

§§ Para el desarrollo de la prueba de ensayo, deberá revisar su guía de estudio, texto


básico, y anuncios/recursos que se publican en el Entorno Virtual de Aprendizaje
(EVA-UTPL). Además se sugiere participar (opcional) de los foros (códigos,
sintaxis, temas adicionales) en los cuales Ud. podrá entrenar sus habilidades de
análisis, diseño y codificación de algoritmos.
§§ Acuda a la bibliografía complementaria citada en el guía de estudio y EVA, así
enriquecerá sus conocimientos para el óptimo desarrollo de esta evaluación.
§§ Solo una vez revisados los temas de: Programación con ficheros, POO en Java,
inicie el desarrollo de esta Evaluación a Distancia (componente de ensayo); no
olvide que el fin de la misma es ofrécele un indicador del nivel de conocimientos
y adquisición de competencias planificadas en cada unidad.
§§ Una vez desarrollada su solución Ud. debe presentar éste componente de
ensayo considerando las siguientes indicaciones, de no hacerlo se ira restando
el puntaje.

En el EVA se le habilitaran un espacio para subir obligatoriamente dos archivos,


y solo dos archivos, NO, MÁS.

1er. archivo: correspondiente al informe del programa, el cual debe ser un


documento en Microsoft Word .docx con la siguiente información y código con
formato (tabulaciones, colores, etc.) bajo ningún caso se deben pegar imágenes
capturadas:

En nombre del informe debe ser [ApellidoNombre_ProgramAlg_O-F_2016.


docx] y su contenido es el siguiente:

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA


PROGRAMACIÓN DE ALGORITMOS–Sistemas Informáticos y
Computación
Modalidad Abierta y a Distancia
Periodo: Octubre 2015–Febrero 2016
Tercer Ciclo

Estudiante: Aquí los Apellidos y Nombres del estudiante


Nro. de Cédula: Aquí el número de cedula del estudiante
Correo(s): Aquí el (los) correo electrónico del estudiante separados por comas
Calificación que cree merecer: 4 / 4 pts. (Estime conscientemente un puntaje)

42 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

Análisis y diseño de la solución (Diagrama de clases)

Documentación del diagrama de clases:

La Universidad Católica de Loja


43
Evaluaciones a distancia: Programación de Algoritmos

Desarrollo de la solución (CODIGO .JAVA)

Para copiar el código del ÚNICO archivo.java al informe.docx, desde NetBeans (o de


cualquier editor con el que esté trabajando) el código será copiado con formato, es decir,
con los colores, sangrías, etc. típicos del lenguaje java, para ello Ud. no debe copiar del
NetBeans (si usa este IDE) directamente al documento .docx, sino que debe usar algún
intermediario que le dé formato al código para no perlo al pegar al Documento.docx.
De entre muchos intermediarios existentes en la Red o Herramientas de escritorio
aquí le proponemos dos (siéntase en la libertar usar el que mejor domine):

Notepad++: http://notepad-plus-plus.org/

Source code (En line): http://markup.su/highlighter/

Por favor, para no tener en muchas hojas su código, reduzca el tamaño de la letra
mínimo 8pts, y con interlineado mínimo posible.

Importantes: No olvide que al final del código dentro del Programa.java y dentro de
un comentario insertado con los caracteres /**, Ud. debe copiar y pegar lo que obtenga
por pantalla como resultado en RUN (resultados de la ejecución, bien tabulados por el
mismo .java, para lo cual Ud. puede revisar el apéndice G Formatted Output), esta última

44 MODALIDAD ABIERTA Y A DISTANCIA


Evaluaciones a distancia: Programación de Algoritmos

sección demanda la mayor calificación de este componente de ensayo, ya que nos


certifica que su aplicación si funciona y genera los resultados correctos/solicitados.

2do. archivo: correspondiente al código en sí, para lo cual Ud. únicamente debe
adjuntar el único archivo .java (un solo archivo .java) perfectamente documentado,
organizado y limpio (sin variables que no use, no espacios en blanco innecesarios y
con las tabulaciones correctas).

Por favor, es importante que todo el código este dentro de un solo archivo .java,
tenga o no tenga una o más clases .class. Bajo ninguna circunstancia Ud. podrá subir
todo un proyecto comprimido, SINO SOLO UN ÚNICO ARCHIVO .java, compilable y
ejecutable, para lo cual, el único archivo Programa.java que entregue será compilado
usando directamente el comando javac y ejecutado con el comando java desde
consola, por lo cual, antes de subir su Programa.java, Ud. deberá validar que si se
compila y ejecuta desde cualquier directorio donde se lo mueva/ubique, para lo cual
se recomienda no empaquetar la(s) clase (s), configurar correctamente las variables
de entorno del sistema para el JDK, y sin usar ningún IDE (sino directamente en CMD)
compilar e ejecutar con los comandos javac y java

Finalmente como nombre del único archivo .java se le pide su UserName_


NombreClaseX.java, ello con fines de facilitar la revisión de su código. Si deseas
programar varias clases dentro de un solo archivo .java, no olvide que solo una clase
debe ser public las demás que agregue solo las declarara como class, caso contrario se
le genera un error de compilación.

Calificación 4 puntos.

1. Mecánica Automotriz (reparaciones y mas)

Se desea realizar una aplicación que permita a los mecánicos de un garaje registrar,
consultar y actualizar los trabajos (reparaciones y revisiones) que han sido realizados o
que están en proceso de realización en el garaje.

Cada trabajo se identifica unívocamente por su “identificador de trabajo”. El


“identificador de trabajo” es un número que se asocia con el trabajo en el momento
que se registra. El primer trabajo registrado tendrá el identificador 0, el segundo el 1
y así sucesivamente. Los trabajos incluyen una pequeña descripción de la reparación
o revisión a realizar. Al crear un trabajo el número de horas es 0. El número de horas
ira aumentando a medida que los mecánicos van dedicando tiempo a realizar la
reparación o la revisión. Cuando el trabajo se ha finalizado se marca como “finalizado”
y el número de hora no puede volver a cambiarse.

Las reparaciones incluyen el precio del material utilizado (pieza o pintura): Al registrar
una reparación el precio del material es 0 y va aumentando a medida que los mecánicos
van utilizando material en la reparación. Una vez que la reparación se manca como
“finalizada” no se puede cambiar el precio del material utilizado.

La Universidad Católica de Loja


45
Evaluaciones a distancia: Programación de Algoritmos

El precio a cobrar para cada trabajo se compone de una parte fija que resulta de
multiplicar el número de horas empleadas por $30. Además, dependiendo del tipo de
trabajo, el coste varía de la siguiente manera.
-- Reparación mecánica: su precio se calcula como fijo más el coste del
material multiplicado por el 1.1
-- Reparación de chapas y pintura: su precio se calcula como fijo más el
coste del material multiplicado por 1.3
-- Revisión: su precio se calcula como fijo más un extra de $20 independiente
del número de horas.

El garaje se ha marcado unos plazos máximos en los que deberían estar terminados
los trabajos. Estos plazos son: 14 días para las reparaciones mecánicas, 21 días para las
reparaciones de chapas y pintura, y 7 para las revisiones.

La aplicación se gestionará mediante una aplicación basada en menús, el cual permitirá:


Registrar trabajos, Aumenta horas, Aumenta coste de piezas, Finaliza trabajo, Muestra
trabajo, Consulta plazo y Muestra todos.

Se pide: Codificar la jerarquía de clases .java que crea conveniente (usando Herencia
y dibujando primero el diagrama de clases) con los atributos y métodos necesarios de
cálculo de costo, horas, etc. Debe implementar/probar esta jerarquía de clases, en una
CLASE DE PRUEBA en la cual se instancie las clases, se envíe los valores, realicen los
cálculos y se generen los resultados.

Tanto el ingreso de datos, como los resultados de salida, deberán ser almacenados
en un archivo con extensión .csv en un formato legible y organizado, de tal manera
que, si el tutor decide abrir el archivo con Excel, usando formulas pueda verificar los
resultados generados por la Aplicación.

Estimado(a) estudiante, una vez resuelta su evaluación a distancia en el


documento impreso (borrador), acceda al Entorno Virtual de Aprendizaje
(EVA) en www.utpl.edu.ec e ingrese las respuestas respectivas.

SEÑOR ESTUDIANTE:
Le recordamos que para presentarse a rendir las
evaluaciones presenciales no está permitido el uso de
ningún material auxiliar (calculadora, diccionario, libros,
Biblia, formularios, códigos, leyes, etc.)
Las pruebas presenciales están diseñadas para
desarrollarlas sin la utilización de estos materiales.

46 MODALIDAD ABIERTA Y A DISTANCIA

También podría gustarte