1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> ALTAVOZ 1: La última vez que se analizaron enteros, recuerdan que hemos utilizado alguna 3 00:00:03,440 --> 00:00:07,810 Expresiones booleanas para comprobar si de un usuario entrada de N era entre los números 4 00:00:07,810 --> 00:00:11,580 como 0 y 3, 4 y 7, y 8 y 10. 5 00:00:11,580 --> 00:00:14,990 Bueno, hicimos que el uso del caso y demás si lo es, pero resulta que se puede 6 00:00:14,990 --> 00:00:17,990 aplicar la misma lógica utilizando una diferente construcción de programación 7 00:00:17,990 --> 00:00:21,400 por completo sin dejar de lograr precisamente el mismo resultado. 8 00:00:21,400 --> 00:00:25,000 De hecho, podemos introducir algo llamado un interruptor que nos permite 9 00:00:25,000 --> 00:00:28,660 cambiar nuestro comportamiento en función de el valor de alguna variable. 10 00:00:28,660 --> 00:00:29,840 >> Vamos a dar a este un intento. 11 00:00:29,840 --> 00:00:35,730 Para hacer esto, estoy primero va a incluir la biblioteca CS50 a modo de cs50.h. 12 00:00:35,730 --> 00:00:39,960 También voy a incluir la norma biblioteca por medio del estándar de E / O.h. 13 00:00:39,960 --> 00:00:44,540 Y voy a declarar principal la forma habitual, int void main. 14 00:00:44,540 --> 00:00:45,650 Abrir corchete. 15 00:00:45,650 --> 00:00:47,100 Cierre llave de cierre. 16 00:00:47,100 --> 00:00:49,720 Y ahora voy a pedir a la usuario para un entero. 17 00:00:49,720 --> 00:00:56,990 >> Printf, dame un int entre 1 y 10. 18 00:00:56,990 --> 00:00:59,310 Y ahora me voy a poner que int usando el CS50 19 00:00:59,310 --> 00:01:01,590 bibliotecas funcionan, GetInt. 20 00:01:01,590 --> 00:01:06,140 Int, llamémosla n, es igual GetInt. 21 00:01:06,140 --> 00:01:08,500 Y ahora me voy a hacer un poco de análisis en ese entero. 22 00:01:08,500 --> 00:01:13,120 Algo arbitraria, pero con este nueva construcción conocido como un interruptor. 23 00:01:13,120 --> 00:01:16,530 Encender el valor de n de la siguiente manera. 24 00:01:16,530 --> 00:01:23,240 >> En el caso de que n es igual a 1, o en el caso de que n es igual a 2, o en el caso 25 00:01:23,240 --> 00:01:28,150 que n es igual a 3, seguir adelante y ejecutar esta línea de código. 26 00:01:28,150 --> 00:01:34,480 Printf usted escogió una pequeña int, romper. 27 00:01:34,480 --> 00:01:37,610 Ahora, tengo que aplicar el equivalente de un ELT sencilla por 28 00:01:37,610 --> 00:01:40,990 enumerando algunos casos adicionales. 29 00:01:40,990 --> 00:01:47,180 >> En el caso de que n es igual a 4, o en el caso de que n es igual a 5, o en el caso 30 00:01:47,180 --> 00:01:53,830 que n es igual a 6, o en el caso de que n es igual a 7, seguir adelante e imprimir usted 31 00:01:53,830 --> 00:01:58,000 elegido un Int. medio. 32 00:01:58,000 --> 00:01:59,490 Rompa. 33 00:01:59,490 --> 00:02:02,300 Ahora bien, en el caso de que el usuario escogió un gran número, vamos a 34 00:02:02,300 --> 00:02:04,940 detectar que la siguiente. 35 00:02:04,940 --> 00:02:08,900 >> En el caso de que el usuario recogió ocho o en el caso de que el usuario escoja 36 00:02:08,900 --> 00:02:14,110 nueve, o en el caso de que el usuario escoja 10, seguir adelante e imprimir usted 37 00:02:14,110 --> 00:02:17,830 elegido un gran Int.. 38 00:02:17,830 --> 00:02:19,180 Rompa. 39 00:02:19,180 --> 00:02:23,970 ELT, si un usuario no se recuperó un número que está comprendida en cualquiera de estos 10 casos, 40 00:02:23,970 --> 00:02:25,520 vamos a tener un comportamiento predeterminado. 41 00:02:25,520 --> 00:02:27,870 Que en este caso será el siguiente. 42 00:02:27,870 --> 00:02:32,860 >> Por defecto, Printf, que eligió un Int no válido. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Rompa. 45 00:02:38,220 --> 00:02:42,870 Ahora, si puedo guardar este archivo de compilación que con compone interruptor. 46 00:02:42,870 --> 00:02:44,870 Ejecutar con. Interruptor de barra. 47 00:02:44,870 --> 00:02:46,770 Vamos a hacer un par de comprobaciones de sanidad. 48 00:02:46,770 --> 00:02:48,440 Voy a recoger un Int de 1. 49 00:02:48,440 --> 00:02:50,110 Y ID recogió una pequeña int. 50 00:02:50,110 --> 00:02:52,240 >> Ahora vamos a hacer. Interruptor de slash. 51 00:02:52,240 --> 00:02:54,514 Y escribir por ejemplo, 1 negativo. 52 00:02:54,514 --> 00:02:56,900 Y cogió un int ID válido. 53 00:02:56,900 --> 00:02:59,560 Al final del día, el interruptor construir no le permitirá hacer 54 00:02:59,560 --> 00:03:03,320 algo que no se podía ya hacer con la más familiar si, más si, 55 00:03:03,320 --> 00:03:04,530 else. 56 00:03:04,530 --> 00:03:07,470 Pero si usted tiene una lista finita de valores que usted está comprobando, una 57 00:03:07,470 --> 00:03:09,820 sentencia switch puede muy así que su código sea más 58 00:03:09,820 --> 00:03:11,310 explícita o más legible. 59 00:03:11,310 --> 00:03:12,910