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
Excelente aporte...Muy estimulante para quienes aprendemos, muy conmovedor para quienes intentamos ver con los ojos de la mente. "A quien te sirve le debes mucho mas que oro, dale una parte de tu corazón o tus servicios" Gibran Khalil
ResponderEliminar