Está en la página 1de 6

INSTITUTO DE EDUCACIÓN SUPERIOR CIBERTEC

DIRECCIÓN ACADÉMICA
CARRERAS PROFESIONALES

CURSO : Algoritmos y Estructura de Datos (4683)


CICLO : Segundo NOTA
DURACIÓN : 90 minutos
TURNO : Diurno 1

ALUMNO (A) : Arturo Alonso Maquera Pariona

EVALUACIÓN PARCIAL (CP1)

Logro
Tenga presente que el logro de esta evaluación es que usted conozca e implemente, los
conocimientos previos en los conceptos de clases, objetos, encapsulamiento y arreglos lineales de
la programación orientada a objetos en la construcción de aplicaciones con lenguaje de
programación Java.

Consideraciones generales
 La prueba se desarrolla íntegramente en modalidad virtual.
 Se considera, en la evaluación, la claridad y el orden de las respuestas.
 La evaluación será resuelta en función al caso expuesto.

Puntaje Llenar solo en caso de Recalificación justificada


Pregunta
Máximo Obtenido Sustento Puntaje
1 08
2 12

IES CIBERTEC 1
Pregunta 1:

Rúbrica
Pregunta 1 8 puntos 4 puntos 2 puntos 0 puntos

Responde de manera Responde de manera Responde de manera No responde


8 correcta los tres casos correcta sólo los casos A y B correcta sólo uno de los ningún caso
puntos propuestos. propuestos ó responde sólo casos A o B propuestos. propuesto.
el caso C.

A) Analice el siguiente código e indique los valores que se mostrarían (2 puntos)

int[] x = { 1, 2, 3, 4 };
x = new int[4];
for (int i=0; i<x.length; i++)
txtS.append(x[i] + " ");

a) 0 0 0 0 b) 1 0 0 0 c) 1 2 0 0 d) 1 2 3 0 e) 1 2 3 4

B) Responda las siguientes afirmaciones como (V) Verdadero o F (Falso) (2 puntos)

a. En Java la dimensión de un arreglo puede cambiar en cualquier momento ( F )


b. Los arreglos pueden ser redimensionados con diferente tipo de dato (V )
c. La última posición del arreglo es el tamaño total del arreglo menos uno (F )
d. Cada elemento de un arreglo está definido con el mismo tipo de dato (V )

C) Responder al siguiente cuestionario: (4 puntos)

a) ¿Qué es la referencia this? Ejemplifique

Se usa como modificador del primer parámetro de un método de extensión como


referencia de variables de instancias de la clase

b) ¿Qué son los métodos de acceso?

En una clase, especificamos los modificadores de acceso para controlar el alcance de


diferentes campos y métodos que pertenecen a la clase. No podemos acceder a
miembros private  y protected desde fuera de la clase. Sin embargo, podemos usar los
métodos de acceso para devolver el valor del campo private

Pregunta 2:

IES CIBERTEC 2
Rúbrica
Pregunta 2 12 puntos 8 puntos 4.8 puntos 2.4 puntos

Implementa la clase Implementa la clase Implementa la clase Implementa la clase


ArregloPesos, el ArregloPesos, el ArregloPesos, el ArregloPesos, el
constructor y los diez constructor y los diez constructor y los diez constructor y cinco
métodos solicitados. métodos solicitados. métodos solicitados. métodos solicitados.
12 Asimismo, implementa la Asimismo, implementa la
Diseñe puntos clase principal, crea el clase principal, crea el
una objeto, el método listado y objeto, el método listado.
los botones de acción
clase solicitados.

Arreglo_NombresDelEstudiante en el paquete ApellidoPaterno_y_ApellidoMaterno con el


atributo privado nombres (String) de tipo arreglo lineal y el atributo privado indice (int).

Implemente además (Todos los nombres de métodos deben contener sus apellidos):

- Un Constructor sin parámetros que reserve 7 espacios en nombres e inicialice con 0 al


indice.
- Un método que retorne la cantidad de datos ingresados hasta ese momento.
- Un método que reciba una posición y retorne el nombre registrado en dicha posición.
- Un método privado ampliarArreglo que extienda el arreglo en siete espacios más.
-Un método que reciba un nombre y lo registre en la posición que corresponda. Verifique
primero si el arreglo está lleno para invocar al método ampliarArreglo.
- Un método eliminarAlFinal que elimina lógicamente el último nombre del arreglo.
- Un método eliminarTodo que elimina lógicamente todos los nombres.
- Un método nombreMayorLongitud que retorne el nombre que tiene la mayor longitud.
- Un método posPrimerNombreIniciaConM que retorne la posición del primer nombre que
inicia con M. En caso no exista retorne -1.
- Un método posPenultimoNombreIniciaConA que retorne la posición del penúltimo nombre
que inicia con la letra A. En caso no exista retorne -1.
- Un método reemplazarTodo que reemplace a todos los nombres por “Rosita”.

En la clase principal:

- Declare y cree el objeto global ae_inicialesDeSusApellidos de tipo del arreglo creado.


- Implemente un método que visualice los nombres registrados hasta ese momento.
- A la pulsación del botón Adicionar lea un nombre por GUI y adiciónela al arreglo.
Invoque luego al método listar.
- A la pulsación del botón Eliminar Al Final invoque al método eliminarAlFinal e invoque al
método listar. En caso que el arreglo esté vacío muestre el mensaje respectivo.
- A la pulsación del botón Eliminar Todo invoque al método eliminarTodo. En caso que el
arreglo esté vacío muestre el mensaje respectivo.
- A la pulsación del botón Reportes invoque a los métodos creados. En caso corresponda,
muestre un mensaje al respecto.
- A la pulsación del botón Reemplazar invoque al método reemplazarTodo. En caso
corresponda, muestre un mensaje al respecto.

Adjuntar el código por este medio

Clase Arreglo_NombresDelEstudiante(Mantener formato del código )

IES CIBERTEC 3
public class ArregloArturo {
//Atributos Privados
private String nombres[];
private int indice;

//Constructor
public ArregloArturo() {
nombres = new String[7];
indice = 0;
}

/**
* Métodos Públicos
*/

public int tamanio() {


return indice;
}

public String obtener(int pos) {


return nombres[pos];
}

//Un método adicionar

public void adicionar(String nomb) {


if (indice == nombres.length) {
ampliarArreglo();
}
nombres[indice] = nomb;
indice++;
}

//Un método eliminarAlFinal que elimina lógicamente el último nombre del


//arreglo.
private void eliminarAlFinal() {
indice--;
}

//Un método eliminarTodo que elimina lógicamente todos los nombres.


public void eliminarTodo() {
indice = 0;
}

/**
* Métodos privados
*
*/

private void ampliarArreglo() {


// paso 1 : Guardar los datos al arreglo "aux para que no se
// pierda
// la data >
String[] aux = nombres;
// paso 2 : ampliar el arreglo en 7 espacios más

IES CIBERTEC 4
nombres = new String[indice + 7];
//paso 3 : Retornar los valores del arreglo "aux" al arreglo ampliado
"edad"
for (int i = 0; i < indice; i++)
nombres[i] = aux[i];
}

// Un método nombreMayorLongitud que retorne el nombre que tiene la mayor


longitud.

public String nombresMayorLongitud() {


int mayor = nombres[0].length();
String nombMayLong = nombres[0];

for (int i = 0; i < tamanio(); i++) {


if(obtener(i).length()> mayor) {
mayor = obtener(i).length();
nombMayLong = obtener(i);
}
}
return nombMayLong;
}
// Un método posPrimerNombreIniciaConM que retorne la posición del primer
nombre
//producto que inicia con M. En caso no exista retorne -1.
public int posPrimerNombreIniciaconM() {
int cont = 0;
for (int i = 0; i < tamanio(); i++) {
if (obtener(i).substring(0,1).equals("M")){
cont ++;
if(cont == 2) {
return i;
}

}
return -1;
}

// Un método posPenultimoNombreIniciaConA que retorne la posición del


penúltimo nombre
//producto que inicia con la letra A. En caso no exista retorne -1.
public int posPenultimoNombreIniciaConA() {
for (int i = tamanio() -1; i >= 0; i --) {
if (obtener(i).substring(0, 1).equalsIgnoreCase ("A")) {
return i;
}
}
return -1;
}

// Un método reemplazarTodo que reemplace a todos los nombres por “Rosita”.

public void reemplazarTodo() {

IES CIBERTEC 5
for (int i =0; i < tamanio(); i++) {
nombres[i] = "Rosita";
}
}

Clase principal GUI ( Mantener formato del código)

IES CIBERTEC 6

También podría gustarte