if-statement - tres - funcion si y excel
Anidado SI... ENTONCES... ELSE en GW-BASIC (2)
IF Average >= 40 AND Average <= 49 THEN Grade$ = "E" ELSE Grade$ = "F"
Debido a que esta línea IF THEN ELSE
siempre asignará un valor a Grade $ (sin importar el contenido de Average ), todas las IF THEN
anteriores no cuentan por mucho.
La solución, sin embargo, es muy, muy simple . No use la cláusula ELSE
y proporcione el valor predeterminado "F" de Grado $ para comenzar. De esta forma, solo si todas esas condiciones se evalúan como falsas, el programa devolverá "Grade is: F".
Grade$ = "F"
IF Average >= 80 AND Average <= 100 THEN Grade$ = "A"
IF Average >= 70 AND Average <= 79 THEN Grade$ = "B"
IF Average >= 60 AND Average <= 69 THEN Grade$ = "C"
IF Average >= 50 AND Average <= 59 THEN Grade$ = "D"
IF Average >= 40 AND Average <= 49 THEN Grade$ = "E"
PRINT "Average is: ", Average
PRINT "Grade is: ", Grade$
Uso el siguiente bloque de código para probar algunas condiciones en el programa gw-basic
.
IF Average >= 80 AND Average <= 100 THEN Grade$ = "A"
IF Average >= 70 AND Average <= 79 THEN Grade$ = "B"
IF Average >= 60 AND Average <= 69 THEN Grade$ = "C"
IF Average >= 50 AND Average <= 59 THEN Grade$ = "D"
IF Average >= 40 AND Average <= 49 THEN Grade$ = "E" ELSE Grade$ = "F"
PRINT "Average is: ", Average
PRINT "Grade is: ", Grade$
Siempre imprime Grade is: F
cualquiera que sea el valor de À promedio.
¿Cuál es el error en este programa gw-basic?
supongamos que la línea promedio de impresión es la línea número 70, por lo que después de cada línea, excepto la línea ELSE, escriba GOTO 70. Intente si eso funciona.