domingo, 30 de agosto de 2015

RESUMEN MENSUAL DE LO PUBLICADO

Hola a todos en esta publicación haremos un resumen de todo lo publicado este mes comenzando por:

¿Qué es JAVA?

Es un lenguaje de programación inventado en el año 1991 por la empresa Sun Microsystems liderada por los conocidos como padres de JAVA James Gosling y Patrick Naughton (esta empresa fue comprada no hace mucho tiempo por Oracle empresa famosa por su gestor de base de datos) ellos desarrollaron este lenguaje para ser utilizado en dispositivos electrodomésticos (Microondas, Lavadoras, etc.). Estos productos tenían poca capacidad y poca potencia de procesamiento ya que en esos tiempos tenían un procesador de un solo núcleo, estos aparatos eran diferentes entre si por lo cual el lenguaje de programación debía tener un código pequeño, compacto y mas importante aun que fuera neutro a su arquitectura (Multiplataforma).

Cuenta la historia que le colocaron como nombre OAK que traducido significa Roble, este nombre ya estaba registrado para otro lenguaje de programación, como ellos eran muy buenos para tomar café decidieron colocarle como nombre JAVA ya que vulgarmente en EE.UU. le dicen a la acción de tomar café, Tomar una taza de Java.

Una ves que crearon el lenguaje de programación con su nombre ya registrado lo intentaron comercializar con los diferentes creadores de estos electrodomésticos pero fue un gran fracaso comercial puesto que no lograron venderlo a ningún fabricante y debido a esto decidieron congelar el proyecto hasta el año 1994 en que el Internet se hacia cada vez mas grande y se dieron cuenta de que las características de JAVA se ajustaban muy bien a la naturaleza de Internet, puesto que la Internet utiliza distintas plataformas y la tecnología JAVA  es neutro a su arquitectura.

Producto de esto crearon en el año 1996 un navegador llamado HOTJAVA escrito en lenguaje JAVA.  Este navegador era ligero capas de correr en cualquier plataforma y ademas podía ejecutar códigos en su interior, mas conocidos como APPLETS que es un programa en JAVA que se ejecuta en un navegador.

De principio no lo tomaron muy enserio ya que era muy básico hasta que con el tiempo fue creando nuevas actualizaciones de lenguaje de versión JAVA que le fue dando nuevas capacidades y potencialidades.

¿cuales son las características de JAVA?

  • Orientado a Objetos: Uno de los principales objetivos del programador de tecnologías JAVA es crear objetos, fragmentos de código autónomo, estos deben ser capas de interactuar con otros objetos para resolver un problema.
  • Distribuido: Ofrece soporte para tecnologías de redes distribuidas.
  • Simple: Se le quitaron características mas complejas y poco claras que existían en otros lenguajes de programación.
  • Multihilo: Se puede programar varios procesos en paralelo dentro de un mismo programa JAVA.

  • Seguro: Utiliza medidas de seguridad para proteger los programas de ataques externos, estas medidas son : No permite ller ni escribir ficheros sin permiso, desbordar la pila de ejecución, tampoco permite corromper la memoria.
  • Independiente de plataforma: Los programas en tecnología Java  son compilados usando un compilador de la tecnología Java. Sin embargo, el formato resultante de un programa basado en la tecnología Java es Bytecode de la tecnología Java independiente de la plataforma, en lugar de código maquina especifico para una CPU. Luego que el Bytecode es creado, es interpretado (ejecutado) por una maquina virtual… 



¿Cuáles son los grupos de productos o plataformas de desarrollo?


Java 2 Standard Edition (J2SE): 

Es la tecnología Java para computadora personales, notebooks y arquitecturas con poder de procesamiento y memoria considerables. Varias APIs acompañan esta versión y otras tantas pueden ser bajadas opcionalmente de la web de Sun . Es con ellas que la mayoría de las aplicaciones son construidas y ejecutadas. La J2SE posee dos divisiones: 

  1. Java Development Kit (JDK) o Standard Development Kit (SDK): un kit para desarrollo en Java y debe ser instalado sólo por los desarrolladores, por poseer herramientas para tal tarea.
  2. Java Runtime Edition JRE: una versión más liviana de JDK pues está preparada para el ambiente de ejecución, o sea, esta versión ejecutará los sistemas construidos con SDK. 


Java 2 Mobile Edition (J2ME): 

Es la tecnología Java para dispositivos móviles con limitaciones de memoria o procesamiento. Posee APIs bien simples y livianas para economizar espacio, memoria y procesamiento. Son utilizadas para sistemas a ejecutar en dispositivos móviles, palm tops, pocket pcs, smartphones, javacards y otros dispositivos. J2ME se divide en dos grupos de bibliotecas:

  1. Connected Limited Device Configuration (CLDC): Para móviles y smartphones, que son más limitados 
  2. Connected Device Configuration (CDC): Para Palmtops y Pocket pcs y algunos dispositivos más poderosos. 


Java 2 Enterprise Edition (J2EE): 

Es la tecnología Java para aplicaciones corporativas que pueden estar en Internet o no. Posee un gran número de APIs donde la seguridad es la principal preocupación. Es ideal para la construcción de servidores de aplicación, integración de sistemas o distribución de servicios para terceros. 

¿Cuáles son los tipos de datos en JAVA?

Veamos los tipos de datos en Java sobre un esquema de síntesis:


¿Que es una Variable?

Es un espacio en la memoria del computador donde se almacena un valor que puede cambiar durante la ejecución de un programa, se utiliza cuando surge la necesidad de guardar datos temporalmente al momento de crear un programa.

La variable se crea especificando el tipo de dato y luego el nombre de la variable y se inicia asignándole un valor.

Ejemplo

int i = 1;


¿Qué es una Constante?

Es un espacio en la memoria del computador donde se almacena un valor que No cambiara durante la ejecución de un programa, se utiliza cuando surge la necesidad de guardar datos temporalmente, y cuyo valor debe ser fijo o constante al momento de crear un programa.

La constante se crea utilizando la palabra final, acontinuación el tipo de dato y el nombre de la constante.


Ejemplo


final double PI = 3.14159;



¿Cuales son los operadores aritméticos y lógicos?

Aritméticos:

Suma                 : +
Resta                 : -
Multiplicación: *
División           : /


Lógicos, Relacionales y Booleanos:

Mayor que : >
Menor que : <
Distinto      : !=
Igual           : ==

Y                  : &&
O                 : ||


Incremento y decremento:

Incremento      : ++  a <- a+1
Decremento     : -- 


Otros:

Suma                       : += n 
Resta                       : -= n 
Multiplicación      : *= n
División                 : /= n
Concatenación     :   

Une o concatena : +


¿Qué son las Instrucciones de control?

Son un  conjunto de instrucciones  para controlar el flujo de ejecución de un programa que son  las estructuras condicionales, y las estructuras repetitivas. 


Instrucción if

Es una sentencia de tipo alternativa que al comprobar si una condición (booleana) es verdadera se ejecutara la sentencia o el bloque de instrucciones. Si no se cumple no ejecutara ninguna. 

If ( condición ){

sentencias

}


If – else: al evaluar la condición del if, y en el caso que resulte ser falsa ejecutara la sentencia o el bloque que continúe del else.  

If ( condición ){

sentencias
}
else{

sentencias

}


Instrucción Switch

La sentencia switch se encarga de estructurar una selección múltiple. 

Sintaxis: 
La expresión y las constantes tienen que ser de tipo char, byte, short o int. No booleanos, reales ni long, porque los valores se transforman a tipo int. 

Switch (expresión)
{
case valor1:
sentencias…
break;
case valor2:
sentencias…
break;
default:
sentencias…

}

Se evalúa la expresión y se busca la constante con el mismo valor, si la encuentra se ejecuta la sentencia de ese case, hasta que se tope con un break y finaliza.
Si no encuentra una constante que coincida con lo ingresado, se busca el default y ejecuta las sentencias que siguen. 


Instrucción For

La sentencia for nos permite repetir un ciclo n veces, en donde se debe determinar el valor inicial y cuantas veces se repetirá. 

Sintaxis:

for({valor inicial};{condición de termino};{factor de incremento del valor inicial}){
  //acá va lo que se repetirán veces de acuerdo a la condición de término
}

Si no lleva el valor, condición ni factor de incremento, no tendríamos control y se produciría un bucle infinito.

for ( ; ; ) { }

Instrucción While

Sentencia de iteración o repetitiva, permite ejecutar una sentencia o un bloque de instrucciones, mientras la condición de tipo booleano (true - false) sea verdadera, al concluir se vuelve a evaluar la condición y continuara así hasta que cambie a falso. Si no fuera así, se crearía un ciclo infinito.

while ( condición )
{
Sentencias



En este caso la condición se evalúa primero, y en el caso que llegara a resultar falsa, la sentencia nunca se ejecutaría. 

Instrucción Do – while

Es como un while pero al revés, primero ejecuta las sentencias y luego evalúa la condición, si esta es verdadera inicia nuevamente un ciclo, si es falsa el programa termina. De esta forma al menos una vez tendremos la certeza que la sentencia se ejecutara.

do 
{
sentencias

} while ( condición )

Esta sentencia la utilizamos cuando no conocemos la cantidad de ciclos que se debían cumplir para cumplir con la condición.

Aquí  les dejo un ejemplo de como se utilizan las instrucciones en JAVA:

**************************************************************************************
package ejemplo;
import java.util.Scanner;
public class Ejemplo {

    
    public static void main(String[] args) {
    Scanner leer = new Scanner(System.in);
        System.out.println("Menu");
        System.out.println("1.- perimetro rectangulo");
        System.out.println("2.- area rectangulo");
        System.out.println("3.- perimetro cuadrado");
        System.out.println("4.- area cuadrado");
        System.out.println("5.- perimetro triangulo equilatero");  
        System.out.println("6.- perimetro triangulo isosceles");
        System.out.println("7.- perimetro triangulo escaleno");
        System.out.println("8.- numeros de 1 al 100");
        System.out.println("Ingrese una opcion");
        int opcion = leer.nextInt();
        switch(opcion)
        {
            case 1:
                System.out.println("ingrese un numero:");
                    int a = leer.nextInt();
                    System.out.println("ingrese otro numero:");
                    int b = leer.nextInt();
                    int perimetro5 = a + a + b + b;
                    System.out.println("el perimetro de un rectangulo es = " + perimetro5);
                    break;               
            case 2:
                System.out.println("ingrese un numero:");
                    int x = leer.nextInt();
                    System.out.println("ingrese otro numero:");
                    int y = leer.nextInt();
                    int area5 = x * y;
                    System.out.println("el area de un rectangulo es = " + area5);
                    break;               
            case 3:
                System.out.println("ingrese un numero");
                    int d = leer.nextInt();
                    int perimetro6 = d * 4;
                    System.out.println("el perimetro de el cuadrado es= " + perimetro6 );
                    break;
            case 4:
                System.out.println("ingrese un numero:");
                    int n = leer.nextInt();
                    int area6 = n * n;
                    System.out.println("el area de un cuadrado es = " + area6);
                    break; 
                
            case 5:
                System.out.println("ingrese un numero");
                    int lado = leer.nextInt();
                    int perimetro = lado * 3;
                    System.out.println("el perimetro es = " + perimetro);
                    break;
                
            case 6:
                System.out.println("ingrese un numero");
                    int lado2 = leer.nextInt();
                    System.out.println("ingrese otro numero");
                    int base = leer.nextInt();
                    int perimetro2 = (lado2 * 2) + base;
                    System.out.println("el perimetro es = " + perimetro2);
                    break;
                
            case 7:
                
                System.out.println("ingrese un numero");
                int ladoA = leer.nextInt();
                System.out.println("ingrese otro numero");
                int ladoB = leer.nextInt();
                System.out.println("ingrese otro numero");
                int ladoC = leer.nextInt();
                int perimetro3 = ladoA + ladoB + ladoC;
                System.out.println("el perimetro es = " + perimetro3);
                break;
                
                
                
            case 8:
              for( int i = 1 ; i <= 100 ; i++){
 
                System.out.println("el numero es " + i); 
            } 

        }     
   
    }     

}

**************************************************************************************

                              Ejemplo en Scratch


A continuación les mostramos un ejemplo de sentencia if anidadas, para poder elegir la opción que se desee ejecutar. 

En el proyecto tenemos un objeto (lápiz) que explica básicamente 3 tipos de triángulos, en el momento de interactuar con el usuario se utiliza de la paleta de programa el sensor preguntar con el mensaje "elige que triangulo quieres que dibuje para ti" y esperar, se espera la respuesta ingresada por teclado de las 3 opciones que indica antes, y mediante el si - entonces (if - else en java) se evalúa la respuesta y si coincide con alguna de las opciones se ejecuta el bloque de acciones que corresponda.  
Para que quede mas claro presiona la bandera verde en el centro de la ventana del proyecto. 




Para mayor información sobre el código y ver dentro del proyecto pincha aquí

Una buena manera de explicarlo también es viendo o pasándolo a Pseudocódigo, de esa forma y como ya estamos mas familiarizados lo podríamos entender mejor. 

Ejemplo del Pseudocódigo


de esta forma se ve mejor la manera de anidar las sentencias if y ademas se aprecia un bucle (repetir - hasta que) dentro de una de ellas, que ejecuta el ciclo para dibujar las lineas del triangulo del mismo valor una determinada cantidad de veces. 


Estructuras de control 2

Estructuras de control 

En la entrada anterior repasamos algunas de las estructuras de control más utilizadas hasta el momento en nuestro curso. 

Vimos la instrucción while y  la instrucción if (simple) sin la clausula else. Por esa razón terminare de explicarla ahora completa. 


Scratch

Este proyecto ademas de tener una temática ecológica, nos muestra de una  manera sencilla la forma de utilizar la sentencia if - else (Java) o el si - entonces (PSeInt)
Básicamente trata de un objeto (personaje) que relata una pequeña historia y luego solicita al espectador a dar su respuesta a la ayuda que esta pidiendo. Para lograr la interacción entre el objeto y el usuario se utilizó un sensor de pregunta, dónde la respuesta nos servirá de condición para la sentencia de control si - entonces. Si la condición resulta ser Verdadera el objeto cambiara de coordenada, mostrara un mensaje y el programa finalizara. En cambio si es Falsa el objeto queda igual, cambia el fondo y despliega un mensaje final. 


Ejemplo en Pseudocódigo


Instrucción if - else

Recordemos que la sentencia if es condicional, y aunque el uso de llaves no sea obligatorio cuando ejecuta solo una sentencia, es recomendable ponerlas siempre para delimitar explícitamente la sentencia if

cláusula else

cuando en la sentencia se incluye la clausula else, nos permite ejecutar un bloque de código si se cumple la condición y otro bloque diferente en el caso que la condición no se cumpla. 

Sintaxis
                                            if (condición) {
                                                  bloque1
                                            } else {
                                                 bloque2
                                            }




Ahora les dejo un ejemplo de un ejercicio realizado en clases 

                   Cree un programa que sea capaz de calcular el área

                                 o el perímetro de un cuadrado.

package proyectos_blog;
import java.util.Scanner;     //usar cuando lee un dato ingresado por teclado (librería)

public class Proyectos_blog {

        public static void main(String[] args) {
             Scanner leer = new Scanner (System.in);    //debe ir para que lea el dato
             
             System.out.println(" elija la opción que desea calcular ");
             System.out.println(" 1 para ÁREA o 2 para PERÍMETRO ");
        int opción = leer.nextInt();
        if (opcion == 1){
            System.out.println("ingrese el valor de un lado del cuadrado ");
            int lado = leer.nextInt();
            int área = lado * lado;
            System.out.println("el área del cuadrado es : " + área);        
    }
        else if (opción == 2) {
            System.out.println("ingrese valor de uno de los lados del cuadrado ");
            int lado = leer.nextInt();
            int perímetro = lado * 4;
            System.out.println("el perímetro del cuadrado es : "+ perímetro);
         
        }

        }
         
        }

Muchas gracias por leernos, Saludos.




BUCLE FOR

El bucle FOR nos permite realizar una acción y repetirlas un número determinado de veces, En el lenguaje JAVA lo encontraremos como la siguiente representación: for (Inicialización ; condición ; Incremento). En pseudocódigo lo encontraremos como PARA y se representa de la siguiente forma : Para <variable> <- <inicial> Hasta <final> ( Con Paso <paso> ) Hacer <instrucciones> FinPara.

EJEMPLO EN JAVA DE FOR:















EJEMPLO EN SCRATCH:














ESTO SERIA LO DE LA 2º SEMANA DE CLASES


Operadores Aritméticos

Hola amigos, hoy les compartiré material sobre los operadores en java,
 ya sea Aritméticos y lógicos.

Operadores aritméticos en Java. +, -, *, / y %. Operador mod o resto de una división entre enteros.
En Java disponemos de los operadores aritméticos habituales en lenguajes de programación como son suma, resta, multiplicación, división y operador que devuelve el resto de una división entre enteros (en otros lenguajes denominado operador mod o módulo de una división):
OPERADOR
DESCRIPCIÓN
+
Suma
Resta
*
Multiplicación
/
División
%
Resto de una división entre enteros (en otros lenguajes denominado mod)


Operadores aritméticos en Java

Destacar que el operador % es de uso exclusivo entre enteros. 7%3 devuelve 1 ya que el resto de dividir 7 entre 3 es 1. Al valor obtenido lo denominamos módulo (en otros lenguajes en vez del símbolo % se usa la palabra clave mod) y a este operador a veces se le denomina “operador módulo”. 

Los operadores relacionales

Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, false. En la primera columna de la tabla, se dan los símbolos de los operadores relacionales, el la segunda, el nombre de dichos operadores, y a continuación su significado mediante un ejemplo.

Operadornombreejemplosignificado
<menor quea<ba es menor que b
>mayor quea>ba es mayor que b
==igual aa==ba es igual a b
!=no igual aa!=ba no es igual a b
<=menor que o igual aa<=5 a es menor que o igual a b
>=mayor que o igual aa>=ba es menor que o igual a b


Se debe tener especial cuidado en no confundir el operador asignación con el operador relacional igual a. Las asignaciones se realizan con el símbolo =, las comparaciones con ==.

En el programa RelacionApp, se compara la variable i que guarda un 8, con un conjunto de valores, el resultado de la comparación es verdadero (true), o falso (false).

Ejemplo en java:
public class RelacionApp {
    public static void main(String[] args) {
        int x=8;
 int y=5;
 boolean compara=(x<y);
  System.out.println("x<y es "+compara);
        compara=(x>y);
        System.out.println("x>y es "+compara);
        compara=(x==y);
  System.out.println("x==y es "+compara);
        compara=(x!=y);
        System.out.println("x!=y es "+compara);
        compara=(x<=y);
        System.out.println("x<=y es "+compara);
        compara=(x>=y);
        System.out.println("x>=y es "+compara);
    }
}

Los Operadores Lógicos

Los operadores lógicos son:
  • && AND (el resultado es verdadero si ambas expresiones son verdaderas)
  • || OR (el resultado es verdadero si alguna expresión es verdadera)
  • ! NOT (el resultado invierte la condición de la expresión)
AND y OR trabajan con dos operandos y retornan un valor lógico basadas en las denominadas tablas de verdad. El operador NOT actúa sobre un operando. Estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria, por ejemplo: "si hace sol Y tengo tiempo, iré a la playa", "si NO hace sol, me quedaré en casa", "si llueve O hace viento, iré al cine". Las tablas de verdad de los operadores AND, OR y NOT se muestran en las tablas siguientes:

El operador lógico AND

xyresultado
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

El operador lógico OR

xyresultado
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

El operador lógico NOT

xresultado
truefalse
falsetrue

Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado por la última columna de sus tablas de verdad. Por ejemplo:
 (a<b) && (b<c)
es verdadero (true), si ambas son verdaderas. Si alguna o ambas son falsas el resultado es falso (false). En cambio, la expresión
 (a<b) ||(b<c)
es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es falso.
La expresión " NO a es menor que b"
 !(a<b) 
es falsa si (a<b) es verdadero, y es verdadera si la comparación es falsa. Por tanto, el operador NOT actuando sobre (a<b) es equivalente a
 (a>=b)
La expresión "NO a es igual a b"
 !(a==b) 
es verdadera si a es distinto de b, y es falsa si a es igual a b. Esta expresión es equivalente a
 (a!=b)

Ahora les mostrare un ejercicio realizado en Scratch, en el cual utilizo operadores aritméticos



El mismo ejercicio llevado a Java:

package segundoposteo;
public class Segundoposteo { 
    public static void main(String[] args) {
        // Toperadores
        int a = 10;
        int b = 5;
        int suma = a+b;
        int resta = a-b;
        int mult = a*b;
        int div =a/b;
        System.out.println("La suma de los numeros es :"+suma);
        System.out.println("La resta de los numeros es :"+resta);
        System.out.println("La multiplicacion de los nymetos es :"+mult);
        System.out.println("La division de los numeros es :"+div);                      
       
    }
   
}


Ejercicio llevado a Pseudocódigo:

inicio
a= 10
b= 5
suma = a+b
resta = a-b
mult = a*b
div = a/b

        escribir "La suma de los numeros es :",suma
        escribir "La resta de los numeros es :",resta
        escribir "La multiplicacion de los nymetos es :",mult
        escribir "La division de los numeros es :",div   


fin


Espero que este material les ayude a aclarar dudas y seguir aprendiendo cada día mas.

Hasta la próxima.



SWITCH (Condicional de Selección)

Hola amigos de nuevo estoy de vuelta, esta ves para presentarles una nueva instrucción llamada SWITCH una condicional de selección que se utiliza para agilizar la toma de decisiones múltiples.  La instrucción switch es una forma de expresión de un anidamiento múltiple de instrucciones if ... else, el switch no es tan popular como el if, pero se utiliza con regularidad ya que es recomendable utilizarla cuando hay muchas acciones dependiente de muchos valores iniciales ya que favorece la legibilidad y rapidez de la programación. 

Ejemplo:

Switch (a)
{
case valor1:
System.out.println(“Uno”);
break;
case valor2:
System.out.println(“Dos”);
break;
default:
System.out.println(“Incorrecto”);
}

Como ven cuando el resultado de la expresión coincide con el valor representado en el primer case, se ejecutara la sentencia definida en este, si no coincide se comparará con el segundo case, y así sucesivamente. Si el resultado no coincide con ninguno de los valores  indicados en los case, se ejecutará el bloque de instrucciones indicado en default.

Hay que tener en cuenta 2 cosas:

La primera es que solo se pueden evaluar con la instrucción switch los siguientes valore: int, byte, short y char.

la segunda es que un switch puede contener cualquier numero de case pero estos deven ser diferentes entre si, o sea, no pueden haber dos case con un mismo valor.

Se puede ver la utilización del "break" en la algunas estructura switch en donde se utiliza para saltar los ciclos  que se encuentran debajo de este.


Ejemplo:

Int h = 5;
Switch( h * 2)
{
case 10:
System.out.println(“El resultado es 10”);
case 20:
System.out.println(“El tamaño es demasiado alto”);
break;
default:
System.out.println(“El resultado no es correcto”);
}


El resultado es 10
El tamaño es demasiado alto

Como ven en este caso la ejecución solo se produjo hasta el segundo case ya que debajo de este hay un break.



Aquí les dejo un esquema en forma de diagrama de flujo:



En este ejemplo de scratch les voy a mostrar un ejemplo de como seria un Switch pero con anidacion de if.

Aquí se ve como se anidaron los IF (SI- ENTONCES):


Aquí realice el un ejemplo similar a un Pseudocódigo de Según - hacer (switch):



Como pueden ver la instrucción puede ser tanto con la sentencia if como con la condicional switch.

Y para terminar les dejo un ejemplo de como seria un SWITCH en JAVA:


Esperando que esta Información les sirva de ayuda me despido y nos vemos en la próxima publicación.