PÁGINAS DE INTERÉS

11:42 Unknown 0 Comments


Microsoft Office Online



Microsoft Office posee una versión en linea que puedes usar de forma gratuita. Office Online tiene a disposición de los usuarios, Word, Excel, PowerPoint, OneNote, y Outlook disponibles desde la web y completamente integrados con OneDrive para almacenar, editar, y compartir todos tus documentos en linea.

StackEdit


StackEdit es el editor de Markdown perfecto para quien prefiere escribirlo todo desde el navegador, y puedes olvidarte de cualquier temor a perder texto escrito porque se sincroniza en tiempo real y todo se salva en la nube. Además es completamente personalizable y puedes ajustar su apariencia a tu gusto. Está pensado en espacial para quienes escribimos en la web, y se integra con varias plataformas de contenidos como WordPress, Blogger, Tumblr, y hasta GitHub.

Spotify


Aplicación que permite escuchar música sin necesidad de descargar un cliente.
Spoty no solo tiene aplicación web, también muchos otros servicios con Pandora, Rdio, Google Play Music, etc. Pero al menos en mi opinión es la mejor de todas.

Todoist



Todoist tiene aplicaciones para cualquier plataforma que se te ocurra, también puedes usarla desde la web y nunca instalar nada. De hecho puedes integrarla completamente en tu navegador para añadir tareas mientras navegas.
Si buscas una aplicación que te ayude a organizarte, esta es una de las mejores opciones

Netflix



Netflix es otra aplicación web, pues solo necesitas abrir tu navegador para disfrutar de miles de películas y programas de televisión en streaming desde la comodidad de dónde sea que están conectando tu PC.

0 comentarios:

ACTIVIDAD OPCIONAL - PARIDAD

11:20 Unknown 0 Comments

CALCULO DE PARIDAD


Esta actividad consiste en el desarrollo de una pequeña aplicación ejecutable que rellena una matriz de 4*5 simulando el envío de una transmisión de datos. El programa rellena la matriz de forma automática y calcula la paridad. Permite la modificación de un bit que permite la introducción de un fallo de forma manual, el programa puede detectar ese fallo y corregir la matriz en consecuencia.

El programa cuenta de tres clases como se puede ver a continuación:


La clase ejecutar se compone únicamente del método main que llamará a nuestro menú, que estará en la clase MenuDeOpciones y que sera la que lleve todo el programa a cabo.

public class Ejecutar {

 public static void main(String[] args) {
  MenuDeOpciones m = new MenuDeOpciones();
  m.menu();
 }
}



La clase ventana sera la encargada de crearnos la ventana sobre la que luego vamos a escribir y mostrar todo el programa.

public class Ventana extends JFrame implements ActionListener {

 /**
  * 
  */
 private static final long serialVersionUID = 1L;
 public int i = 0;
 public JTextArea a = new JTextArea();
 public JTextField b = new JTextField();

 public Ventana() {
  setBounds(0, 0, 500, 625);
  setResizable(false);
  setLayout(null);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  a.setBounds(0, 0, 500, 500);
  a.setEditable(false);
  add(a);

  b.setBounds(0, 525, 200, 30);

  add(b);
  b.addActionListener(this);
 }

 public void escribir(String texto) {
  a.append(texto);
 }

 public void setTexto() {
  a.setText("");
 }

 @Override
 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  i = Integer.parseInt(b.getText());
  b.setText("");
 }

 public int getI() {
  return i;
 }

 public void setI() {
  i = 0;
 }
}

La clase más importante de este proyecto es MenuDeOpciones donde se realizan los cálculos necesarios para la ejecución del programa en todas sus opciones.

public class MenuDeOpciones {

 private int[][] matriz;

 private Random azar;
 private int[][] matriz2 = new int[6][5];
 private int paridad = 0;
 private int[][] matriz3 = new int[6][5];
 private Ventana v = new Ventana();
 private int opcion;

 public MenuDeOpciones() {
  matriz = new int[5][4];

  azar = new Random();
  v.setVisible(true);
 }

 public void menu() {
  v.escribir("MENU DE OPCIONES\n");
  v.escribir("-----------------\n");
  v.escribir("1.RELLENAR MATRIZ\n");
  v.escribir("2.GENERAR 20 + 10 BITS\n");
  v.escribir("3.MODIFICAR UN BIT\n");
  v.escribir("4.COMPROBAR\n");
  v.escribir("5.CORREGIR/MOSTRAR MATRIZ ORIGINAL\n");
  v.escribir("6.MOSTRAR BITS EN MATRIZ\n");
  v.escribir("7.SALIR\n");

  while (opcion != 7) {
   opcion = v.getI();
   try {

    Thread.sleep(100);
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   if (funcionamiento() == true) {
    switch (opcion) {
    case 1:
     rellenarMatriz();
     break;
    case 2:
     generar();
     break;
    case 3:
     modificar();
     break;
    case 4:
     comprobar();
     break;
    case 5:
     corregir();
     break;
    case 6:
     mostrar(matriz);
     break;
    case 7:
     salir();
    default:
     v.escribir("");
    }
    v.setI();
    v.escribir("MENU DE OPCIONES\n");
    v.escribir("-----------------\n");
    v.escribir("1.RELLENAR MATRIZ\n");
    v.escribir("2.GENERAR 20 + 10 BITS\n");
    v.escribir("3.MODIFICAR UN BIT\n");
    v.escribir("4.COMPROBAR\n");
    v.escribir("5.CORREGIR/MOSTRAR MATRIZ ORIGINAL\n");
    v.escribir("6.MOSTRAR BITS EN MATRIZ\n");
    v.escribir("7.SALIR\n");
    opcion = v.getI();
   }

  }
 }

 private void salir() {
  v.setTexto();
  try {
   v.escribir("PROCESO TERMINADO");
   Thread.sleep(2000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

  System.exit(0);

 }

 private void mostrar(int[][] t) {
  v.setTexto();

  for (int i = 0; i <= t.length - 1; i++) {
   for (int j = 0; j <= t[0].length - 1; j++) {
    v.escribir(t[i][j] + "\t");
   }
   v.escribir("\n");
  }
  v.setI();
  v.escribir("\n");
 }

 private void corregir() {
  if (paridad == 0) {
   paridadPar();
  } else {
   paridadImpar();
  }
  mostrar(matriz2);
 }

 private void comprobar() {

  // PARIDAD PAR

  if (paridad == 0) {
   int conta = 0;
   for (int i = 0; i < matriz.length; i++) {
    for (int j = 0; j < matriz[0].length; j++) {
     matriz3[i][j] = matriz[i][j];
    }
   }
   for (int i = 0; i < matriz.length; i++) {

    for (int j = 0; j < matriz[0].length; j++) {
     if (matriz[i][j] == 1) {
      conta++;
     }
    }
    if (conta % 2 == 0) {
     matriz3[i][4] = 0;
     conta = 0;
    } else {
     matriz3[i][4] = 1;
     conta = 0;
    }

   }

   for (int i = 0; i < matriz.length - 1; i++) {

    for (int j = 0; j < matriz.length; j++) {
     if (matriz[j][i] == 1) {
      conta++;
     }
    }
    if (conta % 2 == 0) {
     matriz3[5][i] = 0;
     conta = 0;
    } else {
     matriz3[5][i] = 1;
     conta = 0;
    }

   }
   for (int i = 0; i <= matriz3.length - 1; i++) {
    for (int j = 0; j <= matriz3[0].length - 1; j++) {
     if (matriz3[i][j] == matriz2[i][j]) {
      conta++;
     }

    }
   }
   if (conta == 30) {

    v.escribir("COMPROBACION CORRECTA\n");
   } else {
    v.escribir("COMPROBACION ERRONEA\n");
   }

  }

  // PARIDAD IMPAR
  if (paridad == 1) {
   int conta = 0;
   for (int i = 0; i < matriz.length; i++) {
    for (int j = 0; j < matriz[0].length; j++) {
     matriz3[i][j] = matriz[i][j];
    }
   }
   for (int i = 0; i < matriz.length; i++) {

    for (int j = 0; j < matriz[0].length; j++) {
     if (matriz[i][j] == 1) {
      conta++;
     }
    }
    if (conta % 2 == 0) {
     matriz3[i][4] = 1;
     conta = 0;
    } else {
     matriz3[i][4] = 0;
     conta = 0;
    }

   }

   for (int i = 0; i < matriz.length - 1; i++) {

    for (int j = 0; j < matriz.length; j++) {
     if (matriz[j][i] == 1) {
      conta++;
     }
    }
    if (conta % 2 == 0) {
     matriz3[5][i] = 1;
     conta = 0;
    } else {
     matriz3[5][i] = 0;
     conta = 0;
    }

   }
   for (int i = 0; i <= matriz3.length - 1; i++) {
    for (int j = 0; j <= matriz3[0].length - 1; j++) {
     if (matriz3[i][j] == matriz2[i][j]) {
      conta++;
     }

    }
   }
   if (conta == 30) {

    v.escribir("COMPROBACION CORRECTA\n");
   } else {
    v.escribir("COMPROBACION ERRONEA\n");
   }
  }

 }

 private void modificar() {
  int f = 0;
  int c = 0;
  v.setTexto();
  v.escribir("INTRODUZCA LA FILA NUMERO A MODIFICAR\n");
  try {

   Thread.sleep(2000);
   f = v.getI();
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  v.escribir("INTRODUZCA LA COLUMNA NUMERO A MODIFICAR\n");
  try {

   Thread.sleep(2000);
   c = v.getI();
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  v.escribir("INTRODUZCA EL NUEVO VALOR\n");
  try {
   Thread.sleep(2000);
   matriz[f][c] = v.getI();

  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

 private void generar() {
  v.setTexto();
  v.escribir("0.PARIDAD PAR\n");
  v.escribir("1.PARIDAD IMPAR\n");

  while (opcion != 0 && opcion != 1) {
   opcion = v.getI();
   try {
    Thread.sleep(100);
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

   switch (opcion) {
   case 0:
    paridadPar();
    break;
   case 1:
    paridadImpar();
    break;
   default:
    v.escribir("");
   }

  }

  v.setI();
  // v.setTexto();

 }

 private void paridadImpar() {
  int conta = 0;
  paridad = 1;
  for (int i = 0; i < matriz.length; i++) {
   for (int j = 0; j < matriz[0].length; j++) {
    matriz2[i][j] = matriz[i][j];
   }
  }
  for (int i = 0; i < matriz.length; i++) {

   for (int j = 0; j < matriz[0].length; j++) {
    if (matriz[i][j] == 1) {
     conta++;
    }
   }
   if (conta % 2 == 0) {
    matriz2[i][4] = 1;
    conta = 0;
   } else {
    matriz2[i][4] = 0;
    conta = 0;
   }

  }

  for (int i = 0; i < matriz.length - 1; i++) {

   for (int j = 0; j < matriz.length; j++) {
    if (matriz[j][i] == 1) {
     conta++;
    }
   }
   if (conta % 2 == 0) {
    matriz2[5][i] = 1;
    conta = 0;
   } else {
    matriz2[5][i] = 0;
    conta = 0;
   }

  }
  mostrar(matriz2);
  v.escribir("\n");
 }

 private void paridadPar() {
  paridad = 0;
  int conta = 0;
  for (int i = 0; i < matriz.length; i++) {
   for (int j = 0; j < matriz[0].length; j++) {
    matriz2[i][j] = matriz[i][j];
   }
  }
  for (int i = 0; i < matriz.length; i++) {

   for (int j = 0; j < matriz[0].length; j++) {
    if (matriz[i][j] == 1) {
     conta++;
    }
   }
   if (conta % 2 == 0) {
    matriz2[i][4] = 0;
    conta = 0;
   } else {
    matriz2[i][4] = 1;
    conta = 0;
   }

  }

  for (int i = 0; i < matriz.length - 1; i++) {

   for (int j = 0; j < matriz.length; j++) {
    if (matriz[j][i] == 1) {
     conta++;
    }
   }
   if (conta % 2 == 0) {
    matriz2[5][i] = 0;
    conta = 0;
   } else {
    matriz2[5][i] = 1;
    conta = 0;
   }

  }
  mostrar(matriz2);
  v.escribir("\n");
 }

 private void rellenarMatriz() {
  for (int i = 0; i < matriz.length; i++) {
   for (int j = 0; j < matriz[0].length; j++) {
    matriz[i][j] = azar.nextInt(2);
   }
  }
  v.setI();
  v.setTexto();

 }

 private boolean funcionamiento() {
  opcion = v.getI();
  if (opcion > 0 && opcion <= 7) {
   return true;
  }
  return false;
 }

}



Para descargar el ejecutable del programa y la carpeta del proyecto Pinche Aqui.

0 comentarios:

windows7

10:49 Unknown 0 Comments

PRESENTACION WINDOWS 7


0 comentarios: