Beruflich Dokumente
Kultur Dokumente
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
Asesoría virtual:
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.
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.
a. Throwable.
b. Error.
c. RuntimeException
d. Exception
a. java.util.InputMismatchException
b. java.lang.ArithmeticException: / by zero
c. java.lang.Exception
d. java.lang.*;
¿Con esta puntualización, cual es la salida por pantalla del siguiente fragmento
de código?
a. Metodo_X(1,2);
b. Metodo_X(0,2);
c. Metodo_X(1,0);
d. throw Metodo_X();
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.
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
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. directamente – RuntimeException
b. indirectamente – Exception
c. indirectamente – IOException
d. directamente – Thowable
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?
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.
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
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.
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 _________.
23. ¿Cuál de los siguientes arreglos contiene datos de tipo por referencia?
a. 2
b. 3
c. 4
d. 5
a. 2
b. 3
c. 4
d. 5
Dada la definición anterior; ¿cuál es la salida por pantalla del siguiente flujo?:
a. filas – primera
b. columnas – primera
c. filas – tercera
d. filas – segunda
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?
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.
a. valor
b. referencia
c. referencia o valor.
d. Ninguno de ellos.
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
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
1 int []arreglo = {75, 95, 55, 56, 63, 81, 76, 59, 25, 66};
a. O(n)
b. O(n2)
c. O(n log n)
d. O(1)
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. 3
b. 7-8
c. 9
d. 6-10
System.out.println(metodoA(4));
Notepad++: http://notepad-plus-plus.org/
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,
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
Calificación 4 puntos.
üü 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?
RESULTADOS A PRESENTAR
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 mayor Rubro es Factura 00X y esta no/si supera el promedio de
gastos anuales por facturas que es de XY.
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.
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.
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.
a. parcial – pequeñas
b. persistente – grandes
c. temporal – grandes
d. temporal – pequeñas
a. temporales – secundarios
b. persistentes – principal
c. persistentes – secundarios
d. cadena – temporal
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
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()
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
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);
d. .
1 Formatter salida = new Formatter(“numeros.txt”);
2 salida.format(“%f”, 3.1415);
3 salida.close();
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.
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
00000000 00110001
a. 8 – bytes
b. 5 – caracteres
c. 0 – bytes
d. 1 – caracteres
a. lectura – lectura
b. escritura – escritura
c. lectura – escritura
d. escritura – apertura
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() ) { ... }
a. FileInputStream – FileReader
b. FileReader – FileWrite
c. FileOutputStream – FileWrite
d. FileInputStream – FileOutputStream
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:
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. 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.
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.
a. constructores–atributos
b. atributos – métodos
c. constructores–atributos
d. miembros public – constructores
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.
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
___: clases
___: métodos.
a. 3–3–4
b. 0–3–6
c. 3–0–2
d. 3–0–6
a. 1
b. 2
c. 3
d. 4
a. 3y6
b. 6y3
c. 3 y 12
d. 12 y 3
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
34. Cuál de las afirmaciones es falsa dadas las dos clases siguientes: Clases1_Test()
y ClaseX()
____________________________________ o
____________________________________ respectivamente,
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
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
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:
Notepad++: http://notepad-plus-plus.org/
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
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
Calificación 4 puntos.
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.
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.
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.
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.
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.