/*Práctica 2. Ejercicio1 Trabajando con estructuras de selección
*/
/*Programa 1: Estructura if(){ }
Implemente un programa que reciba una nota numérica de un alumno entre 0 y 10 y responda:
Si nota=10 Matrícula de Honor
Si 9<=nota<10 Sobresaliente
Si 7<=nota<9 Notable
Si 6<=nota<7 Bien
Si 5<=nota<6 Suficiente
Si 4<=nota<5 Insuficiente
Si 3<=nota<4 Deficiente
Si nota<3 Muy Deficiente
Si la nota está fuera de rango debe responder con nota numérica no valida.
Sólo puede usar if(){ } (observa no hay else).
Programa 2 a continuación realiza el mismo programa pero usando una estructura
if(){
}else if(){ //Repetir else if las veces sea necesaria
......
......
}else{
}
Nota: Implemente los programas 1 y 2 en la zona indicada. Se han añadido unas líneas para determinar el tiempo de calculo de cada estructura. Responda en el lugar indicado las cuestiones se planteen
*/
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
//Bloque entrada datos
Scanner tec= new Scanner(System.in);
System.out.print("Introduce nota (0 a 10): ");
float nota =tec.nextFloat();
String calificacion="";
//Cerrar teclado
tec.close();
//Instrucción para obtener en ns (nanosegundos) el instante temporal previo a la ejecución.
long startTime = System.nanoTime();
//Programa aquí el código del Programa 1
if(nota==10){calificacion = "una matricula de honor ";}
if(nota<10 && nota>=9){calificacion= "un excelencente ";}
if(nota<9 && nota>=7){calificacion= "un notable ";}
if(nota<7 && nota>=6){calificacion= "un bien ";}
if(nota<6 && nota>5){calificacion= "un suficiente ";}
if(nota<5 && nota>=4){calificacion= "un insuficiente ";}
if(nota<4 && nota>=3){calificacion= "un deficiente ";}
if(nota<3){calificacion= "un muy deficiente ";}
if(nota>10 ^ nota<0){calificacion= "una nota no valida";}
//Instrucciones para leer el instante de tiempo tras la ejecución de la estructura y para evaluar la resta de los instantes temporales de inicio y fin en microsegundos.
long endTime=System.nanoTime();
double timeRun =(endTime - startTime)/1000.0;
//Muestra en pantalla el resultado de la nota y el tiempo de ejecución del fragmento de código.
System.out.println("Has sacado " +calificacion+ " "+ timeRun+ " \u03bc" +"s");
//Fin del programa 1
//Inicio del programa 2. Añádelo sin comentar el bloque del programa 1, con el fin se ejecuten uno detrás de otro,
//nstrucción para obtener en ns (nanosegundos) el instante temporal previo a la ejecución.
startTime = System.nanoTime();
//Implemente aquí código del programa 2
if(nota==10){calificacion = "una matricula de honor ";}
else if(nota<10 && nota>=9){calificacion= "un excelencente ";}
else if(nota<9 && nota>=7){calificacion= "un notable ";}
else if(nota<7 && nota>=6){calificacion= "un bien ";}
else if(nota<6 && nota>5){calificacion= "un suficiente ";}
else if(nota<5 && nota>=4){calificacion= "un insuficiente ";}
else if(nota<4 && nota>=3){calificacion= "un deficiente ";}
else if(nota<3){calificacion= "un muy deficiente ";}
else {calificacion= "una nota no valida";}
//Instrucciones para leer el instante de tiempo tras la ejecución de la estructura y para evaluar la resta de los instantes temporales de inicio y fin en microsegundos.
endTime=System.nanoTime();
timeRun =(endTime - startTime)/1000.0;
//Muestra en pantalla el resultado de la nota y el tiempo de ejecución del fragmento de código.
System.out.println("Has sacado " +calificacion+ " "+ timeRun+ " \u03bc" +"s");
}
}
//Fin del programa 2
//Responda a las cuestiones
//¿Por qué cree que la ejecución del programa 2 es más rápida?
/*Porque el segundo bloque cuando ya ejecuta uno de los bloques anteriories se salta los
siguientes else if y el else ahorando lineas donde procesa informacion que ya no es posible*/
// Considera que el orden de la estructura del programa 2 puede hacer que aún sea más rápida su ejecución ¿Por qué?
/* Si porque nos ayudan a hacer el programa mas rapido gracias a descartar informacion que
nosotros como programadores ya sabemos que no hay que volver a evaluar*/
To embed this project on your website, copy the following code and paste it into your website's HTML: