Γι' αυτό χρειάζεται η άλγεβρα γυμνασίου

Συνήθως η ερώτηση "γιατί χρειαζόμαστε τα μαθηματικά;" Απαντούν κάτι σαν «γυμναστική για το μυαλό». Κατά τη γνώμη μου, αυτή η εξήγηση δεν αρκεί. Όταν ένα άτομο εκτελεί σωματική άσκηση, γνωρίζει το ακριβές όνομα των μυϊκών ομάδων που αναπτύσσονται. Αλλά οι συζητήσεις για τα μαθηματικά παραμένουν πολύ αφηρημένες. Ποιοι συγκεκριμένοι «διανοητικοί μύες» εκπαιδεύονται από τη σχολική άλγεβρα; Δεν μοιάζει καθόλου με τα πραγματικά μαθηματικά, στα οποία γίνονται μεγάλες ανακαλύψεις. Τι δίνει η δυνατότητα αναζήτησης της παραγώγου κάποιων περίπλοκων συναρτήσεων;

Η διδασκαλία προγραμματισμού σε αδύναμους μαθητές με οδήγησε σε μια πιο ακριβή απάντηση στην ερώτηση "γιατί;" Σε αυτό το άρθρο θα προσπαθήσω να σας το μεταφέρω.

Γι' αυτό χρειάζεται η άλγεβρα γυμνασίου
Στο σχολείο, αφιερώνεται πολύς χρόνος στη μεταμόρφωση και την απλοποίηση των εκφράσεων. Για παράδειγμα: 81×2+126xy+49y2 πρέπει να μετατραπεί ως (9x+7y)2.

Σε αυτό το παράδειγμα, ο μαθητής αναμένεται να θυμάται τον τύπο για το τετράγωνο του αθροίσματος

Γι' αυτό χρειάζεται η άλγεβρα γυμνασίου

Σε πιο περίπλοκες περιπτώσεις, η έκφραση που προκύπτει μπορεί να χρησιμοποιηθεί για άλλους μετασχηματισμούς. Για παράδειγμα:

Γι' αυτό χρειάζεται η άλγεβρα γυμνασίου

μετατρέπεται πρώτα σε

Γι' αυτό χρειάζεται η άλγεβρα γυμνασίου

και μετά, με τη διευκρίνιση (a + 2b) != 0, προκύπτει έτσι

Γι' αυτό χρειάζεται η άλγεβρα γυμνασίου

Για να επιτευχθεί αυτό το αποτέλεσμα, ο μαθητής πρέπει να αναγνωρίσει στην αρχική έκφραση και στη συνέχεια να εφαρμόσει τρεις τύπους:

  • Τετράγωνο του αθροίσματος
  • Διαφορά τετραγώνων
  • Μείωση των συντελεστών ενός κοινού κλάσματος

Στο σχολείο της άλγεβρας, σχεδόν όλη την ώρα ξοδεύαμε μεταμορφώνοντας εκφράσεις όπως αυτή. Τίποτα δεν έχει αλλάξει σημαντικά στα ανώτερα μαθηματικά στο πανεπιστήμιο. Μας είπαν πώς να παίρνουμε παράγωγα (ολοκληρώματα κ.λπ.) και μας έδωσαν έναν τόνο προβλημάτων. Ήταν χρήσιμο; Κατά τη γνώμη μου - ναι. Ως αποτέλεσμα της εκτέλεσης αυτών των ασκήσεων:

  1. Η ικανότητα του μετασχηματισμού των εκφράσεων έχει ακονιστεί.
  2. Έχει αναπτυχθεί η προσοχή στη λεπτομέρεια.
  3. Δημιουργήθηκε ένα ιδανικό - μια λακωνική έκφραση για την οποία μπορεί κανείς να αγωνιστεί.

Κατά τη γνώμη μου, το να έχεις τέτοιο ήθος, ποιότητα και ικανότητα είναι πολύ χρήσιμο στην καθημερινή δουλειά ενός προγραμματιστή. Άλλωστε, η απλοποίηση μιας έκφρασης ουσιαστικά σημαίνει αλλαγή της δομής της προκειμένου να διευκολυνθεί η κατανόηση χωρίς να επηρεάζεται το νόημα. Σας θυμίζει κάτι αυτό;

Αυτός είναι πρακτικά ο ορισμός του refactoring από το ομώνυμο βιβλίο του Martin Fowler.

Στο έργο του ο συγγραφέας τα διατυπώνει ως εξής:

Refactoring (n): Μια αλλαγή στην εσωτερική δομή του λογισμικού που αποσκοπεί στο να γίνει πιο κατανοητό και ευκολότερο να τροποποιηθεί χωρίς να επηρεαστεί η παρατηρήσιμη συμπεριφορά.

Refactor (ρήμα): αλλαγή της δομής του λογισμικού εφαρμόζοντας μια σειρά από ανακατασκευές χωρίς να επηρεάζεται η συμπεριφορά του.

Το βιβλίο δίνει «τύπους» που πρέπει να αναγνωρίζονται στον πηγαίο κώδικα και τους κανόνες μετατροπής τους.

Ως απλό παράδειγμα, θα δώσω την «εισαγωγή μιας επεξηγηματικής μεταβλητής» από το βιβλίο:

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
}

Φανταστείτε ένα άτομο που δεν μπορεί να απλοποιήσει αλγεβρικές εκφράσεις χρησιμοποιώντας τον τύπο του τετραγώνου αθροίσματος και διαφοράς τετραγώνων.

Πιστεύετε ότι αυτό το άτομο μπορεί να αναδιαμορφώσει τον κώδικα;

Θα μπορέσει καν να γράψει κώδικα που θα μπορούν να καταλάβουν οι άλλοι άνθρωποι, αν δεν έχει σχηματίσει το ιδανικό αυτής ακριβώς της συντομίας; Κατά τη γνώμη μου, όχι.

Ωστόσο, όλοι πηγαίνουν σχολείο και μια μειοψηφία γίνεται προγραμματιστής. Είναι η ικανότητα μετατροπής έκφρασης χρήσιμη για τους απλούς ανθρώπους; Νομίζω ναι. Μόνο η δεξιότητα εφαρμόζεται σε πιο αφηρημένη μορφή: πρέπει να αξιολογήσετε την κατάσταση και να επιλέξετε μια περαιτέρω ενέργεια, ώστε να πλησιάσετε τον στόχο. Στην παιδαγωγική αυτό το φαινόμενο ονομάζεται μεταφορά (δεξιότητα).

Τα πιο εντυπωσιακά παραδείγματα προκύπτουν κατά τις οικιακές επισκευές με τη χρήση αυτοσχέδιων μέσων, τη μέθοδο της «συλλογικής φάρμας». Ως αποτέλεσμα, εμφανίζονται αυτά τα ίδια «κόλπα» και life hacks, ένα από τα οποία απεικονίζεται στο KPDV. Ο συγγραφέας της ιδέας είχε ένα κομμάτι ξύλο, σύρμα και τέσσερις βίδες. Θυμούμενος το πρότυπο υποδοχής λαμπτήρα, συναρμολόγησε μια σπιτική υποδοχή λάμπας από αυτά.

Ακόμη και όταν οδηγεί ένα όχημα, ο οδηγός ασχολείται συνεχώς με την αναγνώριση μοτίβων στον κόσμο γύρω του και την εκτέλεση των κατάλληλων ελιγμών για να φτάσει στον προορισμό του.

Όταν πεθαίνεις, δεν το ξέρεις, απλά είναι δύσκολο για τους άλλους. Είναι το ίδιο όταν δεν έχεις κατακτήσει τα μαθηματικά...

Τι συμβαίνει εάν ένα άτομο αποτυγχάνει να κατακτήσει τον μετασχηματισμό των εκφράσεων; Κατά καιρούς παραδίδω ατομικά μαθήματα σε μαθητές που ήταν κακοί στα μαθηματικά στο σχολείο. Κατά κανόνα, κολλάνε εντελώς στο θέμα των κύκλων. Τόσο πολύ που πρέπει να κάνεις «άλγεβρα» μαζί τους, αλλά σε γλώσσα προγραμματισμού.
Αυτό συμβαίνει επειδή όταν γράφετε βρόχους, η κύρια τεχνική είναι να μετασχηματίσετε μια ομάδα πανομοιότυπων εκφράσεων.

Ας υποθέσουμε ότι το αποτέλεσμα του προγράμματος πρέπει να μοιάζει με αυτό:

Εισαγωγή
Κεφάλαιο 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η τάξη και λύστε παραδείγματα από αυτό.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο