practicas algo2 2015 1 profesor guerra

48
EJEMPLO DE DESARROLLO - PSEUDOCODIGO Ejemplo 1. En una empresa que brinda mantenimiento a PC’s 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 PC’s se evaluaran en un día, el algoritmo debe preguntar si se desea continuar y terminar el ingreso “N”. Asimismo al finalizar se debe mostrar por pantalla las estadísticas porcentuales correspondientes a la evaluación de ese día. Ejemplo del reporte a mostrar: TIPO TOTAL DE COMPUTADORAS PORCENTAJE A 33 52.33% B 24 38.71% C 5 8.06% Análisis Del Problema: En este problema se utilizara el método LeeProcesaNumFallas() , el cual lee el numero de fallas de cada computadora y simultáneamente procesa este dato, realiza la clasificación correspondiente al numero de fallas, calcula las estadísticas solicitadas y finalmente muestra el mensaje correspondiente. Asimismo se utiliza el método MuestraEstadisticas(). Los contadores ContA, ContB y ContC deben ser inicializados en cero. 1

Upload: dirk-creeswel

Post on 17-Dec-2015

221 views

Category:

Documents


1 download

DESCRIPTION

GUIA DE EJERCICIOS

TRANSCRIPT

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