viernes, 17 de mayo de 2013

plantas vs zombies

Cargando juegos:3913

lunes, 6 de mayo de 2013

ejemplo

ejemplo calculadora simple


Visualmente nuestra calculadora en su versión más básica tendrá el siguiente aspecto:


/** 
 * importacion de la clase Scanner para capturar datos por teclado. 
 */ 
import java.util.Scanner; 

/** 
 * calculadora que hace operaciones matematicas simples con el 
 * ultimo numero que va quedando del ultimo calculo. 
 *  
 * @author Jose Fernando 
 */ 
public class Calculadora { 

    /** 
     * en este orden cada variable(atributo) se refiere a: 
     * numero a ingresar. 
     * resultado acumulado. 
     * operacion a realizar. 
     */ 
    private int numIn; 
    private int acum; 
    private int opc; 

    /** 
     * constructor para inicializar los atributos. 
     */ 
    public Calculadora() 
    { 
        numIn = 0; 
        acum = 0; 
        opc = 0; 
    } 

    private void proceso() 
    { 
        /** 
         * objeto que permite ingresar datos por teclado. 
         */ 
        Scanner ent = new Scanner(System.in); 

        /** 
         * contador nesesario para indicarle al programa que  
         * apenas se va a realizar la primera operacion. 
         */ 
        int i=0; 

        /** 
         * bucle for sin parametros, aunque se ubiera podido 
         * usar mejor un blucle do while o un bucle while. 
         */ 
        for(;;) 
        { 
            /** 
             * en caso de que i sea igual a 0 acum es 
             * igual al primer numero ingresado. 
             */ 
            if(i == 0) 
            { 
                System.out.print("ingrese un numero ==> "); 
                acum = ent.nextInt(); 
            } 

            /** 
             * seleccione que operacion va a realizar, si no 
             * elige un valor entre 1 y 4 el programa termina. 
             */ 
            System.out.print("ingrese la operacion a realizarn" + 
                             "1 => +, 2 => -, 3 => *, 4 => /, otro numero => salir. ==> "); 
            opc = ent.nextInt(); 

            /** 
             * el bucle termina si no se elige un valor entre 1 y 4. 
             */ 
            if(opc < 1 || opc > 4) 
            { 
                break; 
            } 

            /** 
             * //ingresar un numero por teclado para continuar la opercacion. 
             */ 
            System.out.print("ingrese el siguiente numero ==> "); 
            numIn = ent.nextInt(); 

            /** 
             * se llama al metodo operacion que es el que hace los calculos 
             * dependiendo de la opc elegida que es ingresada como parametro. 
             */ 
            this.operacion(opc); 

            /** 
             * muestra el resultado por pantalla. 
             */ 
            System.out.print(" = " + acum + "nn"); 

            /** 
             * contador. 
             */ 
            i++; 
        } 

        System.out.println("Proceso terminado"); 

        System.exit(0); 
    } 

    private void operacion(int opc) 
    { 
        /** 
         * con un switch se selecciona la operacion requerida, + - x / 
         * y se muestra la operacion en pantalla. 
         */ 
        switch(opc) 
        { 
            case 1: 
                System.out.print(acum + " + " + numIn); 
                acum += numIn; 

                break; 

            case 2: 
                System.out.print(acum + " - " + numIn); 
                acum -= numIn; 

                break; 

            case 3: 
                System.out.print(acum + " X " + numIn); 
                acum *= numIn; 

                break; 

            case 4: 
                System.out.print(acum + " / " + numIn); 
                acum /= numIn; 
                 
                break; 
        } 
    } 

    public static void main(String[] args) 
    { 
        /** 
         * se instancia la clase Calculadora para ejecutar el programa. 
         */ 
        Calculadora calc = new Calculadora(); 
         
        calc.proceso(); 
    } 

multi tarea

multitarea...



Es la característica de los sistemas operativos modernos de permitir que varios procesos sean ejecutados 
al mismo tiempo, compartiendo uno o más procesadores.
Los procesos de usuario son quienes ceden la CPU al sistema operativo a intervalos regulares. Muy problemática, puesto que si el proceso de usuario se interrumpe y no cede la CPU al sistema operativo, todo el sistema estará trabado, es decir, sin poder hacer nada.
Los sistemas operativos multitarea son capaces de dar servicio a más de un proceso a la vez permitiendo la ejecución de muchos más programas.
En esta categoría también se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios (llamados sistemas multiusuario), que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (“timesharing” en inglés).

sábado, 4 de mayo de 2013

Eventos secuenciales, simultaneos y congruentes

Eventos secuenciales, simultáneos y congruentes







Los eventos secuenciales son una forma de programación también conocida como programación dirigida por eventos, esto es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.

Para entender la programación dirigida por eventos, podemos oponerla a lo que no es: mientras en la programación secuencial (o estructurada) es el programador el que define cuál va a ser el flujo del programa, en la programación dirigida por eventos será el propio usuario —o lo que sea que esté accionando el programa— el que dirija el flujo del programa.

 Aunque en la programación secuencial puede haber intervención de un agente externo al programa, estas intervenciones ocurrirán cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programación dirigida por eventos.


El creador de un programa dirigido por eventos debe definir los eventos que manejarán su programa y las acciones que se realizarán al producirse cada uno de ellos, lo que se conoce como el administrador de event Los eventos soportados estarán determinados por el lenguaje de programación utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador.


Los procesos concurrentes tienen las siguientes
Características:

• Son programas que tienen múltiples líneas de flujo de control.
• Las sentencias de un programa concurrente se ejecutan de
acuerdo con un orden no estricto.

In determinismo: Las acciones que se especifican en un
programa secuencial tienen un orden total, pero en un
programa concurrente el orden es parcial, ya que existe
una incertidumbre sobre el orden exacto de ocurrencia
de ciertos sucesos, esto es, existe un in determinismo en
la ejecución. De esta forma si se ejecuta un programa
concurrente varias veces puede producir resultados
diferentes partiendo de los mismos datos.
Interacción entre procesos: Los programas concurrentes
implican interacción entre los distintos procesos que los
componen:

• Un programa concurrente se suele concebir como un conjunto
de procesos que colaboran y compiten entre sí por
el acceso a los mismos.

- Los procesos que se comunican entre sí para
intercambiar datos.

En ambas situaciones se necesita que los procesos
sincronicen su ejecución, para evitar conflictos o
establecer contacto para el intercambio de datos. La
interacción entre procesos se logra mediante variables
compartidas o bien mediante el paso de mensajes.
Además la interacción puede ser explícita, si aparece en
la descripción del programa, o implícita, si aparece
durante la ejecución del programa.


 Aplicaciones clásicas:
 Programación de sistemas multicomputadores.
 Sistemas operativos.
 Control y monitorización de sistemas físicos.
• Aplicaciones actuales:
 Servicios WEB.
 Sistemas multimedia.
 Cálculo numérico.
 Procesamientos entrada/salida.
 Simulación de sistemas dinámicos.