El proceso de pensamiento lógico para desarrollar una calculadora para amigos y familiares
1. Utilice el método de coincidencia directamente.
Cuando vi este requisito, lo primero que pensé fue en buscar en Internet si había alguna demostración similar. Como estaba desarrollando para Android, no pude encontrar el código fuente correspondiente, así que pensé en escribirlo yo mismo. Encontré una demostración implementada usando js en Github y entendí brevemente el principio de implementación: después de obtener los valores que deben calcularse, haga las combinaciones correspondientes, por ejemplo: el hermano mayor del hermano mayor se convierte directamente en el hermano menor del hermano menor. Luego, el resultado combinado se compara directamente con su propia expresión, por ejemplo: ¿El padre del padre del hijo de papá se combinará directamente en? ¿El papá de papá? ¿Entonces el padre que coincide con el padre es el abuelo? entonces. Entonces obtienes el resultado. Pero hay miles de combinaciones y el rendimiento es pobre. Tuve que escribirlo yo mismo, lo cual obviamente fue muy detallado y engorroso.
2.
2. Computación distribuida
2. Computación distribuida
Para este tipo de procesamiento de relaciones, lo primero que pensamos de Es una combinación de dos métodos de cálculo, es decir, cálculo paso a paso. El primero es una combinación de dos cálculos, realizados paso a paso. ¿Por ejemplo? ¿La esposa del hijo del hermano del padre? Primero cuento al tío del hermano del padre, al primo del hijo del tío y luego a la esposa del primo. Pero no puedes unirlo con palabras, de lo contrario quedará demasiado grande, tienes que pensar en un número para cada persona, es decir, yo represento el 0, papá representa el 1, mamá representa el 2…. ¿todo? Los parientes se reemplazan por números. También utilicé hábilmente números impares para los hombres y números pares para las esposas, de modo que la esposa o el esposo de una persona se puedan calcular directamente usando +1 y -1. Por supuesto, estas son sólo ideas, pero si continúas pensando en esta relación lógica, encontrarás que no es más simple que el primer método. Debido a que existen varios métodos de cálculo para cada relación, es necesario realizar varios cálculos para cada valor representativo, es decir, para 1 (papá), necesito calcular sus hermanos, hermanas, padres, hijos y los suyos propios. Relación, 2 (mamá), enumera todas las situaciones. No es menos complicado que el primer caso y hay muchos lugares poco confiables. Por ejemplo, ¿la esposa del hijo del padre tiene tres respuestas? Cuñada, cuñado, esposa. Y la esposa del hijo del padre. Yendo aún más lejos, la esposa del hijo del padre del padre tiene una cuñada, un cuñado, una esposa, una prima política y una prima política. Este enfoque simplemente no es posible.
3. Cálculo directo.
La nieta del abuelo tiene cuñada, cuñado, esposa, prima política y la nuera de papá. Cuñada, cuñado y esposa al ver esto, de repente apareció una nueva idea. Para una persona o Con la misma identidad, todos sus descendientes se llaman igual. La próxima generación de mi hermano debe ser mi sobrino. el varón es sobrino y la mujer es sobrina. El hijo de mi hermana es sobrino y su hija es sobrina. El hijo de mi tío debe ser mi primo. Tienes que estar relacionado con alguien para poder calcular su relación contigo. Las únicas personas que están relacionadas con usted por sangre son sus padres, hijos, esposo, esposa, sobrinas y sobrinos. Hijos, maridos, esposas. Y tu abuelo, tío abuelo o tío está relacionado contigo porque está relacionado con tu padre. Entonces debe haber una línea que los conecta, así que solo necesito saber el punto más alto de esta línea para calcular la brecha entre esta persona y yo. Por ejemplo, ¿qué significa el punto más alto de esta línea? ¿El hijo del hermano de papá? ¿El punto más alto es el tío del hermano de papá? ¿El punto más alto es el papá de papá o el abuelo? Aquí es donde debemos calcular la persona con mayor antigüedad. La brecha entre nosotros es usted. Mi definición de mi generación es cero, padre, madre, tío, tío... 1 generación, abuelo 2 generaciones, hijo 1 generación, sobrino 1 generación, primo 1 generación...? ¿El hijo del hermano de papá? La antigüedad de su hijo es la primera generación, que es la antigüedad de su padre, por lo que solo hay padres, tíos y tíos. ¿Cuál es la antigüedad de tu padre? Simplemente defina dos variables, una registra la generación de la persona actual, los padres son +1, los hijos son -1, la otra variable registra el punto más alto y el resultado es calcular sus descendientes en función del punto más alto.
Cabe señalar que antes del cálculo, los valores deben integrarse: ¿Su hermano mayor se convierte directamente en hermano menor? El padre del hijo de xxx debe ser xxx (xxx es hombre) o el esposo de xxx (xxx es mujer). ... . , es necesario integrar todas las tentaciones, de lo contrario no hay necesidad de integrar. Al calcular, tenga en cuenta que, excepto su cónyuge o sus hermanos y hermanas que están relacionados con usted por sangre, los hermanos y hermanas del cónyuge de otra persona no están relacionados con usted por sangre. Al igual que los hermanos de tu cuñada que no están relacionados biológicamente contigo, debes usar el buen juicio a este respecto. ¿De qué estás hablando? ¿El nieto de tu abuelo es necesariamente hijo de tu padre? Los hijos del hermano de tu padre. ?También debes tener en cuenta que el punto más alto es tu abuelo, que es de la misma generación que tú, pero puede ser descendiente del hijo de tu abuelo, o puede ser descendiente de la hija de tu abuelo. Una vez que se solucionen estos problemas, eso es casi todo.
El método de escritura es un poco simple, es un proceso de pensamiento lógico. Sólo una idea.