Avisos
(En orden cronológico inverso).
Observe que algunas correcciones se han realizado ya
en este material en línea.
Boletín
de problemas nº 10
Problema 1: Asegúrese
de entregar su archivo indata.dat
en formato electrónico junto con el boletín
de problemas.
Problema 2: Si
lo desea, puede corroborar si su programa funciona,
comprobando su archivo checked.dat con el nuestro: checked-solution.dat.
No hace falta que entregue el archivo checked.dat, pero
asegúrese de entregar todos los archivos necesarios
para compilar el programa (junto con las copias de los
archivos que le facilitamos).
Boletín
de problemas nº 9
La
regla de reducción (pruning rule)
nº 2 se ha corregido y pasa a ser la siguiente:
2. Si (s + Lk + Lk+1
<=M), genera el hijo izquierdo (xk=
1)
La versión
incorrecta que utilizaba "<" en vez de
"<=" era:
2. Si (s + Lk + Lk+1
< M), genera el hijo izquierdo (xk=
1)
Había un
error en el diagrama del árbol de muestra que
le facilitamos. La página web de los boletines
de problemas se ha actualizado. Aquí
tiene el árbol actualizado.
La versión
en línea del boletín de problemas nº
9 se ha actualizado para que estos cambios queden reflejados.
Boletín
de problemas nº 7 - Corrección
ERRORES CORREGIDOS
en el boletín de problemas nº 7 en la implementación
de ArrayQueue. Rogamos descargue la nueva versión
si ya la ha recuperado del sitio web.
Los apuntes de clase se han corregido y también
se ha publicado una versión mejorada de la implementación
de ArrayStack.
Boletín
de problemas nº 7 - Correcciones y aclaraciones
- Los créditos extra valen
un máximo de 40 puntos, no 20.
- Cada equipo posee un número
de serie que es globalmente único.
- La clase product (producto)
presenta dos campos de datos: un tipo y un número
de serie.
Corrección
en el boletín de problemas nº 6
Falta un paréntesis
inicial en la ecuación (8). Debería aparecer
como se muestra a continuación:
f = a0/(2*a4) ((k*c*(a2)^2)/(j*(a4)^2*p*v*a0))^(1/3)
Además, la variable V (en
mayúsculas) de la tabla es igual que v (en minúsculas)
a lo largo de todo el enunciado del problema.
Boletín de
problemas nº 5 - Aún más aclaraciones
para el problema 2
No invoque a pack()
en el problema 2. Si lo hace, el tamaño del objeto
BusDrawing será cero.
Boletín de
problemas nº 5 - Más aclaraciones para el
problema 2
Los valores del
parámetro que observa en la captura
de pantalla para el problema 2, son levemente
incorrectos. Cuando los valores de entrada son 0.0,
0.0 y 1.1, los de salida tendrían que ser:
Headway (avance): 24.06036392060625
No rtes: 4.628982353197658
Fare (billete): 199.49696732828133
Rider (pasajero): 1306.4757144878142
Revenue (ingresos): 2606.3794292836847
Cost (precio): 26261.28571024372
Para los valores de entrada
de 1.0, 2.0 y 2.0, los de salida serían:
Headway: 26.384317130342872
No rtes: 4.221257630045497
Fare: 755.522762321904
Rider:899.6009530966913
Revenue: 6796.689970710298
Cost: 21402.018114836384
Algunos estudiantes
se alarmaron porque cada vez que pulsaban el botón
"calculate" (calcular), los parámetros
de salida cambiaban, incluso si no había cambios
en los de entrada. No hay que temer nada, este comportamiento
es correcto. (La velocidad del bus
v depende de su valor previo).
Boletín de
problemas nº 5 - Aclaración para el problema
2
El archivo BusDrawing.java
que le facilitamos, posee una línea
double box = BusFrame.Y-200;
Puede reemplazar
esa línea por la siguiente:
double box = 300;
Boletín de
problemas 1
Le facilitamos
BusDrawing.java. Vaya al boletín de problemas
número 5 en el sitio web del curso 1.00, y descárguelo
del archivo de apoyo.
En el problema
1, puede utilizar un método ActionPerformed
simple con getSource(), en vez de una clase
interna anónima.
Boletín de
problemas nº 4 - Aclaración para el problema
1
Puede utilizar
las operaciones enteras 'divide by 2' y 'mod
2', pero no otras divisiones ni multiplicaciones.
La división entre 2 se admite normalmente en
el hardware simple.
Correcciones de
la clase 10
Transparencia 9:
2^5= 32, 2^6= 64
Transparencia 11: La última identidad debería
ser x^2n+1= x*x^2n
Correcciones de
la clase 9
En el ejercicio
7 sobre vectores, sustituya todos los [] por ().
Tarea 3
Constante de gravedad
de la clase pipe (tubo) = 9.8 m/sec^2.
Apuntes de clase
Rogamos disculpen
a todo el personal docente del curso 1.00 por no haber
puesto a su disposición los apuntes de la clase
7 a tiempo. Estos apuntes estarán disponibles
esta tarde en horario de consultas (después de
las 4:00), durante la clase práctica del viernes,
y también los puede encontrar en la web y descargarlos
ahora. Hoy también podrá disponer de los
ejemplos
de código.
Cómo imprimir
desde Emacs
Rogamos elimine los
colores de la fuente en Emacs antes de imprimir desde
athena. En una impresora en blanco y negro, las
letras en color se ven demasiado claras. Para eliminar
los colores de la fuente de Emacs:
- Marque todo el búfer
de texto.
- Seleccione "Edit"
(editar) -> "Text Properties"
(propiedades del texto)-> "Remove Face
Properites" (quitar propiedades de la fachada).
Clase 5
a. En las transparencias
con dibujos de objetos y referencias, el argumento del
constructor BigInteger debería aparecer
entre comillas dobles: BigInteger a= new BigInteger("1000000000000");
b. No se preocupe
si le pareció que había demasiados conceptos
en el tema 5. En realidad había demasiados, pero
los iremos viendo durante las dos próximas semanas.
Esto era únicamente una introducción,
pero era necesario cubrir bastante para que usted obtuviese
una visión general. Volveremos a ver todos los
detalles en el próximo grupo de clases.
c. La simulación
del pájaro está anunciada en la web, dentro
de la clase 5. Esta simulación funciona por defecto
con Internet Explorer. Si tiene Netscape, es necesario
que instale flashplayer para ejecutarlo. El instalador
de flashplayer está también en
la web dentro de clase 5/Código.
Tarea 1
Puede omitir el
cálculo de la carga por bus a partir de su salida
para el problema.
1) Ejemplo de valores
de cálculo intermedio (pueden presentar errores
de redondeo):
L0 = 209821.4
E0 = 1092.4
F0 = 3277.3
2) La definición
de "peso objetivo" (Parte 1) debería
ser:
"Se utiliza para
equilibrar los objetivos de déficit frente a
los objetivos relativos al número de usuarios
del transporte público. A medida de que aumenta
el peso objetivo, DISMINUYEN el número de usuarios
y el déficit. A medida de que decrece, el número
de usuarios y el déficit AUMENTAN. Este debe
ser estrictamente mayor que 1 y puede aumentar sin límite".
3) No declaramos a
v como una nueva variable, así que podemos
cambiar su valor en otra expresión.
Clase 3
1. En la transparencia
8, "Cómo utilizar operadores aritméticos",
en la clase DataType2, int d=122 cuando se
inicializa, y no 123.
2. Ejercicios (transparencia
13): Dos correcciones:
a. Represente 15*i correctamente:
int i= 100000000 + 100000000;
long j= 15L*i; // El 15 debe ir seguido por L. De
lo contrario 15*i es un int (entero) y no encaja.
b. Incremente int
z por int a:
int a=5, z=2;
z += a; // z debe declararse e inicializarse antes
de usarse con +=
3. Responda a la
pregunta de la transparencia 19: ¿dónde
se encuentra el error en el programa de la ecuación
cuadrática? Si el discriminante es -0.000000000000001
(dentro de TOL
pero negativo), el programa devolverá incorrectamente
raíces no reales. Si es +0.000000000000001,
entonces devolverá correctamente una raíz
real. La corrección consiste en comprobar si
el discriminante está dentro de un
TOL de 0.0 como la primera sentencia if
del programa.
4. Una nueva copia
de DataType2.java se encuentra en los ejemplos
del código, y también una copia del
Exercise1.java, con las respuestas correctas
a los ejercicios de la transparencia 13.
Libro de texto
Core Java
2 Volume I--Fundamentals, Cay S. Horstmann y Gary
Cornell, 4ª ed., Sun Microsystems Press.
Lista de errores
del libro: http://www.horstmann.com/corejava/bugs.html#CJ5V1
|