Ejercicios Prácticos de Programación I: Manipulación de Clases y Algoritmos Numéricos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,76 KB

Prueba 1
Programación I
Lunes 29 de Septiembre de 2008
Nombre:____________________________________________________________
A. Dada la clase Circulo ya creada con los siguientes atributos y métodos ya implementados, con los encabezados de cada método como se ven a continuación:
Circulo
private int radio;
Private int x,y;
public
Circulo(int x,int y, int radio) public Circulo() //llena con ceros... Static double área( Circulo c ) public String toString() public int getX() public int getY() public int getRadio() void setX(int x1) void setY(int y1) void setRadio(int r1) void aumentar(int porcentaje)
Usar la clase anterior para solucionar lo siguiente:
1. Crear dos objetos de tipo Circulo: c1 con el primer constructor y valores randómicos entre 1 y10, y c2 con el segundo constructor.
2. Calcular el área de c1 con un método estático .
3. Calcular el perímetro de c1, recuerde que el perímetro es 2*3.14159*radio.
4. Muestre por pantalla los atributos de c1.
5. Modifique el radio de c1 sumándole un valor leído por teclado.

6. Aumentar el radio de c1 un 10% con el método aumentar.
7. Gráfica los objetos con sus atributos y como van cambiando, también gráfica las variables y los valores que van teniendo, además un dibujo de la pantalla con lo que se va imprimiendo con los salto de línea correspondientes.
B. Existe un valor escondido en un número de cinco cifras que se lee por teclado, es la suma de cada uno de sus dígitos. Describa cual es la entrada y salida, haga un ejemplo paso a paso numérico y luego el código para encontrar dicha suma escondida.
Ej: 13512-->P-->12
11111-->P-->5
Class Programa{public static void main() throws Exception
{ Scanner leer= new Scanner(System.In);
Circulo c1 = new Circulo((int)(Math.Random)*10),(int)(Math.Random)*10),(int)(Math.Random)* 10)); 3 ptos
Circulo c2 =new Circulo(); 1 pto
double área, perímetro;
int teclado;
área=Circulo.Área(c1); 3 ptos
perímetro=2*3.14159*c1.GetRadio(); 3 puntos
System.Out.Println(c1); 1 punto
System.Out.Println(“ingresa valor a sumar a radio=”);
teclado=leer.NextInt(); 1 punto
c1.SetRadio(c1.GetRadio()+teclado); 4 puntos
c1.Aumentar(10);}} 2 puntos.
c1 c2 área perímetro teclado
x= x1 x= 0 3.14159*r1*r1 2*3.14159*r1 valor
y= y1 y=0 0,4 0,4 0,4
radio=r1 0,4 radio=0 0,4
r1+valor 0,3
(r1*valor)*.1 0,3 total 3,0 puntos
pantalla
x=x1, y=y1, radio=r1
“ingresa valor a sumar a radio=”
valor 0,4 ptos. Suma prob 1 21 puntos
B.entrada. Un entero de cinco cifras 1 pto
salida. Un entero 1 pto

Paso a paso numérico

suma=13512%10 //suma=2 0,2
n=13512/10 //1351 0,33
suma=suma+1351%10 //suma=2+1=3 0,2
n=1351/10 //135 0,33
suma=suma+135%10 //suma=3+5=8 0,2
n=135/10 //13 0,33
suma=suma+13%10 //suma=11 0,2
suma=suma+13/10 //suma=12 0,2 total 5
suma=1
código
class Programa2 0,2
{public static void main() throws Exception 0,2
{Scanner leer= new Scanner(System.In); 0,2
int suma=0, valor; 0,4
System.Out.Println(“ingresa valor”);
valor=leer.NextInt();//13512 1
suma=n%10; 1
n=n/10 ; 1
suma=suma+n%10 ; 1
n=n/10 //135 1
suma=suma+n%10; 1
n=n/10 ; 1
suma=suma+n%10 ; 1
suma=suma+n/10 ; 1 + sumar= 2
System.Out.Println(“suma es=”+suma);}} 1 ...13 prog2 18

Entradas relacionadas: