martes, 25 de octubre de 2011

Ordenamiento Shell

  1. El ordenamiento por inserción es eficiente si la entrada está "casi ordenada".
  2. El ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo una posición cada vez.
El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más grandes" hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector están casi ordenados.

Ordenamiento por inserción

Es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. Requiere O(n²) operaciones para ordenar una lista de n elementos.Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha). En este punto se inserta el elemento k+1 debiendo desplazarse los demás elementos.

Ordenamiento de burbuja

Es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar

ALGORITMO DE ORDENAMIENTO

Es un algoritmo que pone elementos de un vector en una secuencia dada por una relación de orden, es  el resultado de salida ha de ser una permutación o reordenamiento de la entrada que satisfaga la relación de orden dada. Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico. Ordenamientos eficientes son importantes para optimizar el uso de otros algoritmos (como los de búsqueda y fusión) que requieren listas ordenadas para una ejecución rápida. También es útil para poner datos en forma canónica y para generar resultados legibles por humanos.


domingo, 21 de agosto de 2011


LOS SIGUIENTES PROGRAMAS SE EFECUTAN DESDEE LA CONSOLA DE JAVA Y TIENEN SU METODO.

CONVERCION DE UNIDADES


public class Conversor{

private double mI;
private double mF;
private double valor;


public Conversor(double i, double f, double v){

this.mI=i;
this.mF=f;
this.valor=v;

}


public double getMedida(){
double m;

if(mI==1){
System.out.println("La medida inicial es Hectometros);

if(this.mF==1){m=valor;}
return("el resultado es en ");
else{ if(this.mF==2){m=valor*10;}

else{ if(this.mF==3){m=valor*100;}

else{ if(this.mF==4){m=valor*1000;}

else{ if(this.mF==5){m=valor*10000;}

else{ if(this.mF==6){m=valor*100000;}

else{ if(this.mF==7){m=valor*1000000;}

else{ if(this.mF==8){m=valor*10000000;}
return(m);
       }
       }
           }
           }
           }
           }
            }
                       }
return(m);
}
}


FIBONACI


public class Fibonaci {
private int numero;

public Fibonaci (int num) {
this.numero=num;
}

public String getFibonaci (int num) {
int i;
int result = 1;
for(i = 1; i <= num; i++){
result=result* i;
}
return("El fibonaci es:" + result);
}

}


tablas


public class Tablas{
private int numeroTabla;
public Tablas(int nT){
this.numeroTabla=nT;
}
public void imprimirTabla() {
int i;
for(i=0;i<=10;i--){
System.out.println(" "+this.numeroTabla+"*"+i+"="+i*numeroTabla);

}
}
}
INICIo;

public class Inicio{
public static void main(String [] j){
Tablas t=new Tablas (20);
t.imprimirTabla ();
}
}


PROPIOimpropio


public class PropioImpropio{
private int numerador;
private int denominador;

public PropioImpropio (int n1,int n2){
this.numerador=n1;
this.denominador=n2;
}
public String getPropioImpropio(int n1,int n2){

if((n1>n2){
return(" el numero es Impropio");
}
else{
return("el numero es propio");
}
}
}

inicio:

import java.io.*;
public class Inicio {


public static void main(String[]args)throws IOException {
BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));

int num;
int dem;
PropioImpropio p = new PropioImpropio (2,4);

System.out.println("Ingrese numero 1: ");
num = Integer.parseInt(lectura.readLine());

System.out.println("Ingrese numero 2: ");
dem = Integer.parseInt(lectura.readLine());

System.out.println(p.getPropioImpropio());



}
}


PRIMOs


public class Primos{
private int numero;
public Primos(int n ) {
this.numero=n;

}
public String getPrimos(int n){
int c=0;
int i;

for(i=2; i<=n; i++){


if(n%i==0){
c=c+1;
}
if(c>2){
c=n;
}
if(c==1){
return("es primo");
}

else{
return ("el numero no es primo");
}

}

return("getPrimos");
 
      }      
}
INICIO;

import java.io.*;
public class Inicio {


public static void main(String[]args)throws IOException {
BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));

int n;
Primos  p1= new Primos (2);

System.out.println("Ingrese numero 1: ");
n = Integer.parseInt(lectura.readLine());
System.out.println(p1.getPrimos(3));
}
}


PitaGORAS


public class Pitagoras {
private double hipotenusa;
private int cateto1;
private double cateto2;

public Pitagoras(int c1,double c2){

this.cateto1=c1;
this.cateto2=c2;
}

public Pitagoras(double h, int c1){

this.hipotenusa=h;
this.cateto2=c1;
}

public double getHipotenusa(){
double hipotenusa;
hipotenusa=(Math.sqrt(this.cateto1*this.cateto1)+(this.cateto2*this.cateto2));
return( hipotenusa);
}

public double getCateto(){
double cateto;
cateto=(Math.sqrt(this.hipotenusa*this.hipotenusa)-(this.cateto1*this.cateto1));
return( cateto);
}
}

iNICIo:

public class Inicio{
public static void main (String [] w){
Pitagoras p1= new Pitagoras (50,15.0);
System.out.println("la hipotenusa es"+ (p1.getHipotenusa()));

Pitagoras p2= new Pitagoras (30.0,15);
System.out.println("el cateto es"+ (p2.getCateto()));
}
}


picas Y FIJAS


public class PicasYFijas {

private int n1;
private int n2;
private int n3;


public PicasYFijas (int n1, int n2, int n3){

this.n1 = n1;
this.n2 = n2;
this.n3 = n3;

}

public String getPicasYFijas(int nd1, int nd2, int nd3){

int p = 0;
int f = 0;

if ((n1 == nd1) && (n2 == nd2) && (n3 == nd3)){

return ("3 FIJAS");

}

else {

if (n1 == nd1){

f = f + 1;

}

if (n2 == nd2){

f = f + 1;

}

if (n3 == nd3){

f = f + 1;

}

if ((n1 == nd2) || (n1 == nd3)){

p = p + 1;

}

if ((n2 == nd1) || (n2 == nd3)){

p = p + 1;

}

if ((n3 == nd1) || (n3 == nd2)){

p = p + 1;

}

}

return ("Picas " + p + " Fijas " + f);

}
}

INICIO;

import java.io.*;
public class Inicio {


public static void main(String[]args)throws IOException {
BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));

int n1;
int n2;
int n3;

PicasYFijas pF = new PicasYFijas (3 , 2, 9);

System.out.println("Ingrese numero 1: ");
n1 = Integer.parseInt(lectura.readLine());

System.out.println("Ingrese numero 2: ");
n2 = Integer.parseInt(lectura.readLine());

System.out.println("Ingrese numero 3: ");
n3 = Integer.parseInt(lectura.readLine());

while (!pF.getPicasYFijas(n1, n2, n3).equals("3 FIJAS")){

System.out.println("Ingrese numero 1: ");
n1 = Integer.parseInt(lectura.readLine());

System.out.println("Ingrese numero 2: ");
n2 = Integer.parseInt(lectura.readLine());

System.out.println("Ingrese numero 3: ");
n3 = Integer.parseInt(lectura.readLine());

System.out.println(pF.getPicasYFijas(n1, n2, n3));

}

}
}

iMpAr


public class ImPar{
private int numero;
public ImPar( int num) {
this.numero=num;
        }
public String getImPar()
{
if(this.numero%2==0){
return("el numero es par");
}
else{
return("el numero es impar");
                }
}
}

iNiCio;

public class Inicio{
public static void main(String [] x){
        ImPar i1=new ImPar(67);
System.out.println(i1.getImPar());
        ImPar i2=new ImPar(40);
System.out.println(i2.getImPar());
ImPar i3=new ImPar(23);
System.out.println(i3.getImPar());
ImPar i4=new ImPar(98);
System.out.println(i4.getImPar());
}
}

FACTORIAL


public class Factorial {
private int n;

public Factorial (int n1) {
this.n=n1;
}

public String getFactorial (int n1) {
int i;
int r = 1;
for(i = 1; i <= n1; i++){
r=r* i;
}
return("El factorial es:" + r);
}

}

iNICIO:


import java.io.*;
public class Inicio {

public static void main (String [] args) throws IOException {
BufferedReader lectura = new BufferedReader(new InputStreamReader (System.in));


int n1;


System.out.println("ingrese numero factorial");
n1=Integer.parseInt(lectura.readLine());

Factorial f=new Factorial(n1);
System.out.println(f.getFactorial(n1));
}
}


triangulo


public class Triangulo{

private int lado1;
private int lado2;
private int base;
private int altura;

public Triangulo(int l1,int l2,int b,int a){

this.lado1=l1;
this.lado2=l2;
this.base=b;
this.altura=a;
}

public float getArea(){

float area;
area=(this.base * this.altura)/2;
return(area);
}

public int getPerimetro(){
int perimetro;
perimetro=(this.lado1 + this.lado2 + this.base);
return(perimetro);
}


}








Inicio;

public class Inicio{

public static void main (String[] j){
Triangulo t=new
Triangulo(4,2,6,8);

System.out.println ("El area del triangulo es=" + (t.getArea()));

System.out.println ("El perimetro del triangulo es=" + (t.getPerimetro()));

}
}

area de un circulo por java


Circunferencia;
public class Circunferencia{
public float pi=3.1416f;
public float Radio;

public Circunferencia (int r){
this.Radio=r;
}
public float getArea(){
float area;
area=((pi*this.Radio*this.Radio));
return (area);
}
}


 Inicio:


public class Inicio{
public static void main(String [] w){
Circunferencia c1=new Circunferencia(30);
System.out.println("el area de la circunferencia es ="+ (c1.getArea()));
}
}



lunes, 1 de agosto de 2011

TIPOS DE BÚSQUEDA ALGORÍTMICA


El tipo de búsqueda se puede clasificar como interna o externa en la búsqueda interna encontramos:


·                     Búsqueda secuencial
·                     Búsqueda binaria o dicotómica 
·                     Búsqueda mediante transformación de claves(hashing)

programación orientada a objetos

Intenta simular el mundo real a traves del significado de objetos que contiene caracteristicas y funciones. Los lenguajes orientados a objetos se clasifican como lenguajes de quinta generacion.
Como su mismo nombre indica, la programación orientada a objetos se basa en la idea de un objeto, que es una combinación de variables locales y procedimientos llamados métodos que juntos conforman una entidad de programación.

IDE JAVA

Cuando de Java se trata, son varias las opciones de IDE, para utilizar. Gracias al código que mencionamos algunos de los principales y más populares:
BlueJ: desarrollado como un proyecto de investigación universitaria, es libre.
Eclipse: desarrollado por la Fundación Eclipse, es libre y de código abierto,
IntelliJ IDEA: desarrollado por JetBrains, es comercial.
Jbuilder: desarrollado por Borland, es comercial pero también existe la versión gratuita.
JCreator: desarrollado por Xinox, , es comercial pero también existe la versión gratuita.
JDeveloper: desarrollado por Oracle Corporation, es gratuito.
NetBeans – gratuito y de código abierto.
Sun Java Studio Enterprise: desarrollado por Sun, es comercial.

IDE

Un entorno de desarrollo integrado es un programa informático compuesto por un conjunto de herramientas de programación. Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica Los IDES pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++PythonJava,C#DelphiVisual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

sistema operativo

Un sistema operativo es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.
Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento.
Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac.

www.monografias.com › Computacion 
es.wikipedia.org/wiki/Sistema_operativo 

ALGORITMO


Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia

es un método para resolver un problema, debe presentarse como una secuencia ordenada de instrucciones que siempre se ejecutan en un tiempo finito y con una cantidad de esfuerzo también finito. En un algoritmo siempre debe haber un punto de inicio y un punto de terminación, estos deben ser únicos y deben ser fácilmente identificables.


.wikipedia.org/wiki/Algoritmo
www.monografias.com › Computacion › Programacion


proceso de compilación en java

COMPILADOR
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar.
Los programas Java no son ejecutables, no se compilan como los programas en C o C++.
En su lugar son interpretados por una aplicación conocida como la máquina virtual de
Java (JVM). Gracias a ello no tienen porque incluir todo el código y librerías propias de
cada sistema.
Previamente el código fuente en Java se tiene que precompilar generando un código
(que no es directamente ejecutable) previo conocido como bytecode o J-code. Ese
código (generado normalmente en archivos con extensión class) es el que es ejecutado
por la máquina virtual de Java que interpreta las instrucciones de los bytecodes,
ejecutando el código de la aplicación.
El bytecode se puede ejecutar en cualquier plataforma, lo único que se requiere es que
esa plataforma posea un intérprete adecuado (la máquina virtual de esa plataforma). La
máquina virtual de Java, además es un programa muy pequeño y que se distribuye
gratuitamente para prácticamente todos los sistemas operativos. A este método de
ejecución de programas en tiempo real se le llama Just in Time (JIT).



es.wikipedia.org/wiki/Compilador
prograbasicajava.blogspot.com/.../proceso-compilacion-pro...

miércoles, 27 de julio de 2011

conceptos

LENGUAJE DE PROGRAMACION

Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.[1] Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc.
Los lenguajes de programación de una computadora en particular se conocen como código de máquinas o lenguaje de máquinas.
Un lenguaje de programación" es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.
Por otro lado, el término "lenguaje natural" define un medio de comunicación compartido por un grupo de personas (por ejemplo: inglés o francés).
Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada que ver con los lenguajes de programación; se los conoce como protocolos de comunicación. Se trata de dos conceptos totalmente diferentes.

fuentes;
es.wikipedia.org/wiki/Lenguaje_de_programación
www.lenguajes-de-programacion.com/lenguajes-de-progra...