Upload
dirk-creeswel
View
220
Download
1
Embed Size (px)
DESCRIPTION
GUIA DE EJERCICIOS
Citation preview
import java
EJEMPLO DE DESARROLLO - PSEUDOCODIGO
Ejemplo 1.En una empresa que brinda mantenimiento a PCs se han clasificado a las maquinas de acuerdo al numero de desperfectos que estas presentan. Si la PC no tiene ninguna falla es tipo A, si la PC tiene 3 fallas se le considera tipo B y si la PC tiene mas de 3 fallas es tipo C.
Escribir un algoritmo para implementar este proceso, No se sabe cuantas PCs se evaluaran en un da, el algoritmo debe preguntar si se desea continuar y terminar el ingreso N. Asimismo al finalizar se debe mostrar por pantalla las estadsticas porcentuales correspondientes a la evaluacin de ese da.
Ejemplo del reporte a mostrar:
TIPO TOTAL DE COMPUTADORAS PORCENTAJEA 33 52.33%
B 24 38.71%
C 5 8.06%
Anlisis Del Problema:
En este problema se utilizara el mtodo LeeProcesaNumFallas() , el cual lee el numero de fallas de cada computadora y simultneamente procesa este dato, realiza la clasificacin correspondiente al numero de fallas, calcula las estadsticas solicitadas y finalmente muestra el mensaje correspondiente.
Asimismo se utiliza el mtodo MuestraEstadisticas(). Los contadores ContA, ContB y ContC deben ser inicializados en cero.
Clase Solucin Del Problema:
Clase Inspector
Atributos:
NumFallas
Mtodos:
LeeProcesaNumFallas()
MuestraEstadisticas()
Implementacin en Pseudocodigo: CLASE INSPECTOR
{ // Atributos
entero NumFallas
entero TipoA
entero TipoB
entero TipoC
//Mtodos
Inspector()
{ NumFallas = 0
TipoA = 0 , TipoB = 0 , TipoC = 0
}
LeeProcesoNumFallas( )
{ caracter Rpta =
Mientras (Rpta < > N y Rpta < > n)
Escribe (Ingrese el numero de fallas)
Leer ( NumFallas)
Si ( NumFallas = 0) TipoA = 100 ) TotalEnBonos = TotalEnBonos + 200
FinSi
FinPara
}
MuestraResultados()
{ Cadena NomVendedorGanadorEntero NumContratosGanador
Real TotalEnBonos
Escribir ( EL EJECUTIVO GANADOR ES : , NomVendedorGanador )Escribir (EL TOTAL DE CONTRAROS SON: ,NumContratosGanador )
Escribir (EL TOTAL A DESEMBOLSAR POR LA FINANCIERA ES: ) Escribir ( TotalEnBonos )
}
En Proceso:
BonosFinanciera Financiera nuevo BonosFinanciera ()
Financiera.ProcesaDatos()
Financiera .MuestraResultados()
Fin.
} //Fin de la clase.UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOSFACULTAD DE INGENIERIA DE SISTEMAS
E.A.P. INGENIERIA DE SISTEMASALGORITMICA II
PRACTICA 1: Lectura de datosEjemplo 1
//Clase Leer:
import java.io.*;
public class Leer {
public static void main(java.lang.String[] args) {
// Inserte aqu cdigo para iniciar la aplicacin.
int dato_int=0;
System.out.print("Ingrese un dato entero : ");
dato_int=Leer.datoInt();
System.out.println("El numero ingresado fue : "+dato_int);
}
//Mtodo datoInt :
public static int datoInt() {
return Integer.parseInt(dato());
}//Mtodo dato:
public static String dato() {
String sdato="";
try
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
sdato=flujoE.readLine();
}
catch (IOException e)
{
System.err.println("ERROR:"+e.getMessage());
}
return sdato;
}
}Ejemplo 2
import java.util.Scanner;
public class Lectura_suma_cScanner {
public static void main(String[] args) {
Scanner entrada=new Scanner(System.in);
int n1,n2,suma;
System.out.println("Numeros enteros para sumar");
System.out.print("Primer numero: ");
n1=entrada.nextInt();
System.out.print("Segundo numero: ");
n2=entrada.nextInt();
suma=n1+n2;
System.out.printf("La suma es %d \n",suma);
}
}**********************************************************************//import java.util.Scanner;
import javax.swing.JOptionPane;
public class lectura_suma_iG {
//private static String String;
public static void main(String[] args) {
//lectura_suma_iG entrada1=new lectura_suma_iG();
int n1,n2,suma;
String sn1,sn2,mensaje;
sn1=JOptionPane.showInputDialog("Dar dos enteros para sumar, primer numero: ");
n1=Integer.parseInt(sn1);
sn2=JOptionPane.showInputDialog("segundo numero: ");
n2=Integer.parseInt(sn2);
suma=n1+n2;
mensaje=String.format("La suma de los numeros es: %d",suma);
JOptionPane.showMessageDialog(null,mensaje);
}
}
Ejemplo 3
Construir una clase llamada Luz que simule una luz de semforo. El atributo color de la clase debe cambiar de Verde a Amarillo y a Rojo y de nuevo regresar a Verde mediante la funcin Cambio. Cuando se crea un objeto Luz, su color inicial ser Rojo.import java.io.*;
public class cLuz {
//Atributo
String color;
//Mtodos
cLuz(){
color="Rojo";
}
public void Cambio(){color="Verde";
System.out.println(color); color="Amarillo";
System.out.println(color);
color="Rojo";
System.out.println(color);
}
public static void main(String[] args) {
char rpta='s';
cLuz oLuz=new cLuz();
while(rpta=='s'){
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader flujoE=new BufferedReader(isr);
PrintStream flujoS=System.out;
try{
oLuz.Cambio();
flujoS.print("Desea continuar: ");
rpta=(char)flujoE.read();
}
catch(IOException e){
System.out.println("Error:"+e.getMessage());
}
}
}
}
PRACTICA 2: Objetos, Clases, Mtodosimport javax.swing.JOptionPane;
import java.util.*;
public class cPersona {
//privados:
String nombre;
int edad;
private int dia,mes,ao;
//publicos:
public void AsignarNombre(String nom){
nombre=nom;
}
public void AsignarEdad(int e){
edad=e;
}
public String ObtenerNombre(){
return nombre;
}
public int ObtenerEdad(){
return edad;
}
public void asignarFecha()
{
GregorianCalendar fechaActual= new GregorianCalendar();
dia=fechaActual.get(Calendar.DAY_OF_MONTH);
mes=fechaActual.get(Calendar.MONTH)+1;
ao=fechaActual.get(Calendar.YEAR);
}
public void asignarFecha(int dd){
asignarFecha();
dia=dd;
}
public void asignarFecha(int dd, int mm){
asignarFecha();
dia=dd; mes=mm;
}
public void asignarFecha(int dd, int mm, int aaaa){
dia=dd; mes=mm; ao=aaaa;
}
public static void main(String[] args) {
cPersona alumno=new cPersona();
cPersona profesor=new cPersona();
String tnom_a,tedad_a_s,tnom_p,tedad_p_s,mensaje_n_a,mensaje_e_a;
int tedad_a,tedad_p;
tnom_a=JOptionPane.showInputDialog("Nombre del alumno: ");
tedad_a_s=JOptionPane.showInputDialog("edad del alumno: ");
tedad_a=Integer.parseInt(tedad_a_s);
alumno.AsignarNombre(tnom_a);
alumno.AsignarEdad(tedad_a);
mensaje_n_a=String.format("Alumno: %s",alumno.ObtenerNombre());
mensaje_e_a = String.format("\n tiene: %d aos",alumno.ObtenerEdad());
JOptionPane.showMessageDialog(null,mensaje_n_a);
JOptionPane.showMessageDialog(null,mensaje_e_a);
tnom_p=JOptionPane.showInputDialog("Nombre del profesor: ");
tedad_p_s=JOptionPane.showInputDialog("edad del profesor: ");
tedad_p=Integer.parseInt(tedad_p_s);
profesor.AsignarNombre(tnom_p);
profesor.AsignarEdad(tedad_p);
mensaje_n_a=String.format("Profesor: %s",profesor.ObtenerNombre());
mensaje_e_a = String.format("\n tiene: %d aos", profesor.ObtenerEdad());
JOptionPane.showMessageDialog(null,mensaje_n_a);
JOptionPane.showMessageDialog(null,mensaje_e_a);
}
}UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA DE SISTEMAS
E.A.P. INGENIERIA DE SISTEMASALGORITMICA II
PRACTICA 3: Arreglo de Objetos
Dada la clase Alumno, con los datos: cdigo, nombre, promedio final; definir un arreglo de alumnos, para permitir: ingresar y agregar por cdigo cuando ste no existe, luego mostrar los alumnos ingresados. Al ingresar se debe buscar si el cdigo del alumno existe o no en el arreglo, para poder agregar o no al arreglo. Al aadir un elemento, se actualiza la longitud del arreglo de objetos, y luego se aade el objeto al final. Pedir el nmero de alumnos para procesar.Anlisis:Existen mtodos para ingresar, agregar por cdigo, mostrar, buscar alumno por cdigo, actualizar longitud del arreglo, aadir un objeto.
Clase(s) solucin:
Mtodo Principal:// Crear objeto Arreglo de alumnos vaco (con cero elementos)
Para el objeto definido llamar a ingresar();
Para el objeto definido llamar a mostrar();
************************************************************
public class Alumno {
String codigo;
String nombre;
int promediofinal;
public Alumno(){}
public Alumno(String cod,String nom,int pf){
codigo=cod;
nombre=nom;
promediofinal=pf;
}
public void setCodigo(String cod){
codigo=cod;
}
public void setNombre(String nom){
nombre=nom;
}
public void setPromediofinal(int pf){
promediofinal=pf;
}
public String getCodigo() {
return codigo;
}
public String getNombre() {
return nombre;
}
public int getPromediofinal() {
return promediofinal;
}
}
public class ArregloAlumnos {
private Alumno[] ca; //Arreglo de objetos de la clase Alumno
private int nElementos ; // No. de elementos del arreglo
public ArregloAlumnos(){
nElementos =0;
ca=new Alumno[nElementos]; // Crea arreglo Alumno vaco con
} // cero elementos
public boolean buscarAlumno(String cod) {
for(int i=0;i< nElementos;i++){
if(cod.equals(ca[i].getCodigo()))
{System.out.println("codigo encontrado");
return true;}
}
System.out.println("codigo no encontrado");
return false;
}
private void unElementoMas(Alumno[] listaActual){
nElementos =listaActual.length;
ca=new Alumno[nElementos +1];
for(int i=0;i< nElementos;i++)
ca[i]=listaActual[i];
nElementos ++;
}
public void ponerValorEn(int i,Alumno objeto){
if(i>=0 && i< nElementos)
ca[i]=objeto;
else
System.out.println("Indice fuera de limites");
}
public void agregarporcodigo(Alumno obj){
unElementoMas(ca);
ponerValorEn(nElementos -1,obj);
}
public void ingresar() {
String codigo_i,nombre_i;
int promediofinal_i;
Alumno at=new Alumno();
System.out.print("Codigo: ");
codigo_i=PromedioAlumnos.dato();
System.out.println("codigo ingresado: "+codigo_i);
if(!buscarAlumno(codigo_i)){
at.setCodigo(codigo_i);
System.out.print("Nombre: ");
nombre_i=PromedioAlumnos.dato();
at.setNombre(nombre_i);
System.out.print("Promedio final(entero): ");
promediofinal_i=PromedioAlumnos.datoInt();
agregarporcodigo(new Alumno(codigo_i,nombre_i,promediofinal_i));
}
}
public void visualizar(){
System.out.println("DATOS INGRESADOS");
for(int i=0;i< nElementos;i++){
System.out.print(ca[i].getCodigo()+" "+ca[i].getNombre()+" "+ca[i].getPromediofinal());
System.out.println();
}
}
}
import java.io.*;
public class PromedioAlumnos {
public static int datoInt(){
return Integer.parseInt(dato());
}
public static String dato(){
String sdato="";
try{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader flujoE=new BufferedReader(isr);
sdato=flujoE.readLine();
}
catch(IOException e){
System.err.println("ERROR"+e.getMessage());
}
return sdato;
}
public static void main(String[] args) {
int na;
ArregloAlumnos oa=new ArregloAlumnos();
System.out.print("Numero de alumnos: ");
na=PromedioAlumnos.datoInt();
for(int i=0;i1){
f=f*n;n=n-1;
}
return f;
}
public long factorial(long n){
long f=1;
while(n>1){
f=f*n--;
}
return f;
}
public boolean esPrimo(int n){
boolean primo=true;
int k=1;
while(++k