Está en la página 1de 15

Universidad Nacional de

Ingeniería
Facultad de Ingeniería Eléctrica y Electrónica

Grupo N°1
Alumno
Córdova Manrique, Jorge Eleo (20222590C)
Numero de Orden
4
Docente
Castillo Sandro, Trini
Curso
Programación Orientado a Objetos

Lima - 2023
RESOLUCION PC1
1. Diagramas con UML

1.1. Diagrama de casos de usos

1.2. Diagrama de clases


1.3. Diagrama de interacción

1.4. Diagrama de actividades en el proceso


2. Codificación

Archivo: SistemadeMatricula.java

package sistemadematricula;
import java.util.ArrayList;
import java.util.Scanner;
public class SistemadeMatricula {

public static void main(String[] args) {


//Voy a establecer una base de datos de tres
alumnos inscritos en la institucion académica

//Creamos un arraylist para los codigos de


tres alumnos
ArrayList<String> codigoAlumnos = new
ArrayList<String>();
codigoAlumnos.add("20222590C");
codigoAlumnos.add("20224561K");
codigoAlumnos.add("20223124J");
//Creamos otra arraylist para el promedio
ponderado de cada alumno
ArrayList<Integer> ponderado = new
ArrayList();
ponderado.add(7);
ponderado.add(12);
ponderado.add(14);
//Creando un objeto de la clase Alumno
Alumno metodo1 = new Alumno();
String codigo;
int promponderado = 0, creditos = 0;
codigo=metodo1.ingresarcodigodealummno();
String nombre;
Alumno metodo2 = new Alumno();
nombre=metodo2.nombrealumno();
for(int i = 0; i<codigoAlumnos.size();i++){
if(codigo == null ? codigoAlumnos.get(i)
== null : codigo.equals(codigoAlumnos.get(i))){
promponderado=ponderado.get(i);
}
}
System.out.println("Promedio ponderado del
ciclo cursado: "+ promponderado);
//Creando un metodo para calcular el numero de
creditos que debe llevar en el ciclo
if(promponderado<20&&promponderado>=14){
creditos=28;
}
else if(promponderado<14&&promponderado>=12){
creditos=26;
}
else if(promponderado<12&&promponderado>=10){
creditos=24;
}
else if(promponderado<10&&promponderado>=8){
creditos=20;
}
else if(promponderado<8&&promponderado>=0){
creditos=15;
}
System.out.println("Usted tiene "+ creditos+ "
creditos disponibles.");
System.out.println("Proceda a escoger los
cursos que desee: ");
//Creare un arreglo para insertar los cursos
que deseo matricularme+
ArrayList<Integer> inscritos = new
ArrayList<Integer>();
ArrayList<String> cursosinscritos = new
ArrayList<String>();
Cursos objcursos = new Cursos();
ArrayList<String> curso = objcursos.curso;
int j=0;
int numerocurso=0;

Scanner scanner = new Scanner(System.in);


while(creditos>0){
System.out.println("Selecciona el curso
que desee llevar escribiendo el numero que le
corresponde: \n");
System.out.println("1. Fundamentos de
Electricidad, Magnetismo y Optica.\n");
System.out.println("2. Ecuaciones
Diferenciales.\n");
System.out.println("3. Circuitos
electricos I.\n");
System.out.println("4. Calculo Vectorial.\
n");
System.out.println("5. Probabilidades y
Estadística.\n");
System.out.println("6. Programacion
Orientado a Objetos.\n");
System.out.println("7. Electrotecnia e
Instalacion de Redes.\n");
System.out.println("8. Economia.\n");
System.out.println("9. Metodos Numericos.\
n");
System.out.println("10. Etica y Filosofia
Politica.\n");
System.out.print("Numero del curso:");
numerocurso=scanner.nextInt();
switch(numerocurso){
case 1:{
if (!inscritos.contains(1)) {
System.out.println("Has
seleccionado matricular en curso Fundamentos de
Electricidad, Magnetismo y Optica.");
inscritos.add(1);
creditos=creditos-5;

cursosinscritos.add(curso.get(0));
} else {
System.out.println("Ya te has
matriculado en curso Fundamentos de Electricidad,
Magnetismo y Optica previamente.");
}
break;
}
case 2:{
if (!inscritos.contains(2)) {
System.out.println("Has
seleccionado matricular en curso Ecuaciones
Diferenciales.");
inscritos.add(2);
creditos=creditos-5;

cursosinscritos.add(curso.get(1));
} else {
System.out.println("Ya te has
matriculado en curso Ecuaciones Diferenciales
previamente.");
}
break;
}
case 3:{
if (!inscritos.contains(3)) {
System.out.println("Has
seleccionado matricular en curso Circuitos electricos
I.");
inscritos.add(3);
creditos=creditos-5;

cursosinscritos.add(curso.get(2));
} else {
System.out.println("Ya te has
matriculado en curso Circuitos electricos I
previamente.");
}
break;
}
case 4:{
if (!inscritos.contains(4)) {
System.out.println("Has
seleccionado matricular en curso Calculo Vectorial.");
inscritos.add(4);
creditos=creditos-5;

cursosinscritos.add(curso.get(3));
} else {
System.out.println("Ya te has
matriculado en curso Calculo Vectorial previamente.");
}
break;
}
case 5:{
if (!inscritos.contains(5)) {
System.out.println("Has
seleccionado matricular en curso Probabilidades y
Estadística.");
inscritos.add(5);
creditos=creditos-5;

cursosinscritos.add(curso.get(4));
} else {
System.out.println("Ya te has
matriculado en curso Probabilidades y Estadística
previamente.");
}
break;
}
case 6:{
if (!inscritos.contains(6)) {
System.out.println("Has
seleccionado matricular en curso Programacion
Orientado a Objetos.");
inscritos.add(6);
creditos=creditos-5;

cursosinscritos.add(curso.get(5));
} else {
System.out.println("Ya te has
matriculado en curso Programacion Orientado a Objetos
previamente.");
}
break;
}
case 7:{
if (!inscritos.contains(7)) {
System.out.println("Has
seleccionado matricular en curso Electrotecnia e
Instalacion de Redes.");
inscritos.add(7);
creditos=creditos-5;

cursosinscritos.add(curso.get(6));
} else {
System.out.println("Ya te has
matriculado en curso Electrotecnia e Instalacion de
Redes previamente.");
}
break;
}
case 8:{
if (!inscritos.contains(8)) {
System.out.println("Has
seleccionado matricular en curso Economia.");
inscritos.add(8);
creditos=creditos-5;

cursosinscritos.add(curso.get(7));
} else {
System.out.println("Ya te has
matriculado en curso Economia previamente.");
}
break;
}
case 9:{
if (!inscritos.contains(9)) {
System.out.println("Has
seleccionado matricular en curso Metodos Numericos.");
inscritos.add(9);
creditos=creditos-5;

cursosinscritos.add(curso.get(8));
} else {
System.out.println("Ya te has
matriculado en curso Metodos Numericos previamente.");
}
break;
}
case 10:{
if (!inscritos.contains(10)) {
System.out.println("Has
seleccionado matricular en curso Etica y Filosofia
Politica.");
inscritos.add(10);
creditos=creditos-5;

cursosinscritos.add(curso.get(9));
} else {
System.out.println("Ya te has
matriculado en curso Etica y Filosofia Politica
previamente.");
}
break;
}

}
//Secciones

System.out.println("Secciones disponibles: \
n");
Horario objsecciones = new Horario();
ArrayList<String> secciones =
objsecciones.secciones;
String sec;
Horario ob2 = new Horario();

sec=ob2.ingresaseccion();

//Procederemos a imprimir la boleta de


matricula
System.out.println("*************************\
n");
System.out.println("***Boleta de matricula***\
n");
System.out.println("*************************\
n");
System.out.println("\nNombre del alumno:
"+nombre);
System.out.println("\nPromedio ponderado: "+
promponderado);
System.out.println("\nCursos Matriculados:");
for(int k=0;k<cursosinscritos.size();k++){
System.out.println("\n-
"+cursosinscritos.get(k));
}
System.out.println("\nSeccion matriculada:
"+sec);
}
}
Archivo: Cursos.java

package sistemadematricula;
import java.util.ArrayList;

public class Cursos {


//Creando arreglos para cursos calsificados por su
numero de creditos
ArrayList<String> curso = new ArrayList<String>();

public Cursos(){
curso.add("Fundamentos de Electricidad, Magnetismo
y Optica");
curso.add("Ecuaciones Diferenciales");
curso.add("Circuitos electricos I");
curso.add("Calculo Vectorial");
curso.add("Probabilidades y Estadística");
curso.add("Programacion Orientado a Objetos");
curso.add("Electrotecnia e Instalacion de Redes");
curso.add("Economia");
curso.add("Metodos Numericos");
curso.add("Etica y Filosofia Politica");
}

Archivo: Alumno.java

package sistemadematricula;
import java.util.Scanner;

public class Alumno {


String nombre;
String codigo;

//Creando metodos
//Metodo para que ingrese el codigo de alumno

public String ingresarcodigodealummno(){


Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese su codigo de alumno:
");
codigo = scanner.nextLine();
return codigo;
}

public String nombrealumno(){


Scanner scanner = new Scanner(System.in);

System.out.print("\nIngrese su nombre: ");


nombre = scanner.nextLine();
return nombre;
}

Archivo: Horario.java

package sistemadematricula;
import java.util.ArrayList;
import java.util.Scanner;

public class Horario {


String sec;
//Vamos a crear las secciones
ArrayList<String> secciones = new
ArrayList<String>();
public Horario(){
secciones.add("M");
secciones.add("N");
secciones.add("O");
secciones.add("P");
}
//Vamos a añadir los metodos
public String ingresaseccion(){
Scanner scanner = new Scanner(System.in);
System.out.println("\nSecciones Disponibles." );
System.out.println("\nSeccion:
"+secciones.get(0) );
System.out.println("\nSeccion:
"+secciones.get(1) );
System.out.println("\nSeccion:
"+secciones.get(2) );
System.out.println("\nSeccion:
"+secciones.get(3) );
System.out.println("\nEscriba su seccion: \n");
sec=scanner.nextLine();
return sec;
}

3. Demostración

Para la demostración, escribiré uno de los códigos de alumnos que están en


la base de datos (alumnos matriculados en la institución académica):
Alumno 1: 20222590C
Alumno 2: 20224561K
Alumno 3: 20223124J

El programa me pide ingresar el código de alumno inscrito en la


universidad.

Ingreso el código del alumno 1 y ahora me pide que ingrese el nombre:

Vemos que el programa busca en su base de datos al alumno con el código


que se ingresó. Dicho alumno tiene un promedio ponderado de los ciclos
anteriores y en base a ese número, el programa calcula el número de
créditos que le corresponde.

Nos pedirá escribir un numero para escoger los cursos que queramos.
Por ejemplo, si presiono 1.
Ahora, el programa también detecta si el número que ingresas ya es un
curso que se registró previamente, por ejemplo, si ahora presiono 1 de
nuevo, me saldrá lo siguiente.

Ya escojo mis cursos con los créditos que tengo. Luego me pide que escoja
la sección a la que deseo estar.

Y finalmente, obtengo mi boleta de matricula

También podría gustarte