Está en la página 1de 6

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA


Escuela Profesional de Ingeniería de Sistemas

ALGORITMICA Y PROGRAMACION ORIENTADA A OBJETOS


ALGORITMICA II
Primera Práctica calificada – Semana 7

Indicaciones:

i. Adjunte un archivo, documento (Word, PDF), o crea un documento de Google,


dando click en “+ Añadir o crear” donde da sus respuestas.
ii. Para la pregunta, conteste: utilizando lapicero, hoja en blanco; o en Word.
iii. Al final para entregar: Click en Marcar como tarea completada, enviar antes,
o a lo sumo hasta la fecha y hora indicada.
iv. La presente práctica es calificada.
v. El envío es individual, coloque su nombre y código de alumno en cada hoja.
vi. Recuerde practicar: honestidad, responsabilidad, puntualidad.

1. Utilizando el método random de la clase Math del paquete java.lang, realizar


un programa que muestre números aleatorios entre 5000 y 5500 ordenados
ascendentemente.
(6 puntos)

package Problemas;
import static java.lang.Math. *;
import java.util.Scanner;

public class NumeroAleatorio {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
int arreglo[],nElementos,i,j,aux,aleatorio;

System.out.print("Digite la cantidad de elementos: ");


nElementos = entrada.nextInt();

arreglo = new int[nElementos];

for(i=0;i<nElementos;i++){
do{
aleatorio = (int)(Math.random()*5500);
}while(aleatorio<5000||aleatorio>5500);
arreglo[i] = (int) aleatorio;
}
//Aplicando método burbuja
for(i=0;i<(nElementos-1);i++){
for(j=0;j<(nElementos-1);j++){
if(arreglo[j]>arreglo[j+1]){
aux=arreglo[j];
arreglo[j]=arreglo[j+1];
arreglo[j+1]=aux;
}
}
}

System.out.println("\nArreglo ordenado en forma creciente");


for(i=0;i<nElementos;i++){
System.out.print(arreglo[i]+"-");
}
System.out.println("");
}
}

2. Elabore diagrama de clases, seudocódigo o programa que contabilice una


cuenta de cheques. Al inicio se le introduce el nombre del cuentahabiente y el
saldo inicial. A continuación, se pueden hacer depósito y retiros. Cuando sea
depósito se incrementa al saldo y cuando sea retiro se resta. El programa
terminará cuando ya no se desee hacer movimientos. Se requiere la
impresión del siguiente reporte.

ESTADO DE CUENTA

CUENTA HABIENTE: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


SALDO INICIAL : 99,999,999.99

MOVIMIENTO DEPOSITO RETIRO SALDO

1 999,999.99 99,999,999.99
2 999,999.99 99,999,999.99
3 999,999.99 99,999,999.99
4 999,999.99 99,999,999.99
.
.
N

TOTALES 9,999,999.99 9,999,999.99 99,999,999.99


(7 puntos)

package Problemas;

public class EstadoCuenta {


private String cuentahabiente;
private static double saldoInicial= 99999999.99;
static double nuevoSaldo;
double movimientosDeposito[],movimientosRetiro[];
static int contarMovimiento=0;

public String getCuentahabiente() {


return cuentahabiente;
}

public void setCuentahabiente(String cuentahabiente) {


this.cuentahabiente = cuentahabiente;
}
public double deposito(double aumentar){
nuevoSaldo = this.saldoInicial + aumentar;
registrodeposito(nuevoSaldo);
return nuevoSaldo;
}

public double retiro(double quitar){


nuevoSaldo = this.saldoInicial - quitar;
registroretiro(nuevoSaldo);
return nuevoSaldo;
}

public void registrodeposito(double nuevoSaldo){


movimientosDeposito = new double[100];
contarMovimiento++;
movimientosDeposito[contarMovimiento] = nuevoSaldo;
}

public void registroretiro(double nuevoSaldo){


movimientosRetiro = new double[100];
contarMovimiento++;
movimientosRetiro[contarMovimiento] = nuevoSaldo;
}

package Problemas;

import java.util.Scanner;

public class test {


public static void main(String[] args) {
String nombre;
int opcion,i;
int contarMovimiento=0;
double aumento, reduccion;
Scanner entrada = new Scanner(System.in);
EstadoCuenta cuenta = new EstadoCuenta();

System.out.println("Digite el nombre del cuenta habiente: ");


nombre = entrada.nextLine();

cuenta.setCuentahabiente(nombre);

do{
System.out.println("¿Que desea hacer? ");
System.out.println("OPCION 1: DEPOSITAR ");
System.out.println("OPCION 2: RETIRO ");
System.out.println("OPCION 3: SALIR ");
opcion=entrada.nextInt();
switch(opcion){
case 1:
System.out.println("¿Cuanto depositara?");
aumento = entrada.nextDouble();
cuenta.deposito(aumento);
break;
case 2:
System.out.println("¿Cuanto retirara?");
reduccion = entrada.nextDouble();
cuenta.deposito(reduccion);
break;
}
contarMovimiento++;
}while(opcion!=3);

System.out.println("\t\tESTADO DE CUENTA");
System.out.println("CUENTA HABIENTE:
"+cuenta.getCuentahabiente());
System.out.println("SALDO INCIIAL: 99999999.99");
System.out.println("MOVIMIENTO\tDEPOSITO\tRETIRO\tSALDO");
for(i=1;i<=contarMovimiento;i++){
System.out.println(i+"\t"+cuenta.movimientosDeposito[i]+"\
t"+cuenta.movimientosRetiro[i]);
}

}
}

3. Dado el siguiente diagrama de clases, en una clase principal instancie uno o


más objetos, e implemente por lo menos cinco métodos.
(7 puntos)

public class test {


public static void main(String[] args) {
double depositar,retirar;
int contraseña;
Scanner entrada = new Scanner(System.in);
Account cuenta = new Account();
Customer cliente = new Customer();
ATM atm = new ATM();

System.out.println("¿Cuanto depositara?");
depositar = entrada.nextDouble();
cuenta.deposit(depositar);

System.out.println("¿Cuanto retirara?");
retirar = entrada.nextDouble();
cuenta.withdraw(retirar);

System.out.println(“Digite 1 si quiere crear la transaccion");


opcion = entrada.nextInt();
if(opcion = 1){
cuenta.createTransaction();
}
System.out.println(“Digite su contraseña");
contraseña = entrada.nextInt();
cliente.verifyPassword(contraseña);

System.out.println(“Digite 1 si quiere que se muestra la transaccion");


opcion = entrada.nextInt();
if(opcion = 1){
atm.transactions();
}
}

El profesor del curso

“El corazón del sabio está a su mano derecha, más


el corazón del necio a su mano izquierda”
Eclesiastés 10:2 (RVR 1960)

También podría gustarte