
Ayuda para un ejercicio
Publicado por bobopachita (5 intervenciones) el 12/08/2022 12:53:41
Hola estoy haciendo este ejercicio pero me he quedado pillado para sacar el porcentaje de cada respuesta.
El ejercicio es el siguiente:
n centro de estudios nos ha solicitado que realicemos un algoritmo para saber la motivación que tienen los alumnos para estudiar programación.
Para ello quiere realizar una serie de preguntas y según la respuesta valorar su interés por estos estudios.
Cada respuesta tendrá un valor de 0 o 1 siendo el resultado el porcentaje total la suma de los valores obtenidos.
Si el valor obtenido en el primer intento es superior al 80% el ejercicio le dará la enhorabuena, si es inferior le pedirá volver a realizar el test con todas las preguntas dos veces mas. (El alumno solo podrá realizar la prueba tres veces).
Una vez realizado el test la tres veces, si la media de los resultados es inferior al 50%, se le pedirá que se lo comente a su profesor. Si es superior el programa terminara y le dará la enhorabuena.
Las preguntas para realizar son:
Te gustan las computadoras. Si(1) No(0)
Disfrutas con la resolución de problemas. Si(1) No(0)
Quieres trabajar en equipo. Si(1) No(0)
Te agrada aprender por descubrimiento o prefieres que te indiquen las cosas paso a paso. Si(1) No(0)
Eres creativo. Si(1) No(0)
Eres resolutivo. Si(1) No(0)
Te rindes al primer intento Si(0) No(1)
Estas dispuesto a tener que actualizar tu conocimiento a lo largo de tu vida Si(1) No(0)
Y este es mi codigo!
package ejercicio1;
import java.util.Scanner;
public class principal {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Declaramos las variables.
String resp;
double respondidas = 0;
double respuesta = 0;
int intentos =0;
//Activamos el scanner para el modo lectura.
Scanner sc = new Scanner(System.in);
//Solicitamos el nombre del usuario y le damos la bienvenida.
System.out.println("Cual es tu nombre de alummno? ");
String nombre = sc.nextLine();
System.out.println("Bienvenido " +nombre);
System.out.println();
//creamos el menu para realizar el test.
System.out.println("-------- MENU PRINCIPAL -----");
System.out.println("-------- 1 Realizar test -----");
System.out.println("-------- 2 Salir -----");
System.out.println("-------------------------");
int opcion = sc.nextInt();
System.out.println("Responde a las siguientes preguntas donde 1 es SI y 0 es NO ");
System.out.println();
switch (opcion)
{
case 1: {
System.out.println("Realizar test");
System.out.println();
break;
}
case 2: {
System.out.println("Salir");
;
break;
}
default:
{
System.out.println("Opcion invalida pulsa una tecla para continuar....");
sc.nextLine();
break;
}
}
//HACEMOS BUCLE DO WHILE PARA QUE EL TEST SE PUEDA HACER MAXIMO 3 VECES Y HACEMOS LAS PREGUNTAS
do {
System.out.println("Te gustan los ordenadores? ");
int respuesta1 = sc.nextInt();
if (respuesta == 1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
System.out.println("Perfecto, siguiente pregunta... ");
System.out.println();
}
else
if (respuesta == 0) {
System.out.println("Has respondido NO.");
}
System.out.println("Disfrutas con la resolucion de problemas. ");
int respuesta2 = sc.nextInt();
if (respuesta == 1 +respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
System.out.println("Perfecto, siguiente pregunta... ");
}
else
if (respuesta2 == 0) {
System.out.println("Has respondido NO.");
}
System.out.println("Quieres trabajar en equipo ");
int respuesta3 = sc.nextInt();
if (respuesta == 1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta == 0) {
System.out.println("Has respondido NO.");
}
System.out.println("Te agrada aprender por descubrimiento o prefieres que te indiquen las cosas paso a paso. ");
int respuesta4 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta4 ==0) {
System.out.println("Has respondido NO ");
}
System.out.println("Eres creativo. ");
int respuesta5 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta5 ==0) {
System.out.println("Has respondido NO ");
}
System.out.println("Eres resolutivo. ");
int respuesta6 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta6 ==0) {
System.out.println("Has respondido NO ");
}
System.out.println("Te rindes al primer intento. ");
int respuesta7 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta ==0) {
System.out.println("Has respondido NO ");
}
System.out.println("Estas dispuesto a tener que actualizar tu conocimiento a lo largo de tu vida. ");
int respuesta8 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta ==0) {
System.out.println("Has respondido NO ");
}
int resultado = (int) respuesta;
System.out.println("Enhorabuena!" + respondidas);
System.out.println("Quieres repetir el cuestionario? ");
sc.nextLine();
resp = sc.nextLine();
} while (resp.equals("si"));
intentos =+1;
if (intentos >3);
}
}
Como puedo sacar el porcentaje // seria algo así?
% = cantidad de preguntas respondidas con si / total preguntas contestadas
Muchas gracias.
El ejercicio es el siguiente:
n centro de estudios nos ha solicitado que realicemos un algoritmo para saber la motivación que tienen los alumnos para estudiar programación.
Para ello quiere realizar una serie de preguntas y según la respuesta valorar su interés por estos estudios.
Cada respuesta tendrá un valor de 0 o 1 siendo el resultado el porcentaje total la suma de los valores obtenidos.
Si el valor obtenido en el primer intento es superior al 80% el ejercicio le dará la enhorabuena, si es inferior le pedirá volver a realizar el test con todas las preguntas dos veces mas. (El alumno solo podrá realizar la prueba tres veces).
Una vez realizado el test la tres veces, si la media de los resultados es inferior al 50%, se le pedirá que se lo comente a su profesor. Si es superior el programa terminara y le dará la enhorabuena.
Las preguntas para realizar son:
Te gustan las computadoras. Si(1) No(0)
Disfrutas con la resolución de problemas. Si(1) No(0)
Quieres trabajar en equipo. Si(1) No(0)
Te agrada aprender por descubrimiento o prefieres que te indiquen las cosas paso a paso. Si(1) No(0)
Eres creativo. Si(1) No(0)
Eres resolutivo. Si(1) No(0)
Te rindes al primer intento Si(0) No(1)
Estas dispuesto a tener que actualizar tu conocimiento a lo largo de tu vida Si(1) No(0)
Y este es mi codigo!
package ejercicio1;
import java.util.Scanner;
public class principal {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Declaramos las variables.
String resp;
double respondidas = 0;
double respuesta = 0;
int intentos =0;
//Activamos el scanner para el modo lectura.
Scanner sc = new Scanner(System.in);
//Solicitamos el nombre del usuario y le damos la bienvenida.
System.out.println("Cual es tu nombre de alummno? ");
String nombre = sc.nextLine();
System.out.println("Bienvenido " +nombre);
System.out.println();
//creamos el menu para realizar el test.
System.out.println("-------- MENU PRINCIPAL -----");
System.out.println("-------- 1 Realizar test -----");
System.out.println("-------- 2 Salir -----");
System.out.println("-------------------------");
int opcion = sc.nextInt();
System.out.println("Responde a las siguientes preguntas donde 1 es SI y 0 es NO ");
System.out.println();
switch (opcion)
{
case 1: {
System.out.println("Realizar test");
System.out.println();
break;
}
case 2: {
System.out.println("Salir");
;
break;
}
default:
{
System.out.println("Opcion invalida pulsa una tecla para continuar....");
sc.nextLine();
break;
}
}
//HACEMOS BUCLE DO WHILE PARA QUE EL TEST SE PUEDA HACER MAXIMO 3 VECES Y HACEMOS LAS PREGUNTAS
do {
System.out.println("Te gustan los ordenadores? ");
int respuesta1 = sc.nextInt();
if (respuesta == 1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
System.out.println("Perfecto, siguiente pregunta... ");
System.out.println();
}
else
if (respuesta == 0) {
System.out.println("Has respondido NO.");
}
System.out.println("Disfrutas con la resolucion de problemas. ");
int respuesta2 = sc.nextInt();
if (respuesta == 1 +respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
System.out.println("Perfecto, siguiente pregunta... ");
}
else
if (respuesta2 == 0) {
System.out.println("Has respondido NO.");
}
System.out.println("Quieres trabajar en equipo ");
int respuesta3 = sc.nextInt();
if (respuesta == 1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta == 0) {
System.out.println("Has respondido NO.");
}
System.out.println("Te agrada aprender por descubrimiento o prefieres que te indiquen las cosas paso a paso. ");
int respuesta4 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta4 ==0) {
System.out.println("Has respondido NO ");
}
System.out.println("Eres creativo. ");
int respuesta5 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta5 ==0) {
System.out.println("Has respondido NO ");
}
System.out.println("Eres resolutivo. ");
int respuesta6 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta6 ==0) {
System.out.println("Has respondido NO ");
}
System.out.println("Te rindes al primer intento. ");
int respuesta7 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta ==0) {
System.out.println("Has respondido NO ");
}
System.out.println("Estas dispuesto a tener que actualizar tu conocimiento a lo largo de tu vida. ");
int respuesta8 = sc.nextInt();
if (respuesta ==1 + respondidas++) {
respondidas = respondidas + (respuesta * 9) /100;
}
else
if (respuesta ==0) {
System.out.println("Has respondido NO ");
}
int resultado = (int) respuesta;
System.out.println("Enhorabuena!" + respondidas);
System.out.println("Quieres repetir el cuestionario? ");
sc.nextLine();
resp = sc.nextLine();
} while (resp.equals("si"));
intentos =+1;
if (intentos >3);
}
}
Como puedo sacar el porcentaje // seria algo así?
% = cantidad de preguntas respondidas con si / total preguntas contestadas
Muchas gracias.
Valora esta pregunta


0