Deshalb wird Schulalgebra benötigt.

Normalerweise die Frage "Warum brauchen wir Mathe?" antworte so etwas wie "Gymnastik für den Geist". Meiner Meinung nach reicht diese Erklärung nicht aus. Wenn eine Person körperliche Übungen durchführt, kennt sie den genauen Namen der Muskelgruppen, die sich entwickeln. Aber über Mathematik zu reden bleibt zu abstrakt. Welche spezifischen „Geistesmuskeln“ werden in der Schulalgebra trainiert? Schließlich sieht es überhaupt nicht nach echter Mathematik aus, in der große Entdeckungen gemacht werden. Was gibt die Möglichkeit, nach der Ableitung einiger verwirrender Funktionen zu suchen?

Das Unterrichten von Programmieren für schwache Schüler führte mich zu einer genaueren Antwort auf die Frage „Warum?“. In dem Artikel werde ich versuchen, es Ihnen zu vermitteln.


In der Schule wird viel Zeit für die Transformation und Vereinfachung von Ausdrücken aufgewendet. Beispiel: 81x 2 + 126xy ​​+ 49y 2 muss als (9x + 7y) 2 konvertiert werden.

In diesem Beispiel wird vom Schüler erwartet, dass er sich an die quadratische Quadratformel erinnert

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


In komplexeren Fällen kann der resultierende Ausdruck für andere Transformationen verwendet werden. Zum Beispiel:

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


zuerst konvertiert zu

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


und dann, mit der Verfeinerung (a + 2b)! = 0, stellt sich so heraus

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



Um dieses Ergebnis zu erzielen, muss der Schüler den ursprünglichen Ausdruck erkennen und dann drei Formeln anwenden:

  • Menge im Quadrat
  • Quadratischer Unterschied
  • Multiplikatorfaktoren reduzieren

In einer gewöhnlichen Schule in Algebra waren wir fast die ganze Zeit mit einer solchen Transformation von Ausdrücken beschäftigt. An der Universität für höhere Mathematik hat sich nichts wesentlich geändert. Uns wurde gesagt, wie man Derivate (Integrale usw.) nimmt, und wir bekamen eine Menge Aufgaben. War das hilfreich? Meiner Meinung nach ja. Als Ergebnis solcher Übungen:

  1. Die Fähigkeit, Ausdrücke zu transformieren, wurde perfektioniert.
  2. Die Liebe zum Detail hat sich entwickelt.
  3. Es wurde ein Ideal gebildet - ein prägnanter Ausdruck, nach dem man streben kann.

Meiner Meinung nach ist das Vorhandensein eines solchen Ideals, einer solchen Qualität und eines solchen Könnens in der täglichen Arbeit des Entwicklers sehr nützlich. In der Tat bedeutet die Vereinfachung des Ausdrucks im Wesentlichen, seine Struktur zu ändern, um das Verständnis zu erleichtern, ohne die Bedeutung zu beeinflussen. Erinnert Sie das an irgendetwas?

Dies ist praktisch die Definition von Refactoring aus dem gleichnamigen Buch von Martin Fowler.

In seiner Arbeit formuliert der Autor sie wie folgt:
Refactoring (n): Eine Änderung der internen Struktur von Software mit dem Ziel, das Verständnis ihrer Funktionsweise zu erleichtern und Änderungen zu vereinfachen, ohne das beobachtete Verhalten zu beeinträchtigen.
Refactor (Verb): Ändern Sie die Struktur von Software, indem Sie eine Reihe von Refactoring anwenden, ohne deren Verhalten zu beeinflussen.
Das Buch enthält "Formeln", die im Quellcode erkannt werden müssen, und die Regeln für ihre Konvertierung.

Als einfaches Beispiel zitiere ich die „Einführung einer erklärenden Variablen“ aus dem Buch:

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


All Articles