Sunteți pe pagina 1din 6

UNIVERSIDAD NACIONAL DE INGENIERÍA Ciclo Académico: 2017-2

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Fecha:


DEPARTAMENTOS ACADÉMICOS Duración
CURSO: PROGRAMACION DIGITAL COD. CURSO: CB412-M,N

TIPO DE PRUEBA: PRACTICA No. Ex. PARCIAL EX. FINAL EX. SUS

PRGUNTAS PARA EXAMEN FINAL – SUSTITUTORIO - PROGRAMACION DIGITAL JMC


1. ¿Qué afirmaciones son correctas acerca de Netbeans y el ambiente Java?
i. En Java una clase llamada “Libro” es almacenada en un archivo llamado
“Libro.java”.
ii. El nombre de una clase en Java debe siempre empezar con una letra mayúscula, caso
contrario el programa no podrá ser ejecutado.
RPTA: i. Correcto, dado el nombre de la clase, automáticamente se genera el archivo con el
nombre indicado.
ii. Incorrecto. Sin embargo por convención los nombres de las clases siempre empiezan con
mayúscula lo cual da un orden.

2. Especifique si es posible declarar al método “main” como “private”. Explicar


RPTA: En java el método main debe ser declarado public static para que una aplicación se
ejecute correctamente. Si es declarado private no se obtendrá ningún error de compilación
pero tampoco se ejecutara .
3. ¿Cuál es el significado de la palabra clave “static” in Java y para se usa?

RPTA: La palabra “static” significa que una variable o un método pueden ser accedidos sin
requerir una iniciación de la clase a la que pertenece. La variable es iniciada en la clase y es
valida para todos los objetos de la misma.
4. ¿Cuál es la importancia de los métodos “get” y “set” cuando se define una clase.
RPTA . Ambos métodos nos permitirán acceder a las variables privadas. Los get para extraer
datos privados y los set para poder modificarlos.

5. Los métodos set y get pueden ser declarados private en su definicion?


RPTA: No ambos deben ser declarados public, porque es la forma como los clientes de dicha
clase acceden a los datos privados, ya sea para extraer información o para modificarlos.

6. Establecer si es correcto afirmar que los métodos estáticos son siempre públicos, debido a
que ellos están definidos al nivel de clase.

RPTA:Es falso porque los métodos estáticos también pueden ser privados y no hay
restricción.

7. ¿Que entiende por sobrecarga de los constructores de una clase?


RPTA: Significa usar el nombre de la clase para poder definir varios constructores de objetos
de la clase. Los constructores si, bien tienen el mismo nombre, poseen diferentes parámetros.
8. Asuma que esta definiendo una programa donde una clase define un Curso y otra clase a un
Alumno. ¿Cuál considera que debe ser la relación entre Curso y Alumno?
RPTA Composicion debido a que cada Curso tendrá Alumnos matriculados en el mismo.
9. Si caD=”FIEE” ha sido declarado como String ¿establecer una oración en Java que devuelva
el carácter ‘F’
RPTA: carac=caD.charAt(0);

10. ¿Cuál es el objetivo principal del GUI en Java?


RPTA: Tiene como objetivo facilitar la programación poniendo a disposición diversas
herramientas que permiten darle una distinción al programa y a la ves hacer mas asequible y
fácil de usar para los usuarios de un sistema.
11. ¿Qué imprime el siguiente código?
public class Test {
   public static void main(String... args) {
      int x =5;
      x *= 3 + 7;
     System.out.println(x);}
}

RPTA: Imprime 50 ya que x *= 3 + 7; equivale a  x=x*(3 + 7); 


12. Dada la definition de las siguientes clases .
public class Persona{
public void talk(){ System.out.print("Yo soy una Persona "); }
}
public class Estudiante extends Persona {
public void hablar(){ System.out.print("Yo soy un Estudiante "); }
}
¿Cuál es el resultado de las siguientes líneas de código?

public class Test{
public static void main(String args[]){
Person p = new Estudiante ();
p.hablar();
}

RPTA: Yo soy un Estudiante

13. ¿Qué produce o imprime el siguiente código?

class ClassA {
private int x;
public ClassA() { x=1; }
public ClassA( int x) { this.x = x+1;}
public void changeValue(int val) { x = x + val;}
}
class ClassADriver {
    public void doIt(){
       int value = 7;
       ClassA instance1 = new ClassA( value);
       instance1.x = value ­ 1;
       instance1.changeValue( 2);
       System.out.println("Valor es: " +instance1.x);
     }
 }
RPTA. Se produce un error porque la sentencia instance1.x = value ­ 1; no puede
acceder directamente a un dato que ha sido declarado private en la clase original.

14. ¿Que es lo que imprime el siguiente código o se produce un error? Explicar.

public class A {
    int k; boolean istrue; static int p;
    public void printValue() {
        System.out.print(k);
        System.out.print(istrue);
        System.out.print(p);
    }
}
public class Test{
     public static void main(String argv[]){
         A a = new A();
         a.printValue();
     }
}

RPTA: 0 false 0. Las variables globales y las estaticas no necesitan ser inicializadas antes de
ser usadas. El valor por default de la variable global y de la variable estatica int es cero. El
valor default de un boolean es false. Recuerde que las variables locales si tienen que ser
inicializadas.

15. ¿Cuál es la salida de las siguientes líneas de código?

public class Test{
               int _$; int $7;int do;
    public static void main(String argv[]){
        Test test = new Test();
        test.$7=7;
        test.do=9;
        System.out.println(test.$7);
        System.out.println(test.do);
        System.out.println(test._$);
    }
}
RPTA: No compila porque la variable do es una palabra reservada y no puede ser usada en
este contexto.

16. ¿Cuál es la salida de las siguientes líneas de código?


public class A {
     int i = 10;
     public void printValue() {System.out.println("Valor­A");
};
}
public class B extends A{
     int i = 12;
     public void printValue() { System.out.print("Valor­B");
}
}
public class Test{
     public static void main(String argv[]){
     A a = new B();
     a.printValue();
     System.out.println(a.i);
}
}
RPTA: Valor B-10
Al crear objetos de la suclase con referencia a la superclase tal como A a =new B; entonces el
metodo de la subclase y la variable de la superclase serán ejecutadas.

17. ¿Cuál es la salida para el siguiente código?


public class A {
     static{System.out.println("static ");}
     { System.out.println("bloque ");}
     public A(){
           System.out.println("A");
     }
public static void main(String[] args){
A a = new A();
}
RPTA: static bloque A Debido a que primero se ejecuta el bloque estatico, luego el bloque de
oracion y finalmente el constructor.

18. ¿Cuál es la salida del siguiente código? Explicar


public class Test {
public static void main(String[] args){
    int i = 010;
    int j = 07;
    System.out.println(i);
    System.out.println(j);
}

RPTA: 8 7 .Cuando se coloca un 0 delante del numero es un entero en forma octal y 010 en
octal equivale a 8. El otro numero equivale a 7.
19. Establecer el código que tiene que ir en la parte // INSERTAR CODIGO de modo que el
programa se ejecutara y producirá la salida “A.A1”
class A {
     class A1 {
         void printValue(){
               System.out.println("A.A1");
         }
     }
}
 public class Test{
        public static void main (String[] args){
            A a = new A();
            // INSERTAR CODIGO
            a1.printValue();
        }
 }
RPTA: A.A1 a1=a.new A1();
La sintaxis de iniciación puede ser A a =new A(); A.A1 a1=new A1();

20. Considere la jerarquía de herencia mostrada


en la figura. Discutir si es posible que tanto
Perro como GAto hereden los métodos
constructores definidos en Libro.

RPTA Los constructores nunca son heredados en Java. Si una subclase no tiene constructores,
el constructor el constructor default para la superclase es generado. Si la superclases no tiene
un constructor default entonces un error se genera

21. Defina una clase Vehiculo. Tiene como miembro privado un objeto dueño que pertenece a la
clase Persona. Defina un método que retorne al objeto dueño y otro método que modifique el
dueño.
RPTA:
class Vehicle {
      private Persona dueño;
      public Persona getDueño( ) {
             return dueño;
      }
      public void setDueño(Persona persona) {
           dueño = persona;
     }
}
22.

PROGRAMACION
1. Desarrolle un JFrame para administrar y mostrar los datos de los empleados de una empresa.
Considere que los datos de un empleado son: código, apellidos, descuento por AFP, grado de
estudio, sueldo neto y sueldo básico. Este último se asignará de acuerdo al grado de estudio
según la siguiente tabla:

Grado de estudio Sueldo básico en S/.


Técnico 1500
Bachiller 2500
Magister 4000
Doctor 5500

Considere que se aplica un descuento de 11.5% sobre el sueldo básico por retenciones por
AFP. El sueldo neto es el sueldo básico menos el descuento.

Ud debe crear la clase Empleado con todos los atributos necesarios e implementar lo
siguiente, mediante botones adecuados:

a. Un método que asigne los datos a los atributos.


b. Un método que calcule el sueldo básico, el descuento y el sueldo neto. Mostrar los datos
de los empleados, el sueldo básico, el sueldo neto, y el monto del descuento redondeados
a 2 decimales
c. Un método que retorne todos los datos del empleado.

2. En este ejercicio definirá una estructura que representa un seguro el cual tiene como datos privados su
numero, nombre, cobertura, prima, tiempo en meses. La clase, además de los métodos constructores y
los métodos set y get debe implementar métodos aumentar_prima, aumentar_cobertura,
disminuir_prima, disminuir_cobertura. Tambien un método que permita imprimir todos los datos del
seguro. El aumento de la cobertura, prima, disminución de cobertura, prima es de un 10% cada vez
que es invocado. La clase así definida tendrá dos subclases: 1) seguro_vehicular que tiene como dato
privado cobertura máxima y un método para establecer si se esta en la cobertura máxima y de ser ese
el caso, la cobertura se disminuye en un 15%. Debe tener un método que imprima todos los datos
particulares de esta sub clase. 2) Seguro hogar que tiene como dato privado tipo que puede ser contra
incendios o catástrofes. Un método que calcula la prima de acuerdo al tiempo y se calcula como
prima=200*tiempo en meses, y también debe tener un método que imprime todos los datos.

S-ar putea să vă placă și