martes, 26 de abril de 2011

MATRIZ


MATRIZ

Una matriz matemática es una tabla bidimensional de números. Las matrices pueden sumarse, multiplicarse,... Y suelen ser utilizadas para describir sistemas de ecuaciones lineales.

·         INICIALIZACION
·         INGRESAR DATOS
·         MOSTRAR DATOS
·         OTROS ALGORITMO
PARES E IMPARES

INICIALIZACION.-
            // Variables 
            Int  np = 0, ni = 0, i,j;
            Int  n[][] = new  int  [3][2];

INGRESAR DATOS.-
            Scanner  teclado  =  new  Scanner  (System.in);
                        System.out.print(“Numero(0,0):  ”);
                        n[0][0] = teclado.nexInt();
                                   .
                                   .
                                   .

 MOSTRAR DATOS.-
            System.out.println(“”);
            System.out.println(“Num.Pares:”+np);
            System.out.println(“Num.Impares:”+ni);

           
OTROS ALGORITMO
            PARES E IMPARES
            For(i=0;i<=2;i++){
               For(j=0;j<=1;j++){
                         If(n[i][j]%2==0)
                             Np+=1;
                        Else
                            Ni+=1;
                        }
            }

domingo, 24 de abril de 2011


LO QUE NO DEBO OLVIDAR DE LOS VECTORES
             
             * Inicializacion
             * Ingresar Datos
             * Mostrar Datos
             * Otros Algoritmos
             
                            --> ORDENACION
                            --> BUSQYEDA


1) INICIALIZACION.-
                                 
                             int v[] = new int[n];
                             Object O[] = new Object[n];
                             int v1[] = {2, 9, 7, 8};
                             Vector v2 = new Vector(5);
                             //Para utilizar la clase Vector debemos hacer un import
                             //import java.Util.Vector;
                             int v3; // Solo es una referencia


2) INGRESAR DATOS.-


                            v[0] = 25;
                            v2.add(300);
                            v2.add(200);
                            v2.add(10, 4);


2.1) INGRESAR DATOS POR TECLADO.-


                           BufferedReader val = (new val BufferedReader(new InputStreamReader(System.in)));
                           int num = Integer.ParseInt(val.ReadLine());
                              for(i = 0 ; i < num.length ; i++){
                                   v[i] = Integer.ParseInt(val.ReadLine());
                              }


3) MOSTRAR DATOS.-


                          public Static void Mostrar(int x[]){
                                 for(i = 0 ; i < x.length ; i++){
                                      System.Out.Println("["+ i + "]" + x[i]);
                                 }
                          }
                         //invocacion al metodo main()
                         public static void main(String[] args) {
                            Mostrar(v);
                         }


3.1) MOSTRAR CON LA CLASE VECTOR.-


                        Public Static void Mostrar(Vector x){
                             for(i = 0 ; i < x.SIZE() ; i++){
                                  System.Out.Println("[" + i + "]" + x.get(i));
                             }
                        }


4) ORDENACION.-


                        Public void Ordenar(int v[]){
                            for(i = 0 ; i < v.length ; i++){
                                 for(j = 0 ; j < v.length ; j++){
                                      if(v[i] < v[j]){
                                      int aux = v[i];
                                            v[i] = v[j];
                                            v[j] = aux;
                                      }
                                  }
                             }
                        }


                        // tenemos que hacer el import necesario
                        import java.Util.Arrays;
                        Arrays.Sort(v);
                        Mostrar(v);


5) BUSQUEDA.-


                        Public Static int Buscar(int v[], int elem){
                            int pos = -1;
                            for(int i = 0 ; i < v.length ; i++){
                                 if(v[i] == elem){
                                 pos = i;
                            return pos;
                                 }
                            }
                        }


                       //hacemos el import correspondiente
                       import java.Util.Arrays;
                       Arrays.BinarySearch(v, elem);                        

Como agregar y Ordenar elementos de un Vector


package metodoburbuja;
import java.util.Scanner;
/**
 *
 * @author Lidia
 */
public class BurbujaMejorada {


    public static void main(String[] args) {


        int v[] = new int[5];
        int t;
        
        Scanner teclado = new Scanner(System.in);
        
        for(t = 0 ; t < v.length ; t++){
            System.out.print("Ingrese un Numero:");
            v[t] = teclado.nextInt();
        }
        
            for(int i = 0 ; i < v.length ; i++){
                for(int j = 0 ; j < v.length ; j++){
                    if(v[i] < v[j]){
                         int aux = v[i];
                         v[i] = v[j];
                         v[j] = aux;
                    }
                    
                }
            }
            for(int i = 0 ; i < v.length; i++)
                System.out.print("  "+v[i]);
                System.out.println();
        }
     }
  





package agregardatosvector;
import java.util.Arrays;
import java.util.Vector;
/**
 *
 * @author Lidia
 */
public class AgregarVector {


    public static void main(String[] args) {
        int v[] = new int[6];
        Vector v2 = new Vector(5);
        
        v[0] = 250;
        v[1] = 369;
        v[2] = 123;
        v[3] = 876;
        v[4] = 900;
        v[5] = 432;
        
        v2.add(300);
        v2.add(200);
        v2.add(150);
        v2.add(344);
        v2.add(104);
        v2.add(450);
        
        System.out.print("Elemtos Agregados con la Clase Vector\n");
        System.out.println(v2);
        
        System.out.print("Elemtos Agregados de acuerdo a su posicion\n");
         Arrays.sort(v);
        for(int i = 0 ; i < v.length ; i ++)
        System.out.print("["+v[i]+"]");
        }
}


domingo, 3 de abril de 2011

Metodos de la clase vector y Array

vector

La clase Vector nos proporciona una solución alternativa a este problema. Un vector es similar a un array, la diferencia estriba en que un vector crece automáticamente cuando alcanza la dimensión inicial máxima. Además, proporciona métodos adicionales para añadir, eliminar elementos, e insertar elementos entre otros dos existentes.

Metodos de la clase vector
assign asignar elementos al vector
at regresa el componente de una posición específica
back regresa una referencia a el último componente del vector
begin regresa un iterator al principio del vector
capacity regresa el número de elementos que pueden ser contenidos por el vector
clear remueve todos los componentes del vector
empty true si el vector está vacio
end regresa un iterator al final del vector
erase remueve componentes del vector
front regresa una referencia al primer componente del vector
insert insertar componentes en el vector
max_size regresa el número máximo de elementos soportados por el vector
pop_back remueve el último componente del vector
push_back agrega un componente al final del vector
rbegin regresa un reverse_iterator hacia el final del vector
rend regresa un reverse_iterator hacia el inicio del vector

Array
Un array es un conjunto de valores del mismo tipo. Para hacer referencia a un
elemento concreto del array

Metodos de la clase Array

Array (numElements:int = 0)
Le permite crear una matriz con el número especificado de elementos.


Array(... values)
Le permite crear una matriz con los elementos especificados.

Concatena los elementos especificados en los parámetros con los elementos de una matriz y crea una matriz nueva.

every(callback:Function, thisObject:* = null):Boolean
Ejecuta una función de prueba en cada elemento de la matriz hasta que se llega a un elemento que devuelve false para la función especificada.

filter(callback:Function, thisObject:* = null):Array
Ejecuta una función de prueba en cada elemento de la matriz y construye una nueva matriz para todos los elementos que devuelven true para la función especificada.

forEach(callback:Function, thisObject:* = null):void
Ejecuta una función en cada elemento de la matriz.

viernes, 1 de abril de 2011

Tipos abstracto de datos


Tipos Abstractos
Tipos Abstractos de Datos
Es un modelo estructura con numero de operaciones que afectan a ese modelo es un tipo definido por el usuario, tiene un conjuntode valores y un conjunto de operaciones cumple con los principios de abstraccion y ocultacion de la informacion y se puede                 
manejar sin conocer la representacion interna.

TDA.-
Es la unidad que encapsula características + actitudes
TAD es una estructura algebraica, o sea, un conjunto de objeto con ciertas operaciones definidas sobre ellos. piense, por ejemplo, en la calculadora; los elementos que maneja son cantidades numerica y las operaciones que tiene definidas sobre estas son las operaciones aritmeticas.

Atributo + operaciones
    [Conjunto de datos]
TAD ENTERO: conjunto de datos
    [0,1,2,3,4,5…….n]

Que operaciones puedo hacer con este conjunto de datos
    Asignaciones
    Inserciones
    Decrementos
    Operadores aritméticos

TAD ESTUDIANTE: conjunto
    RU  [numero]
    Nombre [texto]
    Edad [numero]
Operación que puedo realizar con el conjunto
    Ver nombre ()
    Calcular edad ()
    Modificar datos ()
TAD Conjunto: conjuntos
    Set [numero,texto]
: Operaciones
    Unión
    Intersección
    Comparación

Caracteristicas de los Tipos Abstractos de datos
las caracteristicas genericas de un tipo de un tipo de dato abstracto es que nada que sea externo a la definicion de las estructuras de datos y los algoritmos que operan sobre ellas deben hacer referencia a cualquier cosa interna, excepto
 a travez de llamadas a funciones y procedimiento.


Los tipos de TDA proporciona una manera de limitar el tamaño y la complejidad de la interfaz entre algoritmos. las estructuras asociada y los programas que utilizan los algoritmos y las estructuras de datos. esto hace mas facil comprender los grandes programas y mas convenientes los cambios o mejores de los algoritmos fundamentales.

Implementacion

Cuando ya se tiene bien diseñado un Tipo Abstracto, el sgte paso es decidir una implementacion para el mismo. Esto implica escoger una estructuras de datos para representar cada una de los objetos abstractos y escreibir una rutina (Procedimiento o Funcion) en un lenguaje de programacion, que simulo el funcionamiento de cada una de las operaciones de acuerdo a especificacion. la seleccion de las estructuras de datos determinan en muchos casos, la complejidad del algoritmo que implementa una operacion y es, por esta razon de gran importancia su escogencia. existen estructuras de datos m,uy depedientes de un lenguaje de programacion y debido a esto deben tratar de evitarse   cuando el TAD  quiere hacer portable.

Arreglo
Unidimensionales=vectores
Bidimensionales=matrices
Multidimensionales=cubos, etc.
Vector .- es una estructura de datos estatica lineal de 1 dimencion
Secuencia de elementos
tamaño conocido
memoria adyacente
mismo tipo
empiezan en la posición ”0”cero
se accede a los elementos a travez de “1” índice
int  [] arreglo;//esto es solo la declaración
int [] arreglo=new int[10];//1 creacion de arreglo
constructores
vector  v=new vector (5);//crear el vector v con 5 elementos//constructor con argumento
vector  v1=new();//crear el vector v1 con 10 elementos//constructor sin elemento
vector v2=new vector(8,5);//crea el vector v2con 8 elementos con 5 de rango de inserciones adicionales permitidas
arreglo.length//para conocer la longitud del arreglo
arrays.sort(arreglo);//ordena el arreglo