miércoles, 15 de junio de 2011

Solución del examen parcial Algoritmio y Estructura de datos - Tarde- 2011-01

Solución del examen parcial de Algoritmos y estructura de datos
Pregunta I
package examen;
public class Proyector{

      //atributos de instancia
prívate int código;
prívate String marca;
prívate double precioSoles, pesokilos;

//atributos de clase
public  static int contador;
public  static doublé  mayPrecio;
public  static doublé  menPeso;

static{
contador=0;
}

//constructor
public Proyector(int código, String marca, double precioSoles, double pesokilos){
            this.codigo = codigo;
            this. marca = marca;
            this. precioSoles = precioSoles;
            this. pesokilos = pesokilos;

contador++; 

            if(contador ==1){
mayPrecio= precioSoles;
menPeso = pesokilos;
}else{
            If(precioSoles> mayPrecio)
                       mayPrecio = precioSoles;
            If(pesokilos < menPeso)
                       menPeso = pesokilos;

}
}

//get

//set

//métodos adicionales
public  double getDescuento(){
            if(pesokilos>2)
return precioSoles*0.20;
            else
return precioSoles*0.10;
}
}

public class GUI{
      public void procesar(){
                  Proyecto proy = new Proyector(getCodigo(),
  getMarca(),
  getPrecioSoles(),
  getPesoKilos());
                                   listar(proy);

                                   proy.setPrecioSoles( proy.getPrecioSoles() * 1.10 );
}
public void listar(Proyector p){
                  imprimir(p. getCodigo ());
                  imprimir(p. getMarca ());
                  imprimir(p. getPrecioSoles ());
                  imprimir(p. getPesoKilos ());
                  imprimir(Proyector. contador );
                  imprimir(Proyector. mayPrecio );
                  imprimir(Proyector. menPeso );

      }
}
Pregunta II
a)    Diseñe un método que elimine el penúltimo número múltiplo de cinco del arreglo.

Versión 01:

void metodoA(){
      int c = 0;
      for(int i =índice-1; i>=0; i--){
                  if(n[i]%5==0 && ++c==2){
                             eliminar(i);
                             break;
}         
}

}
void eliminar(int pos){
      for (int i=pos; i<índice-1; i++){
                  n[i] = n[i+1];
}
indice--;
}

Versión 02:

void metodoA(){
      int c = 0;
      int pos=-1;
      for(int i =índice-1; i>=0; i--){
                  if(n[i]%5==0 && ++c==2){
                             pos = i;
                             break;
}         
}
If(pos !=-1 ){
      for (int i= pos; i<índice-1; i++){
                        n[i] = n[i+1];
}
indice--;
}
}

b)    Diseñe un método que remplace el segundo numero múltiplo de 3 del arreglo por la suma de todo los números pares

void metodoB(){
      int c = 0, pos=-1;
      for(int i =0; i<indice; i++){
                  if(n[i]%3==0 && ++c==2){
                             pos = i;
                             break;
}         
}
int suma =0;
      for(int i =0; i<indice; i++){
                  if(n[i]%2==0){
                             suma += n[i];
}         
}
if(pos!=-1){
n[pos] = suma;
}

}

Pregunta III
I Contestar V o F
a)    Se tiene la siguiente clase:
package demo;
class A{         
      void a(int suma){
}
}
      Se puede realizar la siguiente instrucción:   
A x = new A();
(V): porque cuando no se crea un constructor se crea uno por defecto sin parámetros
b) Si el atributo es private entonces no es necesario tener los métodos get y set para acceder a los atributos de la clase desde otra clase.  (   )

(F): Si porque mediante el GET y SET accedes a los atributos
c) El constructor de la clase se ejecuta después del bloque estático

(V):
      d) Para importar todas las clases del paquete semana06.beans es necesario colocar la siguiente sentencia import beans.*;   (   )
(F):
II Completar
a)    Existen dos tipos de métodos de acceso.  El que permite obtener el valor del atributo se le llama  _____ Get o Getters ______.

b)    La palabra reservada que permite definir un atributo de clase es _ static.

c)    El concepto llamado _______ sobrecarga _________de métodos consiste en crear varios métodos con el mismo nombre, pero con parámetros diferentes

d)    Existen dos tipos de atributos o variables. El atributo o variable de_______ instancia _________se crea cada vez que se crea un objeto.

No hay comentarios:

Publicar un comentario