jueves, 19 de mayo de 2011

Sistemas Distribuidos taller y clase

Los sistemas distribuidos es un conjunto de computadoras , ordenas a fin de realizar una tarea en fin en conjunto.

En lo que refiere en mi proyecto se puede utilizar el paradigma de Cliente-Servidor Esto quiere decir que la idea en si es conectar la base de datos desde otra computadora.

Mas dinamicamente seria que la clase base de datos se encontrara dentro de un servidor y que desde diferentes tipos de computadores que tenga el sistema se pueda enlazara este servidor donde se ubicara dentro de aluna instalación educativa.





  

Video para mi proyecto



miércoles, 18 de mayo de 2011

Interfaz gráfica de usuario (taller)

Aquí tenemos la GUI del menú


Aquí tenemos lo que es el menú para los usuarios donde podrán entrar las personas para registrarse o entrar a lo que es el sistema mediante los dos botones que se observan.



Aquí tenemos el GUI de registro:






Aquí tenemos donde el usuario puede registrarse.

Esta compuesto por varios TextField donde se pueden escribir los textos de los usuarios y cuentan
con dos botones, uno para cancelar y uno para cancelar y cada uno tienes sus diferentes eventos al hora de hacer un click en cada uno de ellos.





Login


Aquí se muestra un TextField y un JPassword en donde en el primero se puede poner un nombre y en el segundo como se ve en la imagen no muestra lo que se escribe y contiene dos botones con sus respectivos eventos.





Aquí se muestra tres TextField donde se pueden introducir datos como se muestra y contiene dos botones donde cada uno tiene su propio evento

Pruebas unitarias (taller)

Hola compañeros

Realice varias pruebas unitarias pero solo de caja negras, esto quiere decir que varios usuarios probaron los que son el sistema pero al principio pues como todo sistema al inicio preciso sus fallas y gracias a eso se fue mejorando poco a poco gracias a estos tipos de pruebas donde el usuario no sabe el contenido que tiene el sistema en el que están probando:


Bueno este usuario pues quiso tronar el programa a toda costa y lo logro esta prueba fue realizada antes de tener la interfaz gráfica:



y pues aquí lo que paso fue un error de incompatibilidad de datos ya posteriormente arreglado por excepciones y errores.

Eventos, errores y excepciones: (taller)

Eventos y Excepciones:

Hola compañeros aquí les traigo algunos ejemplos de errores y excepciones que se aplicaron en mi proyecto
los errores o excepciones estan en la  mayoría en la clase de la base de datos ya que es aquí donde es mas propenso a errores mas que nada de conexiones:





Eventos, mas que nada son los escuchadores de los botones que hacen al hacer un clic en uno de ellos:
Un ejemplo de ello:

Patrones de diseño: (taller)

Patrones de diseño

Hola compañeros aquí les traigo los patrones de diseño que utilice para mi proyecto de programación orientada a objetos, para esto hoy en día existen diferentes tipos de patrones de diseño existen tres ramas existentes y la que utilice fue el patrón de diseño de creación, como dice su nombre crea los objetos dinamicamente aquí le muestro la subclase y un poco de código:


Abstract Factory. Proporciona una interfaz para crear familias de objetos o que dependen entre sí, sin especificar sus clases concretas.

Con este patrón de diseño los objetos creados depende de los valores de la otra clase entre si , y varios de los objetes dependen entre otros y la mayoría depende de la base de datos para que todo funcione.
Por ejemplo en el caso de abajo la base de datos depende del registro para poder ejecutarse en este ejemplo de código:
Código:







interfaz gráfica diseños

Aquí los diseños de la interfaz gráfica de usuario en este caso la interfaz gráfica utilizada es gráfica o creada mediante los "GUI"
Menú


Registro



Login:


Menú de maestro


Menú de alumnos:



Pruebas unitarias

Pruebas unitarias a realizar:

Las pruebas unitarias son aquellas que se realizan para verificar que estén correctamente las clases y en un buen funcionamiento.

Como anteriormente había mencionado, existen dos tipos de pruebas unitaria, las de caja blanca y las de caja negra.

Pruebas de caja negra:

Pienso realizar la de la caja negra donde un mismo usuario entre sin saber el contenido del sistema y verificar si el usuario le agrada este pequeño sistema y si funciona correctamente ya que ellos son los que lo van a utilizar a final de todo.

Pruebas de caja blanca:

Lo de la caja blanca son aquellos donde la misma persona que programo o realizo el sistema hace estos tipos de pruebas sabiendo los posibles errores una de estas pruebas se realizarían mas que nada pruebas de la base de datos ya que esta suele tener mayor problemas de errores, de igual manera en las demás clases se podrían hacer diferentes tipos de pruebas de compatibilidad de los datos entre conexiones de las mismas y los métodos de las clases.

Patrones de diseño:



Patrones de diseño

Los patrones de diseño se utilizan para simplificar el código de una manera mas ordenada y sencilla de utilizar y actualmente existen diferentes tipos de patrones de diseño entre estructurales y de creación veamos cual utilizare:

En mi proyecto utilizo un patrón de diseño de creación esto quiere decir que creo diferentes tipos de objetos de diferentes maneras utilizando un diseño de patrón especifico:


Abstract Factory Este tipo de patrón de diseño proporciona interfaces para crear familias y objetos que depende entre las mismas Esto puede aplicarse a mi proyecto al crear los diferentes tipos de objetos que dependen uno entre otros mas que nada la mayoría de las clases de mi proyecto depende de la base de datos para funcionar o ciertas condiciones dadas.

Diagrama secuencial

Bueno aquí les tengo algo breve sobre diagrama secuenciales

Antes que nada les menciono que utilice la herramienta umbrello para real izarlo, solo le dan new- > nuevo diagrama secuencial


Aquí demuestra de que manera se va enlazando cada clase u objetos entre ellos mismos:


Como verán las lineas verticales son las lineas de vida y las horizontales el envió de la información entre cada clase.

viernes, 29 de abril de 2011

Interfaz gráfica (Para clase)

Hola a todos aquí les traigo un breve recuento sobre interfaz gráfica
Recordando un poco.


En lo que trata de interfaz gráfica hoy en día comunmente se conocen las interfaces grafiacas de usuario que son con ventanas, botones y de acomodos fáciles y detallados para que el usuario final se le faciliten las cosas. Pero existen mas de un tipo de interfaz gráfica una es la de usuario que comúnmente ya antes mencionados es con ventanas y botones, y la interfaz de consola utilizado mas que nada por los  programadores como ejemplo la terminales de algún host o swith o incluso terminales como las de ubuntu o el ms-dos de windows.


En seguida les hablare un poco de la interfaz de usuario con un ejemplo de una interfaz gráfica de un juego de vídeo, ya que son completas estas tipos de interfaces.

El juego a hablar es ya el mas utilizado como ejemplo "BUSCA MINAS"





Bueno a lo que se refiere a esta interfaz gráfica el menú superior contiene tres botones uno tiene el nombre de "Juego" , el otro tiene el nombre de "Ajustes" y el ultimo tiene nombre de "Ayuda".

Para poder iniciar el juego solo se presiona el botón con la forma de la cara sonriente y automáticamente inicia el juego, encaso de perder le presionamos otra vez a la cara y inicia nuevamente, esto es muy dinámico y bueno ya que no se pierde mucho tiempo para iniciar el juego.

En la opción de juego podemos iniciar un nuevo juego y verificar las puntuaciones obtenidas esto realmente es fácil de encontrar y ubicar sin mucho tiempo de perdida eso es bueno y favorable para la interfaz y regresar es relativamente fácil.

Para poder modificar le juego no iríamos al botón de ajustes, hay podemos encontrar para aumentar la dificultad y si lo queremos en pantalla completo.

En el botón ayuda podemos encontrar un manual de referencia de como jugar este juego e infomacion relevante de este juego, En este punto si es bueno que el programa tenga una especie de ayuda para que el usuario en caso de no saber como se juega puede ver estos tipos de manuales que le ayuden a superar ese pequeño inconveniente este es un punto favorable para esta interfaz.

Espero que les agrade próximamente interfaz de mi proyecto y algunos tutoriales.

Pruebas unitarias(clase de programación)


Pruebas unitarias:

Pruebas unitarias son aquellos para verificar que un modulo de código funcione correctamente, como el  diseñador quiera que funcione. Existen diferentes tipos de pruebas unitarias.

1-. Caja blanca
2-. Caja negra

Las pruebas unitarias de caja blanca

 Son las que se realizan por el equipo quien creo el mismo programa o sistema, esto quiere decir que este grupo crea pruebas sabiendo lo que se encuentra en el código, por lo general este tipo de pruebas no es necesario realizarla pero si es recomendable hacerla, ya que se puede probar mas adelanta sin errores que se descubran en estas tipos de pruebas.

Las pruebas de cajas negras

Son las que comúnmente realizan los usuarios finales para probar errores, ya que los que utilizaran este software es el usuario final y este si es importante realizarla, ya que por lo general en este tipo de pruebas se descubren los errores mas fatales. Estos tipos de software son los llamados betas.

Características de las pruebas unitarias:

1-. Debe contener el mayor código posible.
2-. No debe tener procedimientos manuales, debe ser automático.
3-. Puede ser uno por uno o con integración.

En las pruebas unitarias de caja blanca se debe tener en cuenta estos puntos:

Los datos de entrada ya tienen que ser conocidas por algún analista o alguna persona encargada de manejar el test y estos deben estar muy bien manejados por esa persona para verificar posibles fallas y buscados con mucha minuciosidad. 
Otro punto que se debe tomar en cuenta es que se tiene que saber que componentes van a interactuar con esos datos iniciales, de igual manera se tiene que saber de antemano que los resultados deben ser los esperados, encaso de salir un resultado diferente a lo esperado seria necesario arreglarlo y esto evitaria costos mayores.














jueves, 24 de marzo de 2011

clase de poo Ejercicio 24 de marzo de 2011 Errores del proyecto

Hola a todos otra vez aquí en mi blog 

Eventos a utilizar:

  • Eventos al hora de dar un click en un botónd
  • Cuando el usuario presione enter o la tecla tab y alga algo.

Los errores mas posibles que puede tener mi proyecto de poo

Uno de los errores que pueden terminar con la ejecución del programa y ya mencionados en la clase por
la Dra es cuando el usuario, en en este caso un alumno intenta meterse y al poner un nombre o contraseña se le ocurre poner algún carácter, numero o numero negativo.

Otro de los errores que puede pasar es con la base de datos, que los datos de cierto alumnos no existan o que la base de datos no esta disponible por el momento y esto terminaría con el programa.

Como manejar esos errores y eventos?

Pues para el manejo de errores para la base datos y conexiones pienso utilizar el try de intento 
y para los caracteres y números pienso hacer con esto unas excepciones.

Y para los eventos de los botones en java se llaman escuchadores, estos método es de escuchadores nos ayudan en mucho ya que al ora de que el usuario da un click a un botón este escuchador realiza una acción, si es en caso de enviar información el escuchador tendría que hacer dicha función.


jueves, 17 de marzo de 2011

PATRONES DE DISEÑO (Programación orientada a objetos clase)



Patrones de diseño:


Comúnmente se refiere a un comportamiento de búsqueda para soluciones de software e implementar mejor efectividad y facilidad a sistemas de información y software


Ejemplo de diseños:


Patrones estructurales


    Los patrones estructurales es una relación entre una clase y un objeto para crear estructura mucho mas complejas y fáciles de utilizar


    Singleton:
    Siempre tendrá una clase una sola instancia u objeto


    Es to quiere decir que una clase la principal solo tendrá un solo objeto y dicho objeto tendrá un acceso a todo el contenido de la clase desde una sola entrada


    Patrones de comportamiento


    Memento





    domingo, 13 de marzo de 2011

    Diagrama uml del buscaminas (Taller de programacion oo)

    Buenos dias/tardes/noches

    Aqui les dejo el diagrama uml del buscaminas hecho en umbrello
    espero y les guste



    Todos los comentarios son bienvenidos
    Gracias por pasar a este blog
    :)

    Diagramas UML (herramienta)

    Buenos dias/tardes/noches
    Para quienes utilizan ubuntu

    Hola compañeros aqui les menciono como crear diagramas uml mediante un
    programa que me llamo la atencion, ya que es muy vicial y facil de utilizar.

    La herramienta se llama umbrello.
    Esta herramienta se puede instalar de estas maneras:

    (Facil)
    Terminal:
    Abrimos una terminal y tecleamos los siguiente:
    sudo apt-get install umbrello
    y automaticamente se instala esta herramienta



    (Tardada)
    Desde el centro de software de ubuntu
    Este centro de software lo podemos encontrar en el menu aplicaciones.
    Posterioermente buscamos el software, ingresamos en el buscador el nombre de
    software "umbrello"" y listo aparecera este software y ya nomas le damos
    instalar




    Aqui una muestra de como se ve esta herramienta para crear estos diagramas uml

     Espero que les haya gustado
    Gracias por sus comentarios :)

    jueves, 24 de febrero de 2011

    Retroalimentacion (pos para que comenten sobre el proyecto)

    Hola compañeros de equipo aquí (o cualquier persona que aya visto la presentación)  les dejo este post para que comenten lo de la presentación y la retroalimentacion cualquier idea es bienvenida para mejorar el proyecto gracias de antemano
    atte :Alejandro Avendaño Ortega

    lunes, 14 de febrero de 2011

    Documentación: para el proyecto (taller de programación orientada a objetos)

    Buenas pasantes a este blog aquí les dejare que pienso utilizar para mi proyecto que
    tipo de documentación pienso utilizar:

    Bueno pienso utilizar le javadoc ya que para mi gusto es muy fácil de utilizar,
    aparte de que este ya viene incluido en el jdk y ya no es necesario instalar nada
    más.
    Bueno ahora de mencionarles de como funciona:

    Antes que nada utilizo esto en ubuntu, abrimos una terminal y nos movemos
    a la carpeta de donde se encuentra nuestro proyecto, ya adentro escribimos el
    comando javadoc "nombre del archivo".java

    Pantalla: 


    Bueno en este caso se graba el html en la misma carpeta dentro de donde se encontraba nuestro archivo, les menciono que esto solo funciona para un archivo, para poder crear todo el proyecto se escribe de la siguiente manera:  "javadoc *java" esto crea todo el proyecto en un html :).

    Pantallazo numero dos:

    Ahora muestra del navegador como se vería :



    Espero que les allá gustado Dejen sus comentarios :)

    HERENCIA (CLASE DE PROGRAMACIÓN ORIENTADA A OBJETOS)

    Buenas tardes a todos los pasantes de este blog:

    Aquí les traigo la estructura que pienso de mi proyecto reverente a herencia espero que les guste:

    Primero pienso crear la clase gráfico que contendrá la clase padre ya que este le dará todo el gráfico
    a las demás clases como los datos de los alumnos y calificaciones.

    Ademas de contar con varias entradas para diferente tipos de procesos como consultas o logins entre, otras mas.

    Después del login se seleccionara inscripción  en un botón donde gracias a la clase padre se donde le donaría algunas funciones para crear ventanas para el registros de los alumnos de igual manera
    que las calificaciones, ya después de aí estos enviarían la información a una base de datos donde se
    registrarían todos estos datos.

    Mejor explicado:

    clase GRÁFICO "LOGIN"
    contendrá:

    GRÁFICO -> clase alumnos
    a su vez esta clase enviara información a estas:
    alumnos ->CLASE CALI , BASE DE DATOS

    esta es hija de la clase  GRÁFICO
    GRÁFICO -> Consultas
    DIAGRAMA DEL PROYECTO:

    lunes, 7 de febrero de 2011

    HERENCIA (TALLER DE PROGRAMACIÓN )

    Hola nuevamente compañeros
    Aquí les dejo el código modificado para usarse por medio de herencia tal vez la modificación es mínima
    pero demuestra el uso de herencia que ya que solo necesite crear un solo objeto, no como mi post anterior ya que en el otro necesariamente necesitaba dos objetos para que el programa funcionara esperando que les guste aquí les muestro el código modificado:
    (solo pondré el código que modifique para no aburrirlos con lo mismo)

    codigo del main:
    CALI c1;
     System.out.println("Datos del registro");
    
                c1 = new CALI();
    
                System.out.println("REGISTRO DEL ALUMNO");
                System.out.println("-------------------");
    
                System.out.println(c1.getnombre());
                System.out.println(c1.getmatricula());
                System.out.println(c1.getmateria());
                System.out.println(c1.getcalia());
               return;
        }
    

    Método alumno se queda igual ya que es el método padre
    Método cali tiene todos las funciones del la clase alumno solo cambiando las instrucciones iniciales por este:

    public class CALI extends ALUMNO
    
    {
      



    Y eso seria todo y funciona de igual manera que el mismo código anterior con los mismos resultados y pantalla so.

    lunes, 31 de enero de 2011

    CLASE DE PROGRAMACION OO ("SEGUNDA SEMANA")

    BORRADOR:

    Hola bueno este es mi plan de como seria mis clases y rutinas o procesos:
    Posteriormente mejorare este post con graficas o diagramas perdonen las molestias :'(
    Bueno en el post anterior pues dos clases:

    ----> ALUMNO
             subproceso:
    1-. pedir nombre del usuario
    2-. pedir matricula del usuario

    ----> CALI
            subproceso:
    1-. pedri nombre de la materia
    2-. pedir calificacion de la materia


    Pienso hacer las siguientes clases posteriormente:

    ----> BASE
             subprocesos
    1-. resivir la informacion de los alumnos
    2-. guardarla en una pequeña base de datos

    ----> GRAFICOS
             subprocesos
    1-. crear una ventana donde se pondria el login
    2-. crear otra ventana para poner la informacion

    ----> LOGIN
             subprocesos
    1-.verificar con un proceso para dar acceso a la ventana 

    ----> CONSULTAS
            subproceso
    1-.verificar toda la base de datos para buscar el alumno

    POR EL MOMENTO ESOS SON LAS CLASES QUE PIENSO CREAR CON SUS RESPECTIVOS PROCESOS

    TALLER DE PROGRAMACION OO ("segunda semana")

    Hola bueno en este post es sobre las diferentes tipos de clases que tendrá mi proyecto
    en mi proyecto en este ejemplo muestro lo que son dos clases diferentes, uno es para los datos del alumno,
    y el otro es para las calificaciones de una cierta materia donde se registrara la calificación y enviara un mensaje los datos de ese registro en la terminal.

    clase principla main: 


    File Edit Options Buffers Tools Java Help                                                                                    
    
    import java.util.Scanner;
    
    
    
    public class GRUPO
    
    {
    
        public static final Scanner entrada = new Scanner(System.in);
    
        public static void main (String args[])
    
        {
    
            int x;
    
            ALUMNO a1;
    
            CALI c1;
    
            System.out.println("Datos del registro");
    
                a1 = new ALUMNO();
    
                c1 = new CALI();
    
                System.out.println("REGISTRO DEL ALUMNO");
    
                System.out.println("-------------------");
    
    
    
                System.out.println(a1.getnombre());
    
                System.out.println(a1.getmatricula());
    
    
    
                System.out.println(c1.getmateria());
    
                System.out.println(c1.getcalia());
    
    
    
                return;
    
        }
    
    CLASE CALI (" es donde se pide el nombre de la materia y la calificacion de la misma")

    import java.util.Scanner;
    
    public class CALI
    
    {
        private  double calia;
        private  String materia;
        public static final Scanner entrada = new Scanner(System.in);
    
        public CALI()
        {
          
       
      calif();
        }
        public void calia()
        {
     
     System.out.println("Cuanta calificacion sacaste:");
            calia = entrada.nextDouble();
     
           
        }
        public void calif()
        {
     System.out.println("Dime el nombre de la materia");
     materia  = entrada.nextLine();
     calia();
        }
        public String getmateria()
        {
     return materia;
        }
        public double getcalia()
        {
     return calia;
        }
    }
    

    LA CLASE QUE SIGUE SE LLAMA: ALUMNO de esta se toma el nombre del alumno y su matricula de identificacion:

    import java.util.Scanner;
    
    public class ALUMNO
    {
    
      
        private String nombre;
        private int matricula;
        public static final Scanner entrada = new Scanner(System.in);
    
    
        public  ALUMNO()
        {
     System.out.println("Nombre del alumno: ");
     nombre = entrada.nextLine();
     matricula();
    
        }
        public void matricula ()
        {
     System.out.println("Matricula del alumno: ");
     matricula = entrada.nextInt();
        }
        public String getnombre ()
        {
     return nombre;
        }
        public int getmatricula()
        {
     return  matricula;
        }
    }
    

    Estas son unos ejemplos de las clases que pienso utilizar para mi proyecto les menciono que el código esta en java a mi parecer tiene un buen manejo de clases se los recomiendo esperando que les guste y ya por finalizar la imagen de la termina :

    miércoles, 26 de enero de 2011

    Programacion orientado objetos IDEA PARA PROYECTO

    Buenos dias/tardes/noches


    Mi idea para el proyecto es crear un sistemita que en donde los alumnos podria registrar las  materias que ellos cursan actualmente y verificarlas al poner su nombre o algun tipo de identificacion.
    Tambien que puedan verificar a que hora tienen dicha materia y en que salon donde los mismo alumnos puedan verificarlo con solo poner su nombre o una id de identificacion mencionada anteriormente y que puedan compartir algunos comentarios o mensajes.

    Ejemplo: (el ejemplo es muy basico o sencillo pero es la idea de lo que quiero hacer perdonen lo sencillo :S)
    Entrada al sistema:



    Entrada de materias:


    Para este proyecto tengo pensado utilizar el lenjuage de java ya que a mi gusto pienso que es uno de los mejores lenguajes para programar orientado a objetos.

    Pues para la realizacion de este proyecto pienso hacerlo en el lenguaje de java.
    Para poder utilizar java es necesario descargar el jdk que se puede hacer desde la terminal de ubuntu y compilar los programas con el comando javac por ejemplo:
    javac nombredelarchivo.java
    y ejecutarlo de esta manera : java nombredelarchivo
    Pienso subir el codigo de java ya cuando este listo el proyecto en una plataforma que soporte java por ejemplo google apps.

    Herramientas:

    Pues una de las herramientas que utilizo es el emacs se puede isntalar desde la termial de ubuntu con : sudo apt-get install emacs.
    Tambien se puede descargar o isntalar el eclipse para programar en java con el siguiente comando se installa : sudo apt-get install eclipse.

    lunes, 24 de enero de 2011

    Primera tarea Taller de Programación Orientado a Objetos

    Bueno este es mi primer programa con un lenguaje orientado a objetos espero que les guste si tienen alguna sugerencia para mejorarlo son vienvenidas, este programa toma los datos de el examen de medio curso examen fina y las taras y calcula el promedio de dicha materia y menciona si aprobamos o reprobamos, con la posibilidad de preguntar nuevamente sobre alguna otra materia, esta hecho por medio de funciones agregando tres propiedades de la materia donde son los valores de los examenes.



    import java.util.Scanner; // esta libreria lo utilize para poder tomar datos desde el teclado
    public class MATERIA {
    
    private  static final float efinal = 20; // aqui se declaran las propiedades el final indica que se podran utilizar asta
    
        private  static final float emedio = 20; // que termine el codigo
    
        private  static final float tareas = 60;
    
        private static int tota; //una variable que es modificable para el constructor donde sirve para mencionar todas las materias que tiene le alumno
    
        
    
        public static final Scanner entrada = // esta instruccion es para la toma de datos desde el teclado
    
         new Scanner (System.in);
    
    
    
        public MATERIA() //constructor
    
        {
    
     tota = 1;
    
        }
    
    public static float medio() { //declaracion de una funcion que llamada medio que regresa un valor llamado calia
    
     float calia;
    
     System.out.print("Dame que calificacion obtuviste en el primer examen = ");
    
     calia = MATERIA.entrada.nextFloat(); //esta instruccion toma el dato calia por medio de la libreria
    
     return(calia);
    
        }
    public static float efinal() { //declarasion de una funcion que regresa un valor llamado calib
    
     float calib; 
    
     System.out.print("Que calificacion obtuviste en el segundo examen = ");
    
     calib = MATERIA.entrada.nextFloat();
    
     return (calib);
    
        }
    
        public static float tarea() //declaracion de una funcion que regresa el valor calic todos los valores regresados 
    
        {                           // son puntos flotantes
    
         float calic;
    
         System.out.print("Que porcentaje de tareas obtubiste = ");
    
         calic = MATERIA.entrada.nextFloat();
    
         return (calic); 
    
    
    
        }
    
        public static void resultado(float calitotal) //funcion que no regresa nada solo resive un dato que muestra si el alumno
    
        {                                              //paso la materia
    
           
    
     if (calitotal < 70)
    
         {
    
      System.out.println("reprobaste");
    
            
    
         }else{
    
         System.out.println("aprobaste");
    
     }
    
     return;
    
       }
    
            public static void main(String[] args) { //funcion principla
    
     float x,y,z;     //declaracion de variables necesarias para tomar el dato regresado por las funciones
    
     float calitotal; //variable que guarda al calificacion final
    
     int r = 1; //variable para el ciclo si continua o no
    
     //creacion de objetos
    
     MATERIA g1; // creacion de un objeto
    
     g1 = new MATERIA();
    
     do { 
    
         x = g1.medio(); //aqui la variable x toma el valor del dato regresado de la funcion media
    
         y = g1.efinal(); //aqui la variable y toma el valor del dato regresado de la funcion efinal
    
         z = g1.tarea(); //aqui la variable z toma el valor del dato regresado de la funcion tarea
    
         calitotal = x*emedio/100 + y*efinal/100 + z*tareas/100; //calculo de la amteria
    
     System.out.println(calitotal);
    
     resultado(calitotal);
    
           
    
     r = r + 1;
    
     }while( r == tota); //si se cumple  inicia nuevamente el ciclo
    
     return;
    
         }
    
    }
    



    aki les dejo algunos dos cursillo o tuto sobre el lenguaje de java:
    http://www.mailxmail.com/curso-java
    http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/