Este documento presenta 6 problemas de programación con sus respectivas especificaciones de entrada y salida. Los problemas incluyen calcular el área de un polígono, determinar el número de hojas que un gusanillo puede comer, aproximar el valor de e, calcular cuántos refrescos puede comprar una persona recolectando botellas, y determinar el número de oscilaciones de una puerta de bisagras.
1. Pr´ctica
a
LAB - 111
Universidad Mayor de San Andr´s
e
La Paz Bolivia 1 de septiembre de 2012
Docente. M.Sc. Jorge Teran
´
Indice
Presentaci´n de la Practica
o 1
Areas 2
Gusanillo 3
Calcular e 4
Fan´tico del refresco
a 5
Puertas Vaiv´n
e 6
Las paginas est´n numeradas desde el 1 al 7.
a
Gesti´n 2010
o
2. Pr´ctica
a 1
Presentaci´n
o
Como requisito obligatorio para el siguiente laboratorio debe presentar todos los ejercicios
resueltos con el siguiente detalle:
Car´tula con nombre, c´dula de identidad, paralelo, firma.
a e
Enunciado del problema en el principio del programa en la parte de comentarios
Cada Programa debe tener su nombre y apellido despu´s de @author
e
C´digo fuente Java con el formato especificado en el estilo de programaci´n del Eclipse,
o o
(formato obtenido despu´s de procesar la opci´n formato). No reducir el tama˜o de letra.
e o n
Prueba de ejecuci´n del programa. Con 5 casos de pruebas al menos. Si requiere agregar
o
casos de prueba debe hacerlo.
Demostraci´n de que los resultados son correctos. Se puede resolver manualmente algunos
o
casos de prueba.
El tama˜o de las hojas ser´ carta, tipo de letra Courier New de tama˜o 12, el c´digo
n a n o
puede estar en tama˜o 10.
n
Todo el informe deber´ presentarse engrampado, NO USE Flip o Arhivador.
a
Todas las Hojas se imprimen de ambos lados, hay ayudar al medio ambiente.
NOTA IMPORTANTE Cada programa comienza en una pagina.
3. Pr´ctica
a 2
Problema 1
Areas
La lectura de datos es de teclado. Los resultados se muestran por pantalla.
Para hallar el ´rea de un pol´
a ıgono se utiliza la siguiente formula:
1 n−1
s= xi yi+1 − xi+1 yi + xn y0 − x0 yn
2 i=0
En la entrada de datos se incluyen los puntos xi y yi ., ning´n segmento de linea se intersecta.
u
Los datos est´n ordenados en sentido contrario a las agujas del reloj.
a
Input
La entrada contiene m´ltiplos casos de entrada. La primera linea de cada caso de prueba tiene
u
el numero de puntos del pol´
ıgono. La entrada termina cuando no hay m´s datos.
a
Output
Por cada caso de prueba imprima en una linea la ´rea del pol´
a ıgono con 600 decimales de
precisi´n.
o
Ejemplo de entrada Ejemplo de salida
3 0.50000000000.........
0 0
1 0
0 1
4. Pr´ctica
a 3
Problema 2
Gusanillo
La lectura de datos es de teclado. Los resultados se muestran por pantalla.
El gusanillo es una criatura de h´bitos regulares. Se estira hacia adelante alguna distancia a lo
a
largo de una rama de un ´rbol y para descansar. Si se detiene en una hoja se la come. Luego
a
se estira la misma distancia que se estiro antes, y repite esta rutina hasta que se pasa del final
de la rama.
Considere un gusanillo que recorre la longitud de una rama cuyas hojas esta espaciadas a
intervalos uniformes. Dependiendo de la distancia entre el gusanillo y sus puntos de descanso
puede o no puede comerse todas las hojas. Siempre existe una hoja al principio de la rama
donde descansa antes de iniciar su recorrido.
ımetros, la distancia que recorre
Dados tres valores que especifican la longitud de la rama en cent´
entres descansos y la distancia entre un par consecutivo de hojas, calcule el numero de hojas
que el gusanillo consumir´.
a
Entrada
La entrada consiste de m´ltiples casos de prueba. Cada caso de prueba contiene en una l´
u ınea,
separados por un espacio, el tama˜o de la rama, la distancia que recorre entre descansos y la
n
distancia entre pares consecutivos de hojas. La entrada termina cuando no hay mas datos.
Salida
Por cada caso de prueba escriba en una l´
ınea el n´mero de hojas que el gusanillo comer´
u ıa.
Ejemplo de entrada Ejemplo de salida
11 2 4 3
12 6 4 2
20 3 7 1
21 7 3 2
15 16 5 1
5. Pr´ctica
a 4
Problema 3
Calcular e
La lectura de datos es de teclado. Los resultados se muestran por pantalla.
Una f´rmula matem´tica sencilla para calcular el valor de e
o a
n
1
e=
i=0 n!
En esta ecuaci´n se permite que n vaya al infinito. Esto puede generar aproximaciones precisas
o
de e con valores peque˜os de n.
n
Input
No hay datos de entrada
Output
La salida consiste de los valores aproximados a 9 decimales desde 0 hasta 9 inclusive. La salida
debe ser de formato exactamente a la muestra, e imprimirse con la cantidad de decimales
especificados
Ejemplo de entrada Ejemplo de salida
ne
- -----------
0 1
1 2.0
2 2.5
3 2,666666667
4 2,708333333
5 2,716666667
6 2,718055556
7 2,718253968
8 2,718278770
9 2,718281526
6. Pr´ctica
a 5
Problema 4
Fan´tico del refresco
a
La lectura de datos es de teclado. Los resultados se muestran por pantalla.
Juan es fan´tico del refresco, pero no tiene suficiente dinero para comprar refrescos. La unica
a ´
forma legal que tiene de adquirir m´s refresco es juntar las botellas vac´ y cambiarlas por m´s
a ıas a
refresco. Adicionalmente a las que consume recolecta botellas en la calle.
Input
La entrada de datos son tres n´meros e, f, c con e < 1000 que representa el n´mero de botellas
u u
vac´ que posee, f representa el n´mero de botellas que hall´ en la calle f < 1000. c representa
ıas u o
el n´mero de botellas vac´ requeridas para adquirir un refresco. La entrada termina cuando
u ıas
no hay m´s datos.
a
Output
Escriba para cada caso de prueba cuantos refrescos pudo tomar en ese d´ Cada n´mero debe
ıa. u
imprimirse en una l´
ınea.
Ejemplo de entrada Ejemplo de salida
9 0 3 4
5 5 2 9
7. Pr´ctica
a 6
Problema 5
Puertas Vaiv´n
e
La lectura de datos es de teclado. Los resultados se muestran por pantalla.
Todos hemos visto las puertas con vaiv´n antes, tal vez en la entrada de una cocina. Echa un
e
vistazo a la figura de abajo para dejar las cosas claras. Esta puerta con bisagras en particular,
funciona como sigue: La posici´n de reposo es la l´
o ınea continua , la puerta se inserta en un
extremo, y se balancea creando un ´ngulo (en la imagen, corresponde a la primer swing. Luego,
a
cuando se libera la puerta, se desliza hacia el otro lado (esto se muestra en la imagen como
segundo swing). Pero esta vez, el ´ngulo que oscila se reduce a una fracci´n conocida del ´ngulo
a o a
anterior. Luego, se invierte la direcci´n de nuevo y, una vez m´s, el ´ngulo reducido por la
o a a
misma fracci´n. Una vez que el ´ngulo se reduce a 5, 0 grados o menos, la puerta no oscila m´s,
o a a
sino m´s bien, vuelve a la posici´n ”de descanso”.
a o
Figura 1: Oscilaci´n de la puerta vaiv´n
o e
Crear una programa que dado un angulo inicial a desplazarse y una reducci´n y devuelve un
´ o
entero correspondiente al n´mero de veces que la puerta se balancea antes de llegar al reposo.
u
Por ejemplo si se desplaza 50 grados y se reduce en 2 cada vez. Entonces al soltar la puerta el
a
´ngulo inicial se ve reducido de (1/2) ∗ (50) = 25 grados en el primer vaiv´n. En este punto, la
e
puerta debe revertir la direcci´n, y el oscilar´ a trav´s de un ´ngulo de (1/2)∗(25) = 12, 5 grados.
o a e a
Continuando de esta manera, la puerta se girar´ una vez m´s a trav´s de (1/2) ∗ (12, 5) = 6, 25
a a e
grados, y luego a trav´s de (1/2) ∗ (6, 25) = 3, 125 grados. En este punto, la puerta se va a la
e
posici´n de reposo. Por lo tanto, la respuesta correcta es de 4, ya que la puerta tom´ 4 cambios
o o
antes de llegar al descanso.
Input
La entrada consiste de varios casos de prueba cada uno en una l´ ınea. Cada caso de prueba
consiste de dos n´meros enteros separados por un espacio. El primero corresponde al desplaza-
u
miento d de la puerta 0 ≤ d ≤ 90. Y el segundo a la reducci´n x en cada oscilaci´n 0 ≤ x ≤ 10.
o o
La entrada termina cuando no hay m´s datos.
a
Output
La salida esta dada por un n´mero entero en una l´
u ınea que representa el n´mero de oscilaciones
u
que har´ la puerta.
a
8. Pr´ctica
a 7
Ejemplo de entrada Ejemplo de salida
50 2 4
45 6 2
23 3 2
3 3 0