In der Regel wird die Frage „Warum ist Mathematik wichtig?“ mit etwas wie „geistigem Training“ beantwortet. Meiner Meinung nach ist diese Erklärung unzureichend. Wenn jemand körperliche Übungen macht, kennt er die genauen Bezeichnungen der Muskelgruppen, die dabei trainiert werden. Doch die Gespräche über Mathematik bleiben zu abstrakt. Welche konkreten „Gehirnmuskeln“ werden in der Schule durch Algebra trainiert? Sie ähnelt doch gar nicht der echten Mathematik, in der große Entdeckungen gemacht werden. Was nützt das Wissen, wie man die Ableitung komplizierter Funktionen sucht?
Das Unterrichten von Programmierung bei schwachen Studenten hat mich zu einer präziseren Antwort auf die Frage „Warum?“ gebracht. In diesem Artikel werde ich versuchen, diese Antwort mit Ihnen zu teilen.

In der Schule wird relativ viel Zeit mit der Umformung und Vereinfachung von Ausdrücken verbracht. Zum Beispiel: 81×2 + 126xy + 49y2 sollte umgeformt werden zu (9x + 7y)2.
In diesem Beispiel wird vom Schüler erwartet, dass er sich an die Formel des Quadrats der Summe erinnert.

In komplizierteren Fällen kann der erhaltene Ausdruck für andere Umformungen verwendet werden. Zum Beispiel:

wird zunächst umgeformt in

und dann, mit der Einschränkung (a + 2b) != 0, erhalten wir so

Um ein solches Ergebnis zu erzielen, muss der Schüler im ursprünglichen Ausdruck drei Formeln erkennen und dann anwenden:
- Quadrat der Summe
- Differenz der Quadrate
- Verkürzung von Faktoren einer gewöhnlichen Bruchzahl
In der regulären Schule haben wir fast die ganze Zeit in der Algebra mit solchen Umformungen von Ausdrücken gearbeitet. An der Hochschule hat sich in der höheren Mathematik nicht viel geändert. Man hat uns erklärt, wie man Ableitungen (Integrale usw.) nimmt und eine Menge Aufgaben gegeben. War das nützlich? Meiner Meinung nach – ja. Durch die Durchführung solcher Übungen:
- Wurde die Fähigkeit zur Umformung von Ausdrücken geschärft.
- Die Aufmerksamkeit für Details hat sich entwickelt.
- Ein Ideal wurde geformt – ein prägnanter Ausdruck, nach dem man streben kann.
Meiner Meinung nach ist das Vorhandensein eines solchen Ideals, dieser Qualität und Fähigkeit im täglichen Arbeit eines Entwicklers sehr nützlich. Denn ein Ausdruck zu vereinfachen, bedeutet im Grunde, seine Struktur zu verändern, um das Verständnis zu erleichtern, ohne den Sinn zu berühren. Erinnern Sie sich daran?
Das ist praktisch die Definition von Refactoring aus dem gleichnamigen Buch von Martin Fowler.
In seinem Werk formuliert der Autor sie wie folgt:
Refactoring (Refactoring) (Substantiv): Änderungen an der internen Struktur von Software, die darauf abzielen, das Verständnis ihrer Funktionsweise zu erleichtern und die Modifikation zu vereinfachen, ohne das beobachtbare Verhalten zu beeinträchtigen.
Refactor (Refactor) (Verb): Die Struktur von Software so ändern, dass eine Reihe von Refaktorisierungen durchgeführt werden, ohne ihr Verhalten zu beeinflussen.
Das Buch gibt "Formeln" an, die im Quellcode erkannt werden müssen sowie Regeln für ihre Transformation.
Als einfachstes Beispiel nehme 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 ) {
// mache etwas
}Teile des Ausdrucks sollten in einer Variablen gespeichert werden, deren Name ihren Zweck erklärt.
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) {
// mache etwas
}
Stellen Sie sich eine Person vor, die algebraische Ausdrücke nicht mit der Formel für den Quadrat von Summen und Differenzen vereinfachen kann.
Wie denken Sie, kann diese Person den Code refaktorisieren?
Kann er überhaupt einen für andere verständlichen Code schreiben, wenn er kein Ideal dieser gleichen Kürze entwickelt hat? Meiner Meinung nach nicht.
In der Schule sind jedoch alle, während nur eine Minderheit Programmierer wird. Ist die Fähigkeit, Ausdrücke zu transformieren, für gewöhnliche Menschen nützlich? Ich denke schon. Nur wird die Fähigkeit in abstrakterer Form angewendet: Man muss die Situation einschätzen und die nächste Handlung wählen, um dem Ziel näher zu kommen. In der Pädagogik wird dieses Phänomen als .
Die auffälligsten Beispiele entstehen bei alltäglichen Reparaturen mit improvisierten Mitteln, im „kolchosmäßigen“ Stil. Das Resultat sind diese „Tricks“ und Lifehacks, einer davon ist auf dem Bild dargestellt. Der Urheber der Idee hatte ein Stück Holz, ein Kabel und vier Schrauben. Er erinnerte sich an die Vorlage für eine Lampenfassung und baute daraus eine selbstgemachte Fassung.
Selbst beim Fahren mit einem Auto ist der Fahrer ständig damit beschäftigt, Muster in der Umgebung zu erkennen und entsprechende Manöver auszuführen, um sein Ziel zu erreichen.
Wenn du tot bist, weißt du es nicht, nur anderen ist es schwer. Dasselbe gilt, wenn du Mathematik nicht beherrschst...
Was passiert, wenn jemand nicht in der Lage ist, die Umwandlung von Ausdrücken zu meistern? Ab und zu gebe ich Einzelunterricht für Schüler, die in der Schule Schwierigkeiten mit Mathe hatten. In der Regel bleiben sie vollständig beim Thema Schleifen stecken. So sehr, dass ich mit ihnen «Algebra» unterrichten muss, aber in Programmiersprache.
Das passiert, weil beim Schreiben von Schleifen der Haupttrick darin besteht, eine Gruppe ähnlicher Ausdrücke zu transformieren.
Nehmen wir an, das Ergebnis der Programmausführung sollte so aussehen:
Einführung
Kapitel 1
Kapitel 2
Kapitel 3
Kapitel 4
Kapitel 5
Kapitel 6
Kapitel 7
Fazit
Ein einfaches Programm, um dieses Ergebnis zu erreichen, sieht so aus:
static void Main(string[] args)
{
Console.WriteLine("Einführung");
Console.WriteLine("Kapitel 1");
Console.WriteLine("Kapitel 2");
Console.WriteLine("Kapitel 3");
Console.WriteLine("Kapitel 4");
Console.WriteLine("Kapitel 5");
Console.WriteLine("Kapitel 6");
Console.WriteLine("Kapitel 7");
Console.WriteLine("Schlussfolgerung");
}Aber diese Lösung ist weit entfernt von der eleganten Ideallösung. Zuerst müssen wir die sich wiederholende Gruppe von Aktionen finden und sie dann umwandeln. Am Ende erhalten wir folgende Lösung:
static void Main(string[] args)
{
Console.WriteLine("Einführung");
for (int i = 1; i <= 7; i++)
{
Console.WriteLine("Kapitel " + i);
}
Console.WriteLine("Schlussfolgerung");
}Wenn jemand zu seiner Zeit die Mathematik nicht beherrscht hat, wird er auch keine derartigen Umwandlungen durchführen können. Er hat einfach nicht die entsprechende Fähigkeit. Deshalb ist das Thema der Schleifen das erste Hindernis beim Lernen eines Entwicklers.
Ähnliche Probleme treten auch in anderen Bereichen auf. Wenn jemand nicht in der Lage ist, ein verfügbares Werkzeug zu benutzen, kann er keine praktische Einfallsreichtum zeigen. Böse Zungen werden sagen, dass die Hände nicht von dem richtigen Platz kommen. Das zeigt sich auf der Straße darin, dass man die Situation nicht richtig einschätzen und den richtigen Manöver wählen kann. Was manchmal zu tragischen Konsequenzen führen kann.
Fazit:
- Schul- und Hochschulmathematik ist notwendig, damit wir die Welt mit den Mitteln, die uns zur Verfügung stehen, verbessern können.
- Wenn Sie lernen und Schwierigkeiten beim Verständnis von Schleifen haben, versuchen Sie, zu den Grundlagen zurückzukehren - zur Schulalgebra. Nehmen Sie ein Übungsbuch für die 9. Klasse und bearbeiten Sie Beispiele aus diesem.
Quelle: habr.com
