viernes, 1 de julio de 2011

Deitel_Java_6.32 (Instrucción asistida por computadora en Java, mejorado)

6.32 Los sistemas de instrucción asistida por computadora más sofisticados supervisan el rendimiento del estudiante durante cierto tiempo. La decisión de empezar un nuevo tema se basa a menudo en el éxito del estudiante con los temas anteriores. Modifique el programa Deitel_6_31.java para contar el número de respuestas correctas e incorrectas por parte del estudiante. Una vez que el estudiante escriba 10 respuestas, su programa debe calcular el porcentaje de respuestas correctas. Si éste es menor del 75%, imprima Por favor pida ayuda adicional a su instructor y reinicie el programa, para que otro estudiante pueda probarlo.


Este código debe guardarse con el nombre UsaDeitel_6.32.java


 public class UsaDeitel_6_32

 {       // Abre clase UsaDeitel_6_32

 public static void main(String args[])

 {            // Abre main
 Deitel_6_32 miObjeto = new Deitel_6_32();
 miObjeto.Pregunta();
 
 System.out.println("\nHasta luego!");
 }            // Cierra main
   
 }         // Cierra clase UsaDeitel_6_32

El siguiente código debe guardarse con el nombre Deitel_6_32.java
 import java.util.Random;
 import java.util.Scanner;

 public class Deitel_6_32

 {      // Abre clase Deitel_6_32


 /////////////////////////////////////////
 //METODO PREGUNTA
 ////////////////////////////////////////
 

 public void Pregunta()
 
 {    // Abre metodo Pregunta
 Scanner recibe = new Scanner(System.in);

 int preguntas = 1;
 int respuesta; 
 int fracasos = 0;

 do 
 {   // Abre do
 preguntas++;

 fracasos += Genera();
 System.out.println("\nQuiere volver a intentar?");
 System.out.println("Introduzca un numero (-1 para terminar)");
 respuesta = recibe.nextInt();

 }   // Cierra do
 while ( -1 != respuesta && 3 >= preguntas );

 double promedio = 100*((double)preguntas - 1) / (preguntas - 1 + fracasos);
 
 System.out.printf("\nSu promedio es: %f\n", promedio); 
 if ( 75 > promedio )
 System.out.println("\nPor favor pida ayuda adicional a su instructor.");
 }    //


 //////////////////////////////////////
 //METODO GENERA
 //////////////////////////////////////
 

 public int Genera()

 {        // Abre metodo Genera
 Random salida = new Random();
 Scanner entrada = new Scanner(System.in);
 int numero1;
 int numero2;
 int respuesta;
 int Escala = 9;
 int auxiliar;
 int incorrectas = 0// Cuenta las respuestas correctas
 numero1 = 1 + salida.nextInt(Escala);
 numero2 = 1 + salida.nextInt(Escala);


 do
 {       // Abre while
 System.out.printf("\nCuanto es %d * %d?\n", numero1, numero2 );
 respuesta = entrada.nextInt();

 if ( numero1*numero2 != respuesta )
 {       // Abre if
 auxiliar = 1 + salida.nextInt(4);
 incorrectas++;

 switch (auxiliar) 
 {     // Abre switch
 case 1:
 System.out.println("\nNo. Por favor intenta de nuevo!");
 break;

 case 2:
 System.out.println("\nIncorrecto. Intenta una vez mas!");
 break;
  
 case 3:
 System.out.println("\nNo te rindas!");
 break;

 case 4:
 System.out.println("\nNo. Sigue intentando!");
 break;
 }     // Cierra switch


 }       // Cierra if
 
 }    // Cierra while
 while( numero1*numero2 != respuesta);

 // Si la respuesta ha sido correcta
 
 auxiliar = 1 + salida.nextInt(4);
 switch (auxiliar) 
 {     // Abre switch
 case 1:
 System.out.println("\nMuy bien!");
 break;

 case 2:
 System.out.println("\nExcelente!");
 break;
  
 case 3:
 System.out.println("\nBuen trabajo!");
 break;

 case 4:
 System.out.println("\nSigue asi!");
 break;
 }     // Cierra switch
 
 return incorrectas;
 }        // Cierra metodo Genera

 }      // Cierra clase Deitel_6_32

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...