jueves, 16 de septiembre de 2010

condicionales corregido

condicionales

siguiendo la introduccion a los diferentes tipos de lenguajes de programacion que hemos estado aprendiendo durante estos semestres vamos a hablar de una parte muy importante para la tecnologia en informatica como para la programacion orientada a objetos es por ello que vamos a hacer la siguiente explicacion.


cuando hablamos de una condicional y de una sentencia estamos hablando de un proceso logico que vamos a efectuar sabemos que la condicion humana nos permite realizar procesos logicos muy a menudo y sin darnos cuenta de ello lo hacemos es por eso que en un lenguaje de programacion tambien tenemos que darle este sentido logico, pero como las computadoras no piensan por si solas nosotros daremos las pautas necesarias para lograr este objetivo.

en la vida real al hacer un proceso de meditacion de un problema un ejemplo muy claro de ello usar el transporte que nos va a llevar a nuestro sitio de trabajo y de estudio, analizamos los factores que hacen ejecutable esta accion.


ejemplo:
si el dinero me alcanza
la ruta que voy a tomar es la adecuada
la ruta esta muy llena

todos estos factores nos hacen tomar una decision logica.

en el lenguaje de programacion en java es lo mismo perp par utlizar las condicionales tenemos que saber los siguientes factores.


cuando interpretamos este tipo de lenguaje a la maquina tenemos que dar una serie de parametros para la logica del computador.


vamos a dar un ejemplo muy sencillo y muy claro de un programa de condicionales en java.



si compra <= 500
desplegar "compra"
si no
desplegar "no alcanza"

fin si

en este ejemplo encontramos

si condicion entonces,grupo cierto de instrucciones
si la condicion es falsa,grupo cierto de instrucciones
y el fin del programa.

ahora explicaremos la sentencia


la sentencia en un programa en java es la que nos determina el camino que debemos tomar sea cual sea la decision entonces en los ejemplos que veremos a continuacion
nos enfocaremos en las sentencias if y else


if= con la sentencia if podemos tomar una decision la primera que va a tomar el programa y la que nos va a llevar a una instruccion determinada.

else= con la sentencia else hacemos que el programa ejecute otra instrucion si no ocurre lo que queremos con el if.


condicionales anidados

es cuando en el programa tenemos que decidir entre varios caminos, y cuando despues de eso tenemos que volver a elegir y tambien cuando tenemos muchas decisiones para llegar a un destino final.


la sentencia switch= es una sentencia que nos sirve para ahorrar tiempo y hacer que el programa realize diferentes tipos de instrucciones

vamos a tomar el ejemplo que realizamos en la clasesobre los meses



import java.io.*;
public class condimes {
private static int seres;

public static void main(String []args)throws IOException{

int meses;
switch (6){

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 no valido");break;



}

}

}

y con eso damos por finalizado lo que creemos mas importante y lo que entendimos
en java gracias.


alexander gil tafur
oscar javier diaz

martes, 14 de septiembre de 2010

ESTRUCTURAS REPETITIVAS


ESTRUCTURAS REPETITIVAS


Muchas veces nosotros como programadores necesitamos que algo se repita un numero determinado de veces para no estar haciendo las repeticiones de lo que queremos ejecutar existen los ciclos empezaremos con :

CICLO FOR

Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

Antes de continuar recordar que for, asi como las instrucciones if y switch(). Son independientes del modelo de programación usado, es decir se pueden usar dentro de consola, frame, applet, servlet, jsp.

Su formato general es:

for (inicialización; condición; incremento)

un ejemplo sencillo pero basico es el siguiete:

Ejemplo : La función de Babbage.

public class Babbage {

public static void main(String[] args) {

for (int x = 0; x <>

int y = x*x+x+41;

System.out.println(“\t” + x + “\t” + y);

}

}

}

La salida sería:

0 41

1 43

2 47

3 53

4 61

5 71

6 83

7 97

8 113

9 131

NOTA:SE USA CUANDO SE SABE EL NUMERO DE REPETICIONES

*SE REPITE LO QUE ESTE ENTRE { } HASTA QUE AL CONDICION ES FALSA

*EL INCREMENTO NO NECESARIAMENTE PUEDE SER i++, TAMBIEN PUEDE SER i+2 O i+3 etc...

ahora que vimos el ciclo for, podremos ver el siguiente, en este caso el ciclo while.

El enunciado while

El enunciadofor es la mejor manera de realizar ciclos cuando las repeticiones se encuentran atadas naturalmente a un índice. Cuando no hay una variable de control natural, se recomienda utilizar el enunciado while.

La sintaxis para el enunciadowhile es:

while (expresión) {

enunciados

}

Dondeexpresión es una expresión booleana yenunciados es un bloque de enunciados.

El siguiente ejemplo calcula la secuencia de fibonacci. Esta secuencia se definerecursivamente de la siguiente manera:

F0 =0
F
1 =1
F
n =Fn-1 +Fn-2

El proceso en cada iteración es igual: sumar los dos números anteriores. Se llama proceso recursivo porque cada número es recurrente en las dos siguientes ecuaciones.

NOTA: Un error muy comun con el while, es poner un punto y coma (;) despues de la (condición) ejemplo while(condicion); ←-esto es y causa un error.

Ejemplo : La secuencia de Fibonacci

public class Fibonacci {

public static void main(String[] args) {
System.out.print(0);
int fib0 = 0;
int fib1 = 1;
int fib2 = fib0 + fib1;

while (fib2 < fib0 =" fib1;" fib1 =" fib2;" fib2 =" fib0">

}

}

}La salida sería:

0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987

DO WHILE

A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones.

Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición;

También se le conoce por esta razón como ciclo de condición de salida.

Su formato general es :

cargar o inicializar variable de condición;

do {

grupo cierto de instrucción(es);

instrucción(es) de rompimiento de ciclo;

} while (condición);

Ejemplo : Cálculo del factorial

import java.util.Random;

public class Factorial {

public static void main(String[] args) {
Random r = new Random();
float x = r.nextFloat();
int n = Math.round(21*x);
long f = 1;
int k = 1;

do

f *= k++;

while (k <= n);

System.out.println(n + ”! = “ + f);

}

}

Una salida sería:

5! = 120

NOTA:aunque la condición sea falsa desde un principio el cuerpo de instrucciones se ejecutara por lo menos una vez a diferencia del while .

Espero les halla gustado es un pequeño manual practico de los ciclos repetitivos de java

ANDRES CARDENAS

VICTOR PARDO

BIBLIOGRAFIAS

http://www.programacionfacil.com/java:ciclo_for
http://www.programodesdecasa.com/aplicaciones-de-escritorio/94-ciclo-en-java.html
programas basados al manual de Alejandro Neira

sábado, 11 de septiembre de 2010

Conpcentos basicos de entrada y salida (Programacion Orientada a Objetos)

Conceptos básicos de entrada y salida

Todo programa de computadora opera sobre un conjunto de datos de entrada y produce algún tipo de salida.

Al igual que Java nos ofrece System.out para escribir en pantalla, un breve EJEMPLO

public class nombremio2 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub


System.out.printin(" Brayan Vivas");

System.out.printin(" Jeison Olaya");


}

}

lo q nos debe aparecer en patalla seria los nombres, ya q los insertamos en el System.out.printin ya q es un codigo q nos permite ver por pantalla y muy simple de comprender.


tenemos System.in el cual lo podemos ver por pantalla y lo capturamos por teclado.

por ello para poder leer una línea completa emplearemos el siguiente código:

BufferedReader br = new BufferedReader(Lector); String Cadena = br.readLine();

creamos un InputStreamReader a partir de System.in y pasamos dicho InputStreamReader al constructor de BufferedReader, el resultado es que las lecturas que hagamos sobre br son en realidad realizadas sobre System.in, pero con la ventaja de que se permite leer una línea completa.

Para ello veremos un EJEMPLO mas especifico sobre como podemos capturar por un teclado un nombre

import java.io.*;
public class clase {

/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

System.out.println("digita tu Nombre");
InputStreamReader Lector = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(Lector);
String Cadena = br.readLine();
System.out.println("Buenas tardes señor "+Cadena);



}

}

Nota:

tenemos que realizar un import de java.io para poder emplear esta lectura de líneas.

y devemos colocar la ecepcion q seria throws IOException.

ahora veremos un ejemplo para ya renombrar lo q capturamos por ejemplo
quiero capturar un numero y hacer la suma a continuacion veremos la captura y la suma con el codigo correspondiente

import java.io.*;

public class Suma
{
public static void main(String[] args)throws IOException
{
System.out.println("Digite Primer Numero");
InputStreamReader Lector=new InputStreamReader (System.in);
BufferedReader n1=new BufferedReader (Lector);
String Cadena1= n1.readLine();

System.out.println("Digite Primer Numero");
InputStreamReader Lector2=new InputStreamReader (System.in);
BufferedReader n2=new BufferedReader (Lector2);
String Cadena2= n2.readLine();

int n3= Integer.parseInt(Cadena1);
int n4=Integer.parseInt(Cadena2);
System.out.println("La respuesta de la suma es:"+ (n3+n4));

}


}

esta linea de codigo lo q nos permite hacer es renombrar y colocar en una nueva variable de tipo numero.

int n3= Integer.parseInt(Cadena1);

lo q es cadena1 lo estamos renombrando como n3 para asi hacer q no lo accepte como numero y podamos hacer la operacion de suma.

System.out.println("La respuesta de la suma es:"+ (n3+n4));

aca nos mostrar el resultado de lo q capturamos y lo q estamos preguntado (suma).


para algunos terminos q no entendamos como lo son (read():, skip(n):, InputStream, BufferedReader) les dare las definiciones acontinuacion:

read(): Devuelve el carácter que se ha introducido por el teclado leyéndolo del buffer de entrada y lo elimina del buffer para que en la siguiente lectura sea leído el siguiente carácter. Si no se ha introducido ningún carácter por el teclado devuelve el valor −1.

skip(n): Ignora los n caracteres siguientes de la entrada.

InputStream: es cualquier cosa de la que se leen bytes. Puede ser el teclado, un fichero, un socket, o cualquier otro dispositivo de entrada. Esto, por un lado es una ventaja.

BufferedReader: Lee una línea de texto hasta que encuentra un carácter de salto de línea (\n) y retorno de carro (\r).


Jeison Stiven Olaya

Juan Jose Ortiz

Brayan Jose Vivas