Please enable / Bitte aktiviere JavaScript!
Veuillez activer / Por favor activa el Javascript![ ? ]
Este foro usa cookies
Este foro usa cookies para almacenar tu sesión de inicio si estás registrado, y de tu última visita si no lo estás. Las Cookies son un pequeños documento de texto almacenado en tu PC; las cookies de este foro sólo pueden ser usadas en el mismo y no suponen ninguna amenaza para tu seguridad. Estas Cookies también anotan los hilos que has leído y cuándo lo has hecho. Por favor, confirma si aceptas o declinas el uso de estas cookies.

Una cookie será almacenada en tu navegador a pesar de tu decisión para prevenir que este mensaje te vuelva a aparecer. Podrás cambiar la configuración de las cookies en cualquier momento siguiendo el enlace de la parte inferior.

Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.

Nombre de usuario/Email:
  

Contraseña
  





Buscar en los foros

(Búsqueda avanzada)

Estadísticas del foro
» Miembros: 580
» Último miembro: dani
» Temas del foro: 400
» Mensajes del foro: 851

Estadísticas totales

Últimos temas
examen 2023/2024
Foro: Sistemas lineales
Último mensaje por: jyl
31-10-2024, 10:59
» Respuestas: 0
» Vistas: 105
ejercicios de examen ( bi...
Foro: Componentes y Dispositivos
Último mensaje por: jyl
31-10-2024, 10:56
» Respuestas: 0
» Vistas: 109
TDCs cursos 22-23 y 23-24
Foro: Conmutación
Último mensaje por: varo
01-09-2024, 15:03
» Respuestas: 0
» Vistas: 349
Examen prácticas 2024
Foro: Teoría de la comunicación
Último mensaje por: varo
01-09-2024, 14:58
» Respuestas: 0
» Vistas: 116
segundo parcial
Foro: Transmisión de datos
Último mensaje por: jyl
28-07-2024, 17:49
» Respuestas: 0
» Vistas: 91
segundo parcial
Foro: Redes y servicios de telecomunicaciones
Último mensaje por: jyl
24-07-2024, 00:53
» Respuestas: 0
» Vistas: 187
Prácticas curso 23/24
Foro: Componentes y Dispositivos
Último mensaje por: varo
14-07-2024, 11:22
» Respuestas: 0
» Vistas: 213
2do parcial
Foro: Redes inalámbricas
Último mensaje por: casanova
24-06-2024, 18:30
» Respuestas: 1
» Vistas: 207
problema 1 del examen de ...
Foro: Teoría de la comunicación
Último mensaje por: jyl
15-06-2024, 01:53
» Respuestas: 0
» Vistas: 209
Parciales del 2024
Foro: Teoría de la comunicación
Último mensaje por: jyl
04-06-2024, 20:28
» Respuestas: 0
» Vistas: 389

 
  Clase teclado.java
Enviado por: alfonso - 04-01-2016, 12:15 - Foro: Fundamentos de Programación - Respuestas (1)

Paquete que contiene únicamente la clase Teclado en la que se recogen un conjunto de métodos para el manejo de la entrada desde teclado. Estos métodos permiten la lectura de datos de todos los tipos básicos java (a excepción de booleanos): char, byte, short, int, double y float. También se incorporan métodos para la entrada de String. 
La entrada se hace por líneas => se lee una línea (String) y se busca en ella el tipo de dato requerido llamando a al método parse correspondiente.
Ninguno de los métodos lanza excepciones. Si se producen, se capturan y se muestra un mensaje de error pero en ningún caso se relanzan.

Código PHP:
package utilidades;
// =====================================================================                
// MODO DE USO: Colocar este paquete en C:\jdk1.3\jre\classes\Teclado\
//              y compilarlo en ese directorio.
//              Añadir en Packages - ClassPath el directorio 
//                  C:\jdk1.3\jre\classes\
//              Para utilizar el paquete, es necesario realizar el 
//                 siguiente import:
//                     import Teclado.*;
// =====================================================================


//package Teclado; 

import java.io.*;

public class 
Teclado {
    
    public static final 
byte     BYTE_ERR     =    Byte.MAX_VALUE;
    public static final 
short     SHORT_ERR     =     Short.MAX_VALUE;
    public static final 
int     INT_ERR     =    Integer.MAX_VALUE;
    public static final 
double     DOUBLE_ERR     =     Double.MAX_VALUE;
    public static final 
float      FLOAT_ERR     =     Float.MAX_VALUE;
    public static final 
char      CHAR_ERR     =     Character.MAX_VALUE;
    public static final 
String    STRING_ERR     =     null;
    
    
    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>byte</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>byte</b></code> introducido por el usuario o <code><b>Teclado.BYTE_ERR</b></code> si no se introdujo un byte.
     */
    
public static byte readByte () {
        
byte val=BYTE_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Byte.parseByte (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnByte): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnByte): Valor introducido no byte");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnByte): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>short</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>short</b></code> introducido por el usuario o <code><b>Teclado.SHORT_ERR</b></code> si no se introdujo un byte.
     */
    
public static short readShort () {
        
short val=SHORT_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Short.parseShort (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnShort): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnShort): Valor introducido no short");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnShort): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>int</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>int</b></code> introducido por el usuario o <code><b>Teclado.INT_ERR</b></code> si no se introdujo un byte.
     */
    
public static int readInt () {
        
int val=INT_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Integer.parseInt (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnInt): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnInt): Valor introducido no entero");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnInt): Ocurrió una excepción");
        }
        return 
val;
    }


    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>double</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>double</b></code> introducido por el usuario o <code><b>Teclado.DOUBLE_ERR</b></code> si no se introdujo un byte.
     */
    
public static double readDouble () {
        
double val=DOUBLE_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Double.parseDouble (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnDouble): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnDouble): Valor introducido no double");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnDouble): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>float</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>float</b></code> introducido por el usuario o <code><b>Teclado.FLOAT_ERR</b></code> si no se introdujo un byte.
     */
    
public static double readFloat () {
        
float val=FLOAT_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Float.parseFloat (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnFloat): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnFloat): Valor introducido no float");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnFloat): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>char</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>char</b></code> introducido por el usuario o <code><b>Teclado.CHAR_ERR</b></code> si no se introdujo un byte.
     */
    
    
public static char readChar () {
        
char val CHAR_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val = (charin.read(); 
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnChar): Imposible leer caracter");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnChar): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>String</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>String</b></code> introducido por el usuario o <code><b>Teclado.STRING_ERR</b></code> si no se introdujo un byte.
     */
    
public static String readString () {
        
String val=STRING_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val in.readLine();
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnString): Imposible leer línea");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnString): Ocurrió una excepción");
        }
        return 
val;
    }




Imprimir

  Práctica 5
Enviado por: alfonso - 04-01-2016, 12:08 - Foro: Fundamentos de Programación - Respuestas (2)

Código PHP:
package p5;

public class 
Punto implements IForma {
    private 
double x,y;
    private 
int color;
    
    public 
Punto(){
        
this.setX(0);
        
this.setY(0);        
    }
    public 
Punto(double edouble i){
        
this.setX(e);
        
this.setY(i);        
    }
    public 
void setX(double e){
        
this.e;
    }
    public 
void setY(double i){
        
this.i;
    }
    public 
Punto clonar(){
        return new 
Punto(this.getX(),this.getY());
    }
    public 
String toString(){
        return 
"P[" getX()+", "getY()+"]";
    }

    @
Override
    
public double getX() {
        
// TODO Auto-generated method stub
        
return this.x;
    }

    @
Override
    
public double getY() {
        
// TODO Auto-generated method stub
        
return this.y;
    }

    @
Override
    
public double getOrientacion() {
        
// TODO Auto-generated method stub
        
return 0;
    }

    @
Override
    
public IForma girar(double gradosdouble xdouble y) {
        
double angulo Math.toRadians(grados);
 
       double x1 x+Math.cos(angulo)*(this.x-x)-Math.sin(angulo)*(this.y-y);
 
       double y1 y+Math.sin(angulo)*(this.x-x)+Math.cos(angulo)*(this.y-y);
 
       return new Punto (x1y1);
    }

    @
Override
    
public IForma girar(double grados) {
        
// TODO Auto-generated method stub
        
return this.clonar();
    }

    @
Override
    
public IForma trasladar(double deltaXdouble deltaY) {
        return new 
Punto (this.x+deltaX,this.y+deltaY);
    }

    @
Override
    
public double distancia(double xdouble y) {
        
// TODO Auto-generated method stub
        
return 0;
    }

    @
Override
    
public IForma escalar(double k) {
        
// TODO Auto-generated method stub
        
return null;
    }

    @
Override
    
public void setColor(int code) {
        
color code;        
    }

    @
Override
    
public int getColor() {
        return 
this.color;
    }
    



Código PHP:
package p5;

public class 
TrianguloEquilatero implements IPoligonoRegularIForma {
    private 
Punto p1,p2,p3;
    private 
double y;
    private 
int color;

    public 
TrianguloEquilatero() {
        
double y1 50*Math.tan(Math.toRadians(30));
        
p1 = new Punto (0,y1);
        
p2 = (Puntop1.girar(120,0,0);
        
p3 = (Puntop2.girar(120,0,0);
    }
    public 
TrianguloEquilatero(double lado){
        
double y1 lado*Math.tan(Math.toRadians(30));
 
       p1 = new Punto (0,y1);
 
       p2 = (Puntop1.girar(120,0,0);
 
       p3 = (Puntop2.girar(120,0,0);    
    }

    public 
Punto[] getVertices() {
 
       Punto vertices [] = {p1,p2,p3};
 
       return vertices;
 
   }

 
   public double getLado() {
 
       return p1.distancia(p2.getX(), p2.getY());
 
   }

 
   public void orientar(Vector v) {
 
       double orientacion v.getOrientacion()-getOrientacion();
 
       girar(orientacion,getCentro());
 
   }

 
   public void girar(double gradosPunto cdg) {
 
       p1 = (Puntop1.girar(gradoscdg.getX(), cdg.getY());
 
       p2 = (Puntop2.girar(gradoscdg.getX(), cdg.getY());
 
       p3 = (Puntop3.girar(gradoscdg.getX(), cdg.getY());
 
   }


 
   public void trasladar(Vector v) {
 
       p1 = (Puntop1.trasladar(v.getCompX(), v.getCompY());
 
       p2 = (Puntop2.trasladar(v.getCompX(), v.getCompY());
 
       p3 = (Puntop3.trasladar(v.getCompX(), v.getCompY());
 
   }

 
   public Punto getCentro() {
 
       double x p1.getX()+p2.getX()+p3.getX();
 
       double y p1.getY()+p2.getY()+p3.getY();
 
       return new Punto (x/3,y/3);
 
   }

 
   public Vector getUnitario() {
 
       Vector a = new Vector (getCentro(),p1);
 
       return new Vector (getCentro(),1,a.getOrientacion());
 
   }

 
   public double getArea() {  
        double h 
getLado()*Math.sin(Math.PI/3);
 
       return getLado()*h/2;
 
   }

 
   public double getPerimetro() {
 
       return 3*getLado();
 
   }

 
   public void reset() {
 
       Vector trasladar = new Vector (getCentro(),new Punto());
 
       trasladar(trasladar);
 
   }

 
   public double getX() {
 
       return getCentro().getX();
 
   }

 
   public double getY() {
 
       return getCentro().getY();
 
   }

 
   public double getOrientacion() {
 
       return getUnitario().getOrientacion();
 
   }

 
   public IForma girar(double gradosdouble xdouble y) {
 
       p1 = (Puntop1.girar(grados,x,y);
 
       p2 = (Puntop2.girar(grados,x,y);
 
       p3 = (Puntop3.girar(grados,x,y);
 
       return this;
 
   }

 
   public IForma girar(double grados) {
 
       double x getX();
 
       double y getY();
 
       p1 = (Puntop1.girar(grados,x,y);
 
       p2 = (Puntop2.girar(grados,x,y);
 
       p3 = (Puntop3.girar(grados,x,y);
 
       return this;
 
   }

 
   public IForma trasladar(double deltaXdouble deltaY) {
 
       p1 = (Puntop1.trasladar(deltaXdeltaY);
 
       p2 = (Puntop2.trasladar(deltaXdeltaY);
 
       p3 = (Puntop3.trasladar(deltaXdeltaY);
 
       return this;
 
   }

 
   public double distancia(double xdouble y) {
 
       return getCentro().distancia(xy);
 
   }

 
   public IForma escalar(double k) {
 
       Punto centro getCentro();
 
       Vector a = (Vector) new Vector (centro,p1).escalar(k);
 
       p1 a.getExtremo();
 
       p2 = (Puntop1.girar(120,centro.getX(),centro.getY());
 
       p3 = (Puntop2.girar(120,centro.getX(),centro.getY());
 
       return this;
 
   }

 
   public void setColor(int code) {
 
       color code;
 
   }

 
   public int getColor() {
 
       return color;
 
   }

 
   public String toString (){
 
       return "Triángulo --> C:P[" +getX()+ ", " +getY()+ "], L:" +getLado()+ 
 
               ", P[" p1.getX() +", " +p1.getY()+ "], P[" +p2.getX()+ ", " +p2.getY()+ 
 
               "], P[" +p3.getX()+ ", " +p3.getY()+ "], theta = "+getOrientacion(); 
 
   }


Código PHP:
package p5;

public class 
Vector implements IForma {
    private 
Punto o,e;
    private 
double modang;
    private final static 
Punto defecto = new Punto(0,0);
    private 
int color;

    public 
Vector() {
        
= new Punto(0,0);
        
= new Punto(1,0);
        
//mod=1;
        
ang=0;
    }
    public 
Vector(double fdouble i){
        
= new Punto(0,0);
        
= new Punto(f,i);
        
//mod=Math.sqrt((f*f)+(i*i));
        
ang=Math.toRadians(Math.atan(i/f));
    }
    public 
Vector(Punto a){
        
= new Punto(0,0);
        
a.clonar();
        
//mod=Math.sqrt((a.getX()*a.getX())+(a.getY()*a.getY()));
        
ang=Math.toRadians(Math.atan(a.getY()/a.getX()));
    }
    public 
Vector(Punto aPunto b){
        
a.clonar();
        
b.clonar();
        
//mod=Math.sqrt(Math.pow((b.getX()-a.getX()),2)+(Math.pow((b.getY()-a.getY()), 2)));
        
ang=Math.toRadians(Math.atan((b.getY()-a.getY())/(b.getX()-a.getX())));
    }
    public 
Vector(Punto adouble bdouble c){
        
mod b;
        
ang =Math.toRadians(c);
        
a.clonar();
        
= new Punto((a.getX()+Math.cos(ang)*mod),a.getY()+(Math.sin(ang)*mod));        
    }
    public 
Vector clonar(){
        return new 
Vector(this.o,this.e);
    }
    public 
String toString(){
        
String h = ("Vector O: P["+o.getX() +","+o.getY()+"] E["+e.getX()+","+e.getY()+"] |v|="+mod+", ang = "+ang);
        return 
h;
    }
    public 
double getCompX(){
        return 
e.getX()-o.getX();
    }
    public 
double getCompY(){
        return 
e.getY()-o.getY();
    }
    public 
Punto getPuntoAplicacion(){
        return 
o;
    }
    public 
Punto getExtremo(){
        return 
e;
    }
    public 
double modulo(){
        return 
Math.sqrt(getCompX()*getCompX()+getCompY()*getCompY());
    }
    public 
Vector getUnitario(){
        return new 
Vector(this.o,1,this.ang);        
    }
    public static 
Vector getUnitario(double gr){
        return new 
Vector(defecto,1,gr);    
    }

    @
Override
    
public double getX() {
        return 
o.getX();
    }

    @
Override
    
public double getY() {
        return 
o.getY();
    }

    @
Override
    
public double getOrientacion() {
        return 
Math.toDegrees(Math.atan2(getCompY(),getCompX()));
    }

    @
Override
    
public IForma girar(double gradosdouble xdouble y) {
        
Punto o = (Puntothis.o.girar(grados,x,y);
        
Punto e = (Puntothis.e.girar(grados,x,y);
        return new 
Vector (o,e);
    }

    @
Override
    
public IForma girar(double grados) {
        return new 
Vector(o,(Puntoe.girar(grados,o.getX(),o.getY()));
    }

    @
Override
    
public IForma trasladar(double deltaXdouble deltaY) {
        return new 
Vector(new Punto (o.getX()+deltaXo.getY()+deltaY),new Punto (e.getX()+deltaXe.getY()+deltaY));
    }

    @
Override
    
public double distancia(double xdouble y) {
        return 
o.distancia(xy);
    }

    @
Override
    
public IForma escalar(double k) {
        return new 
Vector (omodulo()*k,getOrientacion());
    }

    @
Override
    
public void setColor(int code) {
        
color=code;
    }

    @
Override
    
public int getColor() {
        return 
color;
    }


Imprimir

  Práctica 4
Enviado por: alfonso - 04-01-2016, 12:04 - Foro: Fundamentos de Programación - Respuestas (1)

Código PHP:
package p4;
import p4.Matrices;
import utilidades.Teclado;

public class 
ProcesarArrays {


    
// PRÁCTICA 4 EJERCICIO 1 ............................................................
    
public static void invertir(int a []){
        if(
a!=null){
            
int b[] = new int [a.length];
            
int j=a.length-1;
            for(
int i=0;i<a.length;i++){
                
b[j--]=a[i];
            }

            
System.out.print("La matriz inversa de (");
            for(
int i=0;i<a.length;i++){
                
System.out.print(a[i]+ " ");
            }
            
System.out.print(") es (");
            for(
int i=0;i<b.length;i++){
                
System.out.print(b[i]+ " ");
            }
            
System.out.println(")");
        }else 
System.out.println("El elemento de entrada es NULL");
        if(
a.length==0System.out.println("El elemento de entrada es de dimension 0");
    }

    
// PRÁCTICA 4 EJERCICIO 2..........................................................
    
public static int [] ordenar(int [] aboolean ascendente){
        
int b[]= new int [a.length];
        
int aux;
        if(
a==null) return null;
        for(
int g=0;g<a.length;g++){
            
b[g]=a[g];
        }
        if(
ascendente==true){
            for(
int i=0;i<b.length-1;i++){
                for(
int j=0;j<b.length-1-i;j++){
                    if(
b[j]>b[j+1]){
                        
aux=b[j];
                        
b[j]=b[j+1];
                        
b[j+1]=aux;
                    }
                }
            }
        }else{
            for(
int i=0;i<b.length-1;i++){
                for(
int j=0;j<b.length-1-i;j++){
                    if(
b[j]<b[j+1]){
                        
aux=b[j];
                        
b[j]=b[j+1];
                        
b[j+1]=aux;
                    }
                }
            }
        }
        return 
b;
    }
    
// PRÁCTICA 4 EJERCICIO 3.....................................................
    
public static boolean hayRepetidos(int a []){
        if(
a==null || a.length==1) return false;
        for(
int i=0;i<a.length;i++){
            for(
int j=i+1;j<a.length;j++){
                if(
a[i]==a[j]) return true;
            }
        }
        return 
false;
    }

    
// PRÁCTICA 4 EJERCICIO 4.......................................................
    
public static int cuentaOcurrencias(int [] aint k){
        if(
a.length==0) return 0;
        
int z=0;
        for(
int i=0;i<a.length;i++){
            if(
a[i]==kz++;
        }
        return 
z;

    }

    public static 
int [] eliminarK(int [] aint k){
        if(
a.length==0){
            
int b[]= new int [0];
            return 
b;
        }
        if(
== null) return null;
        
int b[]= new int [a.length-cuentaOcurrencias(a,k)];
        
int j=0;
        for(
int i=0;i<a.length;i++){
            if(
a[i]!=kb[j++]=a[i];
        }

        return 
b;    
    }    

    
// PRÁCTICA 4 EJERCICIO 5.................................................
    
public static int [] ordenarIndices (char [] s){
        if(
s==null) return null;
        if(
s.length == 0){
            
int b[]= new int[0];
            return 
b;
        }
        
char t[] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z'};
        
int b[]    = new int [s.length];
        for(
int i=0;i<s.length;i++){
            for(
int j=0;j<t.length;j++){
                if(
s[i] == t[j]) b[i]=j;
            }
        }
        return 
b;
    }

    
// PRÁCTICA 4 EJERCICIO 6....................................................        
    
public static int [] busquedaBinaria (int [] aint clave){
        if(
a==null) return null;
        for(
int i=0;i<a.length-1;i++){
            if(
a[i]>a[i+1]) return null;
        }
        
int z cuentaOcurrencias(a,clave);
        if(
z==0) return null;
        
int b[]= new int [2];
        
//int contador=0;
        //boolean prim=true;
        
int bajo 0;
        
int alto a.length -1;
        
int medio;
        while (
bajo <= alto) {
            
medio = (bajo alto) / 2;
            if (
clave == a[medio]) { // se encontró
                
b[0]=medio;
                
b[1]=medio;
                if(
a[medio-1]== clave){
                    
b[0] = medio -1;
                    
b[1] = medio;
                }
                if(
a[medio+1]==clave){
                    
b[0]=medio;
                    
b[1]=medio+1;
                }
                
//System.out.println ("Está en " + medio);
                //break;
                
return b;
            }
            else if (
clave a[medio]){
                
alto medio 1;
            }
            else {
                
bajo medio 1;
            }
        }
        return 
b;
    }




    
// PRÁCTICA 4 EJERCICIO 7....................................................
    
public static int busquedaBinariaRecursiva(int [] aint clave){
        if(
a==null) return -1;
        for(
int i=0;i<a.length-1;i++){
            if(
a[i]>a[i+1]) return -1;//devuelve -1 si no está ordenada de menor a mayor
        
}
        
int z cuentaOcurrencias(a,clave);
        if(
z>1) return -1;//devuelve -1 si hay elementos repetidos
        
int bajo 0;
        
int alto a.length -1;
        
int medio,tmp;
        if(
bajo <= alto){

        }
        while (
bajo <= alto) {
            
medio = (bajo alto) / 2;
            if (
clave == a[medio]) { // se encontró
                //System.out.println ("Está en " + medio);
                //break;
                
return tmp;
            }
            else if (
clave a[medio]){
                
alto medio 1;
            }
            else {
                
bajo medio 1;
            }
        }


    }

    
// PRÁCTICA 4 EJERCICIO 8.....................................................
    /**
     * Devuelve un matriz resultado de haber eliminado la fila
     * n-ésima de la matriz m pasada como argumento.
     * @param m matriz
     * @param n número de fila 
     * @return matriz resultado de haber eliminado la fila
     *         n-ésima de la matriz m pasada como argumento.
     *            null si m no es matriz o no existe la fila.
     */
    
public static double [][] quitarFila(double [][] mint n){
        if(
Matrices.esMatriz(m)==false) return null;
        if(
n>=m.length || n<0) return null;
        
double b [][] = new double [m.length-1][m[0].length];
        if(
n==m.length-1){
            for(
int i=0;i<m.length-1;i++){
                for(
int j=0;j<m[i].length;j++){
                    
//System.out.println(i);
                    //System.out.println(j);
                    
b[i][j] = m[i][j];
                }
            }
        }else{
            
int h=0;
            for(
int i=0;i<m.length;i++){
                if(
!= n){
                    for(
int j=0;j<m[i].length;j++){
                        
b[h][j] = m[i][j];                        
                    }
                    
h++;
                }

            }
        }
        return 
b;
    }


    
// PRÁCTICA 4 EJERCICIO 9.....................................................
    /**
     * Devuelve un matriz resultado de haber eliminado la 
     * n-ésima columna de la matriz m pasada como argumento.
     * @param m matriz
     * @param n columna 
     * @return matriz resultado de haber eliminado la 
     *         n-ésima columna de la matriz m pasada como argumento..
     *            null si m no e matriz o no existe la columna.
     */
    
public static double [][] quitarCol(double [][] mint n){
        if(
Matrices.esMatriz(m)==false) return null;
        if(
n>=m.length || n<0) return null;
        
double b [][] = new double [m.length][m[0].length-1];
        
int h=0;
        if(
n==0){
            
//System.out.println("if 1º");
            
for(int i=0;i<m.length;i++){
                
h=0;
                for(
int j=1;j<m[i].length;j++){
                    
b[i][h++]=m[i][j];
                }
            }
        }else if(
n==m[0].length-1){
            
//System.out.println("if 2");
            
for(int i=0;i<m.length;i++){
                for(
int j=0;j<m[i].length-1;j++){
                    
b[i][j] = m[i][j];
                }
            }
        }else{
            
//h=0;
            //System.out.println("el else");
            
for(int i=0;i<m.length;i++){
                
h=0;
                for(
int j=0;j<m[i].length;j++){
                    if(
!= n){
                        
b[i][h++] = m[i][j];
                        
                    }
                }
            }
        }
        return 
b;
    }

    
// PRÁCTICA 4 EJERCICIO 10......................................................
    /**
     * Dado un determinante de orden n, se llama menor complementario del
     * elemento aij, al determinante de orden n-1 que resulta de suprimir
     * en el determinante dado la fila i-ésima y la columna j-ésima.
     * @param m determinante de orden n
     * @param i    índice de fila (aij)
     * @param j índice de columna (aij)
     * @return array de dos dimensiones con los elementos del menor complementario de m.
     *         null si m no es matriz o i y j no representan una fila y columna válidas.
     */
    
public static double [][] getMenorComplementario (double [][] mint iint j){
        if(
Matrices.esMatriz(m)==false) return null;
        return 
quitarFila(quitarCol(m,j),i);
    }
    public static 
void resultado(int a[], int b[]){
        for(
int v=0;v<a.length;v++){
            
System.out.print(a[v]+ " ");
        }
        
System.out.print("--a--> ");
        for (
int n=0;n<b.length;n++){
            
System.out.print(b[n]+ " ");
        }
        
System.out.println("");

    }
    public static 
void resultado(char a[], int b[]){
        for(
int v=0;v<a.length;v++){
            
System.out.print(a[v]+ " ");
        }
        
System.out.print("--a--> ");
        for (
int n=0;n<b.length;n++){
            
System.out.print(b[n]+ " ");
        }
        
System.out.println("");

    }


    public static 
void main(String[] args) {
        
int h[]={4,23,45,13,45,3,1};
        
int h2[] = {0,1,1,3,4,5,13,13,20,22,40,42,42,42,44};
        
char x[]= {'a','l','f','o','n','s','o'};
        
int op,s;
        do{
            
System.out.println("1. Invertir matriz");
            
System.out.println("2. Orden ascentende");
            
System.out.println("3. Orden descendente");
            
System.out.println("4. Elementos repetidos?");
            
System.out.println("5. Eliminar elemento");
            
System.out.println("6. Ordenar índices");
            
System.out.println("7. Búsqueda binaria");
            
System.out.println("8. salir");
            
op Teclado.readInt();
            switch (
op){
            case 
1:
                
System.out.println("Invertir matriz");
                
invertir(h);
                break;
            case 
2:
                
System.out.println("Orden ascendente:");
                
int j[]=ordenar(h,true);
                for(
int v=0;v<j.length;v++){
                    
System.out.print(h[v]+ " ");
                }
                
System.out.print("--a--> ");
                for (
int n=0;n<j.length;n++){
                    
System.out.print(j[n]+ " ");
                }
                
System.out.println("");
                break;
            case 
3:
                
System.out.println("Orden descendente");
                
int k[]=ordenar(h,false);
                
resultado(h,k);
                break;
            case 
4:
                
System.out.println("Elementos repetidos: "hayRepetidos(h));

                break;
            case 
5:
                
System.out.print("Elemento a eliminar: ");
                
Teclado.readInt();
                
resultado(h,eliminarK(h,s));
            case 
6:
                
System.out.println("Ordenar índices");
                
resultado(x,ordenarIndices(x));
            case 
7:
                
System.out.print("Introduce clave a buscar: ");
                
Teclado.readInt();
                
resultado(h2,busquedaBinaria(h2,s));
            }

        }while(
op<8);
    }



Código PHP:
package p4;

import java.text.DecimalFormat;

public class 
Matrices {

    
/**
     * Comprueba si un array de dos dimensiones es matriz.
     * m != null && m[i] != null para i= 0..m.length-1 && m[i].length = m.length, i = 0..length-1
     * @param m array bidimensional a comprobar
     * @return true si m es matriz, false si no lo es.
     */
    
public static boolean esMatriz(double [][] m){
        if (
== null){
            return 
false;
        }
        if (
m.length == 0){
            return 
true;
        }
        for (
int i 0m.lengthi++){
            if (
m[i] == null){
                return 
false;
            }
            if (
m[i].length != m[0].length){
                return 
false;
            }
        }
        return 
true;
    }
    
    
/**
     * Comprueba si un array de dos dimensiones es matriz cuadrada.
     * m es matriz && m.length == m[0].length
     * @param m array bidimensional a comprobar
     * @return true si m es matriz cuadrada, false si no lo es.
     */
    
public static boolean esMatrizCuadrada(double [][] m){
        if (!
esMatriz(m)){
            return 
false;
        }
        if (
m.length == 0){
            return 
true;
        }
        if (
m.length == m[0].length){
            return 
true;
        }
        return 
false;
    }
    
    
/**
     * Devuelve la traspuesta de una matriz dada
     * @param m matriz
     * @return traspuesta de m
     *            null si m no es matriz.
     */
    
public static double [][] traspuesta(double [][] m){
        if (!
esMatriz(m)){
            
System.out.println("traspuesta: no es matriz: retorna null");
            return 
null;
        }
        
double [][] tr = new double[m[0].length][m.length];
        for (
int i 0tr.lengthi++){
            for (
int j 0tr[i].lengthj++){
                
tr[i][j] = m[j][i];
            }
        }
        return 
tr;
    }

    
/**
     * 
     * Para depuración.
     * 
     * Imprime en consola la matriz representada por m.
     * @param p polinomio.
     */
    
public static void printMatriz(double [][] m){
        if (!
esMatriz(m)){
            
System.out.println("no es matriz");
            return;
        }
        
        
// Representación de los números con dos decimales.
        
DecimalFormat form = new DecimalFormat();
        
form.setMaximumFractionDigits(2);
        
        
String [][] ms = new String[m.length][m[0].length];
        
        
// Por cada columna apuntamos el elemento que más ocupa para
        // ajustar la anchura de la columna en todas las filas.
        
int [] anchoCol = new int[m[0].length];
        for (
int i 0anchoCol.lengthi++){
            
anchoCol[i] = 0;
        }
        
        
// Obtenemos las representaciones de los números con dos decimales
        // y apuntamos los anchos de columna.
        
for (int i 0ms.lengthi++){
            for(
int j 0ms[i].lengthj++){
                
ms[i][j] = form.format(m[i][j]);
                if (
anchoCol[j] < ms[i][j].length()){
                    
anchoCol[j] = ms[i][j].length();
                }
            }
        }
        
        
// Reconstruimos los elementos de ms ajustando las columnas y añadiendo
        // blancos de separación entre columnas.
        
for (int i 0ms.lengthi++){
            for(
int j 0ms[i].lengthj++){
                
// Ajustar
                
while (ms[i][j].length() < anchoCol[j]){
                    
ms[i][j] = " " ms[i][j];
                }
                
// Añadir separación.
                
ms[i][j] = ms[i][j] + "  ";
            }
        }
        
        
// Imprimimos
        
for (int i 0ms.lengthi++){
            for (
int j 0ms[i].lengthj++){
                
System.out.print(ms[i][j]);    
            }
            
System.out.println();
        }
    }

    
/**
     * Compara dos arrays de double
     * @param m1 array 1
     * @param m2 array 2
     * @return true si son iguales elemento a elemento o si ambas referencias son null
     *         false en caso contrario.
     */
    
public static boolean compararMatrices(double [][] m1double [][] m2){
        
        if (
m1 == null && m2 == null){
            return 
true;
        }
        
 
       if (!esMatriz(m1) || !esMatriz(m2) ){
 
           return false;
 
       }

        if (
m1 == m2){
            return 
true;
        }
        
        if (
m1.length != m2.length){
            return 
false;
        }
        
        if (
m1[0].length != m2[0].length){
            return 
false;
        }

        for (
int i 0m1.lengthi++){
            for(
int j 0m1[i].lengthj++){
                if (
m1[i][j] != m2[i][j]){
                    return 
false;
                }
            }
        }
        return 
true;
    }
    
    
/**
     * 
     * Para depuración.
     * 
     * Imprime en consola los elementos de un array de doubles.
     * @param a array.
     */
    
public static void printArray(double [] a){
        if (
== null){
            
System.out.print("null");
            return;
        }
        
System.out.print("{");
        if (
a.length == 0){
            
System.out.print("}");
            return;
        }
        
        
DecimalFormat form = new DecimalFormat();
        
form.setMaximumFractionDigits(3);
        
        for (
int i 0a.length-1i++){
            
System.out.print(form.format(a[i]) + ", ");
        }
        
System.out.print(form.format(a[a.length-1]) + "}");
    }

    
/**
     * 
     * Para depuración.
     * 
     * Coloca en un array de Strings las filas de m.
     * @param m matriz.
     * @return array de Strings las filas de m.
     *         null si m no representa a una matriz.
     */
    
public static String [] matrizToStringArray(double [][] m){
        
        if (!
Matrices.esMatriz(m)){
            return 
null;
        }
        
        
String [] filas = new String[m.length];

        
// Representación de los números con dos decimales.
        
DecimalFormat form = new DecimalFormat();
        
form.setMaximumFractionDigits(3);
        
        
String [][] ms = new String[m.length][m[0].length];
        
        
// Por cada columna apuntamos el elemento que más ocupa para
        // ajustar la anchura de la columna en todas las filas.
        
int [] anchoCol = new int[m[0].length];
        for (
int i 0anchoCol.lengthi++){
            
anchoCol[i] = 0;
        }
        
        
// Obtenemos las representaciones de los números con dos decimales
        // y apuntamos los anchos de columna.
        
for (int i 0ms.lengthi++){
            for(
int j 0ms[i].lengthj++){
                
ms[i][j] = form.format(m[i][j]);
                if (
anchoCol[j] < ms[i][j].length()){
                    
anchoCol[j] = ms[i][j].length();
                }
            }
        }
        
        
// Reconstruimos los elementos de ms ajustando las columnas y añadiendo
        // blancos de separación entre columnas.
        
for (int i 0ms.lengthi++){
            for(
int j 0ms[i].lengthj++){
                
// Ajustar
                
while (ms[i][j].length() < anchoCol[j]){
                    
ms[i][j] = " " ms[i][j];
                }
                
// Añadir separación.
                
ms[i][j] = ms[i][j] + "  ";
            }
        }
        
        
// Copiamos;
        
for (int i 0ms.lengthi++){
            
StringBuffer sb = new StringBuffer();
            for (
int j 0ms[i].lengthj++){
                
sb.append(ms[i][j]);    
            }
            
filas[i] = sb.toString();
        }
        return 
filas;
    }
    
    public static 
void printTabla(String [][] ms){    
        
        
// Por cada columna apuntamos el elemento que más ocupa para
        // ajustar la anchura de la columna en todas las filas.
        
int [] anchoCol = new int[ms[0].length];
        for (
int i 0anchoCol.lengthi++){
            
anchoCol[i] = 0;
        }
        
        
// Obtenemos las representaciones de los números con dos decimales
        // y apuntamos los anchos de columna.
        
for (int i 0ms.lengthi++){
            for(
int j 0ms[i].lengthj++){
                if (
ms[i][j] == null){
                    
ms[i][j] = "null";
                }
                if (
anchoCol[j] < ms[i][j].length()){
                    
anchoCol[j] = ms[i][j].length();
                }
            }
        }
        
        
// Reconstruimos los elementos de ms ajustando las columnas y añadiendo
        // blancos de separación entre columnas.
        
for (int i 0ms.lengthi++){
            for(
int j 0ms[i].lengthj++){
                
// Ajustar
                
while (ms[i][j].length() < anchoCol[j]){
                    
ms[i][j] = ms[i][j] + " ";
                }
                
// Añadir separación.
                
ms[i][j] = ms[i][j] + "   ";
            }
        }
        
        
// Imprimimos
        
for (int i 0ms.lengthi++){
            for (
int j 0ms[i].lengthj++){
                
System.out.print(ms[i][j]);    
            }
            
System.out.println();
        }
    }


Imprimir

  Parcial 2 diciembre 2015
Enviado por: alfonso - 03-12-2015, 20:23 - Foro: Ondas electromagnéticas - Respuestas (1)

Es el mismo para el grupo de la mañana y para el grupo de la tarde (el de grupo bilingüe no es el mismo)



Archivos adjuntos
.pdf   2015.12.03_1832.pdf (Tamaño: 226,21 KB / Descargas: 262)
Imprimir

  Práctica 3
Enviado por: alfonso - 03-12-2015, 19:06 - Foro: Fundamentos de Programación - Respuestas (3)

Código PHP:
package p3;

import utilidades.Teclado;

public class 
MCD_2 {

    
    public static 
void main(String[] args) {
        
System.out.println("Introduzca un numero entero,m:");
        
int m=Teclado.readInt();
        
System.out.println("Introduzca otro numero entero,n:");
        
int n=Teclado.readInt();
        
        
System.out.print("El maximo comun divisor de "+m+" y "+n+" es: ");
        
System.out.println(mcd(m,n));

    }
    public static 
int mcd(int a,int b){

        while (
a!=b){
            if (
a>b){
                
a=a-b;
            } 
  else{
                
b=b-a;

            }
        }
        return 
a;
    }


Código PHP:
package p3;
import utilidades.Teclado;

public class 
Calculadora {
    public static 
void main (String[]args){
        
int op1,op2,suma,resta,producto,division,modulo,abs,opcion;
        
System.out.println("Introduce Operando1:");
        
op1=Teclado.readInt();
        
System.out.println("Introduce Operando2:");
        
op2=Teclado.readInt();
        
System.out.println("------------------");
        
System.out.println("1. Suma");
        
System.out.println("2. Resta");
        
System.out.println("3. Producto");
        
System.out.println("4. Módulo");
        
System.out.println("5. Valor absoluto");
        
System.out.println("6. División");
        
System.out.println("------------------");
        
opcion=Teclado.readInt();
        if(
opcion<|| opcion >6){
            
System.out.println("Valor introducido incorrecto");
        } else{
            switch(
opcion){
            case 
1:
                
suma=op1+op2;
                if(
suma<op1 && suma<op2){
                    
System.out.println("Desbordamiento");
                }else 
System.out.println("El resultado de la suma es:"+suma);
                break;
            case 
2:
                
resta=op1-op2;
                if(
resta>op1 || resta>op2){
                    
System.out.println("Desbordamiento");
                } else 
System.out.println("El resultado de la resta es:"+resta);
                break;
            case 
3:
                
producto=op1*op2;
                if(
producto/op1!=op2){
                    
System.out.println("Desbordamiento");
                }else 
System.out.println("El restultado del producto es"+producto);
                break;
            case 
4:
                if(
op2==0){
                    
System.out.println("Imposible dividir por 0");
                }else{
                    
modulo=op1%op2;
                    
System.out.println("El resultado del modulo2: "+modulo);
                }
                break;
            case 
5:
                
abs=Math.abs(op1);
                
System.out.println("El valor absoluto del Operando1 es:"+abs);
                break;
            case 
6:
                if(
op2==0){
                    
System.out.println("Imposible dividir por 0");
                }else{
                    
division=op1/op2;
                    
System.out.println("El resultado de la division entera es: "+division);
                }
                break;
            }
        }
        
            
        
    }



Código PHP:
package p3;
import utilidades.Teclado;

public class 
MCD_1 {
    public static 
void main (String[]args){
        
System.out.println("Introduzca un numero entero,m:");
        
int m=Teclado.readInt();
        
System.out.println("Introduzca otro numero entero,n:");
        
int n=Teclado.readInt();
        
        
System.out.print("El maximo comun divisor de "+m+" y "+n+" es: ");
        
System.out.println(mcd(m,n));
    }
        
        public static 
int mcd(int a,int b){
            if(
a%b==0){
                return 
b;
            }
            if(
b%a==0){
                return 
a;
            }
            if(
b==0) {
                return 
a;
            } else return 
mcd(ba%b);
            
            
    }

Imprimir