Es por eso que se necesita álgebra escolar.

Por lo general, la pregunta "¿por qué necesitamos las matemáticas?" responde algo como "gimnasia para la mente". En mi opinión, esta explicación no es suficiente. Cuando una persona realiza ejercicios físicos, sabe el nombre exacto de los grupos musculares que se están desarrollando. Pero hablar de matemáticas sigue siendo demasiado abstracto. ¿Qué "músculos mentales" específicos se entrenan en álgebra escolar? Después de todo, no parece en absoluto matemática real, en la que se hacen grandes descubrimientos. ¿Qué le da la capacidad de buscar la derivada de algunas funciones confusas?

La enseñanza de programación para estudiantes débiles me llevó a una respuesta más precisa a la pregunta "¿por qué?". En el artículo intentaré transmitírselo.


En la escuela, se dedica bastante tiempo a la transformación y simplificación de expresiones. Por ejemplo: 81x 2 + 126xy ​​+ 49y 2 debe convertirse como (9x + 7y) 2 .

En este ejemplo, se espera que el alumno recuerde la fórmula cuadrada al cuadrado

$ (a + b) ^ 2 = a ^ 2 + 2ab + b ^ 2 $


En casos más complejos, la expresión resultante puede usarse para otras transformaciones. Por ejemplo:

$ \ frac {a ^ 2 + 4ab + 4b ^ 2} {a ^ 2-4b ^ 2} $


convertido primero a

$ \ frac {(a + 2b) ^ 2} {(a + 2b) (a-2b)} $


y luego, con el refinamiento (a + 2b)! = 0, resulta así

$ \ frac {(a + 2b)} {(a-2b)} $



Para lograr este resultado, el alumno debe reconocer en la expresión original y luego aplicar tres fórmulas:

  • Cantidad al cuadrado
  • Diferencia cuadrada
  • Reducir factores multiplicadores

En una escuela ordinaria de álgebra, casi todo el tiempo estábamos involucrados en tal transformación de expresiones. En la universidad en matemáticas superiores, nada ha cambiado significativamente. Nos dijeron cómo tomar derivados (integrales, etc.) y nos dieron un montón de tareas. ¿Fue útil esto? En mi opinión, si. Como resultado de tales ejercicios:

  1. La habilidad de transformar expresiones ha sido perfeccionada.
  2. La atención al detalle se ha desarrollado.
  3. Se formó un ideal, una expresión concisa por la que uno puede luchar.

En mi opinión, la presencia de tal ideal, calidad y habilidad es muy útil en el trabajo diario del desarrollador. De hecho, simplificar la expresión, en esencia, significa cambiar su estructura para facilitar la comprensión, sin afectar el significado. ¿Esto te recuerda algo?

Esta es prácticamente la definición de refactorización del libro del mismo nombre de Martin Fowler.

En su trabajo, el autor las formula de la siguiente manera:
Refactorización (n): un cambio en la estructura interna del software con el objetivo de facilitar la comprensión de su funcionamiento y simplificar la modificación sin afectar el comportamiento observado.
Refactor (verbo): cambia la estructura del software aplicando una serie de refactorización sin afectar su comportamiento.
El libro ofrece "fórmulas" que deben ser reconocidas en el código fuente y las reglas para su conversión.

Como un ejemplo simple, citaré la "introducción de una variable explicativa" del libro:

if ( (platform.toUpperCase().indexOf(“MAC”) > -1 ) &&
    (browser.toUpperCase().indexOf(“IE”) > -1 )&&
    wasInitialized() && resize > 0 ) {
    // do something
}

, .

final boolean isMacOS = platform.toUpperCase().indexOf(“MAC”) > -1;
final boolean isIEBrowser = browser.toUpperCase().indexOf(“IE”) > -1;
final boolean isResized = resize > 0;
if(isMacOS && isIEBrowser && wasInitialized() && isResized) {
   // do something
}

, .

, ?

, ? — .

, . ? . : , . ().

, «» . «» , . , . , .

, , .

, , . , …
, ? , . , . , «», .
, , .

:


1
2
3
4
5
6
7
:

static void Main(string[] args)
{
    Console.WriteLine("");
    Console.WriteLine(" 1");
    Console.WriteLine(" 2");
    Console.WriteLine(" 3");
    Console.WriteLine(" 4");
    Console.WriteLine(" 5");
    Console.WriteLine(" 6");
    Console.WriteLine(" 7");
    Console.WriteLine("");
}

. . :

static void Main(string[] args)
{
    Console.WriteLine("");
    for (int i = 1; i <= 7; i++)
    {
        Console.WriteLine(" " + i);
    }
    Console.WriteLine("");
}

, . . — .

. , . , . . .

:

  1. , , .
  2. , — . 9 .

Source: https://habr.com/ru/post/456156/


All Articles