C'est pourquoi l'algèbre scolaire est nécessaire.

Habituellement, la question "pourquoi avons-nous besoin de mathématiques?" répondre à quelque chose comme «gymnastique pour l'esprit». À mon avis, cette explication ne suffit pas. Lorsqu'une personne effectue des exercices physiques, elle connaît le nom exact des groupes musculaires qui se développent. Mais parler de mathématiques reste trop abstrait. Quels «muscles mentaux» spécifiques sont formés en algèbre scolaire? Après tout, cela ne ressemble pas du tout à de vraies mathématiques, dans lesquelles de grandes découvertes sont faites. Qu'est-ce qui donne la possibilité de rechercher le dérivé de certaines fonctions déroutantes?

L'enseignement des programmes aux élèves faibles m'a conduit à une réponse plus précise à la question «pourquoi?». Dans l'article, je vais essayer de vous le transmettre.


À l'école, beaucoup de temps est consacré à la transformation et à la simplification des expressions. Par exemple: 81x 2 + 126xy ​​+ 49y 2 doit être converti en (9x + 7y) 2 .

Dans cet exemple, on s'attend à ce que l'étudiant se souvienne de la formule au carré

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


Dans les cas plus complexes, l'expression résultante peut être utilisée pour d'autres transformations. Par exemple:

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


converti en premier

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


et puis, avec le raffinement (a + 2b)! = 0, ça se passe comme ça

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



Pour parvenir à ce résultat, l'étudiant doit reconnaître dans l'expression originale puis appliquer trois formules:

  • Montant au carré
  • Différence carrée
  • Réduisez les facteurs multiplicateurs

Dans une école ordinaire d'algèbre, presque tout le temps, nous étions engagés dans une telle transformation des expressions. À l'université en mathématiques supérieures, rien n'a changé de manière significative. On nous a dit comment prendre des dérivés (intégrales, etc.) et on nous a confié une tonne de tâches. Était-ce utile? À mon avis, oui. À la suite de ces exercices:

  1. L'habileté de transformer des expressions a été perfectionnée.
  2. Le souci du détail s'est développé.
  3. Un idéal s'est formé - une expression concise que l'on peut viser.

À mon avis, la présence d'un tel idéal, qualité et compétence est très utile dans le travail quotidien du développeur. En effet, simplifier l'expression, en substance, signifie changer sa structure afin de faciliter la compréhension, sans affecter le sens. Est-ce que cela vous rappelle quelque chose?

C'est pratiquement la définition du refactoring du livre du même nom de Martin Fowler.

Dans son travail, l'auteur les formule comme suit:
Refactoring (n): Un changement dans la structure interne d'un logiciel dans le but de faciliter la compréhension de son fonctionnement et de simplifier la modification sans affecter le comportement observé.
Refactor (verbe): changez la structure du logiciel en appliquant une série de refactoring sans affecter son comportement.
Le livre donne des "formules" qui doivent être reconnues dans le code source et les règles de leur conversion.

À titre d'exemple simple, je citerai «l'introduction d'une variable explicative» du livre:

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/fr456156/


All Articles