Efectos especiales de la página web de JavaScript: diseño del programa "red de pesca de pescadores"

Al programar, encapsule el código que puede necesitar ejecutarse repetidamente en una función y luego llámelo donde la función del código debe ejecutarse, de modo que no solo se pueda reutilizar el código, sino, lo que es más importante, la consistencia del código. Se puede garantizar el código.Si se modifica el código de función, se reflejarán todas las ubicaciones de llamada. Al mismo tiempo, dividir grandes tareas en múltiples funciones también es la idea básica de "divide y vencerás" y "programación modular", que conduce a la simplificación de problemas complejos. Esta sección utiliza una función personalizada para realizar el diseño del programa de "redes de pesca y secado de pescadores".

1 presentación de caso

Si un pescador comienza a "pescar durante tres días y secar redes durante dos días" a partir del 1 de enero de ese año, el programa puede ingresar un día determinado del año y mostrar si el pescador está "pescando" o "secando redes". Los efectos de entrada y salida del caso se muestran en la figura 4-10.

 

 Figura 4-10 Efectos de entrada y salida del caso

2 análisis de caso

En el caso, a partir del 1 de enero de ese año se inició la “pesca por tres días y secado de redes por dos días”, luego se realizó la pesca los días 1, 2 y 3 de enero de ese año, y el enmallado se realizó el 4 de enero. y 5 de ese año analogía. En primer lugar, se calcula que la fecha ingresada por el usuario es el día del año. Dado que el ciclo de "pesca" y "redes" es de 5 días, el número de días calculado se calcula como un resto de 5. Si el resto es 1, 2, 3, entonces está "pescando", de lo contrario está "secando la red". Según el análisis, el diseño del algoritmo se divide en tres pasos.

(1) Calcule que la fecha de entrada es el día del año, si el año actual es un año bisiesto y el mes de entrada es mayor que 2, debe agregar un día.

(2) Lleve el resto del número de días calculado a 5.

(3) Juzgar si el pescador está "pescando" o "secando la red" según el resto; si el resto es 1, 2, 3, el pescador está "pescando", de lo contrario está "secando la red".

Para simplificar el código, se personalizan dos funciones en el programa para realizar las funciones de juzgar el año bisiesto y calcular el número de la fecha de entrada en el año actual, y luego llamarlo en el programa.

3 casos de realización

  1  <!DOCTYPE html>
  2  <html lang="en">
  3  <head>
  4  </head>
  5  <body>
  6   </script>
  7         function isLeap(year) { // 判断是否闰年
  8             if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
  9                 return true;
 10             }
 11             return false;
 12         }
 13         function getDays(year, month, day) {// 计算计算输入日期是当年的第几天
 14             var arr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];//月份
 15             for (var i = 0; i < month - 1; i++) {// for循环让前面月份天数相加。
 16                 day += arr[i];
 17             }
 18             if (isLeap(year) && month > 2) {// 调用函数
 19                 day++;
 20             }
 21             return day;
 22         }
 23         var year = prompt("请输入年");
 24         var month = prompt("请输入月");
 25         var day = prompt("请输入日");
 26         var n = getDays(year, month, day); // 调用函数
 27         if ((n % 5) < 4 && (n % 5) > 0) // 余数是1或2或3时说明在打渔,否则在晒网
 28             alert(year + "年" + month + "月" + day + "日渔夫在打渔");
 29         else
 30             alert(year + "年" + month + "月" + day + "日渔夫在晒网");
 31     </script>
 32   </body>
 33  </html>

 En el código de caso, la séptima línea de código define la función esSalto(año), que determina si el parámetro año es un año bisiesto; la decimotercera línea de código define la función obtenerDías(año, mes, día), que llama a esSalto( año) para calcular si la fecha de entrada es el año actual El número de días; la línea 26 de código llama a la función getDays(año, mes, día) para obtener el número de la fecha de entrada en el año actual; el 27-30 La línea de código llevará el resto del número de días obtenidos a 5, y juzgará si el pescador está en "Pescando" todavía está "postando la red", y la información de resultado correspondiente se mostrará en una ventana emergente.


Supongo que te gusta

Origin blog.csdn.net/weixin_43396749/article/details/128039796
Recomendado
Clasificación