miércoles, 15 de junio de 2011

Solución del examen parcial Algoritmio y Estructura de datos - Mañana - 2011-01


Pregunta I
package examen;
public class Celular{

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

//atributos de clase
public  static int contador;
public  static double  mayPrecio;
public  static double  menPrecio;

static{
contador=0;
}

//constructor
public Celular(int código, String marca, String modelo, double  precioCompra){
            this.codigo = codigo;
            this. marca = marca;
            this. modelo = modelo;
            this. precioCompra = precioCompra;

contador++; 

            if(contador ==1){
mayPrecio= precioCompra;
menPrecio = precioCompra;
}else{
            If(precioCompra > mayPrecio){
                       mayPrecio = precioCompra;
            }
            If(precioCompra < menPrecio){
                       menPrecio = precioCompra;
            }
}
}

//get

//set

//métodos adicionales
public  double getPreecioVenta(){
            return precioCompra  + precioCompra *0.20;
}
}

public class GUI{
      public void procesar(){
                  Celular cel = new Celular (getCodigo(),
  getMarca(),
  getModelo(),
  getPrecioCompra ());
                                   listar(cel);

                                   cel.setPrecioCompra( cel.getPrecioCompra () * 1.10 );
}
public void listar(Celular p){
                  imprimir(p. getCodigo ());
                  imprimir(p. getMarca ());
                  imprimir(p. getModelo ());
                  imprimir(p. getPrecioCompra ());
                  imprimir(Celular. contador );
                  imprimir(Celular. mayPrecio );
                  imprimir(Celular. menPrecio );

      }
}

Pregunta II
a)    Diseñe un método que elimine el último número par del arreglo.

Versión 01:

void metodoA(){
      for(int i =índice-1; i>=0; i--){
                  if(n[i]%2==0){
                             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 pos=-1;
      for(int i =índice-1; i>=0; i--){
                  if(n[i]%2==0){
                             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 primer número impar del arreglo por la promedio de todos los números pares

void metodoB(){
      int pos=-1;
      for(int i =0; i<indice; i++){
                  if(n[i]%2!=0){
                             pos = i;
                             break;
}         
}
double suma =0; int contador =0;
      for(int i =0; i<indice; i++){
                  if(n[i]%2==0){
                             suma += n[i];
                             contador++;
}         
}
if(pos1!=-1){
n[pos] = suma/contador;
}


}


Pregunta III
I Contestar V o F
a)    Se tiene la siguiente clase:
package demo;
public class A{          
    int suma;    
          public A(int suma){
}
}
      Se puede realizar la siguiente instrucción:   
A x = new A();
(F): porque no existe constructor sin parámetros. Además, como ya tiene uno no se crea el constructor por defecto.
b) Si el atributo es private entonces no es necesario implementar 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) Un atributo con especificador public puede ser usada desde una clase que se encuentra en otro paquete
(V): el atributo público es visible dentro del paquete o fuera del paquete
      d) Cada vez que se crea un objeto; se crea una copia de cada uno de los atributos declarados en la clase   (   )
(V): En los atributos de instancia se crea una copia de cada atributo por objeto
II Completar
a)    Los modificadores de acceso que permiten controlar el acceso a los miembros de una clase son 4. El que permite tener acceso sólo desde la clase es __ private______.

b)    Existen dos tipos de atributos o variables. El atributo o variable de _ clase. Es compartido por todo los objetos de la clase.

c)    Cuando existen dos métodos constructores con el mismo nombre se asume que al menos uno de dos los constructores es con ___ diferente parámetros(sobrecarga)

d)    El _______ encapsulamiento _________es una forma ocultamiento de atributos que nos permiten restringir y controlar el uso de una clase.


No hay comentarios:

Publicar un comentario