Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fecha de entrega
26 de oct en 23:55
Puntos
100
Preguntas
20
Disponible
23 de oct en 0:00 - 26 de oct en 23:55
4 días
Límite de tiempo
90 minutos
Intentos permitidos
2
Instrucciones
Volver a realizar el examen
Historial de intentos
Las respuestas correctas ya no están disponibles.
Las vías horizontales son llamadas calles y están enumeradas iniciando en 1. Las
vías verticales son llamadas carreras y están numeradas de igual forma.
El alcalde de Bacatá ha decidido modificar la forma en que las tarifas de los taxis
son calculadas, considerando la geometría de la ciudad. Las nuevas tarifas se
calcularán de acuerdo a la calle y carrera de la intersección donde se toma el taxi,
así como a la calle y carrera donde finaliza el viaje. Específicamente, el costo de
un viaje se calcula como
System.out.println(linea[i]);
}
}
}
System.out.println(linea[i]);
}
}
El método
System.out.println(manzana[i]);
El método
}
System.out.println(linea[i]);
}
El método
System.out.println(linea[i]);
}
El método
}
System.out.println(linea[i]);
}
}
System.out.println(linea[i]);
}
}
System.out.println(manzana[i]);
}
Pregunta 2 5
/ 5 pts
Una de las funcionalidades con que David desea que cuente su editor es la de
calcular el número de líneas de código en un archivo. El editor debe contar
únicamente las líneas no vacías.
int contador=0;
if (<condicion>)
return contador;
Para que el método sea correcto, <condicion> debe ser reemplazado por:
codigo.charAt(i)=='\n'
codigo.charAt(i)=='\n' && codigo.charAt(i-1)!='\n'
codigo.charAt(i)!='\n' && codigo.charAt(i-1)=='\n'
codigo.charAt(i)=='\n' && i>0 && codigo.charAt(i-1)!='\n'
El programa cuenta las ocurrencias del símbolo ‘\n’, lo cual es igual al número de
líneas en el código. Se omite en la cuenta los símbolos de nueva línea precedidos
de símbolos idénticos, ya que estos corresponden a líneas vacías.
Pregunta 3 5
/ 5 pts
Una pieza puede ser rotada 90, 180 o 270 grados. Además, puede volcarse.
Como ejemplo de lo anterior, las siguientes imágenes corresponden a un mismo
tipo de pieza:
}
}
}
No resuelve el problema ya que solamente se rota una de las imágenes, no las dos.
No resuelve el problema ya que rotar_imagen debería rotar la imagen en el sentido
de las manecillas del reloj, y no en sentido contrario.
Resuelve el problema de manera correcta.
No resuelve el problema ya que solamente se refleja una de las imágenes, no las
dos.
Pregunta 4 5
/ 5 pts
Una pieza puede ser rotada 90, 180 o 270 grados. Además, puede volcarse.
Como ejemplo de lo anterior, las siguientes imágenes corresponden a un mismo
tipo de pieza:
Antes de procesar una imagen, debe verificarse que ésta contenga únicamente
los valores 0 y 1. Se desea un método que retorne verdadero si la imagen es
correcta o falso si contiene colores no aceptados (valores diferentes a 0 ó 1).
static boolean verificar_colores(byte[][] img){
}
}
static boolean verificar_colores(byte[][] img){
}
static boolean verificar_colores(byte[][] img){
}
Pregunta 5 5
/ 5 pts
Una de las funcionalidades con que David desea que cuente su editor es la de
eliminar líneas vacías del código. El siguiente método recibe un código y retorna
el código sin líneas vacías.
if (<condicion>)
Para que el método sea correcto, <condicion> debe ser reemplazado por:
charAt(i)!='\n' || codigo.charAt(i-1)!='\n'
Una cadena vacía es representada por un símbolo ‘\n’ precedido de otro símbolo
igual.
codigo.charAt(i-1)=='\n' solamente copia el símbolo que inicia cada fila, no las filas
completas.
charAt(i)!='\n'
charAt(i)=='\n' && codigo.charAt(i-1)=='\n'
charAt(i-1)=='\n'
Pregunta 6 5
/ 5 pts
Las vías horizontales son llamadas calles y están enumeradas iniciando en 1. Las
vías verticales son llamadas carreras y están numeradas de igual forma.
El alcalde de Bacatá ha decidido modificar la forma en que las tarifas de los taxis
son calculadas, considerando la geometría de la ciudad. Las nuevas tarifas se
calcularán de acuerdo a la calle y carrera de la intersección donde se toma el taxi,
así como a la calle y carrera donde finaliza el viaje. Específicamente, el costo de
un viaje se calcula como
Incorrecta porque el valor de 100 no es precedido por el símbolo $.
Incorrecta porque se omite el cálculo de los valores absolutos.
Correcta. Dado que la calle y carrera de destino son siempre mayores que la calle y
carrera de origen, no es necesario el uso de valor absoluto.
Incorrecta porque se invierte el orden de los puntos origen y destino.
Pregunta 7 5
/ 5 pts
David ha notado que cuando se requiere imprimir el código sería de gran utilidad
(por la cantidad de papel gastado) eliminar la indentación: el margen izquierdo de
las líneas. La instrucción que le permite tomar una línea de código y eliminar su
margen izquierdo es:
linea = linea.trim();
A pesar de que removeLeftMargin es un nombre razonable para el método, el
método de la clase String tiene nombre trim. Además, al ser las cadenas
inmutables, éste método no modifica la cadena que le invoca sino que retorna
una segunda cadena con el contenido modificado. Por tanto, el valor de
retorno del método debe ser asignado nuevamente a la cadena que invoca.
linea = linea.trim();
trim();
removeLeftMargin();
linea = linea.removeLeftMargin();
Pregunta 8 5
/ 5 pts
Una pieza puede ser rotada 90, 180 o 270 grados. Además, puede volcarse.
Como ejemplo de lo anterior, las siguientes imágenes corresponden a un mismo
tipo de pieza:
rotada[4-j][i] = img[i][j] rota la matriz en el sentido contrario a las manecillas del reloj.
rotada[i][j] = img[i][4-j] refleja la matriz invirtiendo el orden de las columnas. Por tanto,
ésta es la opción correcta.
}
static byte[][] reflejar(byte[][] img) {
}
Pregunta 9 5
/ 5 pts
Una pieza puede ser rotada 90, 180 o 270 grados. Además, puede volcarse.
Como ejemplo de lo anterior, las siguientes imágenes corresponden a un mismo
tipo de pieza:
byte[][]
La matriz que representa una imagen está compuesta únicamente de 1s y 0s, los
cuales son valores enteros. Además, cada dato hace uso solamente de un bit, por lo
que debería usarse un tipo de dato lo más pequeño posible. El tipo de dato entero
más pequeño es byte. Dado que es una matriz, el tipo byte debe ir acompañado de
dos parejas de corchetes (byte[][]).
int[][]
double[][]
double[]
Pregunta 10 5
/ 5 pts
Una de las funcionalidades con que David desea que cuente su editor es la de
decidir si un nombre de variable es válido o no. Recuerde que un nombre de
variable válido puede contener únicamente letras, dígitos, guiones bajos (_) y
signos de dólar ($). Además, el primer símbolo del nombre no puede ser un dígito.
((c >= ’A’ || c <= ’Z’) && (c >= ’a’ || c <= ’z’)) || (c >= ’0’ || c <= ’9’)
|| c == ’_’ || c == ’$’
((c >= ’A’ || c <= ’a’) && (c >= ’Z’ || c <= ’z’)) || (c >= ’0’ || c <= ’9’)
|| c == ’_’ || c == ’$’
(c >= ’A’ && c <= ’a’) || (c >= ’Z’ && c <= ’z’) || (c >= ’0’ && c <= ’9’) |
| c == ’_’ || c == ’$’
(c >= ’A’ && c <= ’Z’) || (c >= ’a’ && c <= ’z’) || (c >= ’0’ && c <= ’9’) |
| c == ’_’ || c == ’$’
(c >= ’A’ && c <= ’Z’) || (c >= ’a’ && c <= ’z’) || (c >= ’0’ &&
c <= ’9’) || c == ’_’ || c == ’$’
Pregunta 11 5
/ 5 pts
Así, en los meses 1 y 2 se tendría únicamente una pareja. Para el mes 3, habría
ya una nueva pareja, para un total de 2. En el mes 4, la pareja ya madura tendría
una nueva pareja, completando 3 parejas. En el mes 5, la primera pareja y su
primera pareja cría engendrarían dos nuevas parejas, siendo la población total 5
parejas.
El número de parejas que conforman la población en el mes n puede calcularse
mediante la ecuación de recurrencia:
}
La implementación
}
}
return 1;
}
Pregunta 12 5
/ 5 pts
David quiere desarrollar un programa de edición de código java que le permita
hacer su código más legible y calcule algunos datos interesantes. Dado que el
procesamiento de información textual no es su fuerte, David le ha pedido su
ayuda para codificar algunas de las tareas básicas del editor.
David cree que si representa el texto como un arreglo de valores char en lugar de
como un String, su programa será más eficiente. La instrucción que le permite
convertir el código representado como String en un arreglo de chars es:
char[] cod_arr = (char[]) cod;
char[] cod_arr = cod;
char[] cod_arr = cod.toCharArray();
No es posible hacer una conversión directa de String a char[], por lo que las
instrucciones
char[] cod_arr = cod.toArray();
Pregunta 13 5
/ 5 pts
David ha notado que cuando se requiere imprimir el código sería de gran utilidad
(por la cantidad de papel gastado) eliminar las líneas que contienen únicamente
comentarios. La expresión que le permite determinar si una línea de código
consiste únicamente de un comentario es:
linea.prefix(“//”);
startsWith(“//”);
hasPrefix(“//”);
beginsWith(“//”);
Pregunta 14 5
/ 5 pts
Una de las funcionalidades con que David desea que cuente su editor es la de
decidir si un nombre de variable es válido o no. Recuerde que un nombre de
variable válido puede contener únicamente letras, dígitos, guiones bajos (_) y
signos de dólar ($). Además, el primer símbolo del nombre no puede ser un dígito.
La expresión que permite verificar si el primer símbolo del nombre es un dígito es:
nombre.length() > 0 && nombre.charAt(0)>=9 && nombre.charAt(0)<=0
length() > 0 && nombre.charAt(0)>=’0’ && nombre.charAt(0)<=’9’
Para verificar que un carácter corresponda a un dígito basta con preguntar si
su código se encuentra entre el código del carácter ‘0’ (48) y el código del
carácter ‘9’ (57), inclusive.
length() > 0 && nombre.charAt(0)>=’9’ && nombre.charAt(0)<=’0’
length() > 0 && nombre.charAt(0)>=0 && nombre.charAt(0)<=9
Pregunta 15 5
/ 5 pts
Una pieza puede ser rotada 90, 180 o 270 grados. Además, puede volcarse.
Como ejemplo de lo anterior, las siguientes imágenes corresponden a un mismo
tipo de pieza:
}
Para que el método funcione correctamente, <condicion> debe reemplazarse por:
img1 != img2
Arrays.not_equals(img1[i], img2[i])
!Arrays.equals(img1[i], img2[i])
img1[i] != img2[i]
Pregunta 16 5
/ 5 pts
Una pieza puede ser rotada 90, 180 o 270 grados. Además, puede volcarse.
Como ejemplo de lo anterior, las siguientes imágenes corresponden a un mismo
tipo de pieza:
}
}
}
Al usar la instrucción rotada[i][j] = img[j][i], se calcula la transpuesta de la matriz de
entrada. La transpuesta corresponde a la matriz rotada en sentido contrario a las
manecillas del reloj, pero también reflejada invirtiendo el orden de las filas.
rotada[4-j][i] = img[i][j] rota la matriz en el sentido contrario a las manecillas del reloj.
Por tanto, ésta es la opción correcta.
}
Pregunta 17 5
/ 5 pts
Una pieza puede ser rotada 90, 180 o 270 grados. Además, puede volcarse.
Como ejemplo de lo anterior, las siguientes imágenes corresponden a un mismo
tipo de pieza:
}
rotada[4-j][i] = img[i][j] rota la matriz en el sentido contrario a las manecillas del reloj.
Por tanto, ésta es la opción correcta.
}
static byte[][] rotar_imagen(byte[][] img) {
}
}
Pregunta 18 5
/ 5 pts
Así, en los meses 1 y 2 se tendría únicamente una pareja. Para el mes 3, habría
ya una nueva pareja, para un total de 2. En el mes 4, la pareja ya madura tendría
una nueva pareja, completando 3 parejas. En el mes 5, la primera pareja y su
primera pareja cría engendrarían dos nuevas parejas, siendo la población total 5
parejas.
6765
parejas(2) = 1
parejas(1) = 1
entonces
parejas(3) = 1 + 1 = 2
parejas(4) = 2 + 1 = 3
parejas(5) = 3 + 2 = 5
parejas(6) = 5 + 3 = 8
parejas(7) = 8 + 5 = 13
parejas(8) = 13 + 8 = 21
parejas(9) = 21 + 13 = 34
parejas(10) = 34 + 21 = 55
parejas(11) = 55 + 34 = 89
parejas(12) = 89 + 55 = 144
10946
4181
2584
Pregunta 19 5
/ 5 pts
Se desea implementar el sistema de visión de un robot clasificador de piezas. El
robot ve a través de una cámara que transforma la imagen de cada pieza en una
matriz de 5 filas y 5 columnas. Cada celda de la matriz contiene un 1 o un 0, de
acuerdo a si el color en dicho píxel es negro o blanco, respectivamente.
Una pieza puede ser rotada 90, 180 o 270 grados. Además, puede volcarse.
Como ejemplo de lo anterior, las siguientes imágenes corresponden a un mismo
tipo de pieza:
Antes de procesar una imagen, debe verificarse que ésta tenga el tamaño
adecuado (5 filas y 5 columnas). La expresión que permita hacer dicha
verificación es:
img.rows == 5 && img.cols == 5
length == 5 && img[0].length == 5
Para obtener el número de filas de una matriz se usa su atributo length (img.-length).
Por otra parte, para conocer el número de columnas basta con consultar el número
de elementos de cualquiera de las filas de la matriz (matriz[0].length).
img.length == 25
img.length == 5
Pregunta 20 5
/ 5 pts
Así, en los meses 1 y 2 se tendría únicamente una pareja. Para el mes 3, habría
ya una nueva pareja, para un total de 2. En el mes 4, la pareja ya madura tendría
una nueva pareja, completando 3 parejas. En el mes 5, la primera pareja y su
primera pareja cría engendrarían dos nuevas parejas, siendo la población total 5
parejas.
12
144
parejas(2) = 1
parejas(1) = 1
entonces
parejas(3) = 1 + 1 = 2
parejas(4) = 2 + 1 = 3
parejas(5) = 3 + 2 = 5
parejas(6) = 5 + 3 = 8
parejas(7) = 8 + 5 = 13
parejas(8) = 13 + 8 = 21
parejas(9) = 21 + 13 = 34
parejas(10) = 34 + 21 = 55
parejas(11) = 55 + 34 = 89
parejas(12) = 89 + 55 = 144
89
233