domingo, 15 de mayo de 2011

VECTOR DEFINICION,SINTAXIS Y EJEMPLO

Los vectores.

Imaginemos que tenemos que hallar el promedio de 10 números que introduzca el usuario (o realizar cualquier otra operación con ellos). Parece evidente que tiene que haber una solución más cómoda que definir 10 variables distintas y escribir 10 veces las instrucciones de avisar al usuario, leer los datos que teclee, y almacenar esos datos. Si necesitamos manejar 100, 1.000 o 10.000 datos, resulta todavía más claro que no es eficiente utilizar una variable para cada uno de esos datos.

Por eso se emplean los arrays (o arreglos). Un array es una variable que puede contener varios dato del mismo tipo. Para acceder a cada uno de esos datos emplearemos corchetes. Por ejemplo, si definimos una variable llamada "m" que contenga 10 números enteros, accederemos al primero de estos números como m[0], el último como m[9] y el quinto como m[4] (se empieza a numerar a desde 0 y se termina en n-1). Veamos un ejemplo que halla la media de cinco números (con decimales, "double"):
         // Array1.java
         // Aplicación de ejemplo con Arrays
         // Introducción a Java
         class Array1 {              public static void main( String args[] ) {
                double a[] = { 10, 23.5, 15, 7, 8.9 };                 double total = 0;                 int i;
                for (i=0; i<5; i++)                   total += a[i];
                System.out.println( "La media es:" );
                System.out.println( total / 5 );
             }
         }

En la siguiente porción de código, se crea un vector con una capacidad inicial de 10 elementos, valor por defecto, y se le añaden o insertan objetos de la clase String.

 Vector v=new Vector();
        v.addElement("uno");
        v.addElement("dos");
        v.addElement("cuatro");
        v.addElement("cinco");
        v.addElement("seis");
        v.addElement("siete");
        v.addElement("ocho");
        v.addElement("nueve");
        v.addElement("diez");
        v.addElement("once");
        v.addElement("doce");
        v.insertElementAt("tres", 2);

ARREGLO UNIDIMENSIONAL EN JAVA


Un arreglo está formado por un número fijo de elementos contíguos de un mismo tipo. Al tipo se le llama tipo base del arreglo. Y los datos individuales se llaman elementos del arreglo.

Un arreglo se caracteríza por :

1. Almacenar los elementos del arreglo en posiciones de memoria contínua.

2. Tener un único nombre de variable que representa a todos los elementos, y éstos a su vez se diferencian por un índice o subíndice.

3. Acceso directo o aleatorio a los elementos individuales del arreglo.




ARREGLO: Un arreglo (array) es un medio de guardar un conjunto de datos de la mismo tipo. Se accede a cada elemento individual del arreglo mediante un número entero denominado índice. En C# 0 (cero) es el índice del primer elemento y n-1 es el índice del último elemento, siendo n, la dimensión del arreglo.

Para definir un tipo estructurado arreglo, se debe especificar el tipo base y el número de elementos.

      SINTAXIS

      El formato para definir un tipo array es :

Tipo de dato [tipo subindice] nombre array;

Tipo de dato: Existe un elemento por cada valor del tipo subíndice describe el tipo de cada elemento del vector; todos los elementos de un vector son del mismo tipo. Tipo subíndice:puede ser de tipo ordinal: boolean o char, un tipo enumerado o un tipo subrango.

      DECLARAR Y CREAR UN ARREGLO (VECTOR) UNIDIMENSIONAL

Para declarar un VECTOR se escribe

      Tipo de dato [ ] nombre del array;

Para crear una VECTOR de 4 números enteros escribimos

      Números = new int [4];

La declaración y la creación del vector se pueden hacer en una misma línea.

      int[] numeros =new int[4];





EJEMPLO:



INICIALIZAR EL ARREGLO

Se pueden inicializar en un bucle for como resultado de alguna operación

     
for(int i=0; i<4; i++)

      {

            numeros[i]=i*i+4;

      }

Los arreglos se pueden declarar, CREAR E INICIALIZAR EN UNA MISMA LÍNEA, del siguiente modo

      int[] numeros={2, −4, 15, −25};

      String[] nombres={”Juan”, “José”, “Miguel”, “Antonio”};



      IMPRIMIR EL ARREGLO

Para imprimir a los elementos del arreglo nombres se escribe

     
for(int i=0; i<4; i++)

      {

           
Console.Write Line?(nombres[i]);

      }
o Escribimos de forma equivalente
LENGTH
No necesitamos recordar el número de elementos del array, su miembro dat
Length nos proporciona la dimensión del arreglo.

      for(int i=0; i<numeros.Length; i++)

      {

            numeros[i]=i*i+4;

     
}

Algunos lenguajes como Java verifican que el índice no sea mayor o igual que la dimensión del array, lo que facilita mucho el trabajo al programador. En este tipo de lenguajes nos mandara alguna clase de excepción o error, cuando se accede a un indice negativo o fuera de la longitud del vector.

martes, 3 de mayo de 2011

ejemplo

funciones en Java

FUNCIONES EN JAVA
En Java una funcion es un modulo de un programa separado del cuerpo principal, que realiza una tarea especifica y que puede regresar un valor a la parte principal del programa u otra funcion o procedimiento que la invoque.

La forma general de una funcion es:

tipo_resultado nombre_función (tipo_parámetro nombre_parámetro, ... ) {
   sentencia1;
   sentencia2;
   ...
   sentenciaN;

}
class Ejemplo

{

public static void main(String[] args)

{

int n;

System.out.println("Dime un numero");

n = In.readInt();

if ( esPrimo(n) )

{ System.out.println( n + " es primo"); }

else

{ System.out.println( n + " no es primo"); }

}

public static boolean esPrimo(int n)

{

int i = 2;

while ( (n % i) != 0 && i < n )

{ i++; }

if ( i == n )

{ return true; }

else

{ return false; }

}

}

martes, 26 de abril de 2011

ESTRUCTURA SWITCH


La estructura de control switch nos permite ejecutar diferentes bloques de instrucciones en función del resultado de una expresión.
La sintaxis básica es la siguiente:
switch(expresion)
{
    case valor1:
            instrucciones
            break;
    case valor2:
            instrucciones
            break;
    default:
            instrucciones
            break;

}
Si la expresión coincide con el valor1 se ejecutan todas las instrucciones definidas en ese bloque, sino se compara con el valor2 y así sucesivamente. Si el resultado de la expresión no coincide con ningún caso se ejecuta el bloque de instrucciones del caso default.
Cabe destacar que el único valor que puede evaluar la estructura de control switch son números enteros de tipo int y cualquier tipo que pueda convertirse implicitamente a tipo int, es decir, byte, char, short. Además a partir de la versión 5, Java permite evaluar también enumeraciones (las veremos más adelante) y las clases envolventes (wrappers) de los tipos antes mencionados, es decir, Character, Short, Int y Byte (también las veremos más adelante).
Pueden haber tantos cases como sean necesarios siempre y cuando no hayan dos con el mismo valor.
La sentencia break es opcional y se utiliza para finalizar el switch tras la ejecución de un case. Si la sentencia break no estuviera, al salir de un bloque case entraría en el siguiente aunque el valor de ese case no coincidiera con el evaluado en la expresión.
El case default se ejecuta si el resultado de la expresión no coincide con ningún case. Su uso también es opcional.
Vamos a ver un ejemplo muy sencillo:
package mes;
import java.io.*;
public class Main {
    public static void main(String args[]) throws IOException,Exception
    {
        InputStreamReader isr = new InputStreamReader (System.in);
        BufferedReader br = new BufferedReader (isr);
        int mes;
        System.out.println("Ingrese el numero del mes: ");
        mes=Integer.parseInt(br.readLine());
        switch (mes) {
            case 1:  System.out.println("Enero"); break;
            case 2:  System.out.println("Febrero"); break;
            case 3:  System.out.println("Marzo"); break;
            case 4:  System.out.println("Abril"); break;
            case 5:  System.out.println("Mayo"); break;
            case 6:  System.out.println("Junio"); break;
            case 7:  System.out.println("Julio"); break;
            case 8:  System.out.println("Agosto"); break;
            case 9:  System.out.println("Septiembre"); break;
            case 10: System.out.println("Octubre"); break;
            case 11: System.out.println("Noviembre"); break;
            case 12: System.out.println("Diciembre"); break;
            default: System.out.println("Mes erróneo");break;
        }
    }

}

domingo, 24 de abril de 2011

Ciclos for, while y do while

condicionales en java

Asignacion en java

CICLOS- EJERCICIO 7

CICLOS- EJERCICIO 5

Ciclos-ejercicio 15

Ciclos-ejercicio 26

Ciclos-ejercicio 24

Ciclos-ejercicio 16

Ciclos-ejercicio 11

Ciclos-3

CICLOS-EJERCICIO 2

CICLOS- EJERCICIO 1

lunes, 11 de abril de 2011

FORO CICLOS EN JAVA




Compañeros publico el siguiente foro dejen sus opiniones...



·  CICLOS for
  • El ciclo for repite una declaración o bloque de enunciados un número de veces hasta que una condición se cumple.
  • Estos ciclos con frecuencia se usan para una iteración sencilla en donde se repite un bloque de enunciados un cierto número de veces y después se detiene, aunque también se los puede usar para cualquier clase de ciclo.
  • Formato:
for (inicialización; test; incremento) {
sentencias;
}
  • El inicio del ciclo for tiene tres partes:
  • inicialización es una expresión que inicializa el principio del ciclo. Si se tiene un índice, esta expresión puede ser declarada e inicializada, int i = 0. Las variables que se declaran en esta parte del ciclo son locales al ciclo: dejan de existir después de acabar la ejecución del mismo.
  • test es la prueba que ocurre después de cada vuelta del ciclo. La prueba debe ser una expresión booleana o una función que regresa un valor booleano, por ejemplo, i < 10. Si la prueba es verdadera, el ciclo se ejecuta; cuando es falsa, el ciclo detiene su ejecución.
  • incremento es una expresión o llamada de función. Por lo común, el incremento se utiliza para cambiar el valor del índice del ciclo a fin de acercar el estado del ciclo a false y que se complete.
  • Dentro del ciclo for existen sentencias que se ejecutan cada vez que se itera el ciclo. Al igual que con if, se puede incluir un solo enunciado o un bloque; en este último caso, como se sabe, se lo empieza y termina con llaves ({ }).
  • Ejemplo. ciclo for para inicializar todos los valores de un arreglo String para cadenas vacías:
String strArray [ ] = new String[10];
int i; // índice del lazo
for (i = 0; i < strArray.length; i++)
strArray[i] = "";
  • Cualquier parte del ciclo for puede se un enunciado vacío, esto es, puede incluir sólo un punto y coma sin ninguna expresión o declaración, y esa parte del ciclo se ignorará.
  • También puede tenerse un enunciado vacío para el cuerpo del ciclo for, si todo lo que se desea hacer se encuentra en la primera línea. Por ejemplo, aquí está una que encuentra el primer número primo mayor que 4000:
for (i = 40001; notPrime(i); i +=2)
;



CICLOS while y do
  • Estos ciclos permiten también a un bloque de código ejecutarse de manera repetida hasta encontrar una condición específica. Utilizar uno de estos tres ciclos es, por lo general, una cuestión de estilo de programación.
  • Los ciclos while y do son exactamente los mismos que en C y C++, a excepción de que su condición de prueba debe ser un booleano.
CICLOS while
  • Se utilizan para repetir un enunciado o bloque de enunciados, mientras una condición sea verdadera.
  • Formato:
while (condición) {
cuerpoDelLazo;
}
  • La condición es una expresión booleana. Si regresa true, el ciclo while ejecuta los enunciados en cuerpoDelLazo y después prueba la condición hasta que ésta sea falsa. También se puede emplear un enunciado sencillo en lugar del bloque.
  • Ejemplo. Inicialización y escritura de un vector:
int [ ] A = new int[10];
for (int j = 0; j < A.length; j++)
A[ j ] = j + 2;
int i = 0;
while (i < A.length)
System.out.println("A[ " + i + " ] = " + A[i]);
  • Si la condición la primera vez que se prueba es falsa, el cuerpo del ciclo while nunca se ejecutará.
  • Para este caso, cuando se desee que una iteración se ejecute por lo menos una vez, se utiliza el ciclo do ... while, como se explica a continuación.
CICLOS do ... while
  • El ciclo do es como el ciclo while, excepto que ejecuta un enunciado o bloque dado hasta que la condición es false.
  • La principal diferencia es que los ciclos while prueban la condición antes de realizar el ciclo, lo cual hace posible que el cuerpo del ciclo nunca se ejecute si la condición es falsa la primera vez que se prueba.
  • Los ciclos do ejecutan el cuerpo del ciclo por lo menos una vez antes de probar la condición.
  • Formato:
do {
cuerpoDelLazo;
} while (condición);
  • cuerpoDelLazo se ejecuta por lo menos una vez.
  • La condición se prueba al final de la ejecución del cuerpo.
  • La condición es una prueba booleana: si regresa true, el ciclo se ejecuta otra vez; si regresa false, se detiene.
Ejemplo:
int x = 1;
do {
System.out.println("Lazo, vuelta " + x);
x++;
} while (x <= 10);
SALIDA DE CICLOS
  • Todos los ciclos (for, while y do) se terminan cuando la condición que prueba se cumple.
  • Para salir del ciclo de manera incondicional, se usan las palabras clave break y continue.
  • break detiene la ejecución del ciclo actual. Si se anidaron ciclos, la ejecución selecciona el siguiente ciclo externo; de otra manera, el programa continúa la ejecución del siguiente enunciado después del ciclo.
  • Ejemplo: copia de elementos de un arreglo de números enteros a un arreglo de punto flotante hasta el final del arreglo o hasta que se encuentre un 0.
int count = 0;
while (count < array1.length) {
if (array1[count] ==0) {
break;
}
array2[count] = (float) array1[count++];
}
  • El uso de continue es similar al de break, a excepción de que en lugar de detener por completo la ejecución del ciclo, éste inicia otra vez la siguiente iteración.
  • Para los ciclos do y while, esto significa que la ejecución del bloque se inicia de nuevo.
  • Para los ciclos for, la expresión de incremento se evalúa y después el bloque se ejecuta.
  • continue es útil cuando se desea tener elementos especiales de condición dentro de un ciclo.
  • Usando el ejemplo anterior, se puede probar si el elemento actual es 0 y reiniciar el ciclo si lo encuentra, para que el arreglo resultante nunca contenga cero. Obsérvese que puesto que en el primer arreglo se saltan los elementos, ahora se tiene que seguir a dos diferentes contadores de arreglos:
int count1 = 0;
int count2 = 0;
while (count1 < array1.length) {
if (array1[count1] ==0) {
count1++;
continue;
}
array2[count2++] = (float) array1[count1++];
}
CICLOS ETIQUETADOS
  • Tanto break como continue pueden tener una etiqueta opcional que le indique a Java dónde detenerse.
  • Sin una etiqueta, break saltará hacia el ciclo más cercano (a uno envolvente o al siguiente enunciado fuera del ciclo) y continue reinicia el ciclo envolvente.
  • Utilizar estas instrucciones etiquetadas, permite salirse de ciclos anidados o continuar un ciclo fuera del actual.
  • Para utilizar un ciclo etiquetado, se agrega la etiqueta antes de la parte inicial del mismo, con dos puntos entre ellos.
  • Después, cuando se utilice break o continue, se agrega el nombre de la etiqueta, después de la palabra clave:
out:
for (int i = 0; i < 10; i++) {
while (x < 50) {
if (i * x == 400)
break out;
. . .
}
. . .
}
  • En este recorte de código, la etiqueta out marca el ciclo externo. Entonces, dentro de los ciclos for y while, cuando una condición particular se cumple, un break ocasiona que la ejecución se salga de ambos ciclos.
  • El siguiente programa contiene un ciclo anidado for. Dentro del ciclo más profundo, si los valores sumados de los dos contadores es mayor que cuatro, ambos ciclos se abandonan al mismo tiempo:
foo:
for (int i = 1, i <= 5; i++)
for (int j = 1; j <= 3; j++) {
System.out.println(" i es " + i + ", j es " + j);
if (i + j) > 4)
break foo;
}
System.out.println("fin de lazos");
Salida del programa:
i es 1, j es 1
i es 1, j es 2
i es 1, j es 3
i es 2, j es 1
i es 2, j es 2
i es 2, j es 3
fin de lazos
  • Como se puede ver, el ciclo se iteró hasta que la suma de i y j fue mayor que 4 y después ambos regresaron al bloque externo y el mensaje final se imprimió.